Stripped ProjectAlchemy Source Code

02/20/2011 22:01 fireTQ#991
Quote:
Originally Posted by pro4never View Post
..... useskill...

I could be incredibly mistaken but I'm confident it just involves sending the useskill packet just like I do for fatal strike except with the desired skill id, target id of either 0 or charuid (depends on the skill... fairly sure disguise would be target uid 0) and most likely X/Y of 0 also.
You right :D :D :D thanks for enlight me :P
but the problem now to put that packet on the coding it's TOOOO LONG omg , any help key
and i used it nothing happen :/ , yeah i have to try till i die xD
02/20/2011 22:32 pro4never#992
It's not that difficult... Example of use would be


Packets.UseSkill(C.Skills[IDNumber], C, 0, 0,0);

Tada!
02/21/2011 07:58 fireTQ#993
O.O OMG , how can that gone from my head that right than write all the packet make the bot do it self :P ........ Stupid me , and sorry if i bugged you but still too nooby in proxy bots stuf :/ , so have to learn and do mistakes right !
last ask : like that way can i make any char of mine use Divinhear or just that to active the skill :o ... my point is that lead me to do divinhear speed hack or it's just another thing do it not this ?
02/21/2011 23:26 stickray#994
Quote:
Originally Posted by fireTQ View Post
O.O OMG , how can that gone from my head that right than write all the packet make the bot do it self :P ........ Stupid me , and sorry if i bugged you but still too nooby in proxy bots stuf :/ , so have to learn and do mistakes right !
last ask : like that way can i make any char of mine use Divinhear or just that to active the skill :o ... my point is that lead me to do divinhear speed hack or it's just another thing do it not this ?
Well if you are new in coding (C#, Conquer) then i would advice you to learn the basics of the proxy first. On Speedhacking noone will help you out, you have to figure it out yourself :D

Cheers
02/21/2011 23:34 stickray#995
Quote:
Originally Posted by pro4never View Post
It's not that difficult... Example of use would be
Packets.UseSkill(C.Skills[IDNumber], C, 0, 0,0);

Tada!
Mr Shanks can you enlighten me also on a problem i have? :D

Well at the moment i use this code:

Code:
                                    Calculations.ShiftTarget(attack);
                                    DOut(C, "4. AtkServer: " + attack.UID + " Speed: " + myAtkSpeed);
                                    cnkJump(C);
                                    Packets.AtkServer(C, attack, 2);
                                    C.X = attack.X;
                                    C.Y = attack.Y;
                                    C.LastAttack = DateTime.Now;
                                    C.LastJump = DateTime.Now;
                                    C.TargetChange = DateTime.Now;
                                    C.LastTarget = attack.UID;
                                    C.DestinationRandom = true;
                                    Calculations.UpdateLocal(C);
This is my melee attack pattern, wich i use when i do melee hits in fatalstrike.

After i hit a target, C.X and C.Y gets the coordinates out of attack.X and attack.Y. But when i compare afterwards, C.X vs C.ServerLastX and C.Y vs C.ServerLastY they never match.

This tells me that when i do melee hits while iam in fatalstrike, i cant be on the same position as my target is. But how can i calculate the real positionings when i get teleported to X & Y from TQ.

Cheers
02/22/2011 00:26 pro4never#996
Quote:
Originally Posted by stickray View Post
Mr Shanks can you enlighten me also on a problem i have? :D

Well at the moment i use this code:

Code:
                                    Calculations.ShiftTarget(attack);
                                    DOut(C, "4. AtkServer: " + attack.UID + " Speed: " + myAtkSpeed);
                                    cnkJump(C);
                                    Packets.AtkServer(C, attack, 2);
                                    C.X = attack.X;
                                    C.Y = attack.Y;
                                    C.LastAttack = DateTime.Now;
                                    C.LastJump = DateTime.Now;
                                    C.TargetChange = DateTime.Now;
                                    C.LastTarget = attack.UID;
                                    C.DestinationRandom = true;
                                    Calculations.UpdateLocal(C);
This is my melee attack pattern, wich i use when i do melee hits in fatalstrike.

After i hit a target, C.X and C.Y gets the coordinates out of attack.X and attack.Y. But when i compare afterwards, C.X vs C.ServerLastX and C.Y vs C.ServerLastY they never match.

This tells me that when i do melee hits while iam in fatalstrike, i cant be on the same position as my target is. But how can i calculate the real positionings when i get teleported to X & Y from TQ.

Cheers
Shift target calculates the position infront of where the monster is facing. That was so if the monster is running your jump/shift movements will place you infront of it to have a better chance of killing it.

What you want to do is write a calculation to place yourself infront of target from your approaching angle.


IE:

Monster>New Coords >>>>>>> Start position
02/22/2011 13:54 kimbola#997
im tryng to add a spawn cord if there is not monster around , what is wrong?
Quote:
case "/addrespawn":
{

Coord Z = new Coord();
Z.X = ushort.Parse(Cmd[1]);
Z.Y = ushort.Parse(Cmd[2]);
if (Calculations.ValidDmap(C.StaticMap, Z.X, Z.Y))
{
Console.WriteLine("Spawn Recorded!");
C.To.X = Z.X;
C.To.Y = Z.Y;
}
}
Quote:
private static void RandomJump(Client C) {

Mob M = GetClosestMonster(C);
Items.GroundItem moneyloot2 = GetClosestItemz(C);
if (M == null && moneyloot2 == null)
{
if (Calculations.ValidDmap(C.StaticMap, C.To.X, C.To.Y))
{
if (C.LastJump.AddMilliseconds(C.JumpSpeed) < DateTime.Now)
{
Packets.CliJump(C.To.X, C.To.Y, 156, C);
Packets.Jump(C, C.To.X, C.To.Y, 137);
C.X = C.To.X;
C.Y = C.To.Y;
C.UpdatedX = C.To.X;
C.UpdatedY = C.To.Y;
Calculations.UpdateLocal(C);
C.LastJump = DateTime.Now;
C.LastAttack = DateTime.Now;
02/22/2011 14:08 stickray#998
Quote:
Originally Posted by pro4never View Post
Shift target calculates the position infront of where the monster is facing. That was so if the monster is running your jump/shift movements will place you infront of it to have a better chance of killing it.

What you want to do is write a calculation to place yourself infront of target from your approaching angle.


IE:

Monster>New Coords >>>>>>> Start position
Well when iam in FatalStrike and i Melee Attack a Target, TQ Shifts me to a position, well ShiftTarget doesnt deal with that problem right? Cause it doesnt make a difference if i use ShiftTarget or not, the returned X.Y coords are not legit.

When iam not in FatalStrike and i Jump around and Attack my LastServerX.Y C.XY stats are always matching.
02/22/2011 21:48 pro4never#999
Quote:
Originally Posted by stickray View Post
Well when iam in FatalStrike and i Melee Attack a Target, TQ Shifts me to a position, well ShiftTarget doesnt deal with that problem right? Cause it doesnt make a difference if i use ShiftTarget or not, the returned X.Y coords are not legit.

When iam not in FatalStrike and i Jump around and Attack my LastServerX.Y C.XY stats are always matching.
Not tested but this calculation should work for fatal strike movement coords.

Code:
 public static Coord ThisIsFsISwearz(Client C, Mob M)
        {
            Coord To = Handler.MakeCoord(M.X, M.Y);
            if (Math.Abs(M.X - C.X) > 0)
                To.X--;
            else if (Math.Abs(M.X - C.X) < 0)
                To.X++;
            if (Math.Abs(M.Y - C.Y) > 0)
                To.Y--;
            else if (Math.Abs(M.Y - C.Y) < 0)
                To.Y++;
            return To;
        }
What I'm attempting for my super basic test bot (yes, I got bored and was messing with proxy coding again)


This was for melee... so it won't apply to you for fatal strike... just an idea of how to do it.

First try moving towards mob... if that doesn't work (is out of range or invalid coord) try moving infront of monster... if that doesn't work (is out of range or invaldi coord) simply move ontop of monster.

I'd then run a sanity check to confirm the location you are moving to is within range and then attack.

Code:
 Coord To = Calculations.ThisIsFsISwearz(C, M);
           if (!Program.DmapHandler.Maps[C.StaticMap].Check(To.X, To.Y) || Distance(C.X, C.Y, To.X, To.Y) > 2)
               To = Calculations.ShiftTarget(M);
           if (!Program.DmapHandler.Maps[C.StaticMap].Check(To.X, To.Y) || Distance(C.X, C.Y, To.X, To.Y) > 2)
               To = MakeCoord(M.X, M.Y);
02/23/2011 02:00 { Angelius }#1000
ok so let me ask this .

what do i need to change in this proxy in order to connect to the trinityco server .

Damn... aint asking for a bot all im looking for is some packets sniffing but uhh im taking the wrong turns tho.

#annoying
02/23/2011 02:21 pro4never#1001
Change the auth ip, game ip, double check the ports are the same and then possibly change the encryption key.

I'm not sure what other changes they've made. Assuming they haven't already edited their .exe to use completely new encryption (possible... just quite a bit of work lol) but assuming that's all you need to do then just pull the new cryptkey from the client (use notepad/hexeditor to find it) and then just update the ports and stuff and give it a shot.
02/23/2011 02:52 kimbola#1002
[quote]
im tryng to add a spawn cord if there is not monster around , what is wrong?
Quote:
case "/addrespawn":
{

Coord Z = new Coord();
Z.X = ushort.Parse(Cmd[1]);
Z.Y = ushort.Parse(Cmd[2]);
if (Calculations.ValidDmap(C.StaticMap, Z.X, Z.Y))
{
Console.WriteLine("Spawn Recorded!");
C.To.X = Z.X;
C.To.Y = Z.Y;
}
}
Quote:
private static void RandomJump(Client C) {

Mob M = GetClosestMonster(C);
Items.GroundItem moneyloot2 = GetClosestItemz(C);
if (M == null && moneyloot2 == null)
{
if (Calculations.ValidDmap(C.StaticMap, C.To.X, C.To.Y))
{
if (C.LastJump.AddMilliseconds(C.JumpSpeed) < DateTime.Now)
{
Packets.CliJump(C.To.X, C.To.Y, 156, C);
Packets.Jump(C, C.To.X, C.To.Y, 137);
C.X = C.To.X;
C.Y = C.To.Y;
C.UpdatedX = C.To.X;
C.UpdatedY = C.To.Y;
Calculations.UpdateLocal(C);
C.LastJump = DateTime.Now;
C.LastAttack = DateTime.Now;
02/23/2011 22:19 { Angelius }#1003
@pro4Never

you said earlier that the 127.0.0.1 well Disconnect the client .and so im using the Hamachi ip but still when its time to connect to the server the client closes with no errors/exceptions in the console screen .

Note . its passing the AuthSvrPacket and the AuthCliPacket tho.
idk whats wrong :/

EDIT...never F**king Mind i got the source proxy where you found MOST of the your proxy stuff/w/e
and Hell yeah it works fine
PS. i think thats where you got the sniff.cs lol .
02/24/2011 00:14 pro4never#1004
Yah the sniffer is from tannel's proxy. This was the base I wrote after (works much better than tannel's)

PS: I was bored lol

[Only registered and activated users can see links. Click Here To Register...]

Didn't bother implementing any of the other stuff. Just threw in auto miner code.

Gonna add a spoof function to this so that you can Make people appear as others (their look, damage and everything else)

That way you can record someone and then report them for aimbotting/speedhacking/botting or whatever you'd like.
02/24/2011 01:10 vecko12#1005
Quote:
Originally Posted by pro4never View Post
Yah the sniffer is from tannel's proxy. This was the base I wrote after (works much better than tannel's)

PS: I was bored lol

[Only registered and activated users can see links. Click Here To Register...]

Didn't bother implementing any of the other stuff. Just threw in auto miner code.

Gonna add a spoof function to this so that you can Make people appear as others (their look, damage and everything else)

That way you can record someone and then report them for aimbotting/speedhacking/botting or whatever you'd like
.
Pretty cool ...