Ir para conteúdo
  • 0

Pedido Npc Manda Msg Consecutivas


wellintonsk

Pergunta

o titulo ja diz neh =) mais vou explicar melhor.

ex:

 

player: hi

npc: ola ... bla bla bla missao..

player: missao

npc: pra essa missao.. bla bla bla...

npc: bla bla bla bla

npc: bla bla ... aceita?

player: yes

npc: bye..

 

queria que o player tambem ganha-se uma storage.. [ja que dps vo faze ele passa nas portas de quest]

to querendo faze um npc de missao parecido com a the djinn war do global. =)

desde ja agradeço.

 

 

 

[/desculpa se foi area errada sou novo aqui.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Abra a pasta data/npc/scripts e crie um arquivo chamado missionstor.lua

Adicione o 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, 'hi')) then
selfSay('Hello Adventurer. Want to do the {mission}?', cid)
end
if(msgcontains(msg, 'mission')) then
selfSay('Okay, but I warn you, adventurer. This mission is very dangerous ...', cid)
selfSay('the location has many demons, dragons, monsters and unknown species...', cid)
selfSay('but if your goal is to have adventure, ill tell you what need to do.', cid)
selfSay('Tell {yes} to continue.', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if (getPlayerStorageValue(cid, 1010) <= 0) then
selfSay('Okay, now you can do the Quest to complete the mission and win the reward of her.', cid)
setPlayerStorageValue(cid, 1010, 1)
elseif getPlayerStorageValue(cid, 1010) >= 1 then
selfSay('Have you talked to me before. If not done the quest, go do it and get the reward it.', cid)
end
return true
end
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Agora na pasta data/npc crie um arquivo chamado Mission Guy.xml

Adicione o script:

<!--?xml version="1.0" encoding="UTF-8"?-->
<npc name="Mission Guy" script="data/npc/scripts/missionstor.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100">
<look type="251" head="78" body="88" legs="0" feet="88" addons="3">
</look></health></npc>

PS: Como pode-se observar no script do npc, storage ID dado quando o player aceita fazer a mission é 1010. Agora então pode dar continuação a mission com a Quest que a door somente pode ser aberta pelo player que possuir a storage ID, ou seja, somente se falar com o npc.

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

×
×
  • Criar Novo...