Jump to content

Duda con Time jail


Destroyer.-

Recommended Posts

Posted

Hola, tengo una duda con el time jail, bueno yo lo andaba haciendo con Timer, pero no se me ocurre como guardarlo, osea como guardo un timer si lo tengo que destruir al desconectarme del servidor, un ejemplo o almenos las funciones me bastan, gracias :roll:

Posted

Cuando se desconecte, getTimerDetails lo guardas en su cuenta y cuando loguea, lo metes pa' dentro usando el tiempo guardado en su acc

Posted

Con un setAccountData como dice Tomás, insertas los datos en forma de tabla para guardar mas de uno.

Seria algo como esto:

setAccountData(account,"jail",{ estado = true, tiempo = 220 } )

Obtienes los datos cuando el jugador logee y si el primer dato esta en true lo mandas a la cárcel con un timer primer de la duración del segundo dato, No estoy bien seguro si te sirva de esa forma.

Posted
Cuando se desconecte, getTimerDetails lo guardas en su cuenta y cuando loguea, lo metes pa' dentro usando el tiempo guardado en su acc

la parte del getTimerDetails no la entendi muy bien, mi ingles is villero xD

  
  
function player_Wasted ( ammo, attacker, weapon, bodypart ) 
 if attacker and getElementType(attacker) == "player" then 
local arrestado = getElementData(source, "arrestado") or 0 
  
      if skins[getElementModel(attacker)] and level > 0  then 
    setElementData(source,"arrestado", arrestado+1) 
  
                setTimer (fadeCamera, 2000, 1, source, false) 
                setTimer (setCameraTarget, 4000, 1, source, source) 
                setTimer (fadeCamera, 6000, 1, source, true) 
                setTimer (spawnPlayer, 6000, 1,  source, 4076.3999023438, -1788.5, 3.511967, 0, getElementModel (source), 0, 0, getPlayerTeam(source)) 
  
                outputChatBox ( "Fuiste Arrestado Por "..getPlayerName ( attacker ).." por 20 segundos.", source,255,0,0 ) 
                givePlayerMoney (attacker, 4000)  
                outputChatBox ( "Arrestaste a "..getPlayerName(source), attacker,255,255,0 ) 
               timer=20000 
               local theTimer = setTimer ( setElementPosition, timer, 1, source, 1544.4332275391, -1674.7698974609, 13.688399200439)  
               setPlayerWantedLevel (source, 0) 
               arrestado = 0 
                end 
            end 
        end 
addEventHandler ("onPlayerWasted", getRootElement(), player_Wasted) 
  

Posted
getTimerDetails (primeramente) devuelve la cantidad de segundos que quedan para que el timer se execute (llegue a 0), getTimerDetails(theTimer)

Hola probe asi pero ni me funciona :cry:

  
function player_Wasted ( ammo, attacker, weapon, bodypart ) 
 if attacker and getElementType(attacker) == "player" then 
local arrestado = getElementData(source, "arrestado") or 0 
local level = getPlayerWantedLevel(source) 
local acc = getPlayerAccount(source) 
  
      if skins[getElementModel(attacker)] and level > 0  then 
    setElementData(source,"arrestado", arrestado+1) 
  
                setTimer (fadeCamera, 2000, 1, source, false) 
                setTimer (setCameraTarget, 4000, 1, source, source) 
                setTimer (fadeCamera, 6000, 1, source, true) 
                setTimer (spawnPlayer, 6000, 1,  source, 4076.3999023438, -1788.5, 3.511967, 0, getElementModel (source), 0, 0, getPlayerTeam(source)) 
  
                outputChatBox ( "Fuiste Arrestado Por "..getPlayerName ( attacker ).." por 20 segundos.", source,255,0,0 ) 
                givePlayerMoney (attacker, 4000)  
                outputChatBox ( "Arrestaste a "..getPlayerName(source), attacker,255,255,0 ) 
 local theTimer = setTimer ( setElementPosition, 20000, 1, source, 1544.4332275391, -1674.7698974609, 13.688399200439)       
               local timeregister = getTimerDetails(theTimer) 
               setAccountData(acc,"tiempojail",timeregister) 
                 
               
                end 
            end 
        end 
addEventHandler ("onPlayerWasted", getRootElement(), player_Wasted) 
  
  
function quitPlayer (  ) 
local acc = getPlayerAccount(source) 
setAccountData(acc,"tiempojail",tiemporegistro) 
setAccountData(acc,"arresto",1) 
if isTimer(theTimer) then  killTimer(theTimer) end 
end 
addEventHandler ( "onPlayerQuit", getRootElement(), quitPlayer ) 
  
function loginPlayer (_,acc ) 
local acc = getPlayerAccount(source) 
local tiempo = getAccountData(acc,"tiempojail") 
local arresto = getAccountData(acc,"arresto") 
  
if arresto == 1 then 
 local theTimer = setTimer ( setElementPosition, tiempo, 1, source, 1544.4332275391, -1674.7698974609, 13.688399200439)      
end 
end 
addEventHandler ( "onPlayerLogin", getRootElement(), loginPlayer ) 
  
  

  • Recently Browsing   0 members

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