Destroyer.- Posted January 8, 2016 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
Tomas Posted January 9, 2016 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
starksZ Posted January 9, 2016 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.
Destroyer.- Posted January 9, 2016 Author 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)
Tomas Posted January 9, 2016 Posted January 9, 2016 getTimerDetails (primeramente) devuelve la cantidad de segundos que quedan para que el timer se execute (llegue a 0), getTimerDetails(theTimer)
Destroyer.- Posted January 9, 2016 Author 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 )
Recommended Posts