Stripped ProjectAlchemy Source Code

01/09/2011 10:44 demon17#571
Quote:
Originally Posted by [GM] View Post
ya
I need to add at part of jumping?
01/09/2011 11:08 [GM]#572
Quote:
Originally Posted by demon17 View Post
I need to add at part of jumping?
u need to add it in bot.cs
then add it under this line:
PHP Code:
Mob M GetClosestMonster(C);
                if (
== null)
                { 
so it should look like this
PHP Code:
Mob M GetClosestMonster(C);
                if (
== null)
                {
                    
RandomJump(C);   
                } 
the only problem is it jumps so fast and dcs

btw, anyone managed to get looting working?
01/09/2011 12:54 demon17#573
Quote:
Originally Posted by [GM] View Post
u need to add it in bot.cs
then add it under this line:
PHP Code:
Mob M GetClosestMonster(C);
                if (
== null)
                { 
so it should look like this
PHP Code:
Mob M GetClosestMonster(C);
                if (
== null)
                {
                    
RandomJump(C);   
                } 
the only problem is it jumps so fast and dcs

btw, anyone managed to get looting working?

Hmm... It works for me but your source has some major bugs .. i mean at jumping maybe you need to change the Clijump and the oters ..

The problem is like at the speedhack .

2-3 jumps to fast = dc

I was tryed to decrease the speed
/speed jump 600
It works nicely but has problem with update , sp
/speed update 150
Works better but after few kills w/out FS gone jump crazy random but wont hit moobs ;))=))


You have skype ? maybe i can send you some files
01/09/2011 13:39 Warlax#574
lolololol @ the n00bs
01/09/2011 13:39 argon69#575
Quote:
Originally Posted by demon17 View Post
Hmm... It works for me but your source has some major bugs .. i mean at jumping maybe you need to change the Clijump and the oters ..

The problem is like at the speedhack .

2-3 jumps to fast = dc

I was tryed to decrease the speed
/speed jump 600
It works nicely but has problem with update , sp
/speed update 150
Works better but after few kills w/out FS gone jump crazy random but wont hit moobs ;))=))


You have skype ? maybe i can send you some files
I haven't tested my code for ninja yet. But I can't tell you this. I see 2 CliJump in a jump routine. Even though bot is using queue to dispatch the commands, I am not sure what kind of affect this can cause on client (TQ GUI). I think that could be your problem. I have client update (CliJump) for every second to refresh if current location needs to be refreshed.
01/09/2011 14:22 demon17#576
Quote:
Originally Posted by Warlax View Post
lolololol @ the n00bs
not funny warlax not all of us learned C++ or other coding things like you..

I cant learn by reading books or other .. i learn by using / modifying / sharing and editing things .. I added Rand jump but when i use it w/out FS i get dc after few mobs
01/09/2011 15:05 [GM]#577
Quote:
Originally Posted by demon17 View Post
not funny warlax not all of us learned C++ or other coding things like you..

I cant learn by reading books or other .. i learn by using / modifying / sharing and editing things .. I added Rand jump but when i use it w/out FS i get dc after few mobs
sry i was afk , i don't have skype only yahoo: youssef9449

*Edit: something wrong with me code, it don't stop hunting it keeps saying Hunting = false, but it keep hunting
01/09/2011 16:40 pro4never#578
Quote:
Originally Posted by demon17 View Post
Amazing ..
This i need to put in the bot.cs nope?
It doesn't matter where methods go... you can call them from anywhere in the source as long as they are public (if not they can only be called from the same class which is... not something really done in this source).

As for that random jump method...

I strongly recommend against the use of thread sleeps when possible (they freeze the entire thread meaning NOTHING can occur on that thread until it elapses).

You'd be better off checking last jump time as always and then simply picking a random coord (what's in there would work fine) and then pass that to the jump handler. Personally I also used far coords cause if not a random jump like that tends to pick short range coords (so you might only jump 2-3 spaces... and without a proper speedhack you have to take a significant break between jumps so it really adds up. Yet another reason I do like shifting)

Quote:
Originally Posted by demon17 View Post
not funny warlax not all of us learned C++ or other coding things like you..

I cant learn by reading books or other .. i learn by using / modifying / sharing and editing things .. I added Rand jump but when i use it w/out FS i get dc after few mobs

Again.. 700 ms is where tq cuts off jumps without cyc/superman and disconnects you (IE nothing occurs in between the jump, you just jump back and forth every 700 ms). I generally used 750-800 ms jumps for non xp hunting in my old version.

