Postado Janeiro 24, 2015 10 anos Prezados, bom dia! Eu gostaria de saber se é possível criar um script de tile que enxe a stamina? Por exemplo, a minha idéia é botar um actionid nos tiles dos treiners que a cada 2 minutos vai adicionar 1 minuto de stamina para o player. Dai o player não precisaria deslogar para recuperar a stamina. Obrigado desde já! Editado Janeiro 25, 2015 10 anos por grafit (veja o histórico de edições)
Postado Janeiro 25, 2015 10 anos enxe 1 de stamina 1 minuto ou 1 hora? Especifique o máximo possível quando for fazer um pedido.
Postado Janeiro 25, 2015 10 anos Autor 1 minuto ou 1 hora? Especifique o máximo possível quando for fazer um pedido. Perdão!! Seria um minuto mesmo. Vou editar o post para tentar explicar melhor
Postado Janeiro 25, 2015 10 anos TFS 1.1: eventsId = {} local function rechargeStamina(cid) local player = Player(cid) if not player then eventsId[cid] = nil return end player:setStamina(player:getStamina() + 1) eventsId[cid] = addEvent(rechargeStamina, 60 * 1000, cid) end function onStepIn(creature, item, position, fromPosition) if creature:isPlayer() then local cid = creature:getId() eventsId[cid] = addEvent(rechargeStamina, 60 * 1000, cid) end return true end function onStepOut(creature, item, pos, fromPosition) if creature:isPlayer() then local cid = creature:getId() stopEvent(eventsId[cid]) eventsId[cid] = nil end return true end TFS 0.3.6 ~ 0.4: OTX 2: eventsId = {} local function rechargeStamina(cid) if not isPlayer(cid) then eventsId[cid] = nil return end doPlayerSetStamina(cid, getPlayerStamina(cid) + 1) eventsId[cid] = addEvent(rechargeStamina, 1000, cid) end function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if isPlayer(cid) then eventsId[cid] = addEvent(rechargeStamina, 1000, cid) print("eventsId (stepIn): " .. eventsId[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 Salve como stamina_tile.lua em movements/script movements.xml: <movevent event="StepIn" itemid="407" script="stamina_tile.lua" /> <movevent event="StepOut" itemid="407" script="stamina_tile.lua" /> Mude itemid="407" para o itemid desejado, caso queira actionid é só mudar de itemid="id do item" para actionid="id da action". Editado Janeiro 25, 2015 10 anos por elwyn (veja o histórico de edições)
Postado Janeiro 26, 2015 10 anos Autor TFS 1.1: eventsId = {} local function rechargeStamina(cid) local player = Player(cid) if not player then eventsId[cid] = nil return end player:setStamina(player:getStamina() + 1) eventsId[cid] = addEvent(rechargeStamina, 60 * 1000, cid) end function onStepIn(creature, item, position, fromPosition) if creature:isPlayer() then local cid = creature:getId() eventsId[cid] = addEvent(rechargeStamina, 60 * 1000, cid) end return true end function onStepOut(creature, item, pos, fromPosition) if creature:isPlayer() then local cid = creature:getId() stopEvent(eventsId[cid]) eventsId[cid] = nil end return true end TFS 0.3.6 ~ 0.4: OTX 2: eventsId = {} local function rechargeStamina(cid) if not isPlayer(cid) then eventsId[cid] = nil return end doPlayerSetStamina(cid, getPlayerStamina(cid) + 1) eventsId[cid] = addEvent(rechargeStamina, 1000, cid) end function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if isPlayer(cid) then eventsId[cid] = addEvent(rechargeStamina, 1000, cid) print("eventsId (stepIn): " .. eventsId[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 Salve como stamina_tile.lua em movements/script movements.xml: <movevent event="StepIn" itemid="407" script="stamina_tile.lua" /> <movevent event="StepOut" itemid="407" script="stamina_tile.lua" /> Mude itemid="407" para o itemid desejado, caso queira actionid é só mudar de itemid="id do item" para actionid="id da action". Testei e não funcionou! Não adicionou a stamina, e apareceu as mensagens no console: eventsId (stepIn): 1002 eventsId (stepIn): 1003 eventsId (stepIn): 1004 eventsId (stepIn): 1005 eventsId (stepIn): 1006 eventsId (stepIn): 1007 eventsId (stepIn): 1008 eventsId (stepIn): 1010 eventsId (stepIn): 1011 eventsId (stepIn): 1012 eventsId (stepIn): 1013 eventsId (stepIn): 1014 eventsId (stepIn): 1125 eventsId (stepIn): 1145
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.