eu posso fazer,só gostaria de saber se você só pediu no caso 1 npc,oque vai receber os itens certo?
ou é para fazer os 3 npc?
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

eu posso fazer,só gostaria de saber se você só pediu no caso 1 npc,oque vai receber os itens certo?
ou é para fazer os 3 npc?
eu posso fazer,só gostaria de saber se você só pediu no caso 1 npc,oque vai receber os itens certo?
ou é para fazer os 3 npc?
Tipo o NPC¹ seria o npc que o player falaria pra saber quais itens ele teria que pegar ai depois que ele o player ter o item e falar denovo com o npc ele trocar os 3 itens por um outro item e diria para ir no npc² chegando no npc ele trocaria por outro iten e diria pra voltar no NPC¹ e chegando lá ao receber o iten o npc teleportaria para um lugar.
Acho que é isso , vlw por responder .
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

o Npc está feito...
preciso do id dos items:
id das essencias
id fogo mistico
id da poção magica
id da pedra
id da pedra moldada
id do item que ele recebe ao entregar a pedra moldada
o Npc está feito...
preciso do id dos items:
id das essencias
id fogo mistico
id da poção magica
id da pedra
id da pedra moldada
id do item que ele recebe ao entregar a pedra moldada
vlw
mais tipo tem como postar assim msm ? pq vou criar os itens ainda ai tipo tu podia deixar explicando
[aki é o id da pedra ]
[aki pra onde vai teleportar] -- tem que por assim ou assado.
vlw mano
abraçs
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

