Ir para conteúdo
  • 0

(Pedido)Teleport Diferente


nonhock

Pergunta

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 por nonhock
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

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.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...