Jump to content

Ether88

Elite+
  • Content Count

    105
  • Joined

  • Last visited

Posts posted by Ether88


  1. Ok, another idea based on experiments with zone_changer (thx for immo!). Bot harvest 1st area, then after time +- random time goes to the 2nd zone, etc... This feature can be used to move between town, acts, diff and make bot more human-like. This kind of "safe" reset would minimize the number of created instances of the same map and make bot more stealth. Probably.


  2. The idea behind the script is fairy simple:

    1. User starts the game, bot and the script (If bot 1st location = script 1st location, then 1st location will be used twice? Yes, but just if you run bot BEFORE the script)

    2. This is where the script loop starts,

    3. After a fixed time +- random time (for extra security) script modify the configuration of the bot - new zone is set (new zone = next from the list)

    4. Script sends a bot command to refresh settings - new zone is loaded to the bot, next time bot will try to enter zone, it will go to the new zone

    5. Next loop starts

     

    We need to give the script list of zones we want to use - the best option would be, to be able to set more then 2 places (4-5 is good?). I don't really understand the code that well to modify it properly. What I've done? I've added two more zones to the loop just by copying the given zones. I've been observing my bot and he were running in every zone from the given zones.

     

    Another idea for the script modifications - I don't like the running bot and game features. I am using Sandboxie to run the bot (I have only one bot) - with it I can maintain two different configs for the game (Sandboxie creates another parallel register, and PoE keeps the configuration in the register AND in user settings). That way I create two different log files of PoE (which, I belive, sometimes are sent to the developers for the performance and monitoring proposes).

     

    @gamemaste789 - I think that using just if-else is not enough, if you need the bot to run each zone in the loop. Of course you can build a relatively complex if-else instruction to simulate the loop, but it will be hard to debug and work with after some time.


  3. This is my modification. Big thanks to immo for the main script! This is simple copy-paste modification, bot works well - at least for me.

     

    #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
    #Warn ; Enable warnings to assist with detecting common errors.
    #Persistent ; Only the user can kill the application
    SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
    StringCaseSense, On ; Match strings with case.
    SetWorkingDir %A_ScriptDir%
    CoordMode, ToolTip, Relative

    ; User Config
    _timeZoneChange = 9 ; Time in minutes until zonechange

    _zone_to_clean1 = marketplace ; enter desired Zone 1 (see coordinates.ini[Exiled Bot] to see exact writings of the different zones)
    _zone_to_clean_act1 = 3 ; enter desired act for Zone 1
    _zone_to_clean_difficulty1 = 1 ; enter desired difficulty for Zone 1 (1=normal, 2=cruel, 3=merciless)

    _zone_to_clean2 = dark_forest ; enter desired Zone 2 (see coordinates.ini[Exiled Bot] to see exact writings of the different zones)
    _zone_to_clean_act2 = 2 ; enter desired act for Zone 2
    _zone_to_clean_difficulty2 = 1 ; enter desired difficulty for Zone 2 (1=normal, 2=cruel, 3=merciless)

    _zone_to_clean3 = the_city_of_sarn
    _zone_to_clean_act3 = 3
    _zone_to_clean_difficulty3 = 1

    _zone_to_clean4 = battlefront
    _zone_to_clean_act4 = 3
    _zone_to_clean_difficulty4 = 1

    _path_bot = C:\Users\Erebus\Desktop\Pobrane\Exiled Bot Beta v0.13 ; Path to your Exiled.Bot
    _path_poe = D:\Gry\PoE_bot ; Path where is installed poe (don't include game exe)
    _name_poe = PathOfExile.exe ; Name of the game exe
    _name_bot = ExiledBot.exe ; Name of the ExiledBot exe
    _name_poe_win = Path of Exile ; Name of the window when you run game exe
    _name_bot_win = ExiledBot (Elite) ; Name of the window when you run exilebot exe

    _EBReload = F11 ; EB Hotkey to reload ini
    _EBPause = F12 ; EB Hotkey to pause/unpause the bot

    ; some needed calculations
    _timeZoneChangeUser := (_timeZoneChange * 1000) * 60
    _timeZoneChangeTrue := ((_timeZoneChange * 2) * 1000) * 60
    _timeZoneChangeSec := (_timeZoneChange * 60)
    IniRead, currZone, %_path_bot%\Configuration\config.ini, general, zone_to_clean

    if (_zone_to_clean_difficulty1=1)
    {
    difficulty1 = Normal
    }
    else if (_zone_to_clean_difficulty1=2)
    {
    difficulty1 = Cruel
    }
    else
    {
    difficulty1 = Merciless
    }

    if (_zone_to_clean_difficulty2=1)
    {
    difficulty2 = Normal
    }
    else if (_zone_to_clean_difficulty2=2)
    {
    difficulty2 = Cruel
    }
    else
    {
    difficulty2 = Merciless
    }

    if (_zone_to_clean_difficulty3=1)
    {
    difficulty3 = Normal
    }
    else if (_zone_to_clean_difficulty3=2)
    {
    difficulty3 = Cruel
    }
    else
    {
    difficulty3 = Merciless
    }

    if (_zone_to_clean_difficulty4=1)
    {
    difficulty4 = Normal
    }
    else if (_zone_to_clean_difficulty4=2)
    {
    difficulty4 = Cruel
    }
    else
    {
    difficulty4 = Merciless
    }

    ; Menu Entries
    Menu1 = ExiledBot.Zone.Changer.
    ver = v1.0
    EBVer = Exiled Bot Beta v0.12
    Menu2 = UserConfig:
    Menu3 = zonechanging every: %_timeZoneChange% Minutes
    Menu4 = Zone 1: %_zone_to_clean1% - Act%_zone_to_clean_act1%/%difficulty1%
    Menu5 = Zone 2: %_zone_to_clean2% - Act%_zone_to_clean_act2%/%difficulty2%
    Menu4 = Zone 3: %_zone_to_clean3% - Act%_zone_to_clean_act3%/%difficulty3%
    Menu5 = Zone 4: %_zone_to_clean4% - Act%_zone_to_clean_act4%/%difficulty4%
    Menu6 = Current Zone: %currZone%

    ; Some various fancy tray icon stuff.
    Menu, tray, Tip, %Menu1%%ver%`nchanging zones since 2013
    Menu, tray, NoStandard
    Menu, tray, add, %Menu1%%ver%, RemoveTooltip
    Menu, tray, disable, %Menu1%%ver%
    Menu, tray, add, for %EBVer%, RemoveTooltip
    Menu, tray, disable, for %EBVer%
    Menu, tray, add
    Menu, tray, add, %Menu2%, RemoveTooltip
    Menu, tray, disable, %Menu2%
    Menu, tray, add, %Menu3%, RemoveTooltip
    Menu, tray, disable, %Menu3%
    Menu, tray, add, %Menu4%, RemoveTooltip
    Menu, tray, disable, %Menu4%
    Menu, tray, add, %Menu5%, RemoveTooltip
    Menu, tray, disable, %Menu5%
    Menu, tray, add
    Menu, tray, add, Pause (F8), MyPause
    Menu, tray, add, Exit (F9), ExitSub

    WinMinimizeAll
    Sleep 2000

    TrayTip, , Starting Path of Exile , 1
    Sleep 1000
    IfWinNotExist, %_name_poe_win%
    {
    Run, %_name_poe%, %_path_poe%, , PoE_PID
    if ErrorLevel = ERROR
    {
    MsgBox Cant open %_path_poe%\%_name_poe%
    exitapp
    }
    WinWait, ahk_pid %PoE_PID%,,3
    WinMove, ahk_pid %PoE_PID%, 1, 1
    }
    else
    {
    WinGet, PoE_PID, PID, %_name_poe_win%
    WinWait, ahk_pid %PoE_PID%,,3
    WinMove, ahk_pid %PoE_PID%, 1, 1
    }
    sleep 10000

    TrayTip, , Starting Exiled Bot , 1
    Sleep 1000
    Run, %_name_bot%, %_path_bot%, , EB_PID
    if ErrorLevel = ERROR
    {
    MsgBox Cant open %_path_bot%\%_name_bot%
    exitapp
    }
    Sleep 5000
    IfWinExist, %_name_bot_win%
    {
    IniWrite, %_zone_to_clean_act1%, %_path_bot%\Configuration\config.ini, general, zone_to_clean_act
    IniWrite, %_zone_to_clean_difficulty1%, %_path_bot%\Configuration\config.ini, general, zone_to_clean_difficulty
    IniWrite, %_zone_to_clean1%, %_path_bot%\Configuration\config.ini, general, zone_to_clean
    sleep 1000
    Send {%_EBReload%}
    TrayTip, , Starting to bot! , 2
    WinActivate, %_name_bot_win%
    ControlClick, Button1, ExiledBot (Elite),, Left, 1, NA
    }

    WinActivate, %_name_poe_win%
    SetTimer, RemoveTT, 1000
    _timeZoneChangeSec := (_timeZoneChange * 60)
    IniRead, currZone, %_path_bot%\Configuration\config.ini, general, zone_to_clean
    Sleep %_timeZoneChangeUser%

    SetTimer, ZC, %_timeZoneChangeTrue%
    ZC:
    IniWrite, %_zone_to_clean_act2%, %_path_bot%\Configuration\config.ini, general, zone_to_clean_act
    IniWrite, %_zone_to_clean_difficulty2%, %_path_bot%\Configuration\config.ini, general, zone_to_clean_difficulty
    IniWrite, %_zone_to_clean2%, %_path_bot%\Configuration\config.ini, general, zone_to_clean

    SetTimer, RemoveTT, 1000
    _timeZoneChangeSec := (_timeZoneChange * 60)
    IniRead, currZone, %_path_bot%\Configuration\config.ini, general, zone_to_clean

    sleep 1000
    Send {%_EBReload%}
    TrayTip, , Zone changed! , 2
    sleep %_timeZoneChangeUser%

    IniWrite, %_zone_to_clean_act3%, %_path_bot%\Configuration\config.ini, general, zone_to_clean_act
    IniWrite, %_zone_to_clean_difficulty3%, %_path_bot%\Configuration\config.ini, general, zone_to_clean_difficulty
    IniWrite, %_zone_to_clean3%, %_path_bot%\Configuration\config.ini, general, zone_to_clean

    SetTimer, RemoveTT, 1000
    _timeZoneChangeSec := (_timeZoneChange * 60)
    IniRead, currZone, %_path_bot%\Configuration\config.ini, general, zone_to_clean

    sleep 1000
    Send {%_EBReload%}
    TrayTip, , Zone changed! , 2

    IniWrite, %_zone_to_clean_act4%, %_path_bot%\Configuration\config.ini, general, zone_to_clean_act
    IniWrite, %_zone_to_clean_difficulty4%, %_path_bot%\Configuration\config.ini, general, zone_to_clean_difficulty
    IniWrite, %_zone_to_clean4%, %_path_bot%\Configuration\config.ini, general, zone_to_clean

    SetTimer, RemoveTT, 1000
    _timeZoneChangeSec := (_timeZoneChange * 60)
    IniRead, currZone, %_path_bot%\Configuration\config.ini, general, zone_to_clean

    sleep 1000
    Send {%_EBReload%}
    TrayTip, , Zone changed! , 2
    return

    MyReload:
    Reload
    Return

    MyEdit:
    Edit
    Return

    MyPause:
    F8::
    TrayTip, , Automatic ZoneChanger paused! , 2
    Pause
    Return

    RemoveTooltip:
    ToolTip
    return

    RemoveTT:
    ToolTip, % (_timeZoneChangeSec--<1) ? "" : Menu1 Ver ":`n********************************`nZoneChange in : " FormatSeconds(_timeZoneChangeSec)"`nNext Zone will be : "currZone, 310, 555
    If (_timeZoneChangeSec<0)
    SetTimer, RemoveTT, Off
    return

    FormatSeconds(x)
    {
    Out:=SubStr("0" . Mod(x, 60),-1),x:=Floor(x/60)
    Return x ":" Out
    }

    ExitSub:
    F9::
    TrayTip, , Automatic ZoneChanger terminaetd! , 2
    ExitApp
    return


  4. My belt: Life, Life, Life, Mana, Mana

     

    Real-life party? Cool! :D I only have Magic the Gathering tournaments :P.

     

    About the low-level problem. Probably it is connected to the level of mana/life? The higher the level, the higher life/mana values - under some threshold script seems to not see the values properly.

     

    I have other problem - sometimes script doesn't work, and sometimes it spams flasks like crazy.


  5. The script can be easily modified to be used with more than 2 zones. I run with 4 zones, 7min for each. Different difficulties, acts, locations for more security (currency drops everywhere+some uniques drop only in low-level zones).

     

    The only better stuff, that would be helpful would be "infinite ledge" script. Bot enters the Ledge and after clearing it creates new Ledge zone not via waypoint but re-entering the location.


  6. The best way to unlock waypoints, acts and difficulties is to join party. You get lots of exp, you advance much faster and you are not so eq dependant. If you are lucky, you even don't need to spend your skill points. When you don't like / don't have time to push the bot through the game, let him harvest items and exp (places mentioned above - these locations are best, because there are a very close to none possibility for bot to get stuck - avoid dungeons/caves, etc OR don't use opening chests).

    From my experience the best builds are shadow (you start using reave -> much life gain on hit when using claws; then flicer -> very mobile) or tanky maruder/templar.


  7. One more thing about safe bot usage (from my experience) - It is a good idea to run bot for max 10h a day + not whole night. At night the amount of data to be analysed is lesser then at the daytime. If you use Virtual Machine it is a good idea to use Windows console commands (shutdown with the right parameters) - you just put the command in *.bat file and run it when desired.

×
×
  • Create New...