Ir para conteúdo
  • 0

Npc De Vocation Igual Global.


lelesho

Pergunta

Olá galera do Xtibia.

 

 

Eu estive procurando e não achei nenhum parecido pra mim editar e chegar ao que eu quero.

Ai decidi procura a ajuda de vocês.

 

oque eu quero e bem simples. (eu acho)

 

São 4 npc's diferentes que cada um da a sua classe, Um faz vc vira paladin,o outro sorcerer, druid, knight.

 

Sem cobrar nada apenas o lv8

 

 

E quando fala pra virar, ele te da a vocation e teleportaria ele pra cidade.

 

Obrigado.

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

6 respostass a esta questão

Posts Recomendados

  • 0

Nome do seu npc.xml

 

<?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="Ola, |PLAYERNAME|! Eu posso te promover a {knight}."/>
	<parameter key="message_farewell" value="Good bye."/>
	<parameter key="module_keywords" value="1" />
</parameters>
</npc>

 

nomedoseuarquivo.lua

 

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 vocid = 4 -- vocação que vai dar
local pos = {x=1,y=1,z=1} -- posição que irá

if(msgcontains(msg, "knight")) then
  if(getPlayerLevel(cid) >= 8 and isRookie(cid)) then
  selfSay("Voc\ê quer ser um knight?", cid)
  talkState[talkUser] = 1
  else
  selfSay("Você não tem level 8 ou j\á tem vocac\ão.", cid)
  talkState[talkUser] = 0
  end
elseif talkState[talkUser] == 1 and msgcontains(msg, "yes") then
   doPlayerSetVocation(cid,vocid)
   doTeleportThing(cid, pos)
   doSendMagicEffect(pos, 10)  
   selfSay("Agora voc\ê eh um knight.", cid)
   talkState[talkUser] = 0
end
return TRUE
end

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

 

Como você pediu em npcs diferentes, é só editar a posição, as msgs e a vocação que vai dar.

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

  • 0

É amigo, você esqueceu de falar isso. Mas aí está:

Só editar em:

local city = 1 -- id da city que será do player

 

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 vocid = 4 -- vocação que vai dar
local pos = {x=1,y=1,z=1} -- posição que irá
local city = 1 -- id da city que será do player

if(msgcontains(msg, "knight")) then
  if(getPlayerLevel(cid) >= 8 and isRookie(cid)) then
  selfSay("Voc\ê quer ser um knight?", cid)
  talkState[talkUser] = 1
  else
  selfSay("Você não tem level 8 ou j\á tem vocac\ão.", cid)
  talkState[talkUser] = 0
  end
elseif talkState[talkUser] == 1 and msgcontains(msg, "yes") then
   doPlayerSetVocation(cid,vocid)
          doPlayerSetTown(cid, city)
   doTeleportThing(cid, pos)
   doSendMagicEffect(pos, 10)  
   selfSay("Agora voc\ê eh um knight.", cid)
   talkState[talkUser] = 0
end
return TRUE
end

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

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...