Jump to content

Bloquear comando solo para Usuario


Recommended Posts

Posted (edited)

Buenas Gente, Alguno me puede explicar como bloquear un comando para que solo funcione para un usuario?. Lo que quiero hacer es spawnear un auto por comando pero que solo un usuario  pueda hacerlo

Edited by Juan_Camilo
Posted

Hola, Te comento que para hacer esto debes utilizar el ACL y crear un Grupo nuevo y meter al usuario ahi , luego simplemente agregas una validación en tu script  para verificar que dicho usuario pertenezca al Grupo ACL, si es asi entonces le dara el auto sino simplemente lo denegara.

Access_Control_List

Posted (edited)

Estando en un grupo acl personalizado solo el podra sacarlo. pero si quieres hacerlo sin acl simplemente tendras que hacerle un script personalizado para este usuario en especifico, simplemente utiliza un IF para comprobar si el usuario que ejecuto el comando es el permitido. Este seria el script: 

 

function crear(player) 
local account = getPlayerAccount(player)
local accname = getAccountName(account) 

if( accname == "jose" ) then -- Ejemplo "Jose" es el nombre de la cuenta que tiene permitido usar el comando.
local x, y, z = getElementPosition (player) 
createVehicle (402, x, y + 5, z)  -- 402 Es el ID del vehiculo.
end
end

addCommandHandler ("get", crear) -- get es el comando a utilizar.

 

Edited by AaroN⍩
Posted

Puedes hacerlo modificando el script, revisa la wiki DestroyElement y  IsElement 

Al parecer eres nuevo, asi que encontre un script en la comunidad y lo modifique para lo que necesitas , aqui esta:

-------------------------
-- Criado por #Dr.zika --
--  Editado Por #Ennzo --
--  Editado Por #AaroN
-------------------------


Drzika = {}

function CreateVehicle (source)
local account = getPlayerAccount(source)
local accname = getAccountName(account) 

if( accname == "jose" ) then -- Ejemplo "Jose" es el nombre de la cuenta que tiene permitido usar el comando.
if getElementData (source, "Pegou", true) then outputChatBox ('#FF7300Aguarde #ffffff1 #FF7300minuto.',source,255,255,255,true) return end
if isElement(Drzika[source]) then destroyElement (Drzika[source]) 
Drzika[source] = nil
end
local x,y,z = getElementPosition (source)
local Cars = 461 -- ID Del Vehiculo
Drzika[source] = createVehicle (Cars,x,y,z)
warpPedIntoVehicle (source,Drzika[source])
setElementData (source, "Pegou",true)
setTimer (setElementData, 60000, 1, source, "Pegou", false)
end
end
addCommandHandler ("get", CreateVehicle) -- Comando

function DestroyVeiculo ()
destroyElement (Drzika[source])
end
addEventHandler ("onPlayerLogout", root, DestroyVeiculo)
addEventHandler ("onPlayerQuit", root, DestroyVeiculo)
addEventHandler ("onPlayerWasted", root, DestroyVeiculo)

 

Posted

intente con el destroy pero nada le mando el script y me podria ayudar a corregirlo?

 

function crear(player) 
local account = getPlayerAccount(player)
local accname = getAccountName(account) 
if( accname == "Juan_Camilo" ) then -- Ejemplo "Juan_Camilo" es el nombre de la cuenta que tiene permitido usar el comando.
local x, y, z = getElementPosition (player) 
createVehicle (566, x, y + 5, z)  -- 566 Es el ID del vehiculo.
end
end

addCommandHandler ("Auto", crear) -- lo de las comillas es el comando a utilizar.

----------------------------------------------------------------------------------------------------------
Vehicles = { [566]=true }

function destroyVehiclesOfModel(modelID)
    -- get a table of all the vehicles that exist and loop through it
    local vehicles = getElementsByType("vehicle")
    for i,v in ipairs(vehicles) do
        -- if the vehicle's ID is the one provided, destroy it
        if (getElementModel(v) == modelID) then
            destroyElement(v)
        end
    end
end

destroyVehiclesOfModel(566)

Posted

Utiliza este , funciona correctamente 

-------------------------
-- Criado por #Dr.zika --
--  Editado Por #Ennzo --
--  Editado Por #AaroN
-------------------------


Drzika = {}

function CreateVehicle (source)
account = getPlayerAccount(source)
accname = getAccountName(account) 
if( accname == "jose" ) then -- Ejemplo "Jose" es el nombre de la cuenta que tiene permitido usar el comando.

if getElementData (source, "Pegou", true) then outputChatBox ('#FF7300Aguarde #ffffff1 #FF7300minuto.',source,255,255,255,true) return end
if isElement(Drzika[source]) then destroyElement (Drzika[source]) 
Drzika[source] = nil
end
local x,y,z = getElementPosition (source)
local Cars = 461

Drzika[source] = createVehicle (Cars,x,y,z)
warpPedIntoVehicle (source,Drzika[source])
setElementData (source, "Pegou",true)
setTimer (setElementData, 10000, 1, source, "Pegou", false)
end
end
addCommandHandler ("get", CreateVehicle) -- Comando

function DestroyVeiculo ()
destroyElement (Drzika[source])
end
addEventHandler ("onPlayerLogout", root, DestroyVeiculo)
addEventHandler ("onPlayerQuit", root, DestroyVeiculo)
addEventHandler ("onPlayerWasted", root, DestroyVeiculo)

 

  • Thanks 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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