|
You last visited: Today at 14:43
Advertisement
Stripped ProjectAlchemy Source Code
Discussion on Stripped ProjectAlchemy Source Code within the CO2 Bots & Macros forum part of the Conquer Online 2 category.
12/10/2010, 05:04
|
#151
|
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
|
Other versions of conquer do not use the same setup. You may need to use different encryption. Not looked into him
|
|
|
12/10/2010, 09:57
|
#152
|
elite*gold: 0
Join Date: Dec 2010
Posts: 6
Received Thanks: 0
|
thanks For your Help
|
|
|
12/10/2010, 14:09
|
#153
|
elite*gold: 0
Join Date: Dec 2005
Posts: 3
Received Thanks: 0
|
Hi Leandro, i have an proxy that work on conquest br version, i coded it based on an old proxy that i found on forums. Pro4never helped me with some problems i found.
The first difference i found on Conquest server is that the AuthServer use the same Criptography of the GameServer. You have to change the proxy to use Blowfish Crypto for the AuthServer too. I'm not using Alchemy code because when i start, alchemy is not open. But the logic is the same.
Another difference is the game version. I dont know what version conquest use, but its not the same of english servers. I logged all packets to implement on my proxy. Some packets, like 10017 have some strange behaivor. Sometimes the fatalstrike package send the value 0x80000000000, and sometimes 0x82000000000. You have to pay attention when you do the conversion.
I suggest you implement an code to help you log the packets, it will save a lot of time. Like an command to start the Log when you want. For example when i want to discover how the item package works. You go to some place, start the package logger, drop an item, stop package logger. Thats it.
And plz, dont use your main char to do that. The game send my char one time to the botjail, when i'm coding my proxy.
My bot can use fatalstrike for 30+ minutes without d/c and loot meteors, dragonballs, elite, super etc. But it only work very well on 1 hit mobs. Ah, and i found an Dragonball testing my proxy, on slowapes.
I dont share the code, because i'm the only who undestands it, lol.
And sry my poor english.
Quote:
Originally Posted by biancardi
Hi, my name is Leandro, im fairly new at C#. . . and im having some trouble. .
im tryin to set the proxy to Conquest Online (BR version of CO) . .
i did all the steps.. like changing the ips, the DB thing n stuff. .
but. . when i try to connect. . the CO client closes without a reason
and i get this message:
the auth ip of my server is 187.17.71.196:9958 . .
i dont know if im having this problem cuz Conquest's version is different of CO's version. . so the encrypts or packets things r wrong . . .
maybe u guys give me some help. . cuz i already tried everything i could. . and keep getting this error
Thanks in advance!
|
|
|
|
12/10/2010, 15:43
|
#154
|
elite*gold: 223
Join Date: Dec 2007
Posts: 1,076
Received Thanks: 257
|
I made this command
Code:
case "/useitem":
try
{
byte[] Pack = new byte[88];
Packets.WriteUInt16(80, 0, Pack);
Packets.WriteUInt16(1009, 2, Pack);
Packets.WriteUInt32(ushort.Parse(Cmd[1]), 4, Pack);
Packets.WriteUInt32(ushort.Parse(Cmd[2]), 8, Pack);
Packets.WriteUInt32(ushort.Parse(Cmd[3]),12, Pack);
Packets.WriteUInt32(Packets.GetStamp(C), 16, Pack);
Packets.WriteString("TQClient", 80, Pack);
C.ToServerQueue.Enqueue(Pack);
}
catch { }
break;
But when i type /useitem 1000000(stancher ID) 0(first inv slot) 3/4(Equip,remove item) it doesnt work (it doesnt return unknown command)
So this would mean it would have worked. But it doesn't. Any sugggestions?
<Edit> Got a video about the stability here. Its at 150ms attack speed and 400ms jump speed. Seems to be pretty stable
I need to add wider search route, because now it just crashes when i jump to an coord 7+
Note: Please dont mind the music.
|
|
|
12/10/2010, 16:26
|
#155
|
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
|
You use items based on uid, not item id.
If not it doesn't know which item you are using (you can have more than 1 stancher but not more than 1 item of the same uid).
Not a bad job on your botting functionality. Looks like you just need to add in some random jump values.
Keep in mind that during fatal strike you don't need to jump to monster, the attack itself moves you (if you jump/atk/jump/atk etc you will dc) so just send attack and set your coords to the mobs location generally. Also keep in mind fatal will work across the whole screen which makes it easier (no need to code distance checks assuming you keep your locals updated based on range
|
|
|
12/10/2010, 17:12
|
#156
|
elite*gold: 223
Join Date: Dec 2007
Posts: 1,076
Received Thanks: 257
|
Quote:
Originally Posted by pro4never
You use items based on uid, not item id.
If not it doesn't know which item you are using (you can have more than 1 stancher but not more than 1 item of the same uid).
Not a bad job on your botting functionality. Looks like you just need to add in some random jump values.
Keep in mind that during fatal strike you don't need to jump to monster, the attack itself moves you (if you jump/atk/jump/atk etc you will dc) so just send attack and set your coords to the mobs location generally. Also keep in mind fatal will work across the whole screen which makes it easier (no need to code distance checks assuming you keep your locals updated based on range
|
Yea, i was checking everytime. And i was jumping everytime. But does the server/client send you a certain packet when the FS is done? Because when i use C.infatalstrike it doesn't set it back to false (Because, when it arrives, the packet, it will be set to true, but never gets back to false)
So i could maybe set it back to false, if a certain time/packet passes.
|
|
|
12/10/2010, 17:19
|
#157
|
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
|
Quote:
Originally Posted by OELABOELA
Yea, i was checking everytime. And i was jumping everytime. But does the server/client send you a certain packet when the FS is done? Because when i use C.infatalstrike it doesn't set it back to false (Because, when it arrives, the packet, it will be set to true, but never gets back to false)
So i could maybe set it back to false, if a certain time/packet passes.
|
That's what I've always done.
Fatal strike lasts 60 seconds so I did a 58 second timeout.
IE:
if(C.InFatal && DateTime.Now > C.FatalActivated.AddSeconds(58))
{
C.InFatal = false;
>>ToClient>>"Fatal Ending"
}
That's how I always handled it. Then if you activate a new fatal strike before it ends at 58 seconds you already updated when it was activated so this should never be called ^^.
For fatal strike what I tended to do was a proxy x/y (where proxy thinks it currently is) and then a seperate value for last server x/y (where server has last told me I am)
I update server x/y every time I receive a server confirmation of jump, attack, etcetc in response to one of my actions.
Proxy x/y I use for all my actions but I also run a check vs how far away that is from my last server x/y is and if it becomes to large I stop the hunting for a short time so it can catch up with responses and if that fails I do a jump to my last known location (or somewhere near it). That way server is forced to send me a confirmation of where I am and I don't run into issues of attacking too far away and dcing.
Basically just add in systems that double check EVERYTHING or you will run into issues over time. If you blindly attack things all over the place the proxy will easily lose track of where it ACTUALLY is in the game and you'll have loads of problems.
|
|
|
12/10/2010, 17:20
|
#158
|
elite*gold: 0
Join Date: Nov 2007
Posts: 541
Received Thanks: 117
|
Btw guys , there is a lil bug that doesnt stop hunt , even if it says it is false.
|
|
|
12/10/2010, 17:21
|
#159
|
elite*gold: 223
Join Date: Dec 2007
Posts: 1,076
Received Thanks: 257
|
Quote:
Originally Posted by pro4never
That's what I've always done.
Fatal strike lasts 60 seconds so I did a 58 second timeout.
IE:
if(C.InFatal && DateTime.Now > C.FatalActivated.AddSeconds(58))
{
C.InFatal = false;
>>ToClient>>"Fatal Ending"
}
That's how I always handled it. Then if you activate a new fatal strike before it ends at 58 seconds you already updated when it was activated so this should never be called ^^.
For fatal strike what I tended to do was a proxy x/y (where proxy thinks it currently is) and then a seperate value for last server x/y (where server has last told me I am)
I update server x/y every time I receive a server confirmation of jump, attack, etcetc in response to one of my actions.
Proxy x/y I use for all my actions but I also run a check vs how far away that is from my last server x/y is and if it becomes to large I stop the hunting for a short time so it can catch up with responses and if that fails I do a jump to my last known location (or somewhere near it). That way server is forced to send me a confirmation of where I am and I don't run into issues of attacking too far away and dcing.
Basically just add in systems that double check EVERYTHING or you will run into issues over time. If you blindly attack things all over the place the proxy will easily lose track of where it ACTUALLY is in the game and you'll have loads of problems.
|
Thank you, im going to code much this weekend, and i will post a video at the end. You can clearly see some changes then i think
|
|
|
12/10/2010, 17:29
|
#160
|
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
|
Quote:
Originally Posted by macavladu
Btw guys , there is a lil bug that doesnt stop hunt , even if it says it is false.
|
Seeing as there is no botting in the current version I assume you're talking about the one they are working on together? They just need to do a
if(!C.Hunting)
return true;
at the start of their hunt code and then in the hunt cmd just use what I already had lol.
|
|
|
12/10/2010, 17:45
|
#161
|
elite*gold: 223
Join Date: Dec 2007
Posts: 1,076
Received Thanks: 257
|
Quote:
Originally Posted by pro4never
Seeing as there is no botting in the current version I assume you're talking about the one they are working on together? They just need to do a
if(!C.Hunting)
return true;
at the start of their hunt code and then in the hunt cmd just use what I already had lol.
|
They copied my code, i did it on purpose, so i could saw who was using my source, but nvm
<Edit>
Pro4Never, i tried the attacking without jumping, it is really 3x as fast as on the vid now. The only think i gotta make is the jumping back, and bigger searching radius. And could you explain me how you made those random jumps? Because when i make it jump x - 3, when no monster is around, it will stop hunting? (Yes, i make it update)
|
|
|
12/10/2010, 18:28
|
#162
|
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
|
There's a number of ways to do it..
#1: Use a path and find a valid coord that is the closest to it possible.
-Hint: I already added a 'weight' system to pull a list of coords with their distance from a target...
#2: chose a random valid location on your screen to jump to each time there is no monster in range and last jump time is passed.
#3: Combine the two so that if you have a recorded path it uses that (and cycles between points in the path) or if there is no recorded path it uses a random point on screen. That's how I coded it myself.
Random jump could be anything from chosing a random location and then checking if it's a valid dmap location or it could be something you write some sort of calculation into (IE: chose a random direction to jump in and then test the longest distance you can jump in that direction... if that fails lower the jump distance by 1... if it goes below a certain distance chose a different direction, etc.
Keep in mind there are 8 directions in total.
N, NE, E, SE, S, SW, W, NW
<edit>
****... now I kinda wanna try my hand at doing a radar type system to spit out local objects to a graph to display access level and objects on each coord lol!
Need to stop wanting to take on new mini projects during exam time
|
|
|
12/10/2010, 18:34
|
#163
|
elite*gold: 223
Join Date: Dec 2007
Posts: 1,076
Received Thanks: 257
|
Quote:
Originally Posted by pro4never
There's a number of ways to do it..
#1: Use a path and find a valid coord that is the closest to it possible.
-Hint: I already added a 'weight' system to pull a list of coords with their distance from a target...
#2: chose a random valid location on your screen to jump to each time there is no monster in range and last jump time is passed.
#3: Combine the two so that if you have a recorded path it uses that (and cycles between points in the path) or if there is no recorded path it uses a random point on screen. That's how I coded it myself.
Random jump could be anything from chosing a random location and then checking if it's a valid dmap location or it could be something you write some sort of calculation into (IE: chose a random direction to jump in and then test the longest distance you can jump in that direction... if that fails lower the jump distance by 1... if it goes below a certain distance chose a different direction, etc.
Keep in mind there are 8 directions in total.
N, NE, E, SE, S, SW, W, NW
<edit>
Damn... now I kinda wanna try my hand at doing a radar type system to spit out local objects to a graph to display access level and objects on each coord lol!
Need to stop wanting to take on new mini projects during exam time
|
mwhaha, i get such things to, i redid 2 exams because i was doing some javascripting that day i got em
<Edit> Rofl, main just got botjailed for sending a wrong pot packed! mwahha! bye lvl 90 ninja  I was trying to send a packet to DBUpgrade 'painkillers' How stupid! Let's try remove/equip item on a new acc
|
|
|
12/10/2010, 18:53
|
#164
|
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
|
Quote:
Originally Posted by OELABOELA
mwhaha, i get such things to, i redid 2 exams because i was doing some javascripting that day i got em
<Edit> Rofl, main just got botjailed for sending a wrong pot packed! mwahha! bye lvl 90 ninja  I was trying to send a packet to DBUpgrade 'painkillers' How stupid! Let's try remove/equip item on a new acc 
|
Always test packets on a blank character. Invalid packets are the fastest way to get botjailed xD
|
|
|
12/10/2010, 19:32
|
#165
|
elite*gold: 223
Join Date: Dec 2007
Posts: 1,076
Received Thanks: 257
|
Quote:
Originally Posted by pro4never
Always test packets on a blank character. Invalid packets are the fastest way to get botjailed xD
|
Yeah, i was INSTANTLY at the botjail xd
|
|
|
Similar Threads
|
[RELEASE(SOURCE CODE)]-- KabBOT2 v1 Full Source(vb6)
10/07/2011 - Dekaron Exploits, Hacks, Bots, Tools & Macros - 106 Replies
I've been meaning to post this for awhile but I pretty much forgot about it. I've been getting quite a few requests for it so I decided to finally get around to posting it.
#1. So here you go, Just have or Download Visual Basic 6, you need to update it to VbRuntime 6 Service Pack 6.
#2. Run the file name KabBOT.vbp.
#3. Enjoy.
100% Virus Free VirusTotal.com report.
VirusTotal - Free Online Virus, Malware and URL Scanner
|
[RELEASE] [OPEN SOURCE] CE 5.5 Pointer to AutoIt Source-Code
02/13/2011 - AutoIt - 6 Replies
Habe heute erst gemerkt, dass es hier eine AutoIt Sektion gibt xD also poste ich mal mein Programm mit rein.
Funktionsweise:
1. in CE Rechtsklick auf den Pointer und auf "Copy" klicken
2. in meinem Programm auf "Code generieren" klicken
3. In euer Scite gehen und einfügen
Hier ist der Source Code vom Programm:
|
All times are GMT +1. The time now is 14:44.
|
|