Jump to content

Cierto tiempo


eldelahoz

Recommended Posts

Posted

Hola quisiera saber como puedo hacer para que use un comando un sierto tiempo por ejemplo el afk lo que yo quiero hacer es que usen el comando pero que cuando lo usen se demore 1 minuto en volverlo a usar

¡Saludos!

lgEoigY.png

350x20_FFFFFF_FFFFFF_000000_000000.png

Posted

algo asi?

addEventHandler("onPlayerJoin",getRootElement(), 
function () 
setElementData(source,"afk_state","back") 
setElementData(source,"HideState","disabled") 
end) 
  
addEventHandler( "onResourceStart", getResourceRootElement(getThisResource()), 
function () 
for i,v in pairs (getElementsByType("player")) do 
setElementData(v,"afk_state","back") 
setElementData(v,"HideState","disabled") 
end 
end) 
  
addCommandHandler("afk", 
function (thePlayer) 
if getElementData(thePlayer,"afk_state") == "back" then 
triggerClientEvent(thePlayer,"god_mode",thePlayer) 
setPedFrozen(thePlayer,true) 
setPlayerNametagText (thePlayer, "|AFK|" .. getPlayerName (thePlayer)) 
outputChatBox(getPlayerName(thePlayer).." is AFK!",getRootElement(),255,50,0) 
setElementData(thePlayer,"afk_state","afk") 
if getPedOccupiedVehicle(thePlayer) then 
fixVehicle(getPedOccupiedVehicle(thePlayer),true) 
setVehicleFrozen(getPedOccupiedVehicle(thePlayer),true) 
setVehicleDamageProof(getPedOccupiedVehicle(thePlayer),true) 
end 
elseif getElementData(thePlayer,"afk_state") == "afk" then 
setElementData(thePlayer,"afk_state","back") 
triggerClientEvent(thePlayer,"disable_god_mode",thePlayer) 
setPedFrozen(thePlayer,false) 
setPlayerNametagText (thePlayer, "" .. getPlayerName (thePlayer)) 
outputChatBox(getPlayerName(thePlayer).." is back!",getRootElement(),0,255,0) 
if getPedOccupiedVehicle(thePlayer) then 
setVehicleFrozen(getPedOccupiedVehicle(thePlayer),false) 
setVehicleDamageProof(getPedOccupiedVehicle(thePlayer),false) 
end 
end 
end) 
  
removeCommandHanlder( "afk" ) 
setTimer( addCommandHandler, 5000, 0, "afk", Afk ) 

lgEoigY.png

350x20_FFFFFF_FFFFFF_000000_000000.png

Posted

mira si no me equivoco asi te tendria que funcionar...

por que solo el timer le funcionaria al usuario que usa el comando y no a todos.

TuAfk = {} 
addEventHandler("onPlayerJoin",getRootElement(), 
function () 
setElementData(source,"afk_state","back") 
setElementData(source,"HideState","disabled") 
end) 
  
addEventHandler( "onResourceStart", getResourceRootElement(getThisResource()), 
function () 
for i,v in pairs (getElementsByType("player")) do 
setElementData(v,"afk_state","back") 
setElementData(v,"HideState","disabled") 
end 
end) 
  
addCommandHandler("afk", 
function (thePlayer) 
if isTimer(TuAfk[thePlayer]) then 
        cancelEvent() 
        outputChatBox("No Puedes usar el Comando Muchas Veces Seguidas...", thePlayer, 255, 255, 0) 
if getElementData(thePlayer,"afk_state") == "back" then 
TuAfk[thePlayer] = setTimer(function(thePlayer) TuAfk[thePlayer] = nil end, 60000, 1, thePlayer) --1 Minuto 
triggerClientEvent(thePlayer,"god_mode",thePlayer) 
setPedFrozen(thePlayer,true) 
setPlayerNametagText (thePlayer, "|AFK|" .. getPlayerName (thePlayer)) 
outputChatBox(getPlayerName(thePlayer).." is AFK!",getRootElement(),255,50,0) 
setElementData(thePlayer,"afk_state","afk") 
if getPedOccupiedVehicle(thePlayer) then 
fixVehicle(getPedOccupiedVehicle(thePlayer),true) 
setVehicleFrozen(getPedOccupiedVehicle(thePlayer),true) 
setVehicleDamageProof(getPedOccupiedVehicle(thePlayer),true) 
end 
elseif getElementData(thePlayer,"afk_state") == "afk" then 
TuAfk[thePlayer] = setTimer(function(thePlayer) TuAfk[thePlayer] = nil end, 60000, 1, thePlayer) --1 Minuto 
setElementData(thePlayer,"afk_state","back") 
triggerClientEvent(thePlayer,"disable_god_mode",thePlayer) 
setPedFrozen(thePlayer,false) 
setPlayerNametagText (thePlayer, "" .. getPlayerName (thePlayer)) 
outputChatBox(getPlayerName(thePlayer).." is back!",getRootElement(),0,255,0) 
if getPedOccupiedVehicle(thePlayer) then 
setVehicleFrozen(getPedOccupiedVehicle(thePlayer),false) 
setVehicleDamageProof(getPedOccupiedVehicle(thePlayer),false) 
end 
end 
end 
end) 

