Ir para conteúdo
  • 0

NPC: Marca mapa, da informações (guide npc)


1579091

Pergunta

Bom dia a todos... Recentemente estou jogando muito tibia global, e hoje venho pedir 2 scripts que podem não ser util somente a mim mas pode ser útil a muita gente.

 

Pedido/Ideia:

 

Mensagens automáticas do npc:

AutomaticMessage1: Posso lhe conceber ajuda sobre todas as mudanças que houveram na cidade de Town's Ville...

AutomaticMessage2: Precisa de ajuda em encontrar algum lugar de Town's Ville? Pergunte-me!

AutomaticMessage3: É a sua primeira vez aqui? Eu posso lhe ofereçer ajuda...

 

Player: Hello/Hi

Npc: Olá jovem, bem vindo a Town's Ville. Eu posso estar lhe ajudando dando informações sobre o mapa.

Player: <IfPlayerSay> Informações

Npc: Atualmente, posso lhe dizer tudo sobre a cidade, seu templo, o banco, lojas, locais de magias, o deposito (dp), e um pouco sobre os bairros.

 

No caso a cima, caso o player diga alguma das mensagens azuis, o npc daria a informação de onde está. (deixar espaço no script pra estar editando isso).

 

Player: <IfPlayerSay> Mapa

Npc: Bom, eu posso deixar marcas no seu mapa, mostrando assim, onde fica os principais locais... Você gostaria que eu fizesse isso?

 

Player: <IfPlayerSay> Não

 

 

Npc: Então, já conhece o mapa... Procure-me quando precisar de ajuda!

 

 

 

Player: <IfPlayerSay> Sim

 

 

Npc: Ok! Marquei os principais lugares em seu mapa... Caso ainda tenha dúvidas me pergunte!

 

[~] No mesmo instante, no mapa do jogador é marcado os locais, como dp, lojas (deixar isso já pronto no script, faltando apenas marcar as pos. [~]

 

 

 

 

Espero que alguém possa me ajudar... Valeu!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

NPC.xml

<?xml version="1.0"?>
<npc name="NomeDoNPC" script="data/npc/scripts/NomeDoArquivoLua.lua" walkinterval="2000">
 <health now="200" max="200" />
   <look type="136" head="113" body="65" legs="0" feet="96" addons="2"/>
 <parameters>
   <parameter key="message_greet" value="Olá jovem, bem vindo a Town's Ville. Eu posso estar lhe ajudando dando {informações} sobre o {mapa}." />
 </parameters>
</npc>

 

NPC/Script

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

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 thinkCallback(cid)
local rand = math.random(1,50)
if rand == 1 then
selfSay('Posso lhe conceber ajuda sobre todas as mudanças que houveram na cidade de Towns Ville...')
elseif rand == 2 then
selfSay('Precisa de ajuda em encontrar algum lugar de Towns Ville? Pergunte-me!')
elseif rand == 3 then
selfSay('É a sua primeira vez aqui? Eu posso lhe ofereçer ajuda...')
end
return true
end

function greetCallback(cid)

return true

end

local shopModule = ShopModule:new()
npcHandler:addModule(shopModule)

if(msgcontains(msg, 'Informações') then
selfSay('Atualmente, posso lhe dizer tudo sobre a cidade, seu {templo}, o {banco}, {lojas}, {locais de magias}, o {deposito} ({dp}), e um pouco sobre os {bairros}.', cid)
talkState[talkUser] = 1
-------------------------------------------------------------------------------------------------------------------------------------------------------

   elseif(msgcontains(msg, 'templo') and talkState[talkUser] == 1) then
selfSay('Edite a Informação sobre o {Templo} Aqui!')
talkState[talkUser] = 0

elseif(msgcontains(msg, 'banco') and talkState[talkUser] == 1) then
selfSay('Edite a Informação sobre o {Banco} Aqui!')
talkState[talkUser] = 0

elseif(msgcontains(msg, 'lojas') and talkState[talkUser] == 1) then
selfSay('Edite a Informação sobre o {Lojas} Aqui!')
talkState[talkUser] = 0

elseif(msgcontains(msg, 'locais de magias') and talkState[talkUser] == 1) then
selfSay('Edite a Informação sobre o {locais de magia} Aqui!')
talkState[talkUser] = 0

elseif(msgcontains(msg, 'deposito') or msgcontains(msg, 'dp') and talkState[talkUser] == 1) then
selfSay('Edite a Informação sobre o {Deposito} Aqui!')
talkState[talkUser] = 0

elseif(msgcontains(msg, 'bairros') and talkState[talkUser] == 1) then
selfSay('Edite a Informação sobre o {Bairros} Aqui!')
talkState[talkUser] = 0

elseif(msgcontains(msg, 'mapa')) then
selfSay('Bom, eu posso deixar marcas no seu mapa, mostrando assim, onde fica os principais locais... Você gostaria que eu fizesse isso?')
talkState[talkUser] = 2

elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then
selfSay('Ok! Marquei os principais lugares em seu mapa... Caso ainda tenha dúvidas me pergunte!')
doPlayerAddMapMark(cid, {x=000, y=000, z=0,}, NumeroDaMarcação, 'Templo')
doPlayerAddMapMark(cid, {x=000, y=000, z=0,}, NumeroDaMarcação, 'Banco')
doPlayerAddMapMark(cid, {x=000, y=000, z=0,}, NumeroDaMarcação, 'Lojas')
talkState[talkUser] = 0

elseif(msgcontains(msg, 'no') and talkState[talkUser] == 2) then
selfSay('Então, já conhece o mapa... Procure-me quando precisar de ajuda!')
talkState[talkUser] = 0

end 
return TRUE
end

npcHandler:setCallback(CALLBACK_ONTHINK, thinkCallback)
npcHandler:setCallback(CALLBACK_GREET, greetCallback)

npcHandler:addModule(FocusModule:new())  

 

Não Testei, espero que funcione!

Abraços !!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...