Ir para conteúdo

Featured Replies

Postado

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())

 

 

 

  • Respostas 6
  • Visualizações 412
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Olá @amoxicilina, tudo bem?   Tente assim: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkS

  • aaah, são 2 horas? Eu entendi 2 dias... Me desculpe: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkS

Postado

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
  • 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
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
  • 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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo