então no caso é só colocar para o jogador só usar o item em PZ =X,oq vc acha?
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

info
Grupo: Cavaleiro
Registrado: 03/03/07
Posts: 150
Reputação: +48
Gênero: Masculino
Char no Tibia: Kaball Madness

No caso deveria ser apenas em lugar não-pz e com as condições que disse...
pois seria tipo um item para se salvar entende?
Exemplo: Estou no meio de uma quest muito foda e todo meu time fica sem potions,sd,etc...
para não precisar me matar,o cara que tiver este item,deverá estar sem battle nem pz locked para poder entrar,assim ele cria o teleport e entra e salva seu time.
outros que não sejam o criador do teleport pode entrar com battle,mas não com pz locked.
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

ve se é isso,
function onUse(cid, item, frompos, item2, topos)
local tpId = 1387
local p = getCreaturePosition(cid)
local tps = {
pos = {x=p.x, y=p.y, z=p.z},
toPos = {x=32360, y=32360, z=7},
time = 15, -- remove teleport
exausted = 60, -- in seconds
storage1 = 18370, -- dont edit
storage2 = 97854 -- dont edit
}
function removeTp()
local t = getTileItemById(tps.pos, tpId)
if t then
doRemoveItem(t.uid, 1)
doSendMagicEffect(tps.pos, CONST_ME_POFF)
end
end
function doTPSecond(cid,delay)
local seconds = math.floor((getPlayerStorageValue(cid, tps.storage1) - os.time()))
local msg = ''.. (seconds < 0 and 0 or seconds) ..''
doSendAnimatedText(tps.pos, msg, math.random(1,140))
if delay ~= 1 then
addEvent(doTPSecond, 1000,cid, delay -1)
end
end
if getCreatureCondition(cid, CONDITION_INFIGHT) then
return true,doPlayerSendTextMessage(cid,22,"Sorry,you cannot use this item with battle.")
elseif (getPlayerStorageValue(cid, tps.storage2) >= os.time()) then
return true,doPlayerSendCancel(cid, "wait " .. getPlayerStorageValue(cid, tps.storage2) - os.time() .. " seconds to use this item again.")
end
doCreateTeleport(tpId, tps.toPos, tps.pos)
setPlayerStorageValue(cid, tps.storage1, os.time()+tps.time)
doTPSecond(cid, tps.time)
addEvent(removeTp, tps.time*1000)
setPlayerStorageValue(cid,tps.storage2,os.time()+tps.exausted)
doRemoveItem(item.uid, 1)
return false
end
obs: Fiz uma function que fica aparecendo em cima do teleport qntos segundos faltam pra ele fechar ![]()
Editado Março 14 por Vodkart
info
Grupo: Cavaleiro
Registrado: 03/03/07
Posts: 150
Reputação: +48
Gênero: Masculino
Char no Tibia: Kaball Madness

Funcionou sim,mas o tp está aparecendo embaixo do player,tem como colocar para aparecer na frente? vlw
ah,e também para não remover o item ao usar ![]()
vlw
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

claro meu gatanhão
function onUse(cid, item, frompos, item2, topos)
local tpId = 1387
local p = getCreaturePosition(cid)
local x = {
[0] = {x=p.x, y=p.y-1, z=p.z},
[1] = {x=p.x+1, y=p.y, z=p.z},
[2] = {x=p.x, y=p.y+1, z=p.z},
[3] = {x=p.x-1, y=p.y, z=p.z}
}
local tps = {
pos = x[getCreatureLookDirection(cid)],
toPos = {x=32360, y=32360, z=7},
time = 15, -- remove teleport
exausted = 60, -- in seconds
storage1 = 18370, -- dont edit
storage2 = 97854 -- dont edit
}
function removeTp()
local t = getTileItemById(tps.pos, tpId)
if t then
doRemoveItem(t.uid, 1)
doSendMagicEffect(tps.pos, CONST_ME_POFF)
end
end
function doTPSecond(cid,delay)
local seconds = math.floor((getPlayerStorageValue(cid, tps.storage1) - os.time()))
local msg = ''.. (seconds < 0 and 0 or seconds) ..''
doSendAnimatedText(tps.pos, msg, math.random(1,140))
if delay ~= 1 then
addEvent(doTPSecond, 1000,cid, delay -1)
end
end
if getCreatureCondition(cid, CONDITION_INFIGHT) then
return true,doPlayerSendTextMessage(cid,22,"Sorry,you cannot use this item with battle.")
elseif (getPlayerStorageValue(cid, tps.storage2) >= os.time()) then
return true,doPlayerSendCancel(cid, "wait " .. getPlayerStorageValue(cid, tps.storage2) - os.time() .. " seconds to use this item again.")
end
doCreateTeleport(tpId, tps.toPos, tps.pos)
setPlayerStorageValue(cid, tps.storage1, os.time()+tps.time)
doTPSecond(cid, tps.time)
addEvent(removeTp, tps.time*1000)
setPlayerStorageValue(cid,tps.storage2,os.time()+tps.exausted)
return false
end
info
Grupo: Marquês
Registrado: 17/01/08
Posts: 1.5k
Reputação: +15
Char no Tibia: Saint Claire

Problema resolvido,
Tópico Fechado & Movido



info
Grupo: Cavaleiro
Registrado: 03/03/07
Posts: 150
Reputação: +48
Gênero: Masculino
Char no Tibia: Kaball Madness
Item de algum id qualquer,qu quando usa,cria um teleport(id: 1387) na frente do player e quando o player entrar,ser teleportado para o templo Position: [X: 32360] [Y: 31782] [Z: 7].
Dificuldade do script: Tenso
Condições:
Não pode estar com battle ou pz locked para usar.
Após o teleport aparecer deverá sumir em 15 segundos.
Apenas players que não estejam com pz locked podem entrar nesse portal.
:XTibia_smile:
Editado Março 13 por Hudsin