Ir para conteúdo

NPC de teleport configuravel


TheSource

Posts Recomendados

Bom, percebi que muitos servers usam teleport por não tem um npc digamos assim que teleport para determinado local, então resolvi posta aqui um código de um NPC totalmente configuravel até se o player sem premium account viaja ou não.

 

Primeiro crie um arquivo xml com o nome que você deseja dentro de DATA/NPC

 

 

 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="John" script="viajador.lua" walkinterval="350000" floorchange="0" speed="0">
	<health now="100" max="100"/>
	<look type="662" head="114" body="94" legs="57" feet="0"/>
			<parameters>
							<parameter key="message_greet" value="Ola. Para mais informacoes de meus servicos diga {travel}." />
							<parameter key="message_farewell" value="Tchau." />
							<parameter key="message_walkaway" value="Tchau." />
			</parameters>
</npc>

 

 

Entendendo o script:

 

Ali em NPC Name é o nome do NPC, no caso ali está john, você pode modificalo para o nome que você deseja.

 

Script é o nome do arquivo que você irá criar na pasta scripts, é o nosso proximo passo

 

looktype é o outfit que ele vai usar, Head é a cor do cabelo dele, body é a cor da camisa, legs é a cor d a calça e feet a cor da bota.

 

 

Proximo passo vai na pasta scripts dentro da NPC e crie um arquivo chamado viajar.lua ou o nome que você escolheuem script ali em cima || Npc/Scripts

 

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

 

-- OTServ event handling functions start

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

-- OTServ event handling functions end

 

-- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions!

local travelNode = keywordHandler:addKeyword({'premmy'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer mesmo viajar?'})

travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 0, destination = {x=436, y=1788, z=7} })

travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'Too expensive, eh?'})

keywordHandler:addKeyword({'travel'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Eu posso te teleportar. Fale \'premmy\'.'})

-- Makes sure the npc reacts when you say hi, bye etc.

npcHandler:addModule(FocusModule:new())

 

Entendendo o script:

 

PREMIUM: Ali em amarelo onde tem "premium" ta assim premium = true, no caso "true" é sim e "false" é não ali o script pergunta se precisa de premium para viajar, se sim você deixa true se não coloque false.

 

LEVEL: Level necessario para poder usar o NPC.

 

COST: È quanto custará os serviços do NPC, lembrando que o preço está em golds.

 

DESTINATION: é as coordenadas para onde o npc deverá teleporta o player.

 

 

Gostou ?? da um REP++ :)

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

cara esse npc quando você fala travel ele n responde nem nada

 

é so configurar as falas dele geralmente elas ficam dentro das {}, exemplo {no}, {yes} { travel} {premmy}, ele primeiro pedi para vc fala "premmy" para depois fala travel, ^^

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...