Jump to content

Restringir comandos a Admin


Finijumper

Recommended Posts

El client.lua es este:

bBullets = false 
  
function enableBlowingbullets() 
    if (bBullets == false)then 
    bBullets = true 
    outputChatBox("Bala explosiva ativada.", 0, 255, 0) 
    outputChatBox("Use /be para desativar.", 0, 255, 0) 
    else 
    bBullets = false 
    outputChatBox("Bala explosiva desativada.", 255, 0, 0) 
    outputChatBox("Use /be para ativar.", 255, 0, 0) 
    end 
end 
addCommandHandler("be", enableBlowingbullets) 
  
function weaponfired (weapon, ammo, ammoInClip, hitX, hitY, hitZ, hitElement ) 
    if (bBullets == true)then 
        triggerServerEvent ("bulletboom", source, hitX, hitY, hitZ ) 
    end 
end 
addEventHandler ( "onClientPlayerWeaponFire", getLocalPlayer (), weaponfired ) 

Y el server.lua ese:

addEvent ("bulletboom", true ) 
  
function bulletexplosion (hitX, hitY, hitZ) 
    createExplosion ( hitX, hitY, hitZ, 2 ) 
end 
  
addEventHandler("bulletboom",getRootElement(),bulletexplosion) 
  

Link to comment

reemplaza tu server.lua por esto

function bulletexplosion (hitX, hitY, hitZ) 
    if isObjectInACLGroup ( "user." .. getAccountName(getPlayerAccount(source)), aclGetGroup ( "Admin" ) ) then 
         createExplosion ( hitX, hitY, hitZ, 2 ) 
    end 
end 
addEvent("bulletboom",true) 
 addEventHandler("bulletboom",getRootElement(),bulletexplosion) 
  

Link to comment
  
bBullets = false 
  
function enableBlowingbullets() 
    if (bBullets == false)then 
    bBullets = true 
    outputChatBox("Bala explosiva ativada.", 0, 255, 0) 
    outputChatBox("Use /be para desativar.", 0, 255, 0) 
    else 
    bBullets = false 
    outputChatBox("Bala explosiva desativada.", 255, 0, 0) 
    outputChatBox("Use /be para ativar.", 255, 0, 0) 
    end 
end 
addCommandHandler("be", enableBlowingbullets) 
  
function weaponfired (weapon, ammo, ammoInClip, hitX, hitY, hitZ, hitElement ) 
    if isObjectInACLGroup ( "user." .. getAccountName(getPlayerAccount(source)), aclGetGroup ( "Admin" ) ) then 
    if (bBullets == true)then 
        triggerServerEvent ("bulletboom", source, hitX, hitY, hitZ ) 
    end 
end 
end 
addEventHandler ( "onClientPlayerWeaponFire", getLocalPlayer (), weaponfired ) 
  

Recuerda al postear códigos encerrarlos en el tag [lua ] [ /lua]

Link to comment

Gracias por lo del tag, no lo sabía. Ahora pruebo el código y edito el mensaje.

EDITO: No funciona, Tomasito, he remplazado todo el código por el tuyo y ahora ni los admin pueden disparar explosivos. Y los que no son admins pueden usar el comando igualmente (les sale la imagen que puse anteriormente). :cry:

Link to comment

Ohh cierto, ni me había dado cuenta que era Client-Side xD

Con respecto a lo del chat no puedes poner un chat para una persona específica en el client-side. Deberías hacerlo en el sv-side.

Postea todo el código y te lo arreglo todo, o al menos el orden de los argumentos de la función handleada al evento bulletboom.

Link to comment

El client.lua es este:

bBullets = false 
  
function enableBlowingbullets() 
    if (bBullets == false)then 
    bBullets = true 
    outputChatBox("Bala explosiva ativada.", 0, 255, 0) 
    outputChatBox("Use /be para desativar.", 0, 255, 0) 
    else 
    bBullets = false 
    outputChatBox("Bala explosiva desativada.", 255, 0, 0) 
    outputChatBox("Use /be para ativar.", 255, 0, 0) 
    end 
end 
addCommandHandler("be", enableBlowingbullets) 
  
function weaponfired (weapon, ammo, ammoInClip, hitX, hitY, hitZ, hitElement ) 
    if (bBullets == true)then 
        triggerServerEvent ("bulletboom", source, hitX, hitY, hitZ ) 
    end 
end 
addEventHandler ( "onClientPlayerWeaponFire", getLocalPlayer (), weaponfired )  

Y el server.lua ese:

addEvent ("bulletboom", true ) 
  
function bulletexplosion (hitX, hitY, hitZ) 
    createExplosion ( hitX, hitY, hitZ, 2 ) 
end 
  
addEventHandler("bulletboom",getRootElement(),bulletexplosion) 
  

Link to comment
  
-- Sv side: 
    function enableBlowingbullets(player) 
if getElementData(player,"bBullets") == "false" then 
 if isObjectInACLGroup ( "user." .. getAccountName(getPlayerAccount(player)), aclGetGroup ( "Admin" ) ) then 
        outputChatBox("Bala explosiva activada.",player, 0, 255, 0) 
        outputChatBox("Use /be para desactivar.",player, 0, 255, 0) 
