Ir para conteúdo
  • 0

Npc Que Somente Fala


mrfmarcelo

Pergunta

7 respostass a esta questão

Posts Recomendados

  • 0

<npc name="Duel" script="data/npc/scripts/info.lua" walkinterval="0" floorchange="0">
<health now="100" max="100"/>
<look type="134" head="78" body="88" legs="0" feet="88" addons="3"/>
<parameters>
<parameter key="message_greet" value="Ola bravo aventureiro, eu tenho informações sobre addon quests. Diga {addon} para saber mais
}." />
<parameter key="message_farewell" value="Ate mais." />
<parameter key="message_walkaway" value="Ate mais." />
</parameters>
</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, 'addon') then

selfSay(' Fale seu addon', cid)

if msgcontains(msg, 'COLOQUE O ADDON QUE VOCE QUER') then

selfSay('o addon x fica localizado na área y ao norte de z', cid)

return true

end

return true

end

return true

end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

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

  • 0

caotic não entendi cara. Eu quero tipo:

-Hi

-Olá bravo aventureiro, eu tenho informações sobre addon quests. Diga {addon} para saber mais

-addon

-Sobre qual addon você deseja saber?

-(player falar um nome)

-o addon x fica localizado na área y ao norte de z

Link para o comentário
Compartilhar em outros sites

  • 0

Então segue isso aqui. Você só vai precisar editar a questão das coordenadas que você quer colocar.

 

Vá para data>npcs e copie um arquivo.xml qualquer. Renomeie para Major.xml, apague tudo e coloque isso dentro

 

<npc name="Major" script="addon.lua" walkinterval="0" floorchange="0">
<health now="100" max="100"/>
<look type="134" head="78" body="88" legs="0" feet="88" addons="3"/>
<parameters>
<parameter key="message_greet" value="Ola bravo aventureiro, eu tenho informacoes sobre addon quests. Diga {addon} para saber mais" />
<parameter key="message_farewell" value="Ate mais." />
<parameter key="message_walkaway" value="Ate mais." />
</parameters>
</npc>

 

Agora va em npcs>scripts e crie um aquivo addon.lua e coloque isso 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

-- Conversa Jogador/NPC
if(msgcontains(msg, 'addon')) then
selfSay('Sobre quais desses addons voce quer saber? Posso falar sobre o {citizen}, {beggar}, {summoner}.', cid)
elseif(msgcontains(msg, 'citizen')) then
selfSay('O addon citizen est\á localizado na area y ao norte de z.', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'beggar')) then
selfSay('O addon citizen est\á localizado na area y ao norte de z.', cid)
talkState[talkUser] = 2
elseif(msgcontains(msg, 'summoner')) then
selfSay('O addon citizen est\á localizado na area y ao norte de z.', cid)
talkState[talkUser] = 3
end
return TRUE
end

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

 

Para adicionar mais é só colocar lá entre {} e depois adicionar isso antes do primeiro end

 

elseif(msgcontains(msg, 'summoner')) then
selfSay('O addon citizen est\á localizado na area y ao norte de z.', cid)
talkState[talkUser] = 3

 

Lembrando de mudar em talkState[talkUser] = 3

Espero que ajude.. Vlw =P

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

×
×
  • Criar Novo...