Pero no te aseguro que ande, ya que no lo probe...

n-560x95_FFFFFF_FFFFFF_000000_000000.png
Posted

Pero eso seria de otro resource por asi decirlo como de fiansa ps lo que yo veo yo lo que quiero que es que pase 1 minuto para que usen el afk el afk es con dimenciones ect

lgEoigY.png

350x20_FFFFFF_FFFFFF_000000_000000.png

Posted

Claro, pero aca no te vamos a dar todo completito como si fuese un restaurante, mira como hice el script ese de fianza, y intenta aplicarlo en el script de AFK.

San Andreas Utopia RPG (SAUR) Owner & Developer.

560x95_FFFFFF_FF9900_000000_000000.png

Education is the most powerful weapon which you can use to change the world.

Posted

Bueno segun lo tuyo y las funciones y eventos y mi basto conocimiento en script pude lograr

local ticks = { } 
local tiempo = ( 10 * 60000 ) 
  
function convertTime ( ms ) 
    local min = math.floor ( ms / 60000 ) 
    local sec = math.floor ( ( ms / 1000 ) % 60 ) 
    return min, sec 
end 
  
function afk ( jugador ) 
    if ( ticks [ jugador ] ) then 
        local endTick = getTickCount ( ) 
        if ( endTick - ticks [ jugador ] < tiempo ) then 
            local mins, secs = convertTime ( tiempo - endTick + ticks [ jugador ] ) 
            outputChatBox ( "En ".. mins .." minutos y ".. secs .." segundos puedes volver a usar el afk.", jugador, 255, 0, 0 ) 
            return 
        end 
    end 
  
    if ( getPlayerWantedLevel ( jugador ) == 1 ) then 
        ticks [ jugador ] = getTickCount ( ) 
  
        setPlayerWantedLevel ( jugador, 0 ) 
    else 
        outputChatBox ( "Tienes que esperar un rato para volver el afk", jugador, 255, 0, 0 ) 
    end 
end 
  
addCommandHandler("afk", afk 
function (jugador) 
if getElementData(jugador,"afk_state") == "back" then 
triggerClientEvent(jugador,"god_mode",jugador) 
setPedFrozen(jugador,true) 
setPlayerNametagText (jugador, "|AFK|" .. getPlayerName (jugador)) 
outputChatBox(getPlayerName(jugador).." is AFK!",getRootElement(),255,50,0) 
setElementData(jugador,"afk_state","afk") 
if getPedOccupiedVehicle(jugador) then 
fixVehicle(getPedOccupiedVehicle(jugador),true) 
setVehicleFrozen(getPedOccupiedVehicle(jugador),true) 
setVehicleDamageProof(getPedOccupiedVehicle(jugador),true) 
end 
elseif getElementData(jugador,"afk_state") == "afk" then 
setElementData(jugador,"afk_state","back") 
triggerClientEvent(jugador,"disable_god_mode",jugador) 
setPedFrozen(jugador,false) 
setPlayerNametagText (jugador, "" .. getPlayerName (jugador)) 
outputChatBox(getPlayerName(jugador).." is back!",getRootElement(),0,255,0) 
if getPedOccupiedVehicle(jugador) then 
setVehicleFrozen(getPedOccupiedVehicle(jugador),false) 
setVehicleDamageProof(getPedOccupiedVehicle(jugador),false) 
end 
end 
end) 

lgEoigY.png

350x20_FFFFFF_FFFFFF_000000_000000.png

Posted

Eso no tiene sentido, lo unico que hiciste fue copiar el codigo del tema que te di y quitarle/cambiarle un par de cosas.

San Andreas Utopia RPG (SAUR) Owner & Developer.

560x95_FFFFFF_FF9900_000000_000000.png

Education is the most powerful weapon which you can use to change the world.

  • Recently Browsing   0 members

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