Postado Janeiro 26, 2015 10 anos Autor eventsId = {} local function rechargeStamina(cid) if not isPlayer(cid) then eventsId[cid] = nil return end doPlayerSetStamina(cid, getPlayerStamina(cid) + 1) eventsId[cid] = addEvent(rechargeStamina, 60 * 1000, cid) end function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if isPlayer(cid) then eventsId[cid] = addEvent(rechargeStamina, 60 * 1000, cid) end return true end function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor) if isPlayer(cid) then stopEvent(eventsId[cid]) eventsId[cid] = nil end return true end Agora ele só adicionará a cada minuto. Ok, agora está tudo funcionando certo! Só uma dúvida, vai adicionar a stamina a cada um minuto a partir do momento que ele pisa no tile certo? quando ele pisar vai começar a contagem no caso. Obrigado pela ajuda de todos!! Att, Grafit.
Postado Janeiro 26, 2015 10 anos Ok, agora está tudo funcionando certo! Só uma dúvida, vai adicionar a stamina a cada um minuto a partir do momento que ele pisa no tile certo? quando ele pisar vai começar a contagem no caso. Obrigado pela ajuda de todos!! Sim, quando ele pisar no tile, um minuto depois ele vai ganhar um de stamina e assim por diante. Isso enquanto estiver no tile, se ele sair, cancela. Por exemplo, ele pisou, começou a contagem, faltando 1s pra receber a stamina ele sai. Vai cancelar e ele não vai receber stamina.
Postado Janeiro 26, 2015 10 anos Autor Sim, quando ele pisar no tile, um minuto depois ele vai ganhar um de stamina e assim por diante. Isso enquanto estiver no tile, se ele sair, cancela. Por exemplo, ele pisou, começou a contagem, faltando 1s pra receber a stamina ele sai. Vai cancelar e ele não vai receber stamina. Muito obrigado! Exatamente como eu queria Att, Grafit.
Postado Agosto 19, 2017 7 anos On 25/1/2015 at 10:12 PM, Adriano SwaTT said: Teste este: Registre em movements.xml as tags abaixo: <movevent type="StepIn" actionid="12129" event="script" value="tile_stamina.lua"/> <movevent type="StepOut" actionid="12129" event="script" value="tile_stamina.lua"/> Crie o arquivo tile_stamina.lua e cole o código abaixo dentro: ---------- Script by: Adriano Swatt -------- local maxstamina = 2520 -- quantidade máxima de Stamina (Não sei se é este valor mesmo) local qtdd = 1 -- quantidade de Stamina é adicionada local tempo = 5 -- em segundos para cada regeneração local tileid, action = 412, 12129 -- ID do Piso de Stamina, ActionID usada no Piso ----------- FIM DAS CONFIGURAÇÕES ----------- function onStepIn(cid, item, position, fromPosition) local getpos = getPlayerPosition(cid) local tilepos = getTileItemById(getpos, tileid).actionid local getsta = getPlayerStamina(cid) if getsta < maxstamina and isPlayer(cid) then addEvent(GetStamina, 100, cid) else doTeleportThing(cid, fromPosition) doPlayerSendCancel(cid, "Sua stamina já está cheia.") end return true end function onStepOut(cid, item, position, fromPosition) stopEvent(GetStamina) return true end function GetStamina(cid) local getpos = getPlayerPosition(cid) local tilepos = getTileItemById(getpos, tileid).actionid local getsta = getPlayerStamina(cid) if tilepos == action then if getsta < maxstamina and isPlayer(cid) then doPlayerSendCancel(cid, "Sua stamina está subindo.") setPlayerStamina(cid, getsta + qtdd) addEvent(GetStamina, tempo * 1000, cid) else doTeleportThing(cid, fromPosition) doPlayerSendCancel(cid, "Sua stamina já está cheia.") end end return true end Poste o resultado. Boa sorte. brigado pra mi deu certo :D
Postado Março 27, 2020 5 anos Em 26/01/2015 em 15:25, Elwyn disse: Sim, quando ele pisar no tile, um minuto depois ele vai ganhar um de stamina e assim por diante. Isso enquanto estiver no tile, se ele sair, cancela. Por exemplo, ele pisou, começou a contagem, faltando 1s pra receber a stamina ele sai. Vai cancelar e ele não vai receber stamina. Galera, desculpa reviver o tópico, mas estou precisando de uma força... a script funcionou, mas quando o player sai do tile não para de subir a stamina.. Poderiam dar uma força? TFS 1.3 versão 12. Valeu
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.