Ir para conteúdo
  • 0

Npc Que Volta Para A City De Partida...


Pergunta

Iae galera do xtibia...

 

Queria um npc tipo assim \/

  Citar
O player vai de alguma city (thais por exemplo) para a area de treino atraves do npc Captain Trainer

Para ele voltar, ele fala com o mesmo npc, que estara na area de treino e voltara para a city de qual veio, que no caso é thais...

 

REP++ pra qm consegui button_ok.png

Editado por Noninhouh
Link para o comentário
https://xtibia.com/forum/topic/194739-npc-que-volta-para-a-city-de-partida/
Compartilhar em outros sites

10 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/NOMEDOSEUARQUIVO.lua" walkinterval="5000" floorchange="0">
   <health now="100" max="100"/>
   <look type="128" head="38" body="39" legs="96" feet="118" addons="3"/>
   <parameters>
   <parameter key="message_greet" value="Hello, |PLAYERNAME|! I can {travel} you to many places."/>
    <parameter key="message_farewell" value="Good bye."/>
    <parameter key="module_keywords" value="1" />
   </parameters>
</npc>

 

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

 

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

local t = {
["treiner"] = {pos = {x=1,y=1,z=1}},
["thais"] = {pos = {x=1,y=1,z=1}}
}

if msgcontains(msg, "travel") or msgcontains(msg, "Travel") then
	    selfSay("Posso te levar para {treiner} ou {thais}.", cid)
		    talkState[talkUser] = 1

elseif talkState[talkUser] == 1 then	    
    if t[msg] then
	 doTeleportThing(cid, t[msg].pos)
		    doSendMagicEffect(t[msg].pos, 10)
			    selfSay("Boa viagem.", cid)
				    talkState[talkUser] = 0
    end
end
return TRUE
end

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

Link para o comentário
https://xtibia.com/forum/topic/194739-npc-que-volta-para-a-city-de-partida/#findComment-1345840
Compartilhar em outros sites

  • 0

Leoxtibia | Mais esse ai é como se fosse um npc normal de navio.

 

Eu keria ele assim:

 

NPC de volta

 

  Mostrar conteúdo oculto

 

 

NPC de ida

 

  Mostrar conteúdo oculto

 

 

Acho que agr eu expliquei melhor

Editado por Noninhouh
Link para o comentário
https://xtibia.com/forum/topic/194739-npc-que-volta-para-a-city-de-partida/#findComment-1345849
Compartilhar em outros sites

  • 0

Agora explicou...

 

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

local treiner = {x=1,y=1,z=1}
local thais = {x=1,y=1,z=1}

if msgcontains(msg, "travel") or msgcontains(msg, "Travel") then
  if getPlayerStorageValue(cid, 3210) == -1 then
					  selfSay("Posso te levar para {treiner}", cid)
					    talkState[talkUser] = 1
  else
	 selfSay("Se vc esta falando comigo eh pq deseja voltar para o mundo inferior?", cid)
	  talkState[talkUser] = 2
  end

elseif talkState[talkUser] == 1 and msgcontains(msg, "treiner") then	   
			 doTeleportThing(cid, treiner)
					    doSendMagicEffect(treiner, 10)
					    setPlayerStorageValue(cid, 3210, 1)
							    selfSay("Boa viagem.", cid)
									    talkState[talkUser] = 0

elseif talkState[talkUser] == 2 and msgcontains(msg, "yes") then
 doTeleportThing(cid, thais)
 doSendMagicEffect(thais, 10)
 setPlayerStorageValue(cid, 3210, -1)
	   selfSay("Boa viagem.", cid)
									    talkState[talkUser] = 0										  

end
return TRUE
end

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

 

É só editar as posições treiner e thais.

Link para o comentário
https://xtibia.com/forum/topic/194739-npc-que-volta-para-a-city-de-partida/#findComment-1345859
Compartilhar em outros sites

  • 0

Hm... assim:

 

 

  Mostrar conteúdo oculto

 

Link para o comentário
https://xtibia.com/forum/topic/194739-npc-que-volta-para-a-city-de-partida/#findComment-1346580
Compartilhar em outros sites

  • 0

Leoxtibia | u.u estou imprecionado happy.png

 

REP++ pra vc

 

---- @EDIT@ ----

 

So pra saber...

Se o player estiver pk ou em area que não é pz ele transporta o player?

Editado por Noninhouh
Link para o comentário
https://xtibia.com/forum/topic/194739-npc-que-volta-para-a-city-de-partida/#findComment-1346698
Compartilhar em outros sites

  • 0

O npc fica olhando pro sul quando da bye...

Como tira isso?

 

---

 

Dexa, consegui tirar heuheu

Editado por Noninhouh
Link para o comentário
https://xtibia.com/forum/topic/194739-npc-que-volta-para-a-city-de-partida/#findComment-1346795
Compartilhar em outros sites

×
×
  • Criar Novo...