My BOT Contribution...

02/15/2012 12:08 Chami#511
why i cant run it :( it just stuck after i start the bot :(
02/15/2012 13:08 karraksc#512
Quote:
Originally Posted by Hyflex View Post
karraksc, Would it be possible for a copy of the source as I'm wanting to chance a few things and test out some thing (Both the correct source for hellfire and starter.

Also, do you know why every like 2 hours Hellfire.exe crashes
That's the main purpose of Starter, to monitor the status of Hellfire and Hero, to see if they get hung or disconnected. If either do, Starter shuts them down and restarts them back in the last working condition. If you were hunting, you start back hunting again as soon as the game is loaded. It's still a work in progress, so I haven't figured out all the quirks yet but I'm getting there 8^D

As for the complete source, not possible with the current version. Too many things I'm still developing that are not completed yet. Post some of your working designs and I'll see if I can send you sections that might help with your development, or suggestions on working around things you might be having trouble with. What you discover as you work on your design can prove interesting.

The biggest help I got on getting this working have come from Schlat, Chami, Shishi, Ax5 and others tossing ideas around in here, and finding solutions from there. Seeing how their ideas worked and looking for solutions to ones that didn't work. That's the fun of learning, and the challenge.

Quote:
Originally Posted by Chami View Post
why i cant run it :( it just stuck after i start the bot :(
Look in the bot directory for a file called STARTING.FLG. If it's there, close down the Starter app and restart it. When it starts, it cleans up any of the progress flags (*.FLG files) it finds. I'm working on making a walk-thru showing how the Starter works and how to setup/use Hellfire.

The Starter idea is still being developed, so it does have quirks 8^D But I'm working on smoothing them out.
02/15/2012 19:41 Hyflex#513
I understood that was supposed to be the main purpose of Starter but for me it doesn't restart it's hanging with a "Don't Send" popup (windows 7) next time it comes up im just going to make another autoit macro to automatically close it as an extra backup.

I can't try and get what I want working without the full source, I've spoken to Ax5 about a few things regarding multi-botting and the main thing is it needs to be able to do is distinquish between hero.exe (instance one) and hero.exe (instance two)

I've got 80% of the source for Starter.exe apart from the GUI details (reverse engineering it), Your source is safe with me just look my first post was a contribution all be it only minor and a pretty simple macro.
02/15/2012 20:32 Chami#514
ok i can run it but why dont the bot spam the skills? 1 skill every 10 sec or so :/...
02/15/2012 20:53 Hyflex#515
I've been observing the bot and I am pretty sure that sure multiple threads would improve the bot dramatically but it's based in AutoIt so it can only do one thread at a time...

If you had lets say five executables running at the same time monitoring and doing four different parts of the bot it would be much more fluid and stable (safer for the character and faster)

1) Attacking & Skills
2) Life and chi
3) boxes
4) auto answer
5) other/misc
02/15/2012 21:39 karraksc#516
Quote:
Originally Posted by Hyflex View Post
I understood that was supposed to be the main purpose of Starter but for me it doesn't restart it's hanging with a "Don't Send" popup (windows 7) next time it comes up im just going to make another autoit macro to automatically close it as an extra backup.

I can't try and get what I want working without the full source, I've spoken to Ax5 about a few things regarding multi-botting and the main thing is it needs to be able to do is distinquish between hero.exe (instance one) and hero.exe (instance two)

I've got 80% of the source for Starter.exe apart from the GUI details (reverse engineering it), Your source is safe with me just look my first post was a contribution all be it only minor and a pretty simple macro.
an easy way is to rename the caption of each Hero as it is being started, like "Hero OnLine 01" and "Hero Online 02". Then have one bot run "01" and the other "02"

I've added in a routine to the Starter to handle the "Don't Send" problem, as well as hiding the password. I had it visible while testing and hadn't added in the "hide" char yet. The new Starter will be put up for download this evening.
02/15/2012 21:50 Hyflex#517
The starter looks at "Hero.exe" though for the memory hooks (I guess that is what it's doing) and I don't think renaming the captions will work because the anti-protection will close the bot.

I was running the following to get around the issue of the starter:
Code:
While 1
If WinExists("Hellfire Bot Program", "Close the program") Then
WinActivate("Hellfire Bot Program")
WinWaitActive("Hellfire Bot Program", "", 5)
If WinActive("Hellfire Bot Program") Then
ControlClick("Hellfire Bot Program", "Close the program", "[CLASS:Button; INSTANCE:1]")
EndIf
EndIf
Sleep(100)
WEnd
Good work as per usual :) keep it up.
02/15/2012 22:45 karraksc#518
Quote:
Originally Posted by Hyflex View Post
I've been observing the bot and I am pretty sure that sure multiple threads would improve the bot dramatically but it's based in AutoIt so it can only do one thread at a time...

If you had lets say five executables running at the same time monitoring and doing four different parts of the bot it would be much more fluid and stable (safer for the character and faster)

