• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    [Ayuda] Boss room

    Compartir:

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    1[Ayuda] Boss room Empty [Ayuda] Boss room Vie Jun 03, 2022 6:02 pm

    Dfsuno

    Dfsuno
    Miembro
    Miembro
    Descripcion escribió:Me podrian ayudar, e estado usando este script de boss room pero me dicuenta que si alguien esta adentro y otra persona quiere entrar no lo deja, pero borra el boss de la sala, les agradeceria mucho si me pueden ayuda.


    Código:
    local config = {
        leverUniqueID = 43059,
        requiredLevel = 200,
        daily = true,
        bossName = "ghazbaran",
        storage = 8555,
        roomCenterPosition = Position(751, 784, 11),
        playerPositions = {
            Position(759, 788, 8),
           Position(758, 789, 8),
          Position(760, 789, 8)
        },
        teleportPosition = Position(751, 789, 11),
        bossPosition = Position(752, 782, 11),

        kickMinutes = 15, -- minutes
        kickPosition = Position(758, 804, 8)
    }

    local magicplateboots = Action()

    function magicplateboots.onUse(player, item, fromPosition, target, toPosition, isHotkey)
        if item:getId() == 1945 then
            if player:getPosition() ~= config.playerPositions[1] then
                player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Stand in front of the lever..")
                return true
            end

            local participants = {}
            for _, playerPos in pairs(config.playerPositions) do
                local tile = Tile(playerPos)
                if tile then
                    local participant = tile:getTopCreature()
                    if participant and participant:isPlayer() then
                        if participant:getLevel() < config.requiredLevel then
                            player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("All the players need to be level %d or higher.", config.requiredLevel))
                            return true
                        end

                        if config.daily and participant:getStorageValue(config.storage) > os.time() then
                            player:getPosition():sendMagicEffect(CONST_ME_POFF)
                            player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Not all the players are ready yet since the last battle, they have to wait 5 hrs.")
                            return true
                        end

                        participants[#participants +1] = participant
                    end
                end
            end

            for _, spectator in pairs(Game.getSpectators(config.roomCenterPosition, false, false, 7, 7, 7, 7)) do
                if spectator:isPlayer() then
                    player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "A team is already inside the boss room.")
                    return true
                end
                spectator:remove()
            end

            local boss = Game.createMonster(config.bossName, config.bossPosition)
            if boss then boss:registerEvent("CancelKickEvent") end

            for _, participant in pairs(participants) do
                participant:getPosition():sendMagicEffect(CONST_ME_POFF)
                participant:teleportTo(config.teleportPosition)
             participant:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'You have 10 minute(s) to defeat the boss.')
                participant:setStorageValue(config.storage, os.time() + 5*60*60)
            end
           
            config.teleportPosition:sendMagicEffect(CONST_ME_ENERGYAREA)

            config.kickEventId = addEvent(function ()
                for _, spectator in pairs(Game.getSpectators(config.roomCenterPosition, false, false, 7, 7, 7, 7)) do
                    if spectator:isPlayer() then
                        spectator:teleportTo(config.kickPosition, false)
                        spectator:sendTextMessage(MESSAGE_EVENT_ADVANCE,"Time is out!")
                    else
                        spectator:remove()
                    end
                end
                config.kickPosition:sendMagicEffect(CONST_ME_TELEPORT)
            end, config.kickMinutes * 1000 * 60)
        end

        item:transform(1945)
        return true
    end

    magicplateboots:uid(config.leverUniqueID)
    magicplateboots:register()
    Captura del Error escribió:Imagen del error: [Ayuda] Boss room Empty
    El error radica en: Actions

    2 participantes

    2[Ayuda] Boss room Empty Re: [Ayuda] Boss room Vie Jun 03, 2022 7:35 pm

    SoyFabi

    SoyFabi
    Miembro
    Miembro
    Dfsuno escribió:
    Descripcion escribió:Me podrian ayudar, e estado usando este script de boss room pero me dicuenta que si alguien esta adentro y otra persona quiere entrar no lo deja, pero borra el boss de la sala, les agradeceria mucho si me pueden ayuda.


    Código:
    local config = {
        leverUniqueID = 43059,
        requiredLevel = 200,
        daily = true,
        bossName = "ghazbaran",
        storage = 8555,
        roomCenterPosition = Position(751, 784, 11),
        playerPositions = {
            Position(759, 788, 8),
        Position(758, 789, 8),
     Position(760, 789,
        },
        teleportPosition = Position(751, 789, 11),
        bossPosition = Position(752, 782, 11),

        kickMinutes = 15, -- minutes
        kickPosition = Position(758, 804,
    }

    local magicplateboots = Action()

    function magicplateboots.onUse(player, item, fromPosition, target, toPosition, isHotkey)
        if item:getId() == 1945 then
            if player:getPosition() ~= config.playerPositions[1] then
                player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Stand in front of the lever..")
                return true
            end

            local participants = {}
            for _, playerPos in pairs(config.playerPositions) do
                local tile = Tile(playerPos)
                if tile then
                    local participant = tile:getTopCreature()
                    if participant and participant:isPlayer() then
                        if participant:getLevel() < config.requiredLevel then
                            player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("All the players need to be level %d or higher.", config.requiredLevel))
                            return true
                        end

                        if config.daily and participant:getStorageValue(config.storage) > os.time() then
                            player:getPosition():sendMagicEffect(CONST_ME_POFF)
                            player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Not all the players are ready yet since the last battle, they have to wait 5 hrs.")
                            return true
                        end

                        participants[#participants +1] = participant
                    end
                end
            end

            for _, spectator in pairs(Game.getSpectators(config.roomCenterPosition, false, false, 7, 7, 7, 7)) do
                if spectator:isPlayer() then
                    player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "A team is already inside the boss room.")
                    return true
                end
                spectator:remove()
            end

            local boss = Game.createMonster(config.bossName, config.bossPosition)
            if boss then boss:registerEvent("CancelKickEvent") end

            for _, participant in pairs(participants) do
                participant:getPosition():sendMagicEffect(CONST_ME_POFF)
                participant:teleportTo(config.teleportPosition)
     participant:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'You have 10 minute(s) to defeat the boss.')
                participant:setStorageValue(config.storage, os.time() + 5*60*60)
            end
            
            config.teleportPosition:sendMagicEffect(CONST_ME_ENERGYAREA)

            config.kickEventId = addEvent(function ()
                for _, spectator in pairs(Game.getSpectators(config.roomCenterPosition, false, false, 7, 7, 7, 7)) do
                    if spectator:isPlayer() then
                        spectator:teleportTo(config.kickPosition, false)
                        spectator:sendTextMessage(MESSAGE_EVENT_ADVANCE,"Time is out!")
                    else
                        spectator:remove()
                    end
                end
                config.kickPosition:sendMagicEffect(CONST_ME_TELEPORT)
            end, config.kickMinutes * 1000 * 60)
        end

        item:transform(1945)
        return true
    end

    magicplateboots:uid(config.leverUniqueID)
    magicplateboots:register()
    Captura del Error escribió:Imagen del error: [Ayuda] Boss room Empty
    El error radica en: Actions


    Abajo de:
    Código:
    player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "A team is already inside the boss room.")

    Esta linea borrala:
    Código:
    spectator:remove()

    2 participantes

    3[Ayuda] Boss room Empty Re: [Ayuda] Boss room Sáb Jun 04, 2022 4:53 am

    Dfsuno

    Dfsuno
    Miembro
    Miembro
    no funciona, ala hora de querer entrar no borra el boss que estaba antes y se hacen 2, el error de ese script es la posicion al usar la palanca si no la usas enfrente funciona si lo accionas de otro angulo lo borra

    creo que tiene que ver algo con esta linea

    Código:
     if player:getPosition() ~= config.playerPositions[1] then

    2 participantes

    4[Ayuda] Boss room Empty Re: [Ayuda] Boss room Sáb Jun 04, 2022 1:36 pm

    SoyFabi

    SoyFabi
    Miembro
    Miembro
    Dfsuno escribió:no funciona, ala hora de querer entrar no borra el boss que estaba antes y se hacen 2, el error de ese script es la posicion al usar la palanca si no la usas enfrente funciona si lo accionas de otro angulo lo borra

    creo que tiene que ver algo con esta linea

    Código:
     if player:getPosition() ~= config.playerPositions[1] then


    Hmm cambia
    Código:
    ~=
    a
    Código:
    ==

    2 participantes

    5[Ayuda] Boss room Empty Re: [Ayuda] Boss room Sáb Jun 04, 2022 2:08 pm

    Dfsuno

    Dfsuno
    Miembro
    Miembro
    no lo borro pero ahora jala la palanca de una direccion rara :c
    no hay manera que se pueda usar la palanca de cualquier direccion solo te teletransporte en los sql seleccionados?

    2 participantes

    Contenido patrocinado


    2 participantes

    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).