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?
Ajuda Em Npc
Por ewerton91, 01 de set. de 2012 em Scripts
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

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 por Ewerton91
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

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 por Vodkart
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 por Ewerton91



info
Grupo: Campones
Registrado: 07/01/11
Posts: 23
Reputação: +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 Setembro 2 por Ewerton91