Postado Maio 23, 2017 8 anos preciso de uma action simples, se o player estiver com tal storage exatamente aquele estorage acontece algo. Estou tentando algo assim mas não vai. if getPlayerStorageValue(cid, 10001) and msgcontains(msg, 'ajudar') then selfSay('Sai pra la', cid) end
Postado Maio 23, 2017 8 anos Se o player tiver x storage "falar" if msgcontains(msg, "ajudar") and (getPlayerStorageValue(cid, 10001) == 1) then selfSay("Sai pra la!", cid) Editado Maio 23, 2017 8 anos por pablobion (veja o histórico de edições) Scriptszinhos: Spoiler [CREATURESCRIPT] Auto TP depois de matar boss [ACTION] Clean Area [TALKACTION] !FelizAnoNovo [ACTION + MOVEMENT] Cartas ao GOD [CREATURESCRIPT] Always Emblem System [ACTION] Anihi simples [TALKACTIONS] Urinar / fazer xixi Não abandone seu tópico, quando você tiver a dúvida resolvida sozinho tente ensinar aos outros como resolve-la (você pode não ser o único com o problema) e quando ela for resolvida por outra pessoa não se esqueça de marcar como melhor resposta e deixar o gostei.
Postado Maio 23, 2017 8 anos Autor vou testar aqui Testei aqui mas não foi vo tentar explicar com calma oque quero. preciso de um npc que quando o cara fala com ele a 1x ele da um storage pra o player 10001, agora se o player já estiver com esse storage 10001 ai ele nao vai dar o storage 10001 de novo pra ele, so pega uma vez. tenho isso aqui que eu fiz. 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 if msgcontains(msg, 'sim') then if (getPlayerStorageValue(cid,10000) > 0) then selfSay('Eu ja falei com você, vá atras do {Mago Berlino} e descubra oque ele esta fazendo...', cid) else doSendMagicEffect(getCreaturePosition(cid), 30) setPlayerStorageValue(cid,10001) selfSay('Ouvi falar que na montanha mais alta dos ogros vive o Mago Berlino, dizem que esse mago esta tramando alguma coiza para acabar com venture presizo que você vá la {investigar} oque esta acontecendo e me traga um {relatorio}.', cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) ai quando ele ganhar o storage 10001 ele vai la falar com otro npc. O outro npc só fala com ele se ele estiver com o storage 10001 se não ele fala que não tem permissão pra falar com ele. Aqui está meu outro npc. 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 if msgcontains(msg, 'sim') then if (getPlayerStorageValue(cid,10001) < 0) then selfSay('Eu não tenho permissão para falar com você...', cid) else selfSay('Esse Lucios vive falando que eu sou um mago mal, mas não é bem por ai.', cid) selfSay('Faço meus experimentos para sempre melhorar a qualidade de vida e o balanço da natureza aqui em venture..', cid) selfSay('Falando nisso você poderia me {ajudar} com algumas tarefinhas? posso te dar alguma coiza em troca no final disso.', cid) end return true end if msgcontains(msg, "ajudar") and (getPlayerStorageValue(cid, 10001) == 1) then selfSay("Sai pra la!", cid) end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Postado Maio 23, 2017 8 anos 01: 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 msg = msg:lower() if msgcontains(msg, 'sim') then if (getPlayerStorageValue(cid, 10001) > 0) then selfSay('Eu já falei com você, vá até o {Mago Berlino} e descubra o que ele está fazendo.', cid) else doSendMagicEffect(getCreaturePosition(cid), 30) setPlayerStorageValue(cid, 10001, 1) selfSay('Ouvi falar que na montanha mais alta dos ogros vive o {Mago Berlino}, dizem que esse mago está tramando alguma coisa para acabar com venture, preciso que você vá {investigar} o que esta acontecendo e me traga um {relatório}.', cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) 02: 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 msg = msg:lower() if msgcontains(msg, 'sim') then if (getPlayerStorageValue(cid, 10001) == 0) then selfSay('Esse Lucios vive falando que eu sou um mago mau, mas não é bem por ai.', cid) selfSay('Faço meus experimentos para sempre melhorar a qualidade de vida e o balanço da natureza aqui em venture..', cid) selfSay('Falando nisso você poderia me {ajudar} com algumas tarefinhas? Irei recompensa-lo no final.', cid) talkState[talkUser] = 1 else selfSay('Eu não tenho permissão para falar com você.', cid) end elseif msgcontains(msg, 'ajudar') then if talkState[talkUser] == 1 then if (getPlayerStorageValue(cid, 10001) == 1) then selfSay('Tarefa, blablabla', cid) end end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Use o exemplo do talkState e tente criar sua quest, se tiver alguma dúvida, pode perguntar. ➥ Regras | Seções OTServ | Seções BOT
Postado Maio 23, 2017 8 anos Autor vlw man vo testar, muito obrigado pela paciência dês de já. Mano se liga o qeu significa isso if (getPlayerStorageValue(cid, 10001) == 0) then == 0 significa que e exatamente 10001 ? e oque significa isso setPlayerStorageValue(cid, 10001, 1) esse ,1) quer isso ai ele adiciona +1 no storage 10001 ? pra ficar 10002 ? e isso ou ele afirma tipo o storag 10001 é rela agora ? não entendi isso queria entender pra nao encher mais o saco. Ixi mano nao vai coloquei == 0 no 2 script e foi vo ver aq oq faço fiz isso mas nao esta dando 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 msg = msg:lower() if msgcontains(msg, 'sim') then if (getPlayerStorageValue(cid, 10001) == 0) then selfSay('Esse Lucios vive falando que eu sou um mago mau, mas não é bem por ai.', cid) selfSay('Faço meus experimentos para sempre melhorar a qualidade de vida e o balanço da natureza aqui em venture..', cid) selfSay('Falando nisso você poderia me {ajudar} com algumas tarefinhas? Irei recompensa-lo no final.', cid) talkState[talkUser] = 1 else selfSay('Eu não tenho permissão para falar com você.', cid) end elseif msgcontains(msg, 'ajudar') then if talkState[talkUser] == 1 then if (getPlayerStorageValue(cid, 10001) == 1) then selfSay('Precizo de 5 {queijos podres}.', cid) end end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
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.