Destroyer.- Posted January 8, 2016 Share Posted January 8, 2016 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 Link to comment
Tomas Posted January 9, 2016 Share Posted January 9, 2016 Cuando se desconecte, getTimerDetails lo guardas en su cuenta y cuando loguea, lo metes pa' dentro usando el tiempo guardado en su acc Link to comment
starksZ Posted January 9, 2016 Share Posted January 9, 2016 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. Link to comment
Destroyer.- Posted January 9, 2016 Author Share Posted January 9, 2016 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 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) Link to comment
Tomas Posted January 9, 2016 Share Posted January 9, 2016 getTimerDetails (primeramente) devuelve la cantidad de segundos que quedan para que el timer se execute (llegue a 0), getTimerDetails(theTimer) Link to comment
Destroyer.- Posted January 9, 2016 Author Share Posted January 9, 2016 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 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 ) Link to comment
Recommended Posts