Results 1 to 2 of 2

Thread: Need Help with Safe Exori Action

  1. #1
    iBot User Floodran's Avatar
    Join Date
    Jun 2012
    Location
    Sweden
    Posts
    18
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    3 Post(s)
    Reputation
    47
    Rep Power
    5

    Need Help with Safe Exori Action

    Hello.
    I need help with my Safe Exori Action.
    I would need some help to set some positions where it DONT using exori, like around a ramp/stairs.

    At the moment im using this:
    PHP Code:
    -- [[ INIT START ]] --
        
    local CONFIG = {
            
    CREATURES = {""},
            
            
    PLAYERS = {
                
    ENABLED true,
                
    DISTANCE 14,
                
    FLOOR_DIFFERENCE 1,
                
    SAFE_LIST = {"Sirmate"},
            },
            
            
    SPELLS = {
                {
    NAME "groundshaker"AMOUNT AmountToEMas},
                {
    NAME "fierce berserk"AMOUNT AmountToEGran},
                {
    NAME "berserk"AMOUNT AmountToExori},
                {
    NAME "front sweep"AMOUNT AmountToEMin},
                --{
    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_CONFIGthen
            
    for INDEXSPELL_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_CONFIGthen
            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.SPELLSCURRENT_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_FLOORthen
        LAST_FLOOR
    ATTACK_EXHAUST Self.PositionZ(), System.TimeMilliseconds() + 2000
        
    return
    end

    if (System.TimeMilliseconds() > ATTACK_EXHAUSTthen
        
    for _SPELL_ENTRY in ipairs(CONFIG.SPELLS) do
            if (
    SPELL_ENTRY.INFO:isAbleToCast(nilfalse)) then
                local ATTACKED 
    Creature.GetAttacked()
                
                if (
    SPELL_ENTRY.AMOUNT and (not CONFIG.PLAYERS.ENABLED or Self.PlayersAroundFloorIgnore(CONFIG.PLAYERS.DISTANCECONFIG.PLAYERS.FLOOR_DIFFERENCEunpack(CONFIG.PLAYERS.SAFE_LIST)) == 0)) then
                    local HIGHEST_AMOUNT
    BEST_DIRECTION 0Self.LookDirection()
                                
                    if (
    SPELL_ENTRY.NEED_DIRECTIONthen
                        
    for DIRECTIONCREATURES_AMOUNT in pairs({[DIRECTION_NORTH] = 0, [DIRECTION_EAST] = 0, [DIRECTION_SOUTH] = 0, [DIRECTION_WEST] = 0}) do
                            
    CREATURES_AMOUNT Self.MonstersAroundSpell(SPELL_ENTRY.INFO:Condition(), DIRECTIONunpack(CONFIG.CREATURES))
                            
                            if (
    CREATURES_AMOUNT HIGHEST_AMOUNT or (CREATURES_AMOUNT >= HIGHEST_AMOUNT and DIRECTION == Self.LookDirection())) then
                                HIGHEST_AMOUNT
    BEST_DIRECTION CREATURES_AMOUNTDIRECTION
                            end
                        end
                    
    else
                        
    HIGHEST_AMOUNTBEST_DIRECTION Self.MonstersAroundSpell(SPELL_ENTRY.INFO:Condition(), Self.LookDirection(), unpack(CONFIG.CREATURES)), Self.LookDirection()
                    
    end
                    
                    
    if (HIGHEST_AMOUNT >= SPELL_ENTRY.AMOUNTthen
                        
    while (Self.LookDirection() ~= BEST_DIRECTION) do
                            
    Self.Turn(BEST_DIRECTION)
                            
    System.Wait(2575)
                        
    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(ATTACKEDfalse) and table.find(CONFIG.CREATURESATTACKED: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 

  2. #2
    iBot User Floodran's Avatar
    Join Date
    Jun 2012
    Location
    Sweden
    Posts
    18
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    3 Post(s)
    Reputation
    47
    Rep Power
    5
    Buuuuuuuuump

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •