Postado Dezembro 27, 2022 2 anos alguem poderia me ajudar com 1 script POR FAVOR queria que essa storage a qual a criatura entrega ao morrer durasse apenas 48h e depois disso ela volte a 0 local monsters = { ["Energy Soul"] = 6640, ["Mazoran"] = 6641, ["Brother Freeze"] = 6642, ["Fleshcrawler"] = 6643 } function onDeath(cid, corpse, deathList) local t = monsters[getCreatureName(cid)] if t then for _, pid in ipairs(deathList) do if isCreature(pid) and isPlayer(pid) then if getPlayerStorageValue(pid, t) <= 0 then setPlayerStorageValue(pid, t, 1) doCreatureSay(pid,"Voce nao tera chance contra o grande Deathbine!",TALKTYPE_ORANGE_1) end end end end return true end
Postado Dezembro 27, 2022 2 anos 46 minutos atrás, carloos disse: alguem poderia me ajudar com 1 script POR FAVOR queria que essa storage a qual a criatura entrega ao morrer durasse apenas 48h e depois disso ela volte a 0 local monsters = { ["Energy Soul"] = 6640, ["Mazoran"] = 6641, ["Brother Freeze"] = 6642, ["Fleshcrawler"] = 6643 } function onDeath(cid, corpse, deathList) local t = monsters[getCreatureName(cid)] if t then for _, pid in ipairs(deathList) do if isCreature(pid) and isPlayer(pid) then if getPlayerStorageValue(pid, t) <= 0 then setPlayerStorageValue(pid, t, 1) doCreatureSay(pid,"Voce nao tera chance contra o grande Deathbine!",TALKTYPE_ORANGE_1) end end end end return true end Experimenta alterar a linha: setPlayerStorageValue(pid, t, 1) para: setPlayerStorageValue(pid, t, os.time() + 300) ou: setPlayerStorageValue(pid, t, (os.time() + 300)) Explicação: 300 equivale aos segundos, ou seja, 300 segundos = 5 minutos. Teste o script assim com pouco tempo primeiro, caso funcionar certinho, ai você altera o número 300 para: 172800 Se der certo não esquece de dizer aqui, e selecionar a reposta como solução para o post. 172800 segundos equivale a 48 horas.
Postado Dezembro 27, 2022 2 anos Autor 2 horas atrás, DiigooMix disse: Experimenta alterar a linha: setPlayerStorageValue(pid, t, 1) para: setPlayerStorageValue(pid, t, os.time() + 300) ou: setPlayerStorageValue(pid, t, (os.time() + 300)) Explicação: 300 equivale aos segundos, ou seja, 300 segundos = 5 minutos. Teste o script assim com pouco tempo primeiro, caso funcionar certinho, ai você altera o número 300 para: 172800 Se der certo não esquece de dizer aqui, e selecionar a reposta como solução para o post. 172800 segundos equivale a 48 horas. testei o primeiro e nao funcionou testei o segundo e foi igual o primeiro. me ajuda! Spoiler local monsters = { ["Energy Soul"] = 6640, ["Mazoran"] = 6641, ["Brother Freeze"] = 6642, ["Fleshcrawler"] = 6643 } function onDeath(cid, corpse, deathList) local t = monsters[getCreatureName(cid)] if t then for _, pid in ipairs(deathList) do if isCreature(pid) and isPlayer(pid) then if getPlayerStorageValue(pid, t) <= 0 then setPlayerStorageValue(pid, t, os.time() + 60) doCreatureSay(pid,"Voce nao tera chance contra o grande Deathbine!",TALKTYPE_ORANGE_1) end end end end return true end Editado Dezembro 27, 2022 2 anos por carloos (veja o histórico de edições)
Postado Dezembro 27, 2022 2 anos 11 minutos atrás, carloos disse: testei o primeiro e nao funcionou testei o segundo e foi igual o primeiro. me ajuda! Mostrar conteúdo oculto local monsters = { ["Energy Soul"] = 6640, ["Mazoran"] = 6641, ["Brother Freeze"] = 6642, ["Fleshcrawler"] = 6643 } function onDeath(cid, corpse, deathList) local t = monsters[getCreatureName(cid)] if t then for _, pid in ipairs(deathList) do if isCreature(pid) and isPlayer(pid) then if getPlayerStorageValue(pid, t) <= 0 then setPlayerStorageValue(pid, t, os.time() + 60) doCreatureSay(pid,"Voce nao tera chance contra o grande Deathbine!",TALKTYPE_ORANGE_1) end end end end return true end Citar local monsters = { ["Energy Soul"] = 6640, ["Mazoran"] = 6641, ["Brother Freeze"] = 6642, ["Fleshcrawler"] = 6643 } function onDeath(cid, corpse, deathList) local t = monsters[getCreatureName(cid)] if t then for _, pid in ipairs(deathList) do if isCreature(pid) and isPlayer(pid) then if getPlayerStorageValue(pid, t) <= os.time() then setPlayerStorageValue(pid, t, os.time() + 48*60*60) -- 48 horas doCreatureSay(pid,"Voce nao tera chance contra o grande Deathbine!",TALKTYPE_ORANGE_1) end end end end return true end Para teste utilize um tempo menor: setPlayerStorageValue(pid, t, os.time() + 5*60) -- 5 minutos Veja se funciona
Postado Dezembro 27, 2022 2 anos pergunta, pra que vai servir esse storage? pq esse tempo? vai precisar num npc, numa action etc? Eu tenho uma parada que faz algo parecido, mato boss, vou no npc e pego recompensa, pra pegar novamente, so com tempo que eu programar. Editado Dezembro 28, 2022 2 anos por koyotestark (veja o histórico de edições)
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.