Blue Eye Logo

Blue Eye Macro

Automation is freedom
It is currently Fri Nov 22, 2024 3:47 am

All times are UTC




Post new topic Reply to topic  [ 92 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 10  Next
Author Message
 Post subject: Re: Perfect Bot v1.1
Thanked: 0 time(s)  Unread post Posted: Fri Jan 28, 2011 8:04 am 
Active User
Active User



Joined: Thu Feb 11, 2010 4:36 pm
Posts: 38
Been thanked: 0 time(s)
Has thanked: 3 time(s)
Contribution Points: 652
Comprehensive work - respect.


Top
 Profile  
Reply with quote  
 Post subject: Re: Perfect Bot v1.1
Thanked: 0 time(s)  Unread post Posted: Fri Jan 28, 2011 11:07 am 
Partner / Developer
Partner / Developer
User avatar



Joined: Mon Jan 18, 2010 11:51 am
Posts: 4525
Been thanked: 1346 time(s)
Has thanked: 133 time(s)
Contribution Points: 33209
Thank you.

I will work on support for using potions tonight, and make it an option.

The bot will still work just fine without any potions, but you will be able to lvl faster if you spent less time meditating, and more money on potions.

_________________
Blue Eye - Developer / Moderator
Code:
Gigus


Please read the rules about contribution points - click here

Do you know everything about BE, the forum, licenses and contribution points?
Please take a minute to read this introduction & guidelines.


Top
 Profile  
Reply with quote  
 Post subject: Re: Perfect Bot v1.2
Thanked: 0 time(s)  Unread post Posted: Sat Jan 29, 2011 12:36 pm 
Partner / Developer
Partner / Developer
User avatar



Joined: Mon Jan 18, 2010 11:51 am
Posts: 4525
Been thanked: 1346 time(s)
Has thanked: 133 time(s)
Contribution Points: 33209
Updated the bot to version 1.2.

It will now support the use of potions.

Inside the macro you can specify at which HP/MP levels potions should be used.
If you set rather high percentages, the bot will use potions instead of meditation, to level faster, but you will need to spent more money on potions.

Also a timer has been added, allowing you to specify for how long to keep hunting before warping to town and abort the macro (useful to make sure the bot will stop when you are running out of durability on your weapon/armor)

A simulated human pause has been inserted, and you are able to specify how often it should occur.
What it does is insert a random pause after killing a monster, between 2,5 and 7 seconds.
The percentage you specify indicates how often this pause should be carried out. (100 = pause between each monster, 5 = 5% chance of the bot pausing after killing a monster)

Other minor optimizations have also been made, to make the bot more fail-safe and appear less bot-like.

The updated version is now available in the repository.

Enjoy :)

_________________
Blue Eye - Developer / Moderator
Code:
Gigus


Please read the rules about contribution points - click here

Do you know everything about BE, the forum, licenses and contribution points?
Please take a minute to read this introduction & guidelines.


Top
 Profile  
Reply with quote  
 Post subject: Re: Perfect Bot v1.2
Thanked: 0 time(s)  Unread post Posted: Sun Jan 30, 2011 12:08 pm 
Lifetime VIP Contributor
Lifetime VIP Contributor
User avatar



Joined: Sat Apr 24, 2010 12:51 pm
Posts: 355
Location: Tallinn
Been thanked: 18 time(s)
Has thanked: 1 time(s)
Contribution Points: 4647
Executing: Variable.Decrement (Math)(Variable name: lvl)
Error: A variable called lvl, does not exist
Checking if: Variable.Is less than (Math)(Variable name: lvl, Value: 0)
Error: A variable called lvl, does not exist
Executing: Variable.Evaluate (Text)(Expression: :{lvl}: ([0-9]+) ([0-9]+) ([0-9]+) ([0-9]+), To variable: pattern)
Error: The following expression could not be evaluated: :{lvl}: ([0-9]+) ([0-9]+) ([0-9]+) ([0-9]+) (parsed as: :{lvl}: ([0-9]+) ([0-9]+) ([0-9]+) ([0-9]+))
Checking if: Variable.Is match (Regex)(Variable name: paths, Regex pattern: {pattern})
Result: No

ahem, it wont find the memory value for me?

_________________
Full time IT student/worker - BE showed me the way, so may the code be with you all!
Image


Top
 Profile  
Reply with quote  
 Post subject: Re: Perfect Bot v1.2
Thanked: 0 time(s)  Unread post Posted: Sun Jan 30, 2011 1:17 pm 
Partner / Developer
Partner / Developer
User avatar



Joined: Mon Jan 18, 2010 11:51 am
Posts: 4525
Been thanked: 1346 time(s)
Has thanked: 133 time(s)
Contribution Points: 33209
Did you get any errors before this point? like "Failed calculating memory pointer for....." etc?
And what version of Windows are you running?

_________________
Blue Eye - Developer / Moderator
Code:
Gigus


Please read the rules about contribution points - click here

Do you know everything about BE, the forum, licenses and contribution points?
Please take a minute to read this introduction & guidelines.


Top
 Profile  
Reply with quote  
 Post subject: Re: Perfect Bot v1.2
Thanked: 0 time(s)  Unread post Posted: Sun Jan 30, 2011 1:32 pm 
Lifetime VIP Contributor
Lifetime VIP Contributor
User avatar



Joined: Sat Apr 24, 2010 12:51 pm
Posts: 355
Location: Tallinn
Been thanked: 18 time(s)
Has thanked: 1 time(s)
Contribution Points: 4647
nothing, this is the only error in log, repeating itself

_________________
Full time IT student/worker - BE showed me the way, so may the code be with you all!
Image


Top
 Profile  
Reply with quote  
 Post subject: Re: Perfect Bot v1.2
Thanked: 0 time(s)  Unread post Posted: Sun Jan 30, 2011 1:35 pm 
Partner / Developer
Partner / Developer
User avatar



Joined: Mon Jan 18, 2010 11:51 am
Posts: 4525
Been thanked: 1346 time(s)
Has thanked: 133 time(s)
Contribution Points: 33209
I will post a new version of the bot in 10 minutes, and then Ill also submit a memory pointer tester macro to the repository, use that to verify all memory pointers please.

_________________
Blue Eye - Developer / Moderator
Code:
Gigus


Please read the rules about contribution points - click here

Do you know everything about BE, the forum, licenses and contribution points?
Please take a minute to read this introduction & guidelines.


Top
 Profile  
Reply with quote  
 Post subject: Re: Perfect Bot v1.3
Thanked: 0 time(s)  Unread post Posted: Sun Jan 30, 2011 2:34 pm 
Partner / Developer
Partner / Developer
User avatar



Joined: Mon Jan 18, 2010 11:51 am
Posts: 4525
Been thanked: 1346 time(s)
Has thanked: 133 time(s)
Contribution Points: 33209
I have created a Memory pointer tester and submitted it to the repository, please give it a try, to test the memory pointers on your system.

This is what the code looks like for the macro:
(The top part is just a copy of the hunting macro, as it is the pointers from that macro we are testing here)
Code:
 begin
     // Settings:
     Variable.Set("processName", "elementclient")
     Variable.Set("windowName", "Element Client")
     // Store memory addresses / window name in variables, to make it easier to update if the memory addresses change with a game update
     Variable.Set("maxHPMemoryAddress", "elementclient.exe+65BFCC,20,4b4")
     Variable.Set("maxMPMemoryAddress", "elementclient.exe+65BFCC,20,4b8")
     Variable.Set("currentHPMemoryAddress", "elementclient.exe+65BFCC,20,474")
     Variable.Set("currentMPMemoryAddress", "elementclient.exe+65BFCC,20,478")
     Variable.Set("currentLevelMemoryAddress", "elementclient.exe+65BFCC,20,46c")
     Variable.Set("currentLocationXMemoryAddress", "elementclient.exe+65bfcc,20,384,3c")
     Variable.Set("currentLocationYMemoryAddress", "elementclient.exe+65bfcc,20,384,44")
     Variable.Set("currentLocationHeightMemoryAddress", "elementclient.exe+65bfcc,20,384,40")
     Variable.Set("hasTargetMemoryAddress", "elementclient.exe+65BFCC,20,1088,38")
     Variable.Set("topMostDialogLocationXMemoryAddress", "elementclient.exe+0065BFCC,4,8,70,98")
     Variable.Set("topMostDialogLocationYMemoryAddress", "elementclient.exe+0065BFCC,4,8,70,9c")
     Variable.Set("deathDialogLocationXMemoryAddress", "elementclient.exe+0065BFCC,4,8,4a0,98")
     Variable.Set("deathDialogLocationYMemoryAddress", "elementclient.exe+0065BFCC,4,8,4a0,9c")
     Variable.Set("reachDestinationCheckBoxMemoryAddress", "elementclient.exe+65BFE4,270,2bc,1f0,119")
     Variable.Set("windowActiveMemoryAddress", "elementclient.exe+65B90C,48c")
     // Test all of them
     Window.Display message box("Please make sure Perfect World is running, and your logged in. Press ok to begin", "yes")
     Memory.Get value("{processName}", "{currentHPMemoryAddress}", "4", "currentHP")
     Function.Execute("Check errors")
     Memory.Get value("{processName}", "{maxHPMemoryAddress}", "4", "maxHP")
     Function.Execute("Check errors")
     Memory.Get value("{processName}", "{currentMPMemoryAddress}", "4", "currentMP")
     Function.Execute("Check errors")
     Memory.Get value("{processName}", "{maxMPMemoryAddress}", "4", "maxMP")
     Function.Execute("Check errors")
     Memory.Get value("{processName}", "{currentLevelMemoryAddress}", "4", "lvl")
     Function.Execute("Check errors")
     Function.Execute("Get player location")
     Variable.Evaluate (Text)("Level: {lvl}, HP: {currentHP}/{maxHP}, MP: {currentMP}/{maxMP}, Location: X:{x}, Y:{y}, Z:{z}", "output")
     Function.Execute("Check errors")
     Window.Display message box("{output}", "yes")
     if  Memory.Value is("{processName}", "{hasTargetMemoryAddress}", "1", "1")
          begin
               Window.Display message box("You currently have a monster, player or npc targeted", "yes")
          end
     Function.Execute("Check errors")
     if  Memory.Value is("{processName}", "{hasTargetMemoryAddress}", "1", "0")
          begin
               Window.Display message box("You do not have a target", "yes")
          end
     Function.Execute("Check errors")
     if  Memory.Value is("{processName}", "{windowActiveMemoryAddress}", "1", "0")
          begin
               Window.Display message box("The game window is currently not the active window", "yes")
          end
     Function.Execute("Check errors")
     if  Memory.Value is("{processName}", "{windowActiveMemoryAddress}", "1", "1")
          begin
               Window.Display message box("The game window is currently the active window", "yes")
          end
     Function.Execute("Check errors")
     if  Memory.Value is("{processName}", "{reachDestinationCheckBoxMemoryAddress}", "1", "0")
          begin
               Window.Display message box("'Reach Destination' is currently disabled for the coordinates assistant", "yes")
          end
     Function.Execute("Check errors")
     if  Memory.Value is("{processName}", "{reachDestinationCheckBoxMemoryAddress}", "1", "1")
          begin
               Window.Display message box("'Reach Destination' is currently enabled for the coordinates assistant", "yes")
          end
     Function.Execute("Check errors")
     Memory.Get value("{processName}", "{topMostDialogLocationXMemoryAddress}", "4", "topMostX")
     Function.Execute("Check errors")
     Memory.Get value("{processName}", "{topMostDialogLocationYMemoryAddress}", "4", "topMostY")
     Function.Execute("Check errors")
     Variable.Evaluate (Text)("The current top most dialog inside the game is located at: X:{topMostX}, Y:{topMostY}", "output2")
     Function.Execute("Check errors")
     Window.Display message box("{output2}", "yes")
     Memory.Get value("{processName}", "{deathDialogLocationXMemoryAddress}", "4", "deathDialogX")
     Function.Execute("Check errors")
     Memory.Get value("{processName}", "{deathDialogLocationYMemoryAddress}", "4", "deathDialogY")
     Function.Execute("Check errors")
     Variable.Evaluate (Text)("The 'You are dead' dialog is currently located at: X:{deathDialogX}, Y:{deathDialogY}", "output3")
     Function.Execute("Check errors")
     Window.Display message box("{output3}", "yes")
 end

function("Check errors")
     if  Macro.Any errors occurred()
          begin
               Macro.Get last error("errorMsg")
               Variable.Evaluate (Text)("The following error occured (For help, go to www.blueeye-macro.com): {errorMsg}", "errorOutput")
               Window.Display message box("{errorOutput}", "yes")
               Macro.Reset error has occured()
          end
function

function("Get player location")
     begin
          // Get our current location
          Memory.Get value("{processName}", "{currentLocationXMemoryAddress}", "float", "x")
          Function.Execute("Check errors")
          Variable.Evaluate (Math)("401+({x}/10)", "x")
          Function.Execute("Check errors")
          Memory.Get value("{processName}", "{currentLocationYMemoryAddress}", "float", "y")
          Function.Execute("Check errors")
          Variable.Evaluate (Math)("551+({y}/10)", "y")
          Function.Execute("Check errors")
          Memory.Get value("{processName}", "{currentLocationHeightMemoryAddress}", "float", "z")
          Function.Execute("Check errors")
          Variable.Divide (Math)("z", "10")
          Variable.Round (Math)("x", "1")
          Variable.Round (Math)("y", "1")
          Variable.Round (Math)("z", "1")
     end
function
 

_________________
Blue Eye - Developer / Moderator
Code:
Gigus


Please read the rules about contribution points - click here

Do you know everything about BE, the forum, licenses and contribution points?
Please take a minute to read this introduction & guidelines.


Top
 Profile  
Reply with quote  
 Post subject: Re: Perfect Bot v1.3
Thanked: 0 time(s)  Unread post Posted: Sun Jan 30, 2011 2:43 pm 
Partner / Developer
Partner / Developer
User avatar



Joined: Mon Jan 18, 2010 11:51 am
Posts: 4525
Been thanked: 1346 time(s)
Has thanked: 133 time(s)
Contribution Points: 33209
I updated the macro to version 1.3.

It will now prioritize healing more, and allow the bot to heal more than once if necessary.
Fixed a bug when aborting meditation.

Added options to automatically use town portal and abort macro after a specified amount of time, useful if you only want the bot to run for an hour etc. or if you know your durability will only last for a couple of hours, and the monsters you are grinding are too tough to handle without.

Made healing occur before looting, and postpone looting, if another monster attacks you in the meanwhile.

If the bot targets a monster on a cliff, and the monster is unable to get to you, you will be unable to kill it, the bot will now automatically give up after 1 minute, and seek another target.

The "Coordinates Assistant" window will no longer be moved automatically, due to some problems when you have been clicking around inside the game.
Therefore it is important that before running the macro for the first time, manually open the coordinates assistant, and move the window to the top left corner.
You can then close the dialog again, and your ready to go.

The location of the window will be saved, and automatically be set to this location the next time you launch the game, so you will only need to do this once.

Example:
Attachment:
coordinatesAssistant.png
coordinatesAssistant.png [ 767.88 KiB | Viewed 2835 times ]


Enjoy :)

_________________
Blue Eye - Developer / Moderator
Code:
Gigus


Please read the rules about contribution points - click here

Do you know everything about BE, the forum, licenses and contribution points?
Please take a minute to read this introduction & guidelines.


Top
 Profile  
Reply with quote  
 Post subject: Re: Perfect Bot v1.3
Thanked: 0 time(s)  Unread post Posted: Sun Jan 30, 2011 4:52 pm 
Lifetime VIP Contributor
Lifetime VIP Contributor
User avatar



Joined: Sat Apr 24, 2010 12:51 pm
Posts: 355
Location: Tallinn
Been thanked: 18 time(s)
Has thanked: 1 time(s)
Contribution Points: 4647
something like this all the way with each line i think:

Error: Calculating pointer for process elementclient, at address elementclient.exe+65BFCC,20,4b4, with byte length of 4 failed
Error: Calculating pointer for process elementclient, at address elementclient.exe+65BFE4,270,2bc,1f0,119, with byte length of 1 failed


etc, some other also with some variables without value :|

_________________
Full time IT student/worker - BE showed me the way, so may the code be with you all!
Image


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 92 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 10  Next

All times are UTC


You cannot post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group