ok so im making a bot.. i need help from an advanced programmer/ gamecode hacker.

06/14/2009 09:45 Drakonis#1
things done so far:
-Runs up to 5 bots on 1 computer
-alarm/shutdown on death of any party member
-alarm/shutdown on server disconnection
-targeting elemental mobs only
-targeting non elemental mobs only

things to do:
-inventory cleanup(for unique farming)
-FULL SUMMONS/TRAPS support

what i need from epvpers:
I need some1 to do for me/tell me if its possible to change game code so lets say:
- it recognizes summons/ranger traps as Npc/players so it does NOT target them while TAB targeting.

if yes. how do i do that or can you do the modification for me. i guess it has to do something with ini file.
06/14/2009 11:18 rantottmacska#2
Quote:
Originally Posted by Drakonis View Post
things done so far:
-Runs up to 5 bots on 1 computer
-alarm/shutdown on death of any party member
-alarm/shutdown on server disconnection
-targeting elemental mobs only
-targeting non elemental mobs only

things to do:
-inventory cleanup(for unique farming)
-FULL SUMMONS/TRAPS support

what i need from epvpers:
I need some1 to do for me/tell me if its possible to change game code so lets say:
- it recognizes summons/ranger traps as Npc/players so it does NOT target them while TAB targeting.

if yes. how do i do that or can you do the modification for me. i guess it has to do something with ini file.
First, the 5 bot in one computer's not the pefect option... just calculate the game requirements x 5, and if thats not a problem, just look you internet connection. I was run 7 clients in 3 machines and thats eats almost all my upload speed, i have an 8mbit/512kbit internetconn.
Second, yes that possible to recognize anything in the screen. Ifyou use NORMAL programming language (not that macrosh!tz) e.g. C++,VB,etc. you can scan the screen and looking after what is where in it. (Thats depends on color information, this is specific in every language, but all of them have a picture recognizer module)
If i do this first i search/write a code whats makes strings from picture with any colors, then i compare that strings echother.
After you have a string, you can easily select the correct target with a case of encapsulated if-s.
And yes the perfect method if you editing the packeges while you use the bot, for example to makes your equiptment always good, (itsy-bitsy bug :D).
However you can make the sell function, but my advice is you: use that same screen-scanning method what i wrote up. Just imagine: if you drop 2 reinfpotions, then go back and sells for the merchant... thats not too good business :)
06/14/2009 11:37 Drakonis#3
yes archlord is a memory leak if multiplied. BUT it easly handles 3 clients on my 1024mm ddr1 ram. also it easly handles 5 archlord clients on 512kb speed wireless connection without any lag(excluding weekends)

about the cleanup part- im using pixel detection to detect for unique ring like shuta in 4 pack. that way all the stones and reinforcements are stored in 1-3 and 4 get cleaned up from noob items not risking of deleting unique. also selling could be a suck option as gold is worth nothing.. why would any1 sell anything to npc ;]


about the targeting- i have no idea what ur talking about ;d to be honest method u mentioned would propably include bmp detection which would take heaps of memory.
i made it retarget on every mob/summon/trap back to the mob of your desire in matter of 10miliseconds but that still can be improved.
i would like to move summons to npc section in ini files so they would be never targeted by tab.