setElementData(player,"bBullets","true") 
        else 
        outputChatBox("Bala explosiva desactivada.",player, 255, 0, 0) 
        outputChatBox("Use /be para activar.",player, 255, 0, 0) 
    setElementData(player,"bBullets","false") 
        end 
    end 
end 
    addCommandHandler("be", getRootElement(),enableBlowingbullets) 
  
function setfalse () 
setElementDatA(source,"bBullets","false") 
end 
addEventHandler("onPlayerLogin",getRootElement(),setfalse) 
  
-- Clientside 
  
    addEvent ("bulletboom", true ) 
      
    function bulletexplosion (hitX, hitY, hitZ) 
if getElementData(source,"bBullets") == "true" then 
        createExplosion ( hitX, hitY, hitZ, 2 ) 
    end 
     end 
    addEventHandler("bulletboom",getRootElement(),bulletexplosion) 
      

Link to comment
Ahora ni los admin pueden activar la bala explosiva :( Cuando le doy a start script me sale eso: https://www.dropbox.com/s/0gr6ba1lmlcp8fj/consola%20be.png?dl=0
  
  
-- Sv side: 
    function enableBlowingbullets(player) 
if getElementData(player,"bBullets") == "false" then 
 if isObjectInACLGroup ( "user." .. getAccountName(getPlayerAccount(player)), aclGetGroup ( "Admin" ) ) then 
        outputChatBox("Bala explosiva activada.",player, 0, 255, 0) 
        outputChatBox("Use /be para desactivar.",player, 0, 255, 0) 
setElementData(player,"bBullets","true") 
        else 
        outputChatBox("Bala explosiva desactivada.",player, 255, 0, 0) 
        outputChatBox("Use /be para activar.",player, 255, 0, 0) 
    setElementData(player,"bBullets","false") 
        end 
    end 
end 
    addCommandHandler("be",enableBlowingbullets) 
  
function setfalse () 
setElementDatA(source,"bBullets","false") 
end 
addEventHandler("onPlayerLogin",getRootElement(),setfalse) 
  
-- Clientside 
  
    addEvent ("bulletboom", true ) 
      
    function bulletexplosion (hitX, hitY, hitZ) 
if getElementData(source,"bBullets") == "true" then 
        createExplosion ( hitX, hitY, hitZ, 2 ) 
    end 
     end 
    addEventHandler("bulletboom",getRootElement(),bulletexplosion) 
      
      

Link to comment

Lol, el problema es que puse setElementDatA y Lua es sensible a las mayúsculas, ahí lo arreglo, lo siento:}

  
  
  
-- Sv side: 
    function enableBlowingbullets(player) 
if getElementData(player,"bBullets") == "false" then 
 if isObjectInACLGroup ( "user." .. getAccountName(getPlayerAccount(player)), aclGetGroup ( "Admin" ) ) then 
        outputChatBox("Bala explosiva activada.",player, 0, 255, 0) 
        outputChatBox("Use /be para desactivar.",player, 0, 255, 0) 
setElementData(player,"bBullets","true") 
        else 
        outputChatBox("Bala explosiva desactivada.",player, 255, 0, 0) 
        outputChatBox("Use /be para activar.",player, 255, 0, 0) 
    setElementData(player,"bBullets","false") 
        end 
    end 
end 
    addCommandHandler("be",enableBlowingbullets) 
  
function setfalse () 
setElementData(source,"bBullets","false") 
end 
addEventHandler("onPlayerLogin",getRootElement(),setfalse) 
  
-- Clientside 
  
    addEvent ("bulletboom", true ) 
      
    function bulletexplosion (hitX, hitY, hitZ) 
if getElementData(source,"bBullets") == "true" then 
        createExplosion ( hitX, hitY, hitZ, 2 ) 
    end 
     end 
    addEventHandler("bulletboom",getRootElement(),bulletexplosion) 
      
     

PD: Para que funcione debes activar el script, y reconectar.

Link to comment

Ya descubrí el problema xD

Client side:

  
function bulletexplosion (a,b,c,hitX, hitY, hitZ) 
if getElementData(source,"bBullets") == "si" then 
        createExplosion ( hitX, hitY, hitZ, 2 ) 
end 
end 
addEventHandler("onClientPlayerWeaponFire",getRootElement(),bulletexplosion) 
  

Server-side:

  
  
function enableBlowingbullets(player) 
    if isObjectInACLGroup ( "user." .. getAccountName(getPlayerAccount(player)), aclGetGroup ( "Admin" ) ) then 
    if getElementData(player,"bBullets") == "no" or not getElementData(player,"bBullets") then 
        outputChatBox("Bala explosiva activada.",player, 0, 255, 0) 
        outputChatBox("Use /be para desactivar.",player, 0, 255, 0) 
        setElementData(player,"bBullets","si") 
        else 
        outputChatBox("Bala explosiva desactivada.",player, 255, 0, 0) 
        outputChatBox("Use /be para activar.",player, 255, 0, 0) 
        setElementData(player,"bBullets","no") 
        end 
        else 
                        outputChatBox("Necesitas ser admin para usar este comando!",player,255,0,0) 
  
        end 
end 
    addCommandHandler("be",enableBlowingbullets) 
  

Y Alexs.. No me vengas a joder con los elementData ._.

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...