Ja existe este script meu caro
http://www.xtibia.com/forum/topic/135369-npc-que-teleporta-se-vc-tiver-x-item/
info
Group: Infante
Joined: 04/03/11
Posts: 1.6k
Reputation: +393
Tibia Character: No Have

Ja existe este script meu caro
http://www.xtibia.com/forum/topic/135369-npc-que-teleporta-se-vc-tiver-x-item/
info
Group: Barão
Joined: 17/10/10
Posts: 230
Reputation: +10
Tibia Character: Nascont

info
Group: Campones
Joined: 27/08/12
Posts: 15
Reputation: +9

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
local pos = {x=152,y=58,z=7} -- Pos para onde o player sera levado
local itemid = 2468 -- Id do item que vai ser removido do player
locao expGain = 1000 -- Quantidade de experiência que o player irá ganhar.
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
if msgcontains(msg, "offer") or msgcontains(msg, "help") then
selfSay("Eu posso te levar a TAL lugar por um "..getItemNameById(itemid).." item, fale {travel} se quizer viajar.", cid)
talkState[cid] = 0
elseif msgcontains(msg, 'travel') then
if doPlayerRemoveItem(cid, itemid, 1) then
selfSay("Boa viagem.", cid)
doTeleportThing(cid, pos)
doPlayerAddExp(cid, expGain)
else
selfSay("Voce nao tem o item nescessario.", cid)
end
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Editei o código do tópico que foi lhe passado, adicionando mais duas linhas.
Uma com a declaração da variável "expGain", que é onde você irá a experiência que o player irá ganhar.
E a outra coisa, é a função que dá a experiência ao player após o mesmo ser teleportado. ![]()
info
Group: Barão
Joined: 17/10/10
Posts: 230
Reputation: +10
Tibia Character: Nascont

info
Group: Barão
Joined: 17/10/10
Posts: 230
Reputation: +10
Tibia Character: Nascont

amigo achei um bug no distro:
[08/09/2012 23:00:21] [Error - LuaScriptInterface::loadFile] data/npc/scripts/Smalker.lua:8: '=' expected near 'expGain'
[08/09/2012 23:00:21] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/Smalker.lua
[08/09/2012 23:00:21] data/npc/scripts/Smalker.lua:8: '=' expected near 'expGain'
tem como arruma meu serve é 8.54 poketibia
info
Group: Marquês
Joined: 22/07/12
Posts: 1.1k
Reputation: +400
Gender: Masculino
Tibia Character: Luck Oake

Só arrumar uma linha:
Substitui essa:
locao expGain = 1000 -- Quantidade de experiência que o player irá ganhar.
Por essa:
local expGain = 1000 -- Quantidade de experiência que o player irá ganhar.
Script do NPC corrigido:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
local pos = {x=152,y=58,z=7} -- Pos para onde o player sera levado
local itemid = 2468 -- Id do item que vai ser removido do player
local expGain = 1000 -- Quantidade de experiência que o player irá ganhar.
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
if msgcontains(msg, "offer") or msgcontains(msg, "help") then
selfSay("Eu posso te levar a TAL lugar por um "..getItemNameById(itemid)..", apenas fale {travel}.", cid)
talkState[cid] = 0
elseif msgcontains(msg, 'travel') then
if doPlayerRemoveItem(cid, itemid, 1) then
selfSay("Boa viagem.", cid)
doTeleportThing(cid, pos)
doPlayerAddExp(cid, expGain)
else
selfSay("Você não possui o item necessário.", cid)
end
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Edited Setembro 8 by LuckOake
info
Group: Barão
Joined: 17/10/10
Posts: 230
Reputation: +10
Tibia Character: Nascont

info
Group: Barão
Joined: 17/10/10
Posts: 230
Reputation: +10
Tibia Character: Nascont
queria um npc que ele troca um X item por um teleport e exp..EX:
o cara fala com o npc e ele vai fala asim "Ola se vc min de Xitem eu posso te dar uma exp e te manda para o local corredo"
valendo rep +