Em data/actions/scripts crie um arquivo.lua e cole isto dentro:
local cfg = {
stg = 7231, -- storage que vai ganhar
corpse = 1111, -- id do corpo do monstro
time = 10, --- tempo em segundos para o teleport sumir
tppos = {x=1,y=1,z=1,stackpos=1}, --- posição que o tp aparecerá // n mexa no stackpos
newpos = {x=1,y=1,z=1} -- posição que o tp levará
}
function onUse(cid, item, itemEx, position, fromPosition, toPosition)
if itemEx.itemid == corpse then
doSendMagicEffect(cfg.tppos, 10)
doCreatureSay(cid, "O teleport sumirá em ".. cfg.time .." segundos", TALKTYPE_ORANGE_1)
pid = doCreateTeleport(1387, cfg.newpos, cfg.tppos)
addEvent(deleteTp, cfg.time*1000, pid)
setPlayerStorageValue(cid, cfg.stg, 1)
end
return true
end
function deleteTp()
doRemoveItem(getThingfromPos(cfg.tppos).uid,1)
end
O script é autoexplicativo, é só trocar pelos dados que você quer. Em actions.xml adicione a tag: <action itemid="XXXX" event="script" value="NOMEDOSEUARQUIVO.lua"/> Em XXXX você coloca o item que dará use no corpo do monstro.
Depois, em data/movements/scripts, crie um arquivo.lua e cole isto dentro:
function onStepIn(cid, item, position, fromPosition, toPosition)
local cfg = {
newpos = {x=1, y=1, z=1}, -- local que o teleport vai levar
stg = 4128 -- storage que o player precisará ter
}
if getPlayerStorageValue(cid, cfg.stg) >= 0 then
local fromPosition,toPosition = {x = 1, y = 1, z = 1},{x = 2, y = 2, z = 2} -- começo e final da área
for x = fromPosition.x, toPosition.x do
for y = fromPosition.y, toPosition.y do
local pos = {x=x, y=y, z=fromPosition.z}
local m = getTopCreature(pos).uid
if m ~= 0 and isPlayer(m) then return doPlayerSendCancel(cid, "Alguém está fazendo a quest") end
end
end
doTeleportThing(cid,cfg.newpos)
doSendMagicEffect(cfg.newpos,10)
else
doTeleportThing(cid,fromPosition)
doPlayerSendCancel(cid, "Você não tem permissão para entrar aqui.")
end
end
Nessa linha: local fromPosition,toPosition = {x = 1, y = 1, z = 1},{x = 2, y = 2, z = 2} -- começo e final da área
A primeira posição refere-se a posição do canto superior esquerdo da sala na qual o monstro estará e a segunda, a posição do canto inferior direito.
Depois, em movements.xml cole a tag: <movevent type="StepIn" actionid="ACTION_ID_DO_TELEPORT" event="script" value="NOMEDOSEUARQUIVO.lua"/>
É só colocar na tag o actionid do teleport que levará para a sala do monstro. Vlw, espero ter ajudado.


info
Grupo: Campones
Registrado: 28/07/10
Posts: 21
Reputação: 0
Char no Tibia: Tibia
Gostaria de 1 Script Asssim
Player entra em 1 teleport(Sómente se tiver storage,se nao tiver ele volta e recebe uma mensagem)
Esse teleport leva ele a "x" lugar lá tem um "x" monstro que o player tem que matar,quando ele matar,ele deve dar usewithc no corpo deste monstro com "x" item,e apareçerá um teleport para que o player volte.
Somente poderá 1 player por vez,quando 1 player entrar no teleport,o outro só podera entrar quando ele terminar a quest,e após o player usar o item no monstro ele irá ganhar um storage "x".
Obrigado.
dou rep
Editado Julho 11 por nonhock