1) Attacking & Skills
2) Life and chi
3) boxes
4) auto answer
5) other/misc
Starter.exe (single-thread) since it is a simple login and monitor app. Hellfire2.exe (6-threads) does a lot behind the scenes, too much for a single-thread app to handle. Right now, it runs based on interrupts tho I'm changing it over to run off of events. Starter and Hellfire2 are both written in Delphi.

AutoIt can do multi-threads, I only use it to test out ideas before putting them into code in Delphi. Look at the CoProc.au3 unit, as a good example.

Quote:
Originally Posted by Hyflex View Post
The starter looks at "Hero.exe" though for the memory hooks (I guess that is what it's doing) and I don't think renaming the captions will work because the anti-protection will close the bot.

I was running the following to get around the issue of the starter:
Code:
While 1
If WinExists("Hellfire Bot Program", "Close the program") Then
WinActivate("Hellfire Bot Program")
WinWaitActive("Hellfire Bot Program", "", 5)
If WinActive("Hellfire Bot Program") Then
ControlClick("Hellfire Bot Program", "Close the program", "[CLASS:Button; INSTANCE:1]")
EndIf
EndIf
Sleep(100)
WEnd
Good work as per usual :) keep it up.
About right on the steps of the process but is handled by one line in Delphi in Starter. I don't need to monitor the window active status, or fuss with clicking on buttons, only check to see if the app is hung or errored out.
02/16/2012 12:02 Hyflex#519
I see, I was wondering why you was running Delphi and Autoit.

If you did rename the window titles upon launch to 01/02 and then use their window name to get the processid then hook into each individual process it would work good. I don't think it would be all that hard to do.
02/17/2012 06:51 karraksc#520
Quote:
Originally Posted by Hyflex View Post
I see, I was wondering why you was running Delphi and Autoit.

If you did rename the window titles upon launch to 01/02 and then use their window name to get the processid then hook into each individual process it would work good. I don't think it would be all that hard to do.
I use Delphi because it can work with picklists easier than AutoIt, has more flexability in GUI design and does multi-threading/pointers easier. Plus, it can create DLL resource and program code units for faster running. CheatEngine is also coded in Delphi and I have included some of it's code and features into the bot to handle the memory pointers easily.

AutoIt has it's advantages as well, especially when I'm testing out ideas. I can lay out ideas quickly and test how they work easily. Once I get it working smoothly in AutoIt, I can easily code the same routine into Delphi. Working with nested pointer calls takes extra steps in AutoIt that is easier/quicker to code in Delphi. And I have easy access to the AutoItX.DLL routines if I still need to use them.
02/19/2012 18:30 ax5#521
Quote:
Originally Posted by karraksc View Post
I use Delphi because it can work with picklists easier than AutoIt, has more flexability in GUI design and does multi-threading/pointers easier. Plus, it can create DLL resource and program code units for faster running. CheatEngine is also coded in Delphi and I have included some of it's code and features into the bot to handle the memory pointers easily.

AutoIt has it's advantages as well, especially when I'm testing out ideas. I can lay out ideas quickly and test how they work easily. Once I get it working smoothly in AutoIt, I can easily code the same routine into Delphi. Working with nested pointer calls takes extra steps in AutoIt that is easier/quicker to code in Delphi. And I have easy access to the AutoItX.DLL routines if I still need to use them.
Mate could you send me over some Pointers of the HP & Chi and stuff iam going to work with a new project for hero.

Best AX5
03/07/2012 06:20 DavidDj4#522
when you use the bot , when the inventory is full why does the bot stop? can't it keep boting and pick up stuff while the inventory is full?
03/07/2012 06:55 karraksc#523
Quote:
Originally Posted by DavidDj4 View Post
when you use the bot , when the inventory is full why does the bot stop? can't it keep boting and pick up stuff while the inventory is full?
If you have Charms of Return on the skilbar (F1-equals) it will send you to a safe spot so you can sell the items. I haven't finished the inventory routines yet so I haven't turned them on. When I do, the bot will save the items you mark to save, sell the rest to an NPC and then refill your pots.

If you have no open slots in your inventory, the bot can only pick up stackable items (health/chi pots, food, gems, etc)
03/07/2012 17:03 Hyflex#524
Quote:
Originally Posted by karraksc View Post
If you have Charms of Return on the skilbar (F1-equals) it will send you to a safe spot so you can sell the items. I haven't finished the inventory routines yet so I haven't turned them on. When I do, the bot will save the items you mark to save, sell the rest to an NPC and then refill your pots.

If you have no open slots in your inventory, the bot can only pick up stackable items (health/chi pots, food, gems, etc)
When that's done it will be pretty awesome, by the way have you been able to get the version i mentioned to you about near beta? Would be a great tool (especially if it can work even when window is minimised)
03/09/2012 02:40 karraksc#525
Quote:
Originally Posted by Hyflex View Post
When that's done it will be pretty awesome, by the way have you been able to get the version i mentioned to you about near beta? Would be a great tool (especially if it can work even when window is minimised)
I'm having a few quirks with Dbase files using XE2, so I'm debating whether to write a new component for it or switch to a different database type for storage. Maybe SQLite or something like that.