Ir para conteúdo

Exori Completo - Solta todas as magias como: exori frigo, exori flam, Exori vis, exori max frigo e etc..

Featured Replies

Postado
-- [[ INIT START ]] --
    local CONFIG = {
        CREATURES = {"Sea Serpent", "Young Sea Serpent"},
        
        PLAYERS = {
            ENABLED = true,
            DISTANCE = 14,
            FLOOR_DIFFERENCE = 1,
            SAFE_LIST = {"Bubble", "Eternal Oblivion"},
        },
        
        SPELLS = {
            --{NAME = "groundshaker", AMOUNT = 6},
            {NAME = "fierce berserk", AMOUNT = 4},
            {NAME = "berserk", AMOUNT = 3},
            {NAME = "front sweep", AMOUNT = 2},
            --{NAME = "annihilation", HP_PC = 45},
            {NAME = "brutal strike", HP_PC = 10},
            {NAME = "whirlwind throw", HP_PC = 10},
        },
    }

    -- [[ DO NOT CHANGE ANYTHING BELOW THIS LINE. ]] --

    SPELLS_CONFIG = SPELLS_CONFIG or {}
    LAST_FLOOR = LAST_FLOOR or Self.PositionZ()
    ATTACK_EXHAUST = ATTACK_EXHAUST or 0
    
    table.lower(CONFIG.CREATURES)
    
    local RESET_SPELLS_CONFIG = #CONFIG.SPELLS ~= #SPELLS_CONFIG
    
    if (not RESET_SPELLS_CONFIG) then
        for INDEX, SPELL_ENTRY in ipairs(CONFIG.SPELLS) do
            if (SPELL_ENTRY.NAME ~= SPELLS_CONFIG[INDEX].NAME or ((SPELL_ENTRY.AMOUNT and SPELL_ENTRY.AMOUNT ~= SPELLS_CONFIG[INDEX].AMOUNT) or (SPELL_ENTRY.HP_PC and SPELL_ENTRY.HP_PC ~= SPELLS_CONFIG[INDEX].HP_PC))) then
                RESET_SPELLS_CONFIG = true
                break
            end
        end
    end
    
    if (RESET_SPELLS_CONFIG) then
        SPELLS_CONFIG = {}
        
        local CURRENT_INDEX = 1
        
        while (#CONFIG.SPELLS >= CURRENT_INDEX) do
            CONFIG.SPELLS[CURRENT_INDEX].INFO = Spell.GetByWordsOrName(CONFIG.SPELLS[CURRENT_INDEX].NAME)
            
            if (not CONFIG.SPELLS[CURRENT_INDEX].INFO:isValid()) then
                table.remove(CONFIG.SPELLS, CURRENT_INDEX)
            else
                if (#CONFIG.SPELLS[CURRENT_INDEX].INFO:Condition() > 0 and table.find({"BIG_BEAM", "BIG_WAVE", "FRONT", "SMALL_BEAM", "SMALL_WAVE", "STRIKE"}, CONFIG.SPELLS[CURRENT_INDEX].INFO:Condition())) then
                    CONFIG.SPELLS[CURRENT_INDEX].NEED_DIRECTION = true
                else
                    CONFIG.SPELLS[CURRENT_INDEX].NEED_DIRECTION = false
                end
                
                CURRENT_INDEX = CURRENT_INDEX + 1
            end
        end
    end -- [[ INIT END ]] --

if (Self.PositionZ() ~= LAST_FLOOR) then
    LAST_FLOOR, ATTACK_EXHAUST = Self.PositionZ(), System.TimeMilliseconds() + 2000
    return end
if (System.TimeMilliseconds() > ATTACK_EXHAUST) then
    for _, SPELL_ENTRY in ipairs(CONFIG.SPELLS) do
        if (SPELL_ENTRY.INFO:isAbleToCast(nil, false)) then
            local ATTACKED = Creature.GetAttacked()
            
            if (SPELL_ENTRY.AMOUNT and (not CONFIG.PLAYERS.ENABLED or Self.PlayersAroundFloorIgnore(CONFIG.PLAYERS.DISTANCE, CONFIG.PLAYERS.FLOOR_DIFFERENCE, unpack(CONFIG.PLAYERS.SAFE_LIST)) == 0)) then
                local HIGHEST_AMOUNT, BEST_DIRECTION = 0, Self.LookDirection()
                            
                if (SPELL_ENTRY.NEED_DIRECTION) then
                    for DIRECTION, CREATURES_AMOUNT in pairs({[DIRECTION_NORTH] = 0, [DIRECTION_EAST] = 0, [DIRECTION_SOUTH] = 0, [DIRECTION_WEST] = 0}) do
                        CREATURES_AMOUNT = Self.MonstersAroundSpell(SPELL_ENTRY.INFO:Condition(), DIRECTION, unpack(CONFIG.CREATURES))
                        
                        if (CREATURES_AMOUNT > HIGHEST_AMOUNT or (CREATURES_AMOUNT >= HIGHEST_AMOUNT and DIRECTION == Self.LookDirection())) then
                            HIGHEST_AMOUNT, BEST_DIRECTION = CREATURES_AMOUNT, DIRECTION
                        end
                    end
                else
                    HIGHEST_AMOUNT, BEST_DIRECTION = Self.MonstersAroundSpell(SPELL_ENTRY.INFO:Condition(), Self.LookDirection(), unpack(CONFIG.CREATURES)), Self.LookDirection()
                end
                
                if (HIGHEST_AMOUNT >= SPELL_ENTRY.AMOUNT) then
                    while (Self.LookDirection() ~= BEST_DIRECTION) do
                        Self.Turn(BEST_DIRECTION)
                        System.Wait(25, 75)
                    end
                    
                    if (SPELL_ENTRY.INFO:CastSpell()) then
                        System.Wait(Self.CoolDown(SPELL_GROUP_ATTACK))
                    end
                end
            elseif (SPELL_ENTRY.HP_PC and SPELL_ENTRY.INFO:isAbleToCast(ATTACKED, false) and table.find(CONFIG.CREATURES, ATTACKED:Name():lower()) and SPELL_ENTRY.HP_PC >= ATTACKED:HealthPercent()) then
                if (SPELL_ENTRY.INFO:CastSpell(ATTACKED)) then
                    System.Wait(Self.CoolDown(SPELL_GROUP_ATTACK))
                end
            end
        end
    end
end   
Créditos: tibiascripts

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