Jump to content

jpbot

Elite+
  • Content Count

    89
  • Joined

  • Last visited

Posts posted by jpbot


  1. wow. now i understand what i did wrong with some pickit lines.

     

    could you check this:

    bot should stash every chest with armor higher then 1500?

     

    [Category] == "Chest" && [Rarity] == "Rare" && [Evasion] >= "1500"  # [base_maximum_life] >= "70" && [stashItem] == "true"

    [Category] == "Chest" && [Rarity] == "Rare" && [Armor] >= "1500"  # [base_maximum_life] >= "70" && [stashItem] == "true"

     

     

    this should do following:

     

    -> bot picks up every rare chest, bot wil check if evasion / or armor is above 1500 - when yes - it will ID it - when it has more than +70life, it will stash it?

    -> will the bot also ID every chest, which hasnt more than 1500 Amor and Eva?

     

    [Evasion] >= "1500"  or [Armor] >= "1500"   

     

    those keys take the base of an item, no the final value.

     

     

    Ex.

    Saintly Chainmail --> Armor:286, Energy Shield:98: Evasion:0 All Saintly Chainmail have those values

    Astral Plate --> Armor:507, Energy Shield:0: Evasion:0 All Astral Plate have those values

     

     

    you need use a mod to take 1500 evasion or armor chests.  

     

    last time I check those mods (armor, evasion, es) were bugged.  : /

     

     

     

     

     

     


  2. some people ask for destroy item script, this is part of my EEB ahk script.

     

     

    1.- make a directory named ahk (or whatever) in this directory make another directory named "images", save this image there.   post-6429-0-18598900-1391060385.png

     

    2.- in ahk directory make a file named whatever.ahk and copy&paste this script: 

    ;--------------------------------------------------------------------------------------------------------------------;
    ; DExalt  v1 -    by jpbot (aka exalt destroyer)
    ;
    ;
    ;--------------------------------------------------------------------------------------------------------------------;
    ; Functionality:  
    ;			In town: Check for keep/destroy screen and press destroy.
    ;
    
    ;			
    ;--------------------------------------------------------------------------------------------------------------------;
    ;~ #MaxThreadsPerHotkey 2
    CoordMode, Pixel, Relative
    SetWorkingDir %A_ScriptDir%
    ;--------------------------------------------------------------------------------------------------------------------;
    ;--------------------------------------------------------------------------------------------------------------------;
    ;----------------------------------- Each patch check/update this ---------------------------------------------------;
    ;--------------------------------------------------------------------------------------------------------------------;
    ;--------------------------------------------------------------------------------------------------------------------;
    _activeSkillInTown := 0x575757 ;pixel color for active skill in town
    _activeSkillInMap := 0x507BA5 ;pixel color for active skill  out of town
    _activeSkillInMapInactive := 0x374659 ;pixel color for active skill  out of town without mana
    ;--------------------------------------------------------------------------------------------------------------------;
    ;--------------------------------------------------------------------------------------------------------------------;
    ;--------------------------------------------------------------------------------------------------------------------;
    ;--------------------------------------------------------------------------------------------------------------------;
    ;--------------------------------------------------------------------------------------------------------------------;
    
    _path_images := "C:\ahk\images"
    
    ;--------------------------------------------------------------------------------------------------------------------;
    ;--------------------------------------------------------------------------------------------------------------------;
    ;----------------------------------------  !!!!! Stop Here !!!!!  ---------------------------------------------------;
    ;--------------------------------------------------------------------------------------------------------------------;
    ;--------------------------------------------------------------------------------------------------------------------;
    
    ;
    ;
    ;--------------------------------------  !!!!! Internal Variables !!!!!  --------------------------------------------;
    ;
    ;
    _inTown := false ;
    _mapRetry := 0
    
    ;-------------------------------------------------------------
    ;
    ; start
    ;
    ;-------------------------------------------------------------
    
    Loop  ; Main
    {
    	
    	if inTown()
    		checkDestroy()
    	
    	Sleep 500
    
    	if inMap()
    	{		
    		loop  ;in map loop		
    		{
    			if inMap()
    			{				
    				;~ if !inBattle()
    					;~ TrayTip,, not in a battle, 1
    					;~ checkQuickFlask()
    					;~ gemLevel()
    				sleep 10
    			}
    			else 
    			{									
    				if _mapRetry > 1
    				{
    					_mapRetry := 0					
    					break ;not in game					
    				}
    				_mapRetry += 1
    			} 
    
    			;~ checkStuck()	
    			Sleep 500			
    			
    		} ;end in game loop
    		
    		
    	} ;end first pixel search active skill
    
    } ;end loop
    
    
    
    ;-------------------------------------------------------------
    ;
    ; Functions
    ;
    ;-------------------------------------------------------------
    
    ; --check if we are in town !!!
    inTown() 
    { 	
    	global	
    	PixelSearch, Px, Py, 655, 582, 655, 582, %_activeSkillInTown%, 0, Fast  ;check for active skill
    	if !ErrorLevel 
    		return true
    	else
    		return false		
    }
    
    
    ; --check if we are in any map !!!
    inMap() 
    { 
    	global	
    	PixelSearch, Px, Py, 655, 582, 655, 582, %_activeSkillInMap%, 0, Fast  ;check for active skill
    	if !ErrorLevel 
    		return true
    
    	PixelSearch, Px, Py, 655, 582, 655, 582, %_activeSkillInMapInactive%, 0, Fast  ;check for active skill
    	if !ErrorLevel 
    		return true
    	
    	return false
    	
    }
    
    ;
    ; --check  for keep/destroy screen????
    checkDestroy()
    {
    	global	
    	ImageSearch, Px, Py, 275,290, 550, 370,*100 %_path_images%\destroy.png   ;search for keep/destroy screen????
    	if !ErrorLevel
    	{
    		Click %Px%, %Py%        
    		Sleep 200  
    	}	
    	Sleep 10	
    
    }
    
    
    ;
    ;
    ;
    
    End:: 
    	exitapp
    	
    
    
     

     3.- run the script

     

     

    NOTE: Every patch you need manually check and maybe update 3 variables

     

    _activeSkillInTown := 0x575757 ;pixel color for active skill in town
    _activeSkillInMap := 0x507BA5 ;pixel color for active skill  out of town
    _activeSkillInMapInactive := 0x374659 ;pixel color for active skill  out of town without mana 
    use this script: 

    #SingleInstance
    CoordMode, Pixel, Relative
    SetWorkingDir %A_ScriptDir%
    
    ;get pixel color for active skill
    F3::
    		
    	Loop
        {
    		PixelGetColor, color, 655, 582 		
    		TrayTip,, %color%, 2
    		Sleep 1000 
    	}
    
    return
    
    
    ;verify pixel color for active skill
    F4:: 
    	
    	_activeSkillInTown := 0x575757 ;pixel color for active skill in town
    	_activeSkillInMap := 0x507BA5 ;pixel color for active skill  out of town
    	_activeSkillInMapInactive := 0x374659 ;pixel color for active skill  out of town without mana
    	_inTown := 0
    	
    	
    	Loop ;active skill
        {
    		if inMap()
    			TrayTip,, In Map, 2
    		else
    			if inTown()
    				TrayTip,, In Town, 2
    			else
    				TrayTip,, Checking..., 2
    		
    		sleep 1000
    	}
    
    	; --check if we are in any map !!!
    	inMap() 
    	{ 
    		global	
    		IfWinExist, Path of Exile 
    			WinActivate		
    
    		PixelSearch, Px, Py, 655, 582, 655, 582, %_activeSkillInMap%, 0, Fast  ;check for active skill
    		if !ErrorLevel 
    			return true
    
    		PixelSearch, Px, Py, 655, 582, 655, 582, %_activeSkillInMapInactive%, 0, Fast  ;check for active skill
    		if !ErrorLevel 
    			return true
    		
    
    		return false
    		
    	}
    	
    	; --check if we are in town !!!
    	inTown() 
    	{ 	
    		global			
    										
    		PixelSearch, Px, Py, 655, 582, 655, 582, %_activeSkillInTown%, 0, Fast  ;check for active skill
    		if !ErrorLevel 
    			return true
    		else
    			return false
    
    	}	
    	
    	return
    
    
    F2::
    
    			Send {F12} ;pausing the bot
    			Sleep 250
    			quitPoEtoLogin()
    			Sleep 2000   
    			Send {F12} ;un pausing the bot				
    			Sleep 250
    
    return
    	
    	
    
    esc::
    	msgbox script closed by user
    exitapp
    
     

    Check my EEB script post for more info about update town check variables


  3. be weary if using destroy ive came to my bots and had a 2 stack of exalts on cursor :S

    of course but imo it is better simply destroy that item, using pause/unpause in town can bring more problems than solutions.
     
    190-210 games (24 hours) = 1 or 2 items destroyed with my script.
     
    hmm maybe I can ctrl-copy to check what items are destroyed

  4. why no destroy item?
     
    I use:
     

    ; --check for keep/destroy screen????
    checkDestroy()
    {
    global
    ImageSearch, Px, Py, 275,290, 550, 370,*100 %_path_images%\destroy.png ;search for keep/destroy screen????
    if !ErrorLevel
    {
    Click %Px%, %Py%
    _itemDestroy += 1
    IniWrite, %_itemDestroy%, %A_WorkingDir%\EEB.ini, internal, itemDestroy
    Sleep 200
    writeLog("Destroy Found, destroying item???",1)
    }
    Sleep 10
    
    }
    

     
     


  5. Here my skill.ini file

    ; Skills config file
    [skills]
    
    ; Set here the key or the mouse button of the skill.
    skill0_key=mouse_left
    
    ; Set here the minimum distance from monster to use this skill.
    skill0_min_distance_value=0
    
    ; Set here the maximum distance from monster to use this skill.
    skill0_max_distance_value=0
    
    ; Set here if you want to use this skill as an aura.
    skill0_is_aura=false
    
    ; Set here the timer before the bot using the skill again (in ms).
    skill0_cooldown=0
    
    ; Set here the skill's priority (higher value = higher priority).
    skill0_priority=1
    
    ; Use skill for normal monsters, special monsters (boss, rare, uniques, etc) or both?
    skill0_target=0
    
    ; Use skill depending of the number of targets close to the monster
    skill0_close_targets=0
    
    ; Range used when checking monsters around the target
    skill0_close_targets_range=100
    
    ; Press shift while casting ?
    skill0_use_shift=false
    
    ; Set here the key or the mouse button of the skill.
    skill1_key=mouse_right
    
    ; Set here the minimum distance from monster to use this skill.
    skill1_min_distance_value=0
    
    ; Set here the maximum distance from monster to use this skill.
    skill1_max_distance_value=350
    
    ; Set here if you want to use this skill as an aura.
    skill1_is_aura=false
    
    ; Set here the timer before the bot using the skill again (in ms).
    skill1_cooldown=0
    
    ; Set here the skill's priority (higher value = higher priority).
    skill1_priority=1
    
    ; Use skill for normal monsters, special monsters (boss, rare, uniques, etc) or both?
    skill1_target=0
    
    ; Use skill depending of the number of targets close to the monster
    skill1_close_targets=0
    
    ; Range used when checking monsters around the target
    skill1_close_targets_range=100
    
    ; Press shift while casting ?
    skill1_use_shift=false
    
    ; Set here the key or the mouse button of the skill.
    skill2_key=mouse_wheel
    
    ; Set here the minimum distance from monster to use this skill.
    skill2_min_distance_value=0
    
    ; Set here the maximum distance from monster to use this skill.
    skill2_max_distance_value=450
    
    ; Set here if you want to use this skill as an aura.
    skill2_is_aura=false
    
    ; Set here the timer before the bot using the skill again (in ms).
    skill2_cooldown=2000
    
    ; Set here the skill's priority (higher value = higher priority).
    skill2_priority=7
    
    ; Use skill for normal monsters, special monsters (boss, rare, uniques, etc) or both?
    skill2_target=0
    
    ; Use skill depending of the number of targets close to the monster
    skill2_close_targets=0
    
    ; Range used when checking monsters around the target
    skill2_close_targets_range=100
    
    ; Press shift while casting ?
    skill2_use_shift=false
    
    ; Set here the key or the mouse button of the skill.
    skill3_key=Q
    
    ; Set here the minimum distance from monster to use this skill.
    skill3_min_distance_value=450
    
    ; Set here the maximum distance from monster to use this skill.
    skill3_max_distance_value=999
    
    ; Set here if you want to use this skill as an aura.
    skill3_is_aura=false
    
    ; Set here the timer before the bot using the skill again (in ms).
    skill3_cooldown=10000
    
    ; Set here the skill's priority (higher value = higher priority).
    skill3_priority=6
    
    ; Use skill for normal monsters, special monsters (boss, rare, uniques, etc) or both?
    skill3_target=0
    
    ; Use skill depending of the number of targets close to the monster
    skill3_close_targets=0
    
    ; Range used when checking monsters around the target
    skill3_close_targets_range=100
    
    ; Press shift while casting ?
    skill3_use_shift=false
    
    ; Set here the key or the mouse button of the skill.
    skill4_key=W
    
    ; Set here the minimum distance from monster to use this skill.
    skill4_min_distance_value=0
    
    ; Set here the maximum distance from monster to use this skill.
    skill4_max_distance_value=0
    
    ; Set here if you want to use this skill as an aura.
    skill4_is_aura=false
    
    ; Set here the timer before the bot using the skill again (in ms).
    skill4_cooldown=0
    
    ; Set here the skill's priority (higher value = higher priority).
    skill4_priority=1
    
    ; Use skill for normal monsters, special monsters (boss, rare, uniques, etc) or both?
    skill4_target=0
    
    ; Use skill depending of the number of targets close to the monster
    skill4_close_targets=0
    
    ; Range used when checking monsters around the target
    skill4_close_targets_range=100
    
    ; Press shift while casting ?
    skill4_use_shift=false
    
    ; Set here the key or the mouse button of the skill.
    skill5_key=E
    
    ; Set here the minimum distance from monster to use this skill.
    skill5_min_distance_value=0
    
    ; Set here the maximum distance from monster to use this skill.
    skill5_max_distance_value=900
    
    ; Set here if you want to use this skill as an aura.
    skill5_is_aura=false
    
    ; Set here the timer before the bot using the skill again (in ms).
    skill5_cooldown=2000
    
    ; Set here the skill's priority (higher value = higher priority).
    skill5_priority=9
    
    ; Use skill for normal monsters, special monsters (boss, rare, uniques, etc) or both?
    skill5_target=0
    
    ; Use skill depending of the number of targets close to the monster
    skill5_close_targets=0
    
    ; Range used when checking monsters around the target
    skill5_close_targets_range=100
    
    ; Press shift while casting ?
    skill5_use_shift=false
    
    ; Set here the key or the mouse button of the skill.
    skill6_key=R
    
    ; Set here the minimum distance from monster to use this skill.
    skill6_min_distance_value=0
    
    ; Set here the maximum distance from monster to use this skill.
    skill6_max_distance_value=0
    
    ; Set here if you want to use this skill as an aura.
    skill6_is_aura=true
    
    ; Set here the timer before the bot using the skill again (in ms).
    skill6_cooldown=0
    
    ; Set here the skill's priority (higher value = higher priority).
    skill6_priority=1
    
    ; Use skill for normal monsters, special monsters (boss, rare, uniques, etc) or both?
    skill6_target=0
    
    ; Use skill depending of the number of targets close to the monster
    skill6_close_targets=0
    
    ; Range used when checking monsters around the target
    skill6_close_targets_range=100
    
    ; Press shift while casting ?
    skill6_use_shift=false
    
    ; Set here the key or the mouse button of the skill.
    skill7_key=T
    
    ; Set here the minimum distance from monster to use this skill.
    skill7_min_distance_value=0
    
    ; Set here the maximum distance from monster to use this skill.
    skill7_max_distance_value=0
    
    ; Set here if you want to use this skill as an aura.
    skill7_is_aura=false
    
    ; Set here the timer before the bot using the skill again (in ms).
    skill7_cooldown=0
    
    ; Set here the skill's priority (higher value = higher priority).
    skill7_priority=1
    
    ; Use skill for normal monsters, special monsters (boss, rare, uniques, etc) or both?
    skill7_target=0
    
    ; Use skill depending of the number of targets close to the monster
    skill7_close_targets=0
    
    ; Range used when checking monsters around the target
    skill7_close_targets_range=100
    
    ; Press shift while casting ?
    skill7_use_shift=false
    
    
    
    

     

    put move only in your left mouse.

     

    I am using single skill leap slam

     

    Mouse Left: Move only

    Mouse Wheel: Enduring cry

    Mouse Right: Leap slam

    Q: Blood Rage

    W: None

    E: Curse

    R: Aura

    T: None

    check this thread too skilll setup


  6. I see a lot of pickit files with wrong syntax
     
    Ex: 

    [Category] == "Chest" && [Rarity] == "Rare" && [base_maximum_life] >= "60" && [base_cold_damage_resistance_%] >= "25" && [base_fire_damage_resistance_%] >= "25" # [StashItem] == "true" 
    

     
    Should be: 

    [Category] == "Chest" && [Rarity] == "Rare" # [base_maximum_life] >= "60" && [base_cold_damage_resistance_%] >= "25" && [base_fire_damage_resistance_%] >= "25" 
    

     


    Smart Pickit Syntax.
     

    Ok explanation:
     
    We have this on default.ipd file

    // You'll find the mods list in the ModsList.txt file, in the main bot folder, remember to only use expressions from the right (ie. local_minimum_added_physical_damage, base_maximum_energy_shield, ...).
    // Expressions to the left are only here to help you choosing the right ones
    ...
    // Syntax is: [Key] operator "Value"
    ...
    // # is used to separate mods checked after item identification. If an item matchs mods before the # and doesn't match the ones after, it will be sold to vendor.
    

     
    # If you put that symbol, your item will be identified.
     
    Everything in left of # is to tell the bot which item will pick up
     
    Everything in the right of # is to tell the bot which modifiers it will check in that item, if they match that item will be stashed 


     
    Ex 1. You want to take belts and stash it unids

    [Category] == "Belt" && [Rarity] == "Rare"

    Bot will take any rare belt.
    No # so item it is left unidentified.
     
     
     
    Ex 2. You want any belt with life > 40 and cold and fire res > 20

    [Category] == "Belt" && [Rarity] == "Rare" # [base_maximum_life] >= "40" && [base_cold_damage_resistance_%] >= "20" && [base_fire_damage_resistance_%] >= "20"

    [Category] == "Belt" && [Rarity] == "Rare"  --> Bot will pick up any rare belt. Left side of #
    #  -->  Item will be identified.
    [base_maximum_life] >= "40" && [base_cold_damage_resistance_%] >= "20" && [base_fire_damage_resistance_%] >= "20"  --> Bot will check all mods if they match will be stashed. Right side of #
     
     
     
    Ok that was the basic info.



    ******************************************************************************************************



    A little more info:


    Expressions to the left, I am going to call those KEYS
    Expressions to the right, I am going to call those MODS


    KEYS:

    Everything in left of # is to tell the bot which item will pick up

    Syntax:
    [Key] operator "Value"

    Possible values (all of them):
    [Type] operator "xxx" --> operator values: ( == ), "xxx" values: Any name from file ItemNameList.txt
    [itemLevel] operator "xx" --> operator values: ( ==, <=, >=, <, > ), "xx" values: Numeric
    [Armor] operator "xx" --> operator values: ( ==, <=, >=, <, > ), "xx" values: Numeric **
    [Evasion] operator "xx" --> operator values: ( ==, <=, >=, <, > ), "xx" values: Numeric **
    [Energy Shield] operator "xx" --> operator values: ( ==, <=, >=, <, > ), "xx" values: Numeric **
    [Rarity] operator "xx" --> operator values: ( ==, != ), "xx" values: "Normal", "Magic", "Rare", "Unique"
    [Quality] operator "xx" --> operator values: ( ==, <=, >=, <, > ), "xx" Numeric, Item Quality, (1-20)
    [sockets] operator "xx" --> operator values: ( ==, <=, >=, <, > ), "xx" Numeric, Item Sockets, (1-6)
    [Linked] operator "xx" --> operator values: ( ==, <=, >=, <, > ), "xx" Numeric, Number of linked sockets (1-6) ????
    [Category] operator "xx" --> operator values: ( ==, != ), "xx" possible values: "Chest", "Shield", "Helm", "Ring", "Amulet", "Flask", "Weapon", "Gloves", "Boots", "Belt", "Map"

    All those keys will be before #


    ** Only apply for Helmets, Body Armour, Gloves, Boots and Shields, since poe has fixed base values, those keys are not very useful (imo)

    Ex.
    Saintly Chainmail --> Armor:286, Energy Shield:98: Evasion:0 All Saintly Chainmail have those values
    Astral Plate --> Armor:507, Energy Shield:0: Evasion:0 All Astral Plate have those values




    MODS:

    Everything in the right of # is to tell the bot which modifiers it will check in that item, if they match that item will be stashed 

    Syntax:
    [Mod] operator "Value"

    Possible values:
    [xxx] operator "nnn"

    xxx: any value from file ModsList.txt (use the expresion on the left, before -> ). **
    operator values: ( ==, <=, >=, <, > )
    "nnn": Numeric


    ** You can use a mod by his index (if it is not in the ModsList.txt file) this way [modindex] == "value", ie. [587] == "30".




    MORE:


    * Press F7 to dump inventory and find mod indexes. First press pause (F12).


    * Operators && and || are available, parenthesis are working. This can be used only outside condition not inside.

    Ex 1. No Ok
    [Category] == "Chest" && [Rarity] == ("Magic" || "Rare") # [stashItem] == "true" && [base_maximum_life] >= "60" && [base_cold_damage_resistance_%] >= "25" && [base_fire_damage_resistance_%] >= "25" 

    Ex 2. Ok
    [Category] == "Chest" && ([Rarity] == "Magic" || [Rarity] == "Rare") # [stashItem] == "true" && [base_maximum_life] >= "60" && [base_cold_damage_resistance_%] >= "25" && [base_fire_damage_resistance_%] >= "25" 


    * Flags that can be used are : [stashItem] == "true", [sellItem] == "true", [sellUnid] == "true" and can not be false


    * The bot evaluate all pickit lines and Stash have priority over Sell.






     
    Remember Exiledbot still beta, there will be bugs. 
     
     
     
     
    Gracias.

    • Upvote 6

  7. I used poe auto flask to get the coords I need. But Clarissa only hits purchase, no matter what coords I put in. I even put in a few outrageous ones to test. x offset changes when I alter and save. But y does not.

    I think you need close the bot client, edit the file, save and reopen the bot client again.


  8. You should try use

    IniWrite, Value, Filename, Section, Key

    switchZone()
    {
    	global
    	if (_game > _gamesToSwitch)	
    	{
    		if _actualZone = 2	
    		{
    			;~ IniRead, aZone, %A_WorkingDir%\Exiled Bot Alpha v0.6\Configuration\config.ini, general, zone_to_clean
    			IniWrite, %_zone_to_clean1%, %A_WorkingDir%\Configuration\config.ini, general, zone_to_clean
    			IniWrite, %_zone_to_clean_act1%, %A_WorkingDir%\Configuration\config.ini, general, zone_to_clean_act
    			IniWrite, %_zone_to_clean_difficulty1%, %A_WorkingDir%\Configuration\config.ini, general, zone_to_clean_difficulty			
    			_actualZone := 1
    			writeLog("Bot Zone Changed Zone 1...",1)
    		}
    		else
    		{
    			IniWrite, %_zone_to_clean2%, %A_WorkingDir%\Configuration\config.ini, general, zone_to_clean
    			IniWrite, %_zone_to_clean_act2%, %A_WorkingDir%\Configuration\config.ini, general, zone_to_clean_act
    			IniWrite, %_zone_to_clean_difficulty2%, %A_WorkingDir%\Configuration\config.ini, general, zone_to_clean_difficulty						
    			_actualZone := 2
    			writeLog("Bot Zone Changed Zone 2...",1)
    		}
    		
    	}
    	
    	;~ Send {F11}
    	
    	sleep 2000
    
    	return	
    }
    
×
×
  • Create New...