Ja existe este script meu caro
http://www.xtibia.com/forum/topic/135369-npc-que-teleporta-se-vc-tiver-x-item/
info
Grupo: Infante
Registrado: 04/03/11
Posts: 1.6k
Reputação: +393
Char no Tibia: No Have

Ja existe este script meu caro
http://www.xtibia.com/forum/topic/135369-npc-que-teleporta-se-vc-tiver-x-item/
info
Grupo: Barão
Registrado: 17/10/10
Posts: 230
Reputação: +10
Char no Tibia: Nascont

info
Grupo: Campones
Registrado: 27/08/12
Posts: 15
Reputação: +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
Grupo: Barão
Registrado: 17/10/10
Posts: 230
Reputação: +10
Char no Tibia: Nascont

info
Grupo: Barão
Registrado: 17/10/10
Posts: 230
Reputação: +10
Char no Tibia: 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
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: 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())
Editado Setembro 8 por LuckOake
info
Grupo: Barão
Registrado: 17/10/10
Posts: 230
Reputação: +10
Char no Tibia: Nascont

info
Grupo: Barão
Registrado: 17/10/10
Posts: 230
Reputação: +10
Char no Tibia: 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 +