Ir para conteúdo
  • 0

Script para portal


NildoAlves8

Pergunta

10 respostass a esta questão

Posts Recomendados

  • 0

Existe esse script que você clica na alavanca o teleporte aparece e quando você clica novamente ele desaparece...

Se te ajudar está ai, eu pegei já um tempo no forum não lembro quem posto :p.

 

Script

function onUse(cid, item, frompos, item2, topos)

local cfg = {
pos = {x = 000, y = 000, z = 0}, --Coordenadas de onde o teleport se encontra/será criado.
onde = {x = 000, y = 000, z = 0}, --Para onde o teleport vai levar.
}

local new_alavanca = item.itemid == 1945 and 1946 or 1945
local tp = getTileItemById(cfg.pos, 1387).uid

if getPlayerGroupId(cid) <= 5 then
return doPlayerSendCancel(cid, "Sorry, not possible.")
else
if tp > 0 then
doPlayerSendTextMessage(cid, 27, "Você fechou o teleport.")
doTransformItem(item.uid, new_alavanca)
doRemoveItem(tp, 1)
else
doPlayerSendTextMessage(cid, 27, "Você abriu o teleport.")
doTransformItem(item.uid, new_alavanca)
doCreateTeleport(1387, cfg.onde, cfg.pos)
end
end
return true
end

Editado por Pudimdoce
Link para o comentário
Compartilhar em outros sites

  • 0



local position = {x=x, y=y, z=z} -- Pra onde o tp leva

local tpPos = {x=x, y=y, z=z} -- onde o tp vai ser criado

local tempo = 30 -- Tempo q o tp vai ficar, em segundos

function onThink(cid, interval)

doCreateTeleport(1387, position, tpPos)

addEvent(doRemoveItem, tempo*1000, getTileItemById(tpPos, 1387).uid, 1)

return true

end

Link para o comentário
Compartilhar em outros sites

  • 0

Man, onde eu ponho isso? E mais; esse script não tem um arquivo xml correspondente e actionid para o portal?


Aguardando uma resposta satisfatória...

Editado por Mensageiro
Link para o comentário
Compartilhar em outros sites

  • 0

data/globalevents/scripts.

Crie um arquivo com extensão .lua, e coloque o seguinte conteúdo:

function onThink(interval, lastExecution, thinkInterval)
 
local cfg = {
    pos = {x = x, y = y, z = z},  --Onde o portal será criado.
    topos = {x = x, y = y, z = z},   --Para onde ele levará.
    tempo = x,    --Depois de quanto tempo o portal será fechado (recomendo menos que o intervalo colocado em globalevents.xml). OBS: Em segundos.
}
 
local tp = getTileItemById(cfg.pos, 1387).uid
 
    if tp < 1 then
        doCreateTeleport(1387, cfg.topos, cfg.pos)
        addEvent(function()
            doRemoveItem(tp, 1)
        end, cfg.tempo*1000)
    end
    return true
end
Depois, em globalevents.xml, coloque a seguinte tag:
<globalevent name="Teleport" interval="x" event="script" value="nome do arquivo.lua"/>
Não se esqueça de alterar o interval (de quanto em quanto tempo vai ser executado o script, em segundos).
O código que eu fiz fará o seguinte:
Quando executado, se não houver um portal na posição desejada, um teleporte será criado, e, após x tempo (configurável), este será removido.
Editado por zipter98
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...