TH
npc

NPC de teleport configuravel

Por TheSource, 06 de fev. de 2013 em NPCs, monsters e raids

script
otserv
7
3.3k
TheSourceT
06 de fevereiro de 2013 às 12:25

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 Fevereiro 6 por TheSource

leoperez011L
07 de fevereiro de 2013 às 12:45

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

Editado Fevereiro 7 por leoperez011

StyloMaldosoS
07 de fevereiro de 2013 às 13:17

Ja vi esse script por ae em..você que fez? se n for bote os creditos !

 

@Script muito desorganizado xd

TheSourceT
07 de fevereiro de 2013 às 13:18

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, ^^

leoperez011L
07 de fevereiro de 2013 às 13:50

cara n acontesse nada olha

 

 

http://imm.io/Vt6E

TheSourceT
07 de fevereiro de 2013 às 14:24

cara n acontesse nada olha

 

 

http://imm.io/Vt6E

 

 

Você configuro o link do arquivo lua no xml certinho ??? coloco tipo script="viajador.lua" onde viajador.lua é o nome do arquivo que você criou, vocês fez isso ?

leoperez011L
07 de fevereiro de 2013 às 15:39

sim fiz tudo certinho mais não acontesse nada