lib/functions
function getItemsFromList(items) -- by vodka local str = '' if table.maxn(items) > 0 then for i = 1, table.maxn(items) do str = str .. items[i][2] .. ' ' .. getItemNameById(items[i][1]) if i ~= table.maxn(items) then str = str .. ', ' end end end return str end function doRemoveItemsFromList(cid,items) -- by vodka local count = 0 if table.maxn(items) > 0 then for i = 1, table.maxn(items) do if getPlayerItemCount(cid,items[i][1]) >= items[i][2] then count = count + 1 end end end if count == table.maxn(items) then for i = 1, table.maxn(items) do doPlayerRemoveItem(cid,items[i][1],items[i][2]) end else return false end return true end
Npc 1.xml
<?xml version="1.0"?>
<npc name="Npc 1" script="data/npc/scripts/npc1.lua" walkinterval="50000" floorchange="0">
<health now="100" max="100"/>
<look type="129" head="95" body="116" legs="121" feet="115" addons="3"/>
<parameters>
<parameter key="message_greet" value="Hello |PLAYERNAME|. I have some missions of {larvex quest} for you!" />
</parameters>
</npc>
npc1.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 t = {
items = {{6500,100},{2124,1},{2123,1}}, -- id das essencias,pot e fogo
pedra_id = 2494, -- id da pedra q ele vai ganhar ao dar os itens
pedra_moldada = 2472, -- id ja da pedra moldada q ele tem que trazer
reward = 2352, -- item que ele ganha ao dar a pedra moldada
pos = {x=165,y=54,z=7} -- pos pra onde ele ao dar a pedra moldada vai
}
if (msgcontains(msg, 'larvex quest') or msgcontains(msg, 'LARVEX QUEST'))then
if (getPlayerStorageValue(cid, 54877) ~= -1) then
npcHandler:say("Vejo que Você levou a pedra para ser moldada no outro npc...você está com ela ai? {yes}", cid)
talkState[talkUser] = 3
elseif (getPlayerStorageValue(cid, 54875) ~= -1) then
npcHandler:say("Você denovo por aqui! Você trouxe os items que eu lhe pedi? {yes}", cid)
talkState[talkUser] = 2
else
npcHandler:say("Você quer fazer a larvex quest? {yes}", cid)
talkState[talkUser] = 1
end
elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'YES')) and talkState[talkUser] == 1 then
npcHandler:say("Mas para isso eu preciso destes items: "..getItemsFromList(t.items)..". Quando os tiver volte e fale comigo!", cid)
setPlayerStorageValue(cid, 54875, 1)
talkState[talkUser] = 0
elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'YES')) and talkState[talkUser] == 2 then
if (getPlayerStorageValue(cid, 54876) <= 0) then
if doRemoveItemsFromList(cid,t.items) then
npcHandler:say("Muito obrigado,aqui está sua pedra,agora preciso que molde sua pedra,para isso leve no outro npc,feito isso volte aqui novamente.", cid)
doPlayerAddItem(cid, t.pedra_id, 1)
setPlayerStorageValue(cid, 54876, 1)
talkState[talkUser] = 0
else
npcHandler:say("você não tem "..getItemsFromList(t.items), cid)
talkState[talkUser] = 0
end
else
npcHandler:say("você já pegou sua pedra,vá e molde ela com outro npc e depois volte", cid)
talkState[talkUser] = 0
end
elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'YES')) and talkState[talkUser] == 3 then
if (getPlayerStorageValue(cid, 54878) <= 0) then
if doPlayerRemoveItem(cid, t.pedra_moldada, 1) then
doPlayerAddItem(cid, t.reward, 1)
doTeleportThing(cid, t.pos)
setPlayerStorageValue(cid, 54878, 1)
else
npcHandler:say("você não tem a pedra moldada na sua mochila!", cid)
talkState[talkUser] = 0
end
else
npcHandler:say("você já terminou a larvex quest!", cid)
talkState[talkUser] = 0
end
elseif msg == "no" then
selfSay("Then not", cid)
talkState[talkUser] = 0
npcHandler:releaseFocus(cid)
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
npc 2.xml
<?xml version="1.0"?>
<npc name="npc 2" script="data/npc/scripts/npc2.lua" walkinterval="50000" floorchange="0">
<health now="100" max="100"/>
<look type="129" head="95" body="116" legs="121" feet="115" addons="3"/>
<parameters>
<parameter key="message_greet" value="Hello |PLAYERNAME|. You want a {molded stone} ?!" />
</parameters>
</npc>
npc2.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 t = {
pedra_id = 2494, -- id da pedra q ele tem que trazer
pedra_moldada = 2472 -- id da pedra q ele vai receber ou seja moldar
}
if (msgcontains(msg, 'molded stone') or msgcontains(msg, 'MOLDED STONE'))then
if (getPlayerStorageValue(cid, 54877) <= 0) then
if doPlayerRemoveItem(cid, t.pedra_id, 1) then
doPlayerAddItem(cid, t.pedra_moldada, 1)
setPlayerStorageValue(cid, 54877, 1)
npcHandler:say("aqui está sua pedra,agora volte e fale com o npc da larvex quest!", cid)
else
npcHandler:say("você não tem nenhuma pedra,para receber a pedra você deve fazer a lavex quest!", cid)
talkState[talkUser] = 0
end
else
npcHandler:say("você já moldou sua pedra!", cid)
talkState[talkUser] = 0
end
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
só alterar as falas
Editado Março 17 por Vodkart
lib/functions
function getItemsFromList(items) -- by vodka local str = '' if table.maxn(items) > 0 then for i = 1, table.maxn(items) do str = str .. items[i][2] .. ' ' .. getItemNameById(items[i][1]) if i ~= table.maxn(items) then str = str .. ', ' end end end return str end function doRemoveItemsFromList(cid,items) -- by vodka local count = 0 if table.maxn(items) > 0 then for i = 1, table.maxn(items) do if getPlayerItemCount(cid,items[i][1]) >= items[i][2] then count = count + 1 end end end if count == table.maxn(items) then for i = 1, table.maxn(items) do doPlayerRemoveItem(cid,items[i][1],items[i][2]) end else return false end return true end
Npc 1.xml
<?xml version="1.0"?> <npc name="Npc 1" script="data/npc/scripts/npc1.lua" walkinterval="50000" floorchange="0"> <health now="100" max="100"/> <look type="129" head="95" body="116" legs="121" feet="115" addons="3"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|. I have some missions of {larvex quest} for you!" /> </parameters> </npc>
npc1.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 t = { items = {{6500,100},{2124,1},{2123,1}}, -- id das essencias,pot e fogo pedra_id = 2494, -- id da pedra q ele vai ganhar ao dar os itens pedra_moldada = 2472, -- id ja da pedra moldada q ele tem que trazer reward = 2352, -- item que ele ganha ao dar a pedra moldada pos = {x=165,y=54,z=7} -- pos pra onde ele ao dar a pedra moldada vai } if (msgcontains(msg, 'larvex quest') or msgcontains(msg, 'LARVEX QUEST'))then if (getPlayerStorageValue(cid, 54877) ~= -1) then npcHandler:say("Vejo que Você levou a pedra para ser moldada no outro npc...você está com ela ai? {yes}", cid) talkState[talkUser] = 3 elseif (getPlayerStorageValue(cid, 54875) ~= -1) then npcHandler:say("Você denovo por aqui! Você trouxe os items que eu lhe pedi? {yes}", cid) talkState[talkUser] = 2 else npcHandler:say("Você quer fazer a larvex quest? {yes}", cid) talkState[talkUser] = 1 end elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'YES')) and talkState[talkUser] == 1 then npcHandler:say("Mas para isso eu preciso destes items: "..getItemsFromList(t.items)..". Quando os tiver volte e fale comigo!", cid) setPlayerStorageValue(cid, 54875, 1) talkState[talkUser] = 0 elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'YES')) and talkState[talkUser] == 2 then if (getPlayerStorageValue(cid, 54876) <= 0) then if doRemoveItemsFromList(cid,t.items) then npcHandler:say("Muito obrigado,aqui está sua pedra,agora preciso que molde sua pedra,para isso leve no outro npc,feito isso volte aqui novamente.", cid) doPlayerAddItem(cid, t.pedra_id, 1) setPlayerStorageValue(cid, 54876, 1) talkState[talkUser] = 0 else npcHandler:say("você não tem "..getItemsFromList(t.items), cid) talkState[talkUser] = 0 end else npcHandler:say("você já pegou sua pedra,vá e molde ela com outro npc e depois volte", cid) talkState[talkUser] = 0 end elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'YES')) and talkState[talkUser] == 3 then if (getPlayerStorageValue(cid, 54878) <= 0) then if doPlayerRemoveItem(cid, t.pedra_moldada, 1) then doPlayerAddItem(cid, t.reward, 1) doTeleportThing(cid, t.pos) setPlayerStorageValue(cid, 54878, 1) else npcHandler:say("você não tem a pedra moldada na sua mochila!", cid) talkState[talkUser] = 0 end else npcHandler:say("você já terminou a larvex quest!", cid) talkState[talkUser] = 0 end elseif msg == "no" then selfSay("Then not", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
npc 2.xml
<?xml version="1.0"?> <npc name="npc 2" script="data/npc/scripts/npc2.lua" walkinterval="50000" floorchange="0"> <health now="100" max="100"/> <look type="129" head="95" body="116" legs="121" feet="115" addons="3"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|. You want a {molded stone} ?!" /> </parameters> </npc>
npc2.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 t = { pedra_id = 2494, -- id da pedra q ele tem que trazer pedra_moldada = 2472 -- id da pedra q ele vai receber ou seja moldar } if (msgcontains(msg, 'molded stone') or msgcontains(msg, 'MOLDED STONE'))then if (getPlayerStorageValue(cid, 54877) <= 0) then if doPlayerRemoveItem(cid, t.pedra_id, 1) then doPlayerAddItem(cid, t.pedra_moldada, 1) setPlayerStorageValue(cid, 54877, 1) npcHandler:say("aqui está sua pedra,agora volte e fale com o npc da larvex quest!", cid) else npcHandler:say("você não tem nenhuma pedra,para receber a pedra você deve fazer a lavex quest!", cid) talkState[talkUser] = 0 end else npcHandler:say("você já moldou sua pedra!", cid) talkState[talkUser] = 0 end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
só alterar as falas
Ai mano não testei ainda mais muito obrigado , mas aonde que eu configuro pra teleportar pra exemplo : x :1 z :2 y:3 como que faço para configurar pra depois que o npc pegar a pedra moldada pra ele teleportar o player? vlw
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

Ai mano não testei ainda mais muito obrigado , mas aonde que eu configuro pra teleportar pra exemplo : x :1 z :2 y:3 como que faço para configurar pra depois que o npc pegar a pedra moldada pra ele teleportar o player? vlw
vc diz no npc 1 né?
quando o player volta com pedra já moldada e entrega para ser teleportado?
vc configura aqui:
pos = {x=165,y=54,z=7} -- pos pra onde ele ao dar a pedra moldada vai
Ai mano não testei ainda mais muito obrigado , mas aonde que eu configuro pra teleportar pra exemplo : x :1 z :2 y:3 como que faço para configurar pra depois que o npc pegar a pedra moldada pra ele teleportar o player? vlw
vc diz no npc 1 né?
quando o player volta com pedra já moldada e entrega para ser teleportado?
vc configura aqui:
pos = {x=165,y=54,z=7} -- pos pra onde ele ao dar a pedra moldada vai
Vlw mano brigadão funfo direitinho mais tem com por pra quando a pessoa ir falar novamente com o npc ele fazer o msm processo novamente? pedir pra pegar os itens e dps ir trocar no npc² ?invés de ficar dizendo que a quest já foi feita?!
vlw mano
abrçs
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

troque
if (getPlayerStorageValue(cid, 54878) <= 0) then
if doPlayerRemoveItem(cid, t.pedra_moldada, 1) then
doPlayerAddItem(cid, t.reward, 1)
doTeleportThing(cid, t.pos)
setPlayerStorageValue(cid, 54878, 1)
else
npcHandler:say("você não tem a pedra moldada na sua mochila!", cid)
talkState[talkUser] = 0
end
else
npcHandler:say("você já terminou a larvex quest!", cid)
talkState[talkUser] = 0
end
para
if doPlayerRemoveItem(cid, t.pedra_moldada, 1) then
doPlayerAddItem(cid, t.reward, 1)
doTeleportThing(cid, t.pos)
for i = 54875,54877 do
setPlayerStorageValue(cid, i, -1)
end
else
npcHandler:say("você não tem a pedra moldada na sua mochila!", cid)
talkState[talkUser] = 0
end
troque
if (getPlayerStorageValue(cid, 54878) <= 0) then if doPlayerRemoveItem(cid, t.pedra_moldada, 1) then doPlayerAddItem(cid, t.reward, 1) doTeleportThing(cid, t.pos) setPlayerStorageValue(cid, 54878, 1) else npcHandler:say("você não tem a pedra moldada na sua mochila!", cid) talkState[talkUser] = 0 end else npcHandler:say("você já terminou a larvex quest!", cid) talkState[talkUser] = 0 end
para
if doPlayerRemoveItem(cid, t.pedra_moldada, 1) then doPlayerAddItem(cid, t.reward, 1) doTeleportThing(cid, t.pos) for i = 54875,54877 do setPlayerStorageValue(cid, i, -1) end else npcHandler:say("você não tem a pedra moldada na sua mochila!", cid) talkState[talkUser] = 0 end
vlw mano funfo direitinho eu fiz uma magia pelo spell maker pra pegar de base mais a magia não solta
só fala o nome da magia se der da uma olhada mano ? vlws
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ANI_NONE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_NONE)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, -15, -17, -17, -20)
local arr= {
{0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,1,0,0,0,0,0},
{0,0,0,0,1,2,1,0,0,0,0},
{0,0,0,0,0,1,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0},
}
local area = createCombatArea(arr)
setCombatArea(combat, area)
function onCastSpell(cid, var)
return doCombat(cid,
combat, var)
end
a mano e se puder me ensina calcular magia de knight com essa formula? eu leio por ai mas não intendo ![]()
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

