Ir para conteúdo
  • 0

Npc De Quest.


KUNGLOW

Pergunta

E ai galera preciso de uma ajudinha de vocês para um NPC. É o seguinte.

 

O player chega e fala com o Npc

 

Player: Oi

Npc: Olá |PLAYERNAME|, bem vindo a minha casa. Em que posso ajudar?

Player:kevnan

Npc: Ah você conhece meu filho Kevnan? Que ótimo conhecer você. A vários dias ele saiu em uma jornada perigosa e até então não tenho notícias dele, você sabe algo a respeito?

Player: botas ( assim que o player falar botas ele tem que ter o Item 6530. Se ele não tiver o NPC virá pra ele e pergunta " De que bota você está falando?)

Npc Ma.. Mas que triste notícia..... Meu filho querido, mamãe também te ama, que esteja bem onde quer que esteja..

Npc:Acredito que quem matou meu filho foi um poderoso monstro que anda aterrorizando a região, há boatos que é um dragão jamais visto antes, se você vingar a morte do meu filho vou te dar algo que pertencia a Kevnan, algo que ele gostava muito, volte aqui quando cumprir sua missão.

 

Ai boa o player vai embora e volta pra falar com o NPC dnv,

Player: Oi

 

Npc: Olá |PLAYERNAME|, bem vindo a minha casa. Em que posso ajudar?

Player:kevnan >> o npc so vai falar isso \/ se ele não tiver o item 11366

Npc:Ainda não vingou a morte do meu filho Kevnan? Lembre-se que é um dragão jamais visto antes que esta pelas regiões geladas. Você precisa trazer algo que prove que foi este monstro que matou meu filho

 

Ai se o player tiver o item 11366 o npc vai falar:

Npc: Muito obrigado por ter vingado a morte de meu filho Kevnan. Como prometido aqui está a sua recompensa.

Ai o NPC dá o player 1 item de ID 15407.

 

E se o player já tiver ajudado o npc assim q ele falar

Oi

kevnan

 

O npc fala Você já vingou a morte de meu filho.

 

Obrigado a todos

 

Up alguem faze ae pórfavooor

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Em data>npcs crie um arquivo.xml e cole isto dentro:

 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="NOMEDOSEUNPC" script="data/npc/scripts/NOMEDOARQUIVO.lua" walkinterval="5000" floorchange="0">
   <health now="100" max="100"/>
   <look type="128" head="20" body="100" legs="50" feet="99" corpse="2212"/>
   <parameters>
    <parameter key="message_greet" value="Ola |PLAYERNAME|. Bem vindo a minha casa. Em que posso ajudar?"/>
    <parameter key="message_farewell" value="Volte quando quiser, |PLAYERNAME|!"/>
    <parameter key="module_keywords" value="1" />
   </parameters>
</npc>

 

Em data>npcs>scripts crie um arquivo.lua e cole isto dentro:

 

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, 'kevnan')) and getPlayerStorageValue(cid, 3987) >= 1 then 
selfSay('Voc\ê j\á vingou a morte de meu filho.', cid)
talkState[talkUser] = 0
end

if(msgcontains(msg, 'kevnan')) and getPlayerStorageValue(cid, 3987) <= 0 then
selfSay('Ah você conhece meu filho Kevnan? Que ótimo conhecer você. A vários dias ele saiu em uma jornada perigosa e até então não tenho notícias dele, você sabe algo a respeito?', cid)
elseif(msgcontains(msg, 'botas')) then
selfSay('Voc\ê falou botas? Diga {yes} ou {no}', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'mais')) then
selfSay('Acredito que quem matou meu filho foi um poderoso monstro que anda aterrorizando a região, há boatos que é um dragão jamais visto antes, se você vingar a morte do meu filho vou te dar algo que pertencia a Kevnan, algo que ele gostava muito, volte aqui quando cumprir sua {missao}.', cid)
talkState[talkUser] = 2



elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then 
if (getPlayerItemCount(cid, 6530) >= 1) then 
selfSay('Ma.. Mas que triste notícia..... Meu filho querido, mamãe também te ama, que esteja bem onde quer que esteja..Quer saber {mais}?', cid)
talkState[talkUser] = 0
else 
selfSay('De quais botas você está falando?', cid)
talkState[talkUser] = 0 
end
elseif(msgcontains(msg, 'missao') and talkState[talkUser] == 2) then 
if(getPlayerItemCount(cid, 11366) >= 1) then 
selfSay('Muito obrigado por ter vingado a morte de meu filho Kevnan. Como prometido aqui está a sua recompensa.', cid)
doPlayerRemoveItem(cid, 11366, 1)
doPlayerAddItem(cid, 15407, 1)
setPlayerStorageValue(cid, 3987, 1)
talkState[talkUser] = 0
else 
selfSay('Ainda n\ão vingou a morte do meu filho Kevnan? Lembre-se que eh um dragão jamais visto antes que esta pelas regioes geladas. Voc\ê precisa trazer algo que prove que foi este monstro que matou meu filho', cid)
talkState[talkUser] = 0 
end
end  
return TRUE
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Link para o comentário
Compartilhar em outros sites

  • 0

Não era bem desse jeito que eu queria...Mas vlw

 

 

funcionou daqui eu arrumo ele,

 

Achei um erro.

 

O cara chega pro NPC e fala com ele

Missão ele entrega o item o player fala BYE

e fala Oi

E fala Kevnan,mais,missao o npc entrega o item Dinovo

Link para o comentário
Compartilhar em outros sites

  • 0

Se não era assim que você queria, faltou você me falar algo kk. Você não disse que era para removar a bota, falou que era só para checkar se ele tinha... Mas mesmo assim, você edita a seu gosto ^^. Quanto a dar o item novamente, aqui está o certo:

 

 

 

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, 'kevnan')) and getPlayerStorageValue(cid, 3987) >= 1 then

selfSay('Voc\ê j\á vingou a morte de meu filho.', cid)

talkState[talkUser] = 0

end

 

 

if(msgcontains(msg, 'kevnan')) and getPlayerStorageValue(cid, 3987) <= 0 then

selfSay('Ah você conhece meu filho Kevnan? Que ótimo conhecer você. A vários dias ele saiu em uma jornada perigosa e até então não tenho notícias dele, você sabe algo a respeito?', cid)

elseif(msgcontains(msg, 'botas')) then

selfSay('Voc\ê falou botas? Diga {yes} ou {no}', cid)

talkState[talkUser] = 1

elseif(msgcontains(msg, 'mais')) then

selfSay('Acredito que quem matou meu filho foi um poderoso monstro que anda aterrorizando a região, há boatos que é um dragão jamais visto antes, se você vingar a morte do meu filho vou te dar algo que pertencia a Kevnan, algo que ele gostava muito, volte aqui quando cumprir sua {missao}.', cid)

talkState[talkUser] = 2

 

 

elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then

if (getPlayerItemCount(cid, 6530) >= 1) then

selfSay('Ma.. Mas que triste notícia..... Meu filho querido, mamãe também te ama, que esteja bem onde quer que esteja..Quer saber {mais}?', cid)

talkState[talkUser] = 0

else

selfSay('De quais botas você está falando?', cid)

talkState[talkUser] = 0

end

elseif(msgcontains(msg, 'missao') and talkState[talkUser] == 2) then

if(getPlayerStorageValue(cid, 3987) <= 0) then

if(getPlayerItemCount(cid, 11366) >= 1) then

selfSay('Muito obrigado por ter vingado a morte de meu filho Kevnan. Como prometido aqui está a sua recompensa.', cid)

doPlayerRemoveItem(cid, 11366, 1)

doPlayerAddItem(cid, 15407, 1)

setPlayerStorageValue(cid, 3987, 1)

talkState[talkUser] = 0

else

selfSay('Ainda n\ão vingou a morte do meu filho Kevnan? Lembre-se que eh um dragão jamais visto antes que esta pelas regioes geladas. Voc\ê precisa trazer algo que prove que foi este monstro que matou meu filho', cid)

talkState[talkUser] = 0

end

else

selfSay('Voc\ê j\á vingou a morte do meu filho', cid)

talkState[talkUser] = 0

end

return TRUE

end

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

 

 

Vlw, espero ter ajudado.

Editado por Leoxtibia
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...