If you are using cyclone or superman you can jump MUCH faster without dcing (tq disabled the speedchecks for xp skill users cause ppl got pissed off about getting dc'd when hunting in xp mode basically lol). Again... shifting is a MUCH faster system for getting around the game.
01/09/2011 17:16 [GM]#579
how can i sniff packets?
01/09/2011 17:41 pro4never#580
/sniff?

Keeping in mind it has a default directory using the D: drive iirc. You'll wanna go in and change it to w/e folder you want the logs to go to.
01/09/2011 18:04 [GM]#581
Quote:
Originally Posted by pro4never View Post
/sniff?

Keeping in mind it has a default directory using the D: drive iirc. You'll wanna go in and change it to w/e folder you want the logs to go to.
i wanted to sniff a packet of using an item, but i found alot of packets recorded and i don't know which one is the right packet the packet log looked like this

PHP Code:
Packet Nr 1. Client -> ServerLength 58PacketType1004
32 00 EC 03 FF FF FF FF D4 07 00 00 3A 07 00 00      
;2 ìÿÿÿÿÔ  :  
00 00 00 00 00 00 00 00 06 06 42 6F 54 54 65 52      ;        BoTTeR
04 41 6C 6C 20 00 06 2F 73 6E 69 66 66 00 00 00      
;All  /sniff   
00 00 54 51 43 6C 69 65 6E 74                        
;  TQClient


Packet Nr 37. Server 
-> ClientLength 45PacketType10010
25 00 1A 27 AB 30 1A 00 C4 01 B5 01 00 00 00 00      
;% '«0 Äµ    
02 D2 C7 06 89 00 06 00 CD 01 B2 01 EA 03 00 00      ;Òlj  Í²ê  
00 00 00 00 00 54 51 53 65 72 76 65 72               ;     TQServer


Packet Nr 38. Server -> Client, Length : 45, PacketType: 10010
25 00 1A 27 AA 55 06 00 00 00 00 00 00 00 00 00      ;% '
ªU         
00 00 00 00 93 01 03 00 CC 01 D3 01 00 00 00 00      
;    “ ÌÓ    
00 00 00 00 00 54 51 53 65 72 76 65 72               ;     TQServer


Packet Nr 39. Server 
-> ClientLength 48PacketType1022
28 00 FE 03 00 00 00 00 AA 55 06 00 7F 34 1B 00      
;( þ    ªU 4 
BF 01 C1 01 34 00 00 00 ED 26 00 00 00 00 00 00      
;¿Á4   í&      
00 00 00 00 00 00 00 00 54 51 53 65 72 76 65 72      ;        TQServer


Packet Nr 40. Server 
-> ClientLength 48PacketType1022
28 00 FE 03 00 00 00 00 DE 8A 06 00 CE 63 14 00      
;( þ    ÞŠ Îc 
BB 01 C4 01 02 00 00 00 00 00 00 00 00 00 00 00      ;»Ä           
00 00 00 00 00 00 00 00 54 51 53 65 72 76 65 72      
;        TQServer


Packet Nr 2. Client 
-> ServerLength 88PacketType1009
50 00 F1 03 18 39 CD 21 00 00 00 00 04 00 00 00      
;P ñ9Í!       
E4 FD D1 01 00 00 00 00 00 00 00 00 00 00 00 00      ;äýÑ            
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00      
;                
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00      ;                
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00      ;                
54 51 43 6C 69 65 6E 74                              ;TQClient


Packet Nr 41. Server 
-> ClientLength 114PacketType1004
6A 00 EC 03 FF FF FF FF E5 07 00 00 3B 07 00 00      
;j ìÿÿÿÿå  ;  
00 00 00 00 00 00 00 00 06 0A 23 33 35 43 41 42      ;        
#35CAB
4F 23 33 35 04 41 6C 6C 20 00 3A 69 20 6E 65 65      ;O#35All  :i nee
64 20 61 6C 6C 20 5B 49 74 65 6D 20 4D 65 74 65      ;d all [Item Mete
6F 72 53 63 72 6F 6C 6C 20 35 36 36 38 35 33 35      
;orScroll 5668535
32 39 20 34 32 39 34 39 36 37 32 39 35 5D 20 31      
;29 42949672951
3D 33 35 30 6B 00 00 00 00 00 54 51 53 65 72 76      
;=350k     TQServ
65 72                                                
;er


Packet Nr 42. Server 
-> ClientLength 32PacketType10005
18 00 15 27 04 00 00 00 FB 75 06 00 01 00 00 00      
'   ûu    
BA D5 C7 06 00 00 00 00 54 51 53 65 72 76 65 72      ;ºÕÇ    TQServer


Packet Nr 43. Server -> Client, Length : 92, PacketType: 1105
54 00 51 04 AA 55 06 00 7F 34 1B 00 ED 26 00 00      ;T QªU 4 í&  
01 00 00 00 7F 34 1B 00 00 00 00 00 00 00 00 00      ;   4         
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00      ;                
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00      ;                
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00      ;                
00 00 00 00 54 51 53 65 72 76 65 72                  ;    TQServer


Packet Nr 44. Server -> Client, Length : 48, PacketType: 1022
28 00 FE 03 00 00 00 00 DE 8A 06 00 CE 63 14 00      ;( þ    ÞŠ Îc 
BB 01 C4 01 02 00 00 00 00 00 00 00 00 00 00 00      ;»Ä           
00 00 00 00 00 00 00 00 54 51 53 65 72 76 65 72      ;        TQServer


Packet Nr 45. Server -> Client, Length : 84, PacketType: 1009
4C 00 F1 03 18 39 CD 21 FF 00 00 00 03 00 00 00      ;L ñ9Í!ÿ      
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00      ;                
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00      ;                
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00      ;                
00 00 00 00 00 00 00 00 00 00 00 00 54 51 53 65      ;            TQSe
72 76 65 72                                          ;rver


Packet Nr 46. Server -> Client, Length : 80, PacketType: 10017
48 00 21 27 7F 34 1B 00 02 00 00 00 FF FF FF FF      ;H !'
4    ÿÿÿÿ
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00      
;                
00 00 00 00 56 01 00 00 00 00 00 00 00 00 00 00      ;    V          
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00      
;                
00 00 00 00 00 00 00 00 54 51 53 65 72 76 65 72      ;        TQServer


Packet Nr 47. Server 
-> ClientLength 32PacketType10005
18 00 15 27 04 00 00 00 FB 75 06 00 01 00 00 00      
'   ûu    
98 D9 C7 06 00 00 00 00 54 51 53 65 72 76 65 72      ;˜ÙÇ    TQServer


Packet Nr 3. Client -> Server, Length : 58, PacketType: 1004
32 00 EC 03 FF FF FF FF D4 07 00 00 3B 07 00 00      ;2 ìÿÿÿÿÔ  ;  
00 00 00 00 00 00 00 00 06 06 42 6F 54 54 65 52      ;        BoTTeR
04 41 6C 6C 20 00 06 2F 73 6E 69 66 66 00 00 00      ;All  /sniff   
00 00 54 51 43 6C 69 65 6E 74                        ;  TQClient 
so which one, and i don't know how to write it , so it will look like other packets in the source :confused:
01/09/2011 18:17 pro4never#582
Item usage is 1009. What you have to do from that log is find a structure to the packets. I'd suggest looking at the thread linked from my proxy sticky. It contains all sorts of information about structuring packets.

basically you can have a few different 'chunk' sizes in packets which hold specific things such as... Item UID, Character UID, location information, timestamp information... etc.

byte = 1 byte
ushor t= 2 bytes (you reverse them so 0f 00 is actually 16 (F = 16))
uint = 4 bytes (again reversed... ff 00 00 00 is 255)
ulong = 8 bytes (reversed as always ff 00 00 00 00 00 00 00 is 255)


you can also have non fixed byte sizes which generally have a byte preceding them such as in a string indicating how many bytes the string takes up.

So yes... just off the top of my head.


Packet size = 50 00 or 80 in dec
Packet type = 0x3f1 or 1009
Item UID: 0x21CD39 or 2215225
Usage type: 4
Timestamp: 0x1D1FDE4 or 30539236

That's all there is to this packet. The excessive blank areas are because 1009 is a rather multi function packet and those offsets are not used in simply right clicking an item.
Code:
Packet Nr 2. Client -> Server, Length : 88, PacketType: 1009
50 00 F1 03 18 39 CD 21 00 00 00 00 04 00 00 00      ;P ñ9Í!       
E4 FD D1 01 00 00 00 00 00 00 00 00 00 00 00 00      ;äýÑ            
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00      ;                
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00      ;                
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00      ;                
54 51 43 6C 69 65 6E 74                              ;TQClient
Hope that helps you understand packets a bit better... Keep in mind I will not be just structuring every packet ppl post, this is for reference purposes only.
01/09/2011 18:59 argon69#583
Quote:
Originally Posted by demon17 View Post
What things you added to your bot?

For stop hunting you need to type /hunt
=true ( hunt is on , will attack monsters)
=false(hunt is off , wont attack monsters)
Not much.

Hunting.
* with looting all and dropping normal items.
* runs within calculated path.
* tried to simulate the movement more realistic. Instead of 18 space jump, I do random jump between 1 to 9.
* Priortized looting.
* autopoting.
* auto pot looting when runs out of pots.

To do.
Mining. - this should be easy.
bluemouse. - I need to help on what method to use when you talk to npc.
GUI - I want to add GUI to control properties as well as map.
01/09/2011 19:39 gahanabobo#584
Quote:
Originally Posted by argon69 View Post
Not much.

Hunting.
* with looting all and dropping normal items.
* runs within calculated path.
* tried to simulate the movement more realistic. Instead of 18 space jump, I do random jump between 1 to 9.
* Priortized looting.
* autopoting.
* auto pot looting when runs out of pots.

To do.
Mining. - this should be easy.
bluemouse. - I need to help on what method to use when you talk to npc.
GUI - I want to add GUI to control properties as well as map.
do you mind releasing ur source? cause iam tired of endless errors
01/09/2011 20:28 demon17#585
Quote:
Originally Posted by gahanabobo View Post
do you mind releasing ur source? cause iam tired of endless errors

My source is hunting nice , no random jumps , but stable at hunting .. i made today 2 ninjas from 1-120/15-110
so
2SDG
2DB
I found while i was LVLing 1 DB
I made more than 60 meteorscrolls ( with my bro's help .)

but all these with manualy looting
:
=- I was needed to stop hunt when i heard 1 met .. but in end my bro comes and loots the items and i was concentrated to lvl up


I need only a looter functionality for loot rare items [ DiligenceBooks . Mets. DBs. Refinery packs]