n mexo com magias
mas tenta
function onCastSpell(cid, var) doCombat(cid,combat, var) return true end
info
Grupo: Conde
Registrado: 30/10/11
Posts: 625
Reputação: +101
Gênero: Masculino

a magia n vai solta nehum efeito,por o efeito ta como CONST_ANI_NONE que nenhum efeito,mas faça o que o vodkart falo que aquela parte tbm ta errrada
e so pra pergunta ce coloco a tag no spell.xml
n mexo com magias
mas tenta
Vlw vod funfo (y' function onCastSpell(cid, var) doCombat(cid,combat, var) return true end
a magia n vai solta nehum efeito,por o efeito ta como CONST_ANI_NONE que nenhum efeito,mas faça o que o vodkart falo que aquela parte tbm ta errrada
e so pra pergunta ce coloco a tag no spell.xml
Nem mano pq eu fiz no spell maker pra pegar o corpo da magia e esse const ani é aqueles efeitos de longe tando const_ani_none é a msm coisa se eu não tivesse botado a linha ^^ e sim botei no spells.xml (lol) se não não sairia no servidor.
Obrigo pode responder
info
Grupo: Conde
Registrado: 30/10/11
Posts: 625
Reputação: +101
Gênero: Masculino

e q
é que tem gente que nem coloca no spell.xml(porque n sabe que tem que coloca)
reparei que tem uma virgula extra aki,acho que n é esse o problemas
local arr= {
{0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,1,0,0,0,0,0},
{0,0,0,0,1,2,1,0,0,0,0},
{0,0,0,0,0,1,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0}, --essa virgula n deveria estar aki,poque é o ultimo
}
tenta por assim
local arr= {
{0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,1,0,0,0,0,0},
{0,0,0,0,1,2,1,0,0,0,0},
{0,0,0,0,0,1,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0}
}
passa a tag que tu coloco spell.xml
info
Grupo: Campones
Registrado: 08/10/11
Posts: 75
Reputação: +1
Char no Tibia: Nenhum
Tipo do script:NPC
Protocolo (versão do Tibia):8.60
Servidor utilizado:RealServ
Olá pessoal do Xtibia estou precisando de um npc para uma quest do ot questou montando.
ao player falar com tal npc ele conversaria com o player e pediria 3 itens 1 iten que seria agrupavel e seria 100 e outros 2 itens . mais ou menos asim :
Desculpa se não expliquei direito
ao player pegar os itens e voltar ao npc o npc perguntaria se ele trouxe os itens e daria uma pedra pra ele e pediria que leva-se até o NPC² ao ele levar lá o npc diria se ele quer moldar a pedra pra transformar em um outro item e pedirá que leve ao npc¹ ao falar com npc ¹ ele prguntará se o player levo o iten ao NPC ² o player dirá que sim (yes) e o npc teleportaria o player para tal posiçao ou se nao tiver como fazer isso o npc abriria um teleport em um em uma certa posiçao que
escolheria .
É isso desculpe novamente se nao expliquei bem.
vlws