Stripped ProjectAlchemy Source Code

01/06/2011 03:23 argon69#496
Quote:
Originally Posted by pro4never View Post
The server replies with a general data 137 packet when you jump but that doesn't mean you are 'done' jumping.

As far as I remember it's between 700-800 ms that you can jump. Keep in mind if you attack/jump at same time it will often dc you but you can do CONSTANT jumping back and forth using 750 ms from what I remember in my tests.

Or you could code a proper speedhack system and then you can jump way faster (I was doing 100 ms jumps without dcing in my tests)
Thx P4N. So, 137 is a type of ack, not confirmation. When I get a chance, I will study more on speedhack later :) I need to find efficient path searching first. I think I am almost done on that. I will share the info once I confirm that it is working.
01/06/2011 03:30 argon69#497
P4N,

What will be fastest looting method? Jump to the item and loot? Or walk to it and loot? You mentioned about using teleport within 7 spaces. What is it? How would capture the packet if I want to see the structure?

Thanks in advance. :)
01/06/2011 03:40 pro4never#498
It's already in the source... it's labeled as shift.

Shift is by far the most efficient method of looting (there is minimal delay between movement and when you can actually loot something!)

Walk is incredibly slow and jump has all sorts of delays around it (IE: Looting or attacking too soon after jumping = dc... often times jumping right after attacking/looting seems to cause problems too. Basically it's a mess.

My speedhack worked fine on the old proxy for jumping problem was as soon as you mixed it in with normal attacking/looting it would cause all sorts of dcing issues.

Basically I'd strongly recommend using the shift packet + some form of path finding.

What I did is used a super basic version of path finding using weights of all possible coords (it should be in there somewhere as pullweights or w/e and returns a list of coord and distance from target... pull the lowest distance one and that's the closest valid coord you can shift too)

It works decently as long as their are no gaps but for anything more serious you'd need to write up a proper A* algorythm which personally always confused me a bit.
01/06/2011 03:50 argon69#499
Quote:
Originally Posted by pro4never View Post
It's already in the source... it's labeled as shift.

Shift is by far the most efficient method of looting (there is minimal delay between movement and when you can actually loot something!)

Walk is incredibly slow and jump has all sorts of delays around it (IE: Looting or attacking too soon after jumping = dc... often times jumping right after attacking/looting seems to cause problems too. Basically it's a mess.

My speedhack worked fine on the old proxy for jumping problem was as soon as you mixed it in with normal attacking/looting it would cause all sorts of dcing issues.

Basically I'd strongly recommend using the shift packet + some form of path finding.

What I did is used a super basic version of path finding using weights of all possible coords (it should be in there somewhere as pullweights or w/e and returns a list of coord and distance from target... pull the lowest distance one and that's the closest valid coord you can shift too)

It works decently as long as their are no gaps but for anything more serious you'd need to write up a proper A* algorythm which personally always confused me a bit.
Thank you !! Shift is for that purpose. Let me try that :)
01/06/2011 15:17 gorgone#500
only if u need :)) this is a part of code that i use and i think is stable :

on Database.cs i added a region load tables inside u load all item from itemtype.txt and insert in dictionary in program..

public static void LoadItemType()
{
try
{
using (StreamReader reader = new StreamReader("itemtype.dat.txt"))
{
string[] Input = reader.ReadToEnd().Split('\n');
for (int I = 0; I < Input.Length; I++)
{
Input[I] = Input[I].Trim(); ;
string[] Line = Input[I].Split(',');

Program.Itemtype.Add(Convert.ToUInt32(Line[0]), Line[1]);

}
}
}
catch { }

}


in Program i added a
public static Dictionary<uint, string> Itemtype = new Dictionary<uint, string>();


and so is done u can load before COut("Ready to accept connections!");
in Program main

add: DataBase.LoadItemType()

in this post there is a copy of my itemtype.txt or u can use Amazing Decypt create by Gabrola :]


with this idea u can create a Dictionary about Rare item, Exp Lvl Rate, Item don t loot and much more :))

soooo Here we gooo next news i think tonight ^^
01/06/2011 23:25 denominator#501
Ok I assume this must be detectable? I have three noobs botjailed. Not for botting but just for mining. Unless it`s because of the multiclient? I don`t have their Isec or their zftqat thing either >.<
01/06/2011 23:31 [GM]#502
sorry to post this but my loader got deleted by accident, anyone can give me a link? , i already searched, but i couldn't find it
01/06/2011 23:32 pro4never#503
Quote:
Originally Posted by denominator View Post
Ok I assume this must be detectable? I have three noobs botjailed. Not for botting but just for mining. Unless it`s because of the multiclient? I don`t have their Isec or their zftqat thing either >.<
It's probably the WAY you are dropping things that is getting you bot jailed...

First you have to make sure you don't spam the drop packet (IE: drop the item once... and once it's dropped make sure it's removed from the inventory so it doesn't keep trying to drop the same item)

Make sure there's a good delay between when you receive the item and when it's dropped... make sure there's a good delay between when you drop 1 item and the next one.

With mining there is no need for speed. Do things slowly and in a way that a real person might.. also the multi client could be doing it but back in my mining tests I ran 4-5 miners 24/7 for around a week and never got a single bot jail issue. Hell I've never got bot jailed on a single character in all of my testing of this.
01/06/2011 23:36 denominator#504
Then again p4n it seems like the botjail is being overrun for now, I guess TQ are running low on funds again lol. Even my chars that were not botting have been botjailed lol.
01/06/2011 23:54 argon69#505
Quote:
Originally Posted by denominator View Post
Then again p4n it seems like the botjail is being overrun for now, I guess TQ are running low on funds again lol. Even my chars that were not botting have been botjailed lol.
I believe it is multiclient. I was using multiclient on machine and doing bot writing on other. All chars on multiclient are in jail. It was funny char with bot was Ok. :) I guess CO finally figured out how to count connected clients from IP address.
01/07/2011 00:08 argon69#506
Quote:
Originally Posted by pro4never View Post
It's already in the source... it's labeled as shift.

Shift is by far the most efficient method of looting (there is minimal delay between movement and when you can actually loot something!)

Walk is incredibly slow and jump has all sorts of delays around it (IE: Looting or attacking too soon after jumping = dc... often times jumping right after attacking/looting seems to cause problems too. Basically it's a mess.

My speedhack worked fine on the old proxy for jumping problem was as soon as you mixed it in with normal attacking/looting it would cause all sorts of dcing issues.

Basically I'd strongly recommend using the shift packet + some form of path finding.

What I did is used a super basic version of path finding using weights of all possible coords (it should be in there somewhere as pullweights or w/e and returns a list of coord and distance from target... pull the lowest distance one and that's the closest valid coord you can shift too)

It works decently as long as their are no gaps but for anything more serious you'd need to write up a proper A* algorythm which personally always confused me a bit.
P4N,

I was checking out Shift function and I saw it is setting LastJump to current time. When you set LastJump timestamp, it will add delay since NewBot should check LastJump to do any other actions. Is it intentional or safe to remove?

Thanks.
01/07/2011 00:27 [GM]#507
what ips should i write in the source?
AuthIp
ProxyIp
GameIp
01/07/2011 00:29 denominator#508
Either your localhost ip 192.***.*.*** or your Hamachi IP?
01/07/2011 00:36 [GM]#509
iam using hamachi
01/07/2011 01:18 denominator#510
Then you will need to use Hamachi ip for everything including your loader :)

A bit off-topic but somebody said that TQ can detect people transferring CPs? Can they then also detect trading of DBs? And apparently if you are caught doing this you are again botjailed or I assume don`t actually leave botjail >.<