but, you seems resonable- can u explain more about this string method or maybe send me an example how it works? can u send me the screen scanning method?
06/14/2009 12:27 _Emme_#4
First, log the summons ID's. Here's one example of the summon 'Silver' (It's real)

Quote:
542 Silver 196612 46 214 157 149 174 114 20 3775 815 872 2000 7000 126 71 217 228 36 1500 50 50 50 50 0 50 50 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 233 257 1800 0.69 5.00 0.69 3.00 7 0 1.17 1.1
Then do a foreach loop, example:

Quote:
foreach (Monster Mob in SurroundingMonsters(thisCharacter,25)) // 25 is the range, it's a good range
{
if (Mob.ID !=542) // The silver summon ID
SendPacket(TargetMob(Mob));
else
return;
}
Hope you get what I mean. So, you will have to log all the mob IDs (I have them if you want em quickly), log the packet being sent to the client if you target a mob, that should be fairly easy. So, when you send the packet it will target the mob which will be client sided but I THINK that targetting mob with TAB is client sided. Anyhow, goodluck=P


Emme
06/14/2009 12:50 Drakonis#5
Quote:
Originally Posted by EmmeTheCoder View Post
First, log the summons ID's. Here's one example of the summon 'Silver' (It's real)



Then do a foreach loop, example:



Hope you get what I mean. So, you will have to log all the mob IDs (I have them if you want em quickly), log the packet being sent to the client if you target a mob, that should be fairly easy. So, when you send the packet it will target the mob which will be client sided but I THINK that targetting mob with TAB is client sided. Anyhow, goodluck=P


Emme
yes know what u on about.. but wouldnt that include running wpe for each archlord client?
also um it would involve getting mob id and changing these every time u change spot/mobs u farm ;d.

but your solution is good i just need to know if it would require running wpe for each client like i said.

ps. can u send me the ID's? id be gratefull
06/14/2009 16:23 claviculae#6
First off, sry but I don't know any scripting lang so I can't give u any help, but if I may, I would like to comment on your bot.

Quote:
Originally Posted by Drakonis View Post
things done so far:
-Runs up to 5 bots on 1 computer
-alarm/shutdown on death of any party member
-alarm/shutdown on server disconnection
-targeting elemental mobs only
-targeting non elemental mobs only

things to do:
-inventory cleanup(for unique farming)
-FULL SUMMONS/TRAPS support
...
As I can see (if there is no bug and these works) you have done a great job so far. Just like the guy in the post before me said, you shouldn't bother making like 5 bots in same time, I dout it anyone would go more than 3 and that is keep 1 playing and 2 others cheers. Making possible for 2-3 bots might be useful and I think ppl might use it.
The support for recog. summons its great, since everytime I used to bot, there had to be a n0b ruuning around with his summons and that really annoyed me, hope you manage to do this right.
Inventory clean up, I think, will consume you alot of time to make it perfect. If you can manage to make auto delete all the stuff non stackable (except unique acc. ofc xD) that would be awesome.

I hope you get what ur looking for. Good luck and hf,

Clav
06/14/2009 17:24 _Villain_#7
Quote:
Originally Posted by Drakonis View Post
yes know what u on about.. but wouldnt that include running wpe for each archlord client?
also um it would involve getting mob id and changing these every time u change spot/mobs u farm ;d.

but your solution is good i just need to know if it would require running wpe for each client like i said.

ps. can u send me the ID's? id be gratefull
i'm still not sure how this game works (the encryption -decryption of packets....) so without correctly encrypting the data the packet would be useless.

(( but in general )) if u want an easy way to send packets, you can use WinPCap library which has a C# counterpart called SharpPcap, u can find it at:
[Only registered and activated users can see links. Click Here To Register...]
Code:
PcapDevice currentDevice;
currentDevice = (PcapDevice)comboBoxDeviceList.SelectedItem;
            if (currentDevice == null)
            {
                Console.WriteLine("choose a device first");
                return;
            }
            currentDevice.OnPacketArrival += new Pcap.PacketArrivalEvent(currentDevice_OnPacketArrival);
            currentDevice.Open(true, 1000);
            String filter = "tcp";
            currentDevice.SetFilter(filter);
            currentDevice.StartCapture();
.
.
.
           byte[] bytes = GetPacket();
            try
            {
               //encrypt the data section of the packet
               currentDevice.SendPacket( bytes );
            }
            catch(Exception e)
            {
                //exception
            }
            finally{
            }
 
              
            .
            .
            .
//close device when done
 currentDevice.StopCapture();
 currentDevice.Close();
.
.
.
PSharpPcap is easy and straigh forward to use with simple tutorial(u can build a network analyzer in a matter of few hours (days to make it perfect)) u can sent packter which u create and receive packets too (but unfortunately u cant modify these packets in this library)
06/14/2009 20:00 rantottmacska#8
Umm, yes the other methods is better whats uses sniffing packets, but i don't have too much time, so i wrote down one of my WoW bot's works. I don't use C# atm, now my team uses java with injection codes. Btw I'll write down the samplecodes with tut if you're needs still, but I'll need to finish my exams first. :)
The teacher's killin me (softly...). lol...
GL ;)
06/14/2009 20:20 Fir3andIc3#9
Quote:
Originally Posted by Drakonis View Post
yes know what u on about.. but wouldnt that include running wpe for each archlord client?
also um it would involve getting mob id and changing these every time u change spot/mobs u farm ;d.

but your solution is good i just need to know if it would require running wpe for each client like i said.

ps. can u send me the ID's? id be gratefull
Here ist a list with the ID's.
06/14/2009 21:04 Palmatex#10
I dont know any programing language, but why u want to use packets? I think ReadProcessMemory is better. I use this in autohotkey and work perfect. And u only need to find pointers.
06/15/2009 08:24 Drakonis#11
ok guys. just to be clear. with the bot you can run any ammount of botting clients up to 5... also its allready done so its kinda pointless saying to me that i shouldnt bother ;p

about full elemental support. its also done and work wery wery good. i mean it will retarget unwanted mob in matter of miniseconds untill it finds the right mobs. its pixel detection based and does not take memory space so i think i could leave it that way. i was just thinking what if a 5 people party summon 6 lighting traps, 2 skeletons, and 2 elemental- retargeting to the right mobs would take over half second which could prevent you from casting 1 skill. i just wanna make it as perfect as possible.

Ps. looking to do autotalk function now. i think this 1 should be made by packets to not interferee with botting- unless i set it to pause bot while typing. any suggestions on that?


ps2. after i get back from the ... ill release separate summons support module. it should work with any existing bot. stay tuned
06/15/2009 12:15 _Emme_#12
Quote:
Originally Posted by Drakonis View Post
ok guys. just to be clear. with the bot you can run any ammount of botting clients up to 5... also its allready done so its kinda pointless saying to me that i shouldnt bother ;p

about full elemental support. its also done and work wery wery good. i mean it will retarget unwanted mob in matter of miniseconds untill it finds the right mobs. its pixel detection based and does not take memory space so i think i could leave it that way. i was just thinking what if a 5 people party summon 6 lighting traps, 2 skeletons, and 2 elemental- retargeting to the right mobs would take over half second which could prevent you from casting 1 skill. i just wanna make it as perfect as possible.

Ps. looking to do autotalk function now. i think this 1 should be made by packets to not interferee with botting- unless i set it to pause bot while typing. any suggestions on that?


ps2. after i get back from the ... ill release separate summons support module. it should work with any existing bot. stay tuned

PM me the sourcecode and I'll look it over, see if I can improve anything.
06/15/2009 15:33 Drakonis#13
sent to emme for possible improvement.
06/15/2009 20:22 Newbb#14
hmm, im back just to give u my opinion on this,

i REALY like the idea, but if u want to keep the bot running for a long while(unique hunting) it might be smart to add a weapon switch when weapon almost gets destroyed..

also, the destoryer thing i like to since it will help bad with the problem of full inf when botting for uniques..

but remember, some prayer stones are worth A LOT, it would be a shame to destroy those.

and another problem, when hunting for a shuta or other unique >30, u have the problem of leveling and getting pk'ed, so might be usefull when ur like lvl 29 and 95% the bot goes and kill itself for like 20 times and ur 0% again..

lots of ideas, just dont know if it can be done, since i dont have anny programming knowledge..

if u need anny testers pm me, i got 3 laptops atm^^
06/15/2009 22:03 Fir3andIc3#15
The most important thing of a bot is a working GM protection ^^

Maybe by search ID or memory.. not realy sure...