Results 1 to 5 of 5

Thread: Exori min action

  1. #1
    iBot User
    Join Date
    Oct 2012
    Posts
    255
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    31
    Rep Power
    5

    Exori min action

    As the title says, I'm looking for an action to cast exori min. already got exori and exori gran


    PHP Code:
    -- [[ INIT START ]] --
        
    local CONFIG = {
            
    CREATURES = {"Sea Serpent""Young Sea Serpent"},
            
            
    PLAYERS = {
                
    ENABLED Player_Safe,
                
    DISTANCE 0,
                
    FLOOR_DIFFERENCE 0,
                
    SAFE_LIST = {"Bubble""Eternal Oblivion"},
            },
            
            
    SPELLS = {
                --{
    NAME "groundshaker"AMOUNT 6},
                {
    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 


    why this one doesn't work?



    (exori and e gran working)
    thank you

  2. #2
    Moderator Drakke's Avatar
    Join Date
    Jun 2012
    Location
    Sweden
    Posts
    1,898
    Mentioned
    216 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    390 Post(s)
    Reputation
    366
    Rep Power
    10
    @fedele
    Im using this one

    Lua Code:
     
    local Exori_gran = true
    local Exori = true
    local Exori_gran_count = 3
    local Exori_count = 2
    local Exori_ico_count = 1
    local Exori_hur_count = 1
    local Exori_min = true
    local Exori_min_count = 2
     
     
     
    local MonstersToConsider = {"Swarmer", "Insectoid Worker", "Waspoid", "Crawler", "Spitter", "Kollos", "Spidris", "Hive Overseer"}
    local function Min()
    local HIGHEST_AMOUNT, BEST_DIRECTION = 0, Self.LookDirection()
     
        for DIRECTION, CREATURES_AMOUNT in pairs({[DIRECTION_NORTH] = 0, [DIRECTION_EAST] = 0, [DIRECTION_SOUTH] = 0, [DIRECTION_WEST] = 0}) do
            CREATURES_AMOUNT = Self.MonstersAroundSpell("FRONT", DIRECTION, unpack(MonstersToConsider))
     
            if (CREATURES_AMOUNT > HIGHEST_AMOUNT or (CREATURES_AMOUNT >= HIGHEST_AMOUNT and DIRECTION == Self.LookDirection())) then
                HIGHEST_AMOUNT, BEST_DIRECTION = CREATURES_AMOUNT, DIRECTION
            end
        end
     
        if (HIGHEST_AMOUNT >= 3) then
            while (Self.LookDirection() ~= BEST_DIRECTION and cancast('exori min')) do
                Self.Turn(BEST_DIRECTION)
                updateworld()
            end
     
            if cancast('exori min') and Self.LookDirection() == BEST_DIRECTION and maround(1, unpack(MonstersToConsider)) >= 2 then
                cast('exori min')
            end
        elseif (HIGHEST_AMOUNT == 2) then
            while (Self.LookDirection() ~= BEST_DIRECTION and cancast('exori min')) do
                Self.Turn(BEST_DIRECTION)
                updateworld()
            end
     
            if cancast('exori min') and Self.LookDirection() == BEST_DIRECTION and maround(1, unpack(MonstersToConsider)) >= 2 then
                cast('exori min')
            end
        end
    end
     
    function TILESHOOTABLE()
        for POSX, POSY, POSZ in Tile.ScreenArea() do
            if Tile.GetByPosition(target.POSX, target.POSY, target.POSZ):isShootable() then
                return true
            end
        end
        return false
    end
     
     
    if Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then
        if standtime >= 2300 or getsettings("Settings\\Targeting\\Enabled") == "yes" then
            if (maround(1, unpack(MonstersToConsider)) >= Exori_gran_count or (target.name == "Young Sea Serpent" and target.dist <= 1 and target.hppc <= 35 and FBEGYSS)) and cancast('exori gran') and ((paround(10, true) == 0) or not PvP_Server) and Exori_gran and Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then
                cast('exori gran')
                updateworld()
            elseif maround(1, unpack(MonstersToConsider)) >= Exori_count and cancast('exori') and ((paround(10, true) == 0) or not PvP_Server) and Exori and Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then
                cast('exori')
                updateworld()
            elseif maround(1, unpack(MonstersToConsider)) >= Exori_min_count and cancast('exori min') and ((paround(10, true) == 0 ) or not PvP_Server) and Exori_min and Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then
                Min()
                updateworld()
            elseif (maround(1, unpack(MonstersToConsider)) >= Exori_ico_count)  and cancast('exori ico') and target.id ~= 0 and Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then 
                cast('exori ico')
            elseif ((maround(5, unpack(MonstersToConsider)) >= Exori_hur_count)) and cancast('exori hur') and target.id ~= 0 and TILESHOOTABLE() and Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then
                cast('exori hur')
            end
        else
            if (maround(1, unpack(MonstersToConsider)) >= Exori_ico_count)  and cancast('exori ico') and target.id ~= 0 and Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then 
                cast('exori ico')
            elseif ((maround(5, unpack(MonstersToConsider)) >= Exori_hur_count)) and cancast('exori hur') and target.id ~= 0 and TILESHOOTABLE() and Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then
                cast('exori hur')
            end
        end
    end

  3. #3
    iBot User
    Join Date
    Oct 2012
    Posts
    255
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    31
    Rep Power
    5
    thank you. testing it soon and then I'll feedback

  4. #4
    iScripter Eli's Avatar
    Join Date
    Mar 2012
    Posts
    3,764
    Mentioned
    492 Post(s)
    Tagged
    2 Thread(s)
    Quoted
    956 Post(s)
    Reputation
    586
    Rep Power
    10
    Quote Originally Posted by Drakke View Post
    @fedele
    Im using this one


    local Exori_gran = true
    local Exori = true
    local Exori_gran_count = 3
    local Exori_count = 2
    local Exori_ico_count = 1
    local Exori_hur_count = 1
    local Exori_min = true
    local Exori_min_count = 2



    local MonstersToConsider = {"Swarmer", "Insectoid Worker", "Waspoid", "Crawler", "Spitter", "Kollos", "Spidris", "Hive Overseer"}
    local function Min()
    local HIGHEST_AMOUNT, BEST_DIRECTION = 0, Self.LookDirection()

    for DIRECTION, CREATURES_AMOUNT in pairs({[DIRECTION_NORTH] = 0, [DIRECTION_EAST] = 0, [DIRECTION_SOUTH] = 0, [DIRECTION_WEST] = 0}) do
    CREATURES_AMOUNT = Self.MonstersAroundSpell("FRONT", DIRECTION, unpack(MonstersToConsider))

    if (CREATURES_AMOUNT > HIGHEST_AMOUNT or (CREATURES_AMOUNT >= HIGHEST_AMOUNT and DIRECTION == Self.LookDirection())) then
    HIGHEST_AMOUNT, BEST_DIRECTION = CREATURES_AMOUNT, DIRECTION
    end
    end

    if (HIGHEST_AMOUNT >= 3) then
    while (Self.LookDirection() ~= BEST_DIRECTION and cancast('exori min')) do
    Self.Turn(BEST_DIRECTION)
    updateworld()
    end

    if cancast('exori min') and Self.LookDirection() == BEST_DIRECTION and maround(1, unpack(MonstersToConsider)) >= 2 then
    cast('exori min')
    end
    elseif (HIGHEST_AMOUNT == 2) then
    while (Self.LookDirection() ~= BEST_DIRECTION and cancast('exori min')) do
    Self.Turn(BEST_DIRECTION)
    updateworld()
    end

    if cancast('exori min') and Self.LookDirection() == BEST_DIRECTION and maround(1, unpack(MonstersToConsider)) >= 2 then
    cast('exori min')
    end
    end
    end

    function TILESHOOTABLE()
    for POSX, POSY, POSZ in Tile.ScreenArea() do
    if Tile.GetByPosition(target.POSX, target.POSY, target.POSZ):isShootable() then
    return true
    end
    end
    return false
    end


    if Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then
    if standtime >= 2300 or getsettings("Settings\\Targeting\\Enabled") == "yes" then
    if (maround(1, unpack(MonstersToConsider)) >= Exori_gran_count or (target.name == "Young Sea Serpent" and target.dist <= 1 and target.hppc <= 35 and FBEGYSS)) and cancast('exori gran') and ((paround(10, true) == 0) or not PvP_Server) and Exori_gran and Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then
    cast('exori gran')
    updateworld()
    elseif maround(1, unpack(MonstersToConsider)) >= Exori_count and cancast('exori') and ((paround(10, true) == 0) or not PvP_Server) and Exori and Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then
    cast('exori')
    updateworld()
    elseif maround(1, unpack(MonstersToConsider)) >= Exori_min_count and cancast('exori min') and ((paround(10, true) == 0 ) or not PvP_Server) and Exori_min and Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then
    Min()
    updateworld()
    elseif (maround(1, unpack(MonstersToConsider)) >= Exori_ico_count) and cancast('exori ico') and target.id ~= 0 and Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then
    cast('exori ico')
    elseif ((maround(5, unpack(MonstersToConsider)) >= Exori_hur_count)) and cancast('exori hur') and target.id ~= 0 and TILESHOOTABLE() and Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then
    cast('exori hur')
    end
    else
    if (maround(1, unpack(MonstersToConsider)) >= Exori_ico_count) and cancast('exori ico') and target.id ~= 0 and Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then
    cast('exori ico')
    elseif ((maround(5, unpack(MonstersToConsider)) >= Exori_hur_count)) and cancast('exori hur') and target.id ~= 0 and TILESHOOTABLE() and Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then
    cast('exori hur')
    end
    end
    end
    That one is nice

  5. #5
    iBot User
    Join Date
    May 2012
    Posts
    18
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    7 Post(s)
    Reputation
    10
    Rep Power
    5
    Quote Originally Posted by Drakke View Post
    @fedele
    Im using this one

    Lua Code:
     
    local Exori_gran = true
    local Exori = true
    local Exori_gran_count = 3
    local Exori_count = 2
    local Exori_ico_count = 1
    local Exori_hur_count = 1
    local Exori_min = true
    local Exori_min_count = 2
     
     
     
    local MonstersToConsider = {"Swarmer", "Insectoid Worker", "Waspoid", "Crawler", "Spitter", "Kollos", "Spidris", "Hive Overseer"}
    local function Min()
    local HIGHEST_AMOUNT, BEST_DIRECTION = 0, Self.LookDirection()
     
        for DIRECTION, CREATURES_AMOUNT in pairs({[DIRECTION_NORTH] = 0, [DIRECTION_EAST] = 0, [DIRECTION_SOUTH] = 0, [DIRECTION_WEST] = 0}) do
            CREATURES_AMOUNT = Self.MonstersAroundSpell("FRONT", DIRECTION, unpack(MonstersToConsider))
     
            if (CREATURES_AMOUNT > HIGHEST_AMOUNT or (CREATURES_AMOUNT >= HIGHEST_AMOUNT and DIRECTION == Self.LookDirection())) then
                HIGHEST_AMOUNT, BEST_DIRECTION = CREATURES_AMOUNT, DIRECTION
            end
        end
     
        if (HIGHEST_AMOUNT >= 3) then
            while (Self.LookDirection() ~= BEST_DIRECTION and cancast('exori min')) do
                Self.Turn(BEST_DIRECTION)
                updateworld()
            end
     
            if cancast('exori min') and Self.LookDirection() == BEST_DIRECTION and maround(1, unpack(MonstersToConsider)) >= 2 then
                cast('exori min')
            end
        elseif (HIGHEST_AMOUNT == 2) then
            while (Self.LookDirection() ~= BEST_DIRECTION and cancast('exori min')) do
                Self.Turn(BEST_DIRECTION)
                updateworld()
            end
     
            if cancast('exori min') and Self.LookDirection() == BEST_DIRECTION and maround(1, unpack(MonstersToConsider)) >= 2 then
                cast('exori min')
            end
        end
    end
     
    function TILESHOOTABLE()
        for POSX, POSY, POSZ in Tile.ScreenArea() do
            if Tile.GetByPosition(target.POSX, target.POSY, target.POSZ):isShootable() then
                return true
            end
        end
        return false
    end
     
     
    if Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then
        if standtime >= 2300 or getsettings("Settings\\Targeting\\Enabled") == "yes" then
            if (maround(1, unpack(MonstersToConsider)) >= Exori_gran_count or (target.name == "Young Sea Serpent" and target.dist <= 1 and target.hppc <= 35 and FBEGYSS)) and cancast('exori gran') and ((paround(10, true) == 0) or not PvP_Server) and Exori_gran and Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then
                cast('exori gran')
                updateworld()
            elseif maround(1, unpack(MonstersToConsider)) >= Exori_count and cancast('exori') and ((paround(10, true) == 0) or not PvP_Server) and Exori and Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then
                cast('exori')
                updateworld()
            elseif maround(1, unpack(MonstersToConsider)) >= Exori_min_count and cancast('exori min') and ((paround(10, true) == 0 ) or not PvP_Server) and Exori_min and Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then
                Min()
                updateworld()
            elseif (maround(1, unpack(MonstersToConsider)) >= Exori_ico_count)  and cancast('exori ico') and target.id ~= 0 and Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then 
                cast('exori ico')
            elseif ((maround(5, unpack(MonstersToConsider)) >= Exori_hur_count)) and cancast('exori hur') and target.id ~= 0 and TILESHOOTABLE() and Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then
                cast('exori hur')
            end
        else
            if (maround(1, unpack(MonstersToConsider)) >= Exori_ico_count)  and cancast('exori ico') and target.id ~= 0 and Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then 
                cast('exori ico')
            elseif ((maround(5, unpack(MonstersToConsider)) >= Exori_hur_count)) and cancast('exori hur') and target.id ~= 0 and TILESHOOTABLE() and Self.CoolDown(SPELL_GROUP_ATTACK) == 0 then
                cast('exori hur')
            end
        end
    end
    really nice one!

Posting Permissions

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