ewerton91 3 Postado Setembro 1, 2012 Share Postado Setembro 1, 2012 (editado) Ajuda em npc Pessoal eu peguei um npc aqui no forum e o editei para meu servidor, so que eu nao consigo terminalo Explicacão do npc: O player fala com o npc ele verifica qual valor storage da storage 7000 ele esta se nao estiver com valor 1, ele fala a frase da o valor 1 e manda embora o npc bla bla bla(eu ja esta pronto) dps o player volta e fala com o npc dnv, ele verifica o valor da storage e fala outra frase da outro valor e fecha a conversa E assim continua, quando chegar num valor 10 final ele manda a mensagen: voce terminou todas as missoes Script : 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, 'missao') then talkState[talkUser] = 0 if getPlayerStorageValue(cid,7700) == 1 then selfSay('Voce deve levar 4 {dragon ham} ao mendigo em frente ao dp.{ok}?', cid) setPlayerStorageValue(cid,7700,2) talkState[talkUser] = 1 elseif talkState[talkUser] == 1 then if msgcontains(msg, 'ok') then selfSay('Pode ir ele esta a sua espera!!', cid) talkState[talkUser] = 0 end else selfSay('Ah seu fanfarao saia daqui', cid) end if getPlayerStorageValue(cid,7700) == 3 then selfSay('Voce deve levar 4 {health potion} ao mendigo em frente a arena.{ok}?', cid) setPlayerStorageValue(cid,7700,4) talkState[talkUser] = 1 elseif talkState[talkUser] == 1 then if msgcontains(msg, 'ok') then selfSay('Pode ir ele esta a sua espera!!', cid) end else selfSay('Ah seu fanfarao saia daqui', cid) end else if msgcontains(msg, 'no') then selfSay('Então porque veio aqui ?', cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Creditos : 70%Jd criador inicial 5% Eu pelo Edit 25%Ao futuro arumador Super rep+ pra quem ajudar, se não expliquei direito pode posta ai que eu to sempre de olho aqui no forum !! Editado Setembro 2, 2012 por Ewerton91 Link para o comentário Compartilhar em outros sites More sharing options...
0 Vodkart 1513 Postado Setembro 1, 2012 Share Postado Setembro 1, 2012 esse script do npc está muito confuso, ele vai ter que falar com o npc 10x? e cada vez que ele fala é uma missão diferente? seria de que? entregar items? Link para o comentário Compartilhar em outros sites More sharing options...
0 ewerton91 3 Postado Setembro 2, 2012 Autor Share Postado Setembro 2, 2012 (editado) Tipo simplesmente cada veis que o player for la ele vê qual o valor da storage, fala uma frase, da outro valor e fecha a conversa.(se o player tem a storage valor:1 fala a frase 1, valor 2 fala a frase 2)Se já tiver feito todas as missões ele fala que você ja completo tudo. PS:Se você fizer pelo menos 3 vezes, depois eu coloco mais sozinho Arumei o script pra voce entender melhor, qualquer duvida so posta ai que to sempre de olho Editado Setembro 2, 2012 por Ewerton91 Link para o comentário Compartilhar em outros sites More sharing options...
0 Vodkart 1513 Postado Setembro 2, 2012 Share Postado Setembro 2, 2012 (editado) não sei se era isso: 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,msg = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid,string.lower(msg) local talks = { [1] = "Voce deve levar {dragon ham} para o mendigo em frente ao dp. Diga {yes} para aceitar.", [3] = "Voce deve levar {Health Potion} para o morador da GuildHouse. Diga {yes} para aceitar.", [5] = "Voce deve levar {Golden bow} para o anciao no templo. Diga {yes} para aceitar.", } storage = getPlayerStorageValue(cid, 7000) <= 0 and 1 or getPlayerStorageValue(cid, 7000) if msgcontains(msg, 'missao') and talks[storage] then selfSay(talks[storage], cid) talkState[talkUser] = 2 elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then selfSay("Então vá e depois volte", cid) setPlayerStorageValue(cid, 7000, (storage+1)) talkState[talkUser] = 0 elseif msg == "no" and talkState[talkUser] >= 1 then selfSay("tudo bem então.", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) else selfSay("Voce ja completou essa missao, para saber a proxima escreva: !mission", cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) O npc mendigo ele dá outra storage certo? Editado Setembro 2, 2012 por Vodkart Link para o comentário Compartilhar em outros sites More sharing options...
0 ewerton91 3 Postado Setembro 2, 2012 Autor Share Postado Setembro 2, 2012 (editado) Certo. Perfeito cara parabenz, eu to estudando scripts aqui, ai ja aproveito e estudo mais sobre o seu !!! --EDIT--- Se eu consegui termina aqui bonitinho, eu vo ate posta aqui no forum e por seu credito junto. Editado Setembro 2, 2012 por Ewerton91 Link para o comentário Compartilhar em outros sites More sharing options...
0 Vodkart 1513 Postado Setembro 2, 2012 Share Postado Setembro 2, 2012 amigo eu tinha esqueci de adicionar um 'talkState' já editei o tópico Link para o comentário Compartilhar em outros sites More sharing options...
0 Andre Miles 83 Postado Setembro 2, 2012 Share Postado Setembro 2, 2012 Opa, dúvida sanada. Tópico movido e fechado. Abraços Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ewerton91 3
Ajuda em npc
Pessoal eu peguei um npc aqui no forum e o editei para meu servidor, so que eu nao consigo terminalo
Explicacão do npc:
O player fala com o npc ele verifica qual valor storage da storage 7000 ele esta
se nao estiver com valor 1, ele fala a frase da o valor 1 e manda embora
o npc bla bla bla(eu ja esta pronto)
dps o player volta e fala com o npc dnv, ele verifica o valor da storage e fala outra frase da outro valor e fecha a conversa
E assim continua, quando chegar num valor 10 final ele manda a mensagen: voce terminou todas as missoes
Script :
Creditos :
70%Jd criador inicial
5% Eu pelo Edit
25%Ao futuro arumador
Super rep+ pra quem ajudar, se não expliquei direito pode posta ai que eu to sempre de olho aqui no forum !!
Editado por Ewerton91Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados