Juan_Camilo Posted May 30, 2020 Share Posted May 30, 2020 (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 May 30, 2020 by Juan_Camilo Link to comment
AaroN⍩ Posted May 30, 2020 Share Posted May 30, 2020 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 Link to comment
Juan_Camilo Posted May 30, 2020 Author Share Posted May 30, 2020 Pero lo que necesito es que solo el usuario pueda sacarlo asi este en un acl Link to comment
AaroN⍩ Posted May 31, 2020 Share Posted May 31, 2020 (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 May 31, 2020 by AaroN⍩ Link to comment
Juan_Camilo Posted May 31, 2020 Author Share Posted May 31, 2020 gracias parcero saludos desde Colombia me sirvio muchisimo Link to comment
Juan_Camilo Posted May 31, 2020 Author Share Posted May 31, 2020 y como hago para que se borre el auto cuando el jugador sale del servidor y que no aparesca mas de un auto a la vez Link to comment
AaroN⍩ Posted May 31, 2020 Share Posted May 31, 2020 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) Link to comment
Juan_Camilo Posted May 31, 2020 Author Share Posted May 31, 2020 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) Link to comment
AaroN⍩ Posted May 31, 2020 Share Posted May 31, 2020 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) 1 Link to comment
Juan_Camilo Posted May 31, 2020 Author Share Posted May 31, 2020 ush que crack gracias parcero Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now