Postado Abril 30, 2020 5 anos Olá pessoa tudo bem?. Estou com um problema e preciso da ajuda da comunidade. Tenho um NPC que entrega uma storage por um "X" período de tempo que no meu caso seria de 2 dia, mais ao passar esse 2 dias esse storage não expira. Estou usando, TFS 1.3 NPC.LUA Citar local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local config = { item1 = 12400, item2 = 12400, item3 = 12400, item4 = 12400, count1 = 5, count2 = 5, count3 = 5, count4 = 10, level = 8, -- Level que precisara para viajár sto = 99952, -- Storage não mecher tempo = 600, -- tempo que vai durar a storage quest = 39455, -- quest necessaria... } if msgcontains(msg, 'missão') then if (getPlayerStorageValue(cid, config.sto) <= os.time()) then if getPlayerStorageValue(cid, 39455) >= 1 then if getPlayerItemCount(cid, config.item1) >= config.count1 and getPlayerItemCount(cid, config.item2) >= config.count2 and getPlayerItemCount(cid, config.item3) >= config.count3 and getPlayerItemCount(cid, config.item4) >= config.count4 then selfSay('Claro Você me provou que será um grande guerreito, agora Você tera acesso de 2 dias ao treinamento offline, com ele você pode treinar durante 12 horas seguidas.', cid) setPlayerStorageValue(cid, config.sto, os.time()+config.tempo) doPlayerRemoveItem(cid, config.item1, config.count1) doPlayerRemoveItem(cid, config.item2, config.count2) doPlayerRemoveItem(cid, config.item3, config.count3) doPlayerRemoveItem(cid, config.item4, config.count4) else selfSay('Traga-me os 25 protective charm para poder usar o trainer offline', cid) end else selfSay("Você não completou a quest do ilha dos orc ao south da cidade, complete-a e e mostre-me que você e realmente um guerreiro promissor.", cid) end else selfSay('Você já fez essa missão, volte aqui quando não tiver mais acesso ao treiner, e faremos uma troca de 25 protective charm por mais 2 dias de acesso ao as estatuas.' , cid) return true end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Postado Abril 30, 2020 5 anos Olá @amoxicilina, tudo bem? Tente assim: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local config = { item1 = 12400, item2 = 12400, item3 = 12400, item4 = 12400, count1 = 5, count2 = 5, count3 = 5, count4 = 10, level = 8, -- Level que precisara para viajár sto = 99952, -- Storage não mecher tempo = 2, -- tempo que vai durar a storage (em horas) quest = 39455, -- quest necessaria... } if msgcontains(msg, 'missão') then if (getPlayerStorageValue(cid, config.sto) <= os.time()) then if getPlayerStorageValue(cid, 39455) >= 1 then if getPlayerItemCount(cid, config.item1) >= config.count1 and getPlayerItemCount(cid, config.item2) >= config.count2 and getPlayerItemCount(cid, config.item3) >= config.count3 and getPlayerItemCount(cid, config.item4) >= config.count4 then selfSay('Claro Você me provou que será um grande guerreito, agora Você tera acesso de 2 dias ao treinamento offline, com ele você pode treinar durante 12 horas seguidas.', cid) setPlayerStorageValue(cid, config.sto, os.time()+config.tempo*24*60*60) doPlayerRemoveItem(cid, config.item1, config.count1) doPlayerRemoveItem(cid, config.item2, config.count2) doPlayerRemoveItem(cid, config.item3, config.count3) doPlayerRemoveItem(cid, config.item4, config.count4) else selfSay('Traga-me os 25 protective charm para poder usar o trainer offline', cid) end else selfSay("Você não completou a quest do ilha dos orc ao south da cidade, complete-a e e mostre-me que você e realmente um guerreiro promissor.", cid) end else selfSay('Você já fez essa missão, volte aqui quando não tiver mais acesso ao treiner, e faremos uma troca de 25 protective charm por mais 2 dias de acesso ao as estatuas.' , cid) return true end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Postado Maio 1, 2020 5 anos Autor 21 horas atrás, 9k22 disse: Olá @amoxicilina, tudo bem? Tente assim: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local config = { item1 = 12400, item2 = 12400, item3 = 12400, item4 = 12400, count1 = 5, count2 = 5, count3 = 5, count4 = 10, level = 8, -- Level que precisara para viajár sto = 99952, -- Storage não mecher tempo = 2, -- tempo que vai durar a storage (em horas) quest = 39455, -- quest necessaria... } if msgcontains(msg, 'missão') then if (getPlayerStorageValue(cid, config.sto) <= os.time()) then if getPlayerStorageValue(cid, 39455) >= 1 then if getPlayerItemCount(cid, config.item1) >= config.count1 and getPlayerItemCount(cid, config.item2) >= config.count2 and getPlayerItemCount(cid, config.item3) >= config.count3 and getPlayerItemCount(cid, config.item4) >= config.count4 then selfSay('Claro Você me provou que será um grande guerreito, agora Você tera acesso de 2 dias ao treinamento offline, com ele você pode treinar durante 12 horas seguidas.', cid) setPlayerStorageValue(cid, config.sto, os.time()+config.tempo*24*60*60) doPlayerRemoveItem(cid, config.item1, config.count1) doPlayerRemoveItem(cid, config.item2, config.count2) doPlayerRemoveItem(cid, config.item3, config.count3) doPlayerRemoveItem(cid, config.item4, config.count4) else selfSay('Traga-me os 25 protective charm para poder usar o trainer offline', cid) end else selfSay("Você não completou a quest do ilha dos orc ao south da cidade, complete-a e e mostre-me que você e realmente um guerreiro promissor.", cid) end else selfSay('Você já fez essa missão, volte aqui quando não tiver mais acesso ao treiner, e faremos uma troca de 25 protective charm por mais 2 dias de acesso ao as estatuas.' , cid) return true end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) ainda continua sem remover a storege apos passar o período de 2 horas. ?
Postado Maio 1, 2020 5 anos 13 minutos atrás, amoxicilina disse: ainda continua sem remover a storege apos passar o período de 2 horas. ? aaah, são 2 horas? Eu entendi 2 dias... Me desculpe: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local config = { item1 = 12400, item2 = 12400, item3 = 12400, item4 = 12400, count1 = 5, count2 = 5, count3 = 5, count4 = 10, level = 8, -- Level que precisara para viajár sto = 99952, -- Storage não mecher tempo = 2, -- tempo que vai durar a storage (em horas) quest = 39455, -- quest necessaria... } if msgcontains(msg, 'missão') then if (getPlayerStorageValue(cid, config.sto) <= os.time()) then if getPlayerStorageValue(cid, 39455) >= 1 then if getPlayerItemCount(cid, config.item1) >= config.count1 and getPlayerItemCount(cid, config.item2) >= config.count2 and getPlayerItemCount(cid, config.item3) >= config.count3 and getPlayerItemCount(cid, config.item4) >= config.count4 then selfSay('Claro Você me provou que será um grande guerreito, agora Você tera acesso de 2 dias ao treinamento offline, com ele você pode treinar durante 12 horas seguidas.', cid) setPlayerStorageValue(cid, config.sto, os.time()+config.tempo*60*60) doPlayerRemoveItem(cid, config.item1, config.count1) doPlayerRemoveItem(cid, config.item2, config.count2) doPlayerRemoveItem(cid, config.item3, config.count3) doPlayerRemoveItem(cid, config.item4, config.count4) else selfSay('Traga-me os 25 protective charm para poder usar o trainer offline', cid) end else selfSay("Você não completou a quest do ilha dos orc ao south da cidade, complete-a e e mostre-me que você e realmente um guerreiro promissor.", cid) end else selfSay('Você já fez essa missão, volte aqui quando não tiver mais acesso ao treiner, e faremos uma troca de 25 protective charm por mais 2 dias de acesso ao as estatuas.' , cid) return true end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Postado Maio 1, 2020 5 anos Autor 1 hora atrás, 9k22 disse: aaah, são 2 horas? Eu entendi 2 dias... Me desculpe: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local config = { item1 = 12400, item2 = 12400, item3 = 12400, item4 = 12400, count1 = 5, count2 = 5, count3 = 5, count4 = 10, level = 8, -- Level que precisara para viajár sto = 99952, -- Storage não mecher tempo = 2, -- tempo que vai durar a storage (em horas) quest = 39455, -- quest necessaria... } if msgcontains(msg, 'missão') then if (getPlayerStorageValue(cid, config.sto) <= os.time()) then if getPlayerStorageValue(cid, 39455) >= 1 then if getPlayerItemCount(cid, config.item1) >= config.count1 and getPlayerItemCount(cid, config.item2) >= config.count2 and getPlayerItemCount(cid, config.item3) >= config.count3 and getPlayerItemCount(cid, config.item4) >= config.count4 then selfSay('Claro Você me provou que será um grande guerreito, agora Você tera acesso de 2 dias ao treinamento offline, com ele você pode treinar durante 12 horas seguidas.', cid) setPlayerStorageValue(cid, config.sto, os.time()+config.tempo*60*60) doPlayerRemoveItem(cid, config.item1, config.count1) doPlayerRemoveItem(cid, config.item2, config.count2) doPlayerRemoveItem(cid, config.item3, config.count3) doPlayerRemoveItem(cid, config.item4, config.count4) else selfSay('Traga-me os 25 protective charm para poder usar o trainer offline', cid) end else selfSay("Você não completou a quest do ilha dos orc ao south da cidade, complete-a e e mostre-me que você e realmente um guerreiro promissor.", cid) end else selfSay('Você já fez essa missão, volte aqui quando não tiver mais acesso ao treiner, e faremos uma troca de 25 protective charm por mais 2 dias de acesso ao as estatuas.' , cid) return true end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) foi mal erro meu achei que tinha colocado pra 2 horas kkkkk... passou as duas horas não perdeu a storage achei q não esta funcionando, kkk... como coloco pra minutos pra testar aqui e ver em um período de tempo menor ? aqui: setPlayerStorageValue(cid, config.sto, os.time()+config.tempo*60*60*60) ou setPlayerStorageValue(cid, config.sto, os.time()+config.tempo*60) ?
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.