Results 1 to 2 of 2

Thread: Exori, Exori Gran, Min, Ico, Hur - problem with hotkey

  1. #1
    Normal User MrLovely's Avatar
    Join Date
    Jun 2012
    Location
    PROland
    Posts
    249
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    10 Post(s)
    Reputation
    50
    Rep Power
    5

    Exori, Exori Gran, Min, Ico, Hur - problem with hotkey

    -- [[ 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.DISTA NCE, 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:Conditio n(), 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:Conditio n(), 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
    Please tell me how to use this sirmate's Exori Hotkey. I can't set it correctly.
    AMOUNT is ofc amount of monsters if use spell but what is HP_PC? Should I change AMOUNT to HP_PC if I want to use spell?
    I have tried many variations and it doesn't work.
    I want it to cast all of these spells except Groundshaker if 1 or more monsters on screen.
    Waiting for help!

  2. #2
    Normal User
    Join Date
    May 2013
    Posts
    38
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    16
    Rep Power
    4
    SPELLS = {
    --{NAME = "groundshaker", AMOUNT = 6},
    {NAME = "fierce berserk", AMOUNT = 2},
    {NAME = "berserk", AMOUNT = 2},
    {NAME = "front sweep", AMOUNT = 2},
    {NAME = "annihilation", AMOUNT = 2},
    {NAME = "brutal strike", AMOUNT = 2},
    {NAME = "whirlwind throw", AMOUNT = 2},
    },

    if not work try
    SPELLS = {
    --{NAME = "groundshaker", AMOUNT = 6},
    {NAME = "fierce berserk", AMOUNT = 2},
    {NAME = "berserk", AMOUNT = 2},
    {NAME = "front sweep", AMOUNT = 2},
    {NAME = "annihilation", HP_PC = 100},
    {NAME = "brutal strike", HP_PC = 100},
    {NAME = "whirlwind throw", HP_PC = 100},
    },

    HP_PC i think is health procent of monster

Posting Permissions

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