Postado Agosto 2, 2022 2 anos .Qual servidor ou website você utiliza como base? BBaiak barão Qual o motivo deste tópico? Erro Tile Recuperar staminia Está surgindo algum erro? Se sim coloque-o aqui. Citar [02/08/2022 18:59:59] [Error - MoveEvents Interface] [02/08/2022 18:59:59] data/movements/scripts/2022/tile_stamina.lua:onStepOut [02/08/2022 18:59:59] Description: [02/08/2022 18:59:59] data/movements/scripts/2022/tile_stamina.lua:27: attempt to perform arithmetic on field 'time' (a function value) [02/08/2022 18:59:59] stack traceback: [02/08/2022 18:59:59] data/movements/scripts/2022/tile_stamina.lua:27: in function <data/movements/scripts/2022/tile_stamina.lua:24> [02/08/2022 18:59:59] [C]: in function 'doTeleportThing' [02/08/2022 18:59:59] data/movements/scripts/2022/tile_stamina.lua:19: in function <data/movements/scripts/2022/tile_stamina.lua:12> Você tem o código disponível? Se tiver publique-o aqui: -------------- Config by PedroSTT ---------- local storage = 6452 local time = 1 -- quantos minutos para pisar no tile e restaurar novamente ---------- 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 = 270 -- em segundos para cada regeneração local tileid, action = 1284, 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 ja esta cheia.") end return true end function onStepOut(cid, item, position, fromPosition) local dura = time * 60000 stopEvent(GetStamina) setPlayerStorageValue(cid, storage+ os.time+ dura, 1) return true end function GetStamina(cid) local getpos = getPlayerPosition(cid) local dura = time * 60000 local tilepos = getTileItemById(getpos, tileid).actionid local getsta = getPlayerStamina(cid) if tilepos == action then if getsta < maxstamina and isPlayer(cid) then if getPlayerStorageValue(cid, storage) == -1 then doPlayerSendCancel(cid, "Sua stamina esta subindo.") setPlayerStamina(cid, getsta + qtdd) addEvent(GetStamina, tempo * 1000, cid) else doTeleportThing(cid, fromPosition) doPlayerSendCancel(cid, "aguarde") end else doTeleportThing(cid, fromPosition) doPlayerSendCancel(cid, "Sua stamina ja esta cheia.") end end return true end Sempre quando entra no tile e sai ele da esse erro. Porem agora criando esse Típico ele apresentou outro erro tbm. Citar [02/08/2022 19:02:40] [Error - MoveEvents Interface] [02/08/2022 19:02:40] In a timer event called from: [02/08/2022 19:02:40] data/movements/scripts/2022/tile_stamina.lua:onStepIn [02/08/2022 19:02:40] Description: [02/08/2022 19:02:40] (luaGetThingPosition) Thing not found [02/08/2022 19:02:40] [Error - MoveEvents Interface] [02/08/2022 19:02:40] In a timer event called from: [02/08/2022 19:02:40] data/movements/scripts/2022/tile_stamina.lua:onStepIn [02/08/2022 19:02:40] Description: [02/08/2022 19:02:40] (internalGetPlayerInfo) Player not found when requesting player info #23
Postado Agosto 3, 2022 2 anos Em 02/08/2022 em 22:07, Fiapets disse: .Qual servidor ou website você utiliza como base? BBaiak barão Qual o motivo deste tópico? Erro Tile Recuperar staminia Está surgindo algum erro? Se sim coloque-o aqui. Você tem o código disponível? Se tiver publique-o aqui: -------------- Config by PedroSTT ---------- local storage = 6452 local time = 1 -- quantos minutos para pisar no tile e restaurar novamente ---------- 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 = 270 -- em segundos para cada regeneração local tileid, action = 1284, 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 ja esta cheia.") end return true end function onStepOut(cid, item, position, fromPosition) local dura = time * 60000 stopEvent(GetStamina) setPlayerStorageValue(cid, storage+ os.time+ dura, 1) return true end function GetStamina(cid) local getpos = getPlayerPosition(cid) local dura = time * 60000 local tilepos = getTileItemById(getpos, tileid).actionid local getsta = getPlayerStamina(cid) if tilepos == action then if getsta < maxstamina and isPlayer(cid) then if getPlayerStorageValue(cid, storage) == -1 then doPlayerSendCancel(cid, "Sua stamina esta subindo.") setPlayerStamina(cid, getsta + qtdd) addEvent(GetStamina, tempo * 1000, cid) else doTeleportThing(cid, fromPosition) doPlayerSendCancel(cid, "aguarde") end else doTeleportThing(cid, fromPosition) doPlayerSendCancel(cid, "Sua stamina ja esta cheia.") end end return true end Sempre quando entra no tile e sai ele da esse erro. Porem agora criando esse Típico ele apresentou outro erro tbm. -- Stamine Trainer -- <movevent type="StepIn" actionid="22120" event="script" value="stamine_trainer.lua"/> -- <movevent type="StepOut" actionid="22120" event="script" value="stamine_trainer.lua"/> STAMINA_MESSAGE = "Você ganhou 1 minutos de Stamina." STAMINA_TIME = 60 * 2000 STAMINA_EFFECT = 12 STAMINA_ADD = 1 function event(cid) if isPlayer(cid) then doPlayerAddStamina(cid, STAMINA_ADD) doPlayerSendTextMessage(cid, 27, STAMINA_MESSAGE) eventCheck = addEvent(event, STAMINA_TIME, cid) end end function onStepIn(cid, item, position, fromPosition, pos) if isPlayer(cid) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Bem-vindo a área de treino, você receberá 1 de stamina a cada 2 minutos.") eventCheck = addEvent(event, STAMINA_TIME, cid) end return true end function onStepOut(cid, item, position, fromPosition) if isPlayer(cid) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você parou de treinar, agora não está mais regenerando Stamina.") stopEvent(eventCheck) end return true end
Postado Agosto 3, 2022 2 anos Autor Em 03/08/2022 em 09:29, Diiego Liima disse: -- Stamine Trainer -- <movevent type="StepIn" actionid="22120" event="script" value="stamine_trainer.lua"/> -- <movevent type="StepOut" actionid="22120" event="script" value="stamine_trainer.lua"/> STAMINA_MESSAGE = "Você ganhou 1 minutos de Stamina." STAMINA_TIME = 60 * 2000 STAMINA_EFFECT = 12 STAMINA_ADD = 1 function event(cid) if isPlayer(cid) then doPlayerAddStamina(cid, STAMINA_ADD) doPlayerSendTextMessage(cid, 27, STAMINA_MESSAGE) eventCheck = addEvent(event, STAMINA_TIME, cid) end end function onStepIn(cid, item, position, fromPosition, pos) if isPlayer(cid) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Bem-vindo a área de treino, você receberá 1 de stamina a cada 2 minutos.") eventCheck = addEvent(event, STAMINA_TIME, cid) end return true end function onStepOut(cid, item, position, fromPosition) if isPlayer(cid) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você parou de treinar, agora não está mais regenerando Stamina.") stopEvent(eventCheck) end return true end Amigo funcionou 100%, mais teria como coloca para ter um tempo para a pessoa poder acessar de novo essa area...
Postado Agosto 4, 2022 2 anos @Fiapets Vê se é isso, não testei -- Stamine Trainer -- <movevent type="StepIn" actionid="22120" event="script" value="stamine_trainer.lua"/> -- <movevent type="StepOut" actionid="22120" event="script" value="stamine_trainer.lua"/> STAMINA_MESSAGE = "Você ganhou 1 minutos de Stamina." STAMINA_TIME = 60 * 2000 STAMINA_EFFECT = 12 STAMINA_ADD = 1 ACCESS_AREA_STORAGE = 154578 ACCESS_AREA_TIME = 1 -- Tempo definido em minutos ACCESS_AREA_DENIED_MESSAGE = "Você tem que esperar " ..ACCESS_AREA_TIME.. " minuto(s) para começar acessar a area de treino novamente." function event(cid) if isPlayer(cid) then doPlayerAddStamina(cid, STAMINA_ADD) doPlayerSendTextMessage(cid, 27, STAMINA_MESSAGE) eventCheck = addEvent(event, STAMINA_TIME, cid) end end function onStepIn(cid, item, position, fromPosition, pos) if isPlayer(cid) then if (getPlayerStorageValue(cid, ACCESS_AREA_STORAGE) > os.time()) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, ACCESS_AREA_DENIED_MESSAGE) doTeleportThing(cid, fromPosition) return false; end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Bem-vindo a área de treino, você receberá 1 de stamina a cada 2 minutos.") eventCheck = addEvent(event, STAMINA_TIME, cid) end return true end function onStepOut(cid, item, position, fromPosition) if isPlayer(cid) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você parou de treinar, agora não está mais regenerando Stamina.") stopEvent(eventCheck) setPlayerStorageValue(cid, ACCESS_AREA_STORAGE, os.time() + (ACCESS_AREA_TIME * 60)) end return true end Editado Agosto 4, 2022 2 anos por MatteusDeli (veja o histórico de edições)
Postado Agosto 4, 2022 2 anos Solução Em 03/08/2022 em 14:34, Fiapets disse: Amigo funcionou 100%, mais teria como coloca para ter um tempo para a pessoa poder acessar de novo essa area... local storage = 18481 -- storage que salva a ultima vez que o player entrou (pra evitar spams) STAMINA_MESSAGE = "Você ganhou 1 minutos de Stamina." STAMINA_TIME = 60 * 2000 STAMINA_EFFECT = 12 STAMINA_ADD = 1 function event(cid) if isPlayer(cid) then doPlayerAddStamina(cid, STAMINA_ADD) doPlayerSendTextMessage(cid, 27, STAMINA_MESSAGE) eventCheck = addEvent(event, STAMINA_TIME, cid) end end function onStepIn(cid, item, position, fromPosition, pos) if isPlayer(cid) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Bem-vindo a área de treino, você receberá 1 de stamina a cada 2 minutos.") eventCheck = addEvent(event, STAMINA_TIME, cid) end return true end function onStepOut(cid, item, position, fromPosition) if isPlayer(cid) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você parou de treinar, agora não está mais regenerando Stamina.") stopEvent(eventCheck) end return true end function onStepIn(cid, item, pos, lastPos, fromPos, toPos, actor) if getPlayerStorageValue(cid, storage) - os.time() <= 0 then fazQualquerCoisa(cid, position) else doTeleportThing(cid, fromPos) doPlayerSendCancel(cid, "You gotta wait a few seconds before you can enter trainning room again") end return true end
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.