Ir para conteúdo

(Resolvido)[Duvida] Script usado em mais de um actionid

Featured Replies

Postado

^

local config = {
    daily = "no", -- allow only one enter per day? (like in global Tibia)
    level = 1,
    storage = 30015,
    entry =
    {
        {x = 731, y = 987, z = 13},
        {x = 731, y = 988, z = 13},
        {x = 731, y = 989, z = 13},
        {x = 731, y = 990, z = 13}
    },
    destination =
    {
        {x = 734, y = 994, z = 14},
        {x = 735, y = 994, z = 14},
        {x = 736, y = 994, z = 14},
        {x = 737, y = 994, z = 14}
    },
    wall = {
        id = 12895,                 --ID das paredes que serão removidas.
        positions = {
            {x = x, y = y, z = z},  --Posições das paredes.
            {x = x, y = y, z = z},
        },
    },
    monster = "Orshabaal",          --Nome do monstro que vai ser summonado.
    positions = {
        {x = x, y = y, z = z},      --Posições que o monstro vai ser invocado.
        {x = x, y = y, z = z},
        {x = x, y = y, z = z},
        {x = x, y = y, z = z},
        {x = x, y = y, z = z},
        {x = x, y = y, z = z},
        {x = x, y = y, z = z},
        {x = x, y = y, z = z},
        {x = x, y = y, z = z},
    },
}
 
config.daily = getBooleanFromString(config.daily)
function onUse(cid, item, fromPosition, itemEx, toPosition)
    if(item.itemid == 1946) then
        if(config.daily) then
            doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
        else
            doTransformItem(item.uid, item.itemid - 1)
        end
 
        return true
    end
 
    if(item.itemid ~= 1945) then
        return true
    end
 
    local players = {}
    for _, position in ipairs(config.entry) do
        local pid = getTopCreature(position).uid
        if(pid == 0 or not isPlayer(pid) or getCreatureStorage(pid, config.storage) > 0 or getPlayerLevel(pid) < config.level) then
            doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
            return true
        end
 
        table.insert(players, pid)
    end
 
    for i, pid in ipairs(players) do
        doSendMagicEffect(config.entry[i], CONST_ME_POFF)
        doTeleportThing(pid, config.destination[i], false)
        doSendMagicEffect(config.destination[i], CONST_ME_ENERGYAREA)
    end
    for i = 1, #config.positions do
        doCreateMonster(config.monster, config.positions[i])
    end
    for i = 1, #config.wall.positions do
        local _item = getTileItemById(config.wall.positions[i], config.wall.id).uid
        if _item > 0 then
            doRemoveItem(_item)
        end
    end
 
    doTransformItem(item.uid, item.itemid + 1)
    return true
end

Editado por zipter98 (veja o histórico de edições)

não respondo pms solicitando suporte em programação/scripting

  • Respostas 7
  • Visualizações 346
  • Created
  • Última resposta

Top Posters In This Topic

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo