Newbie Spellweaver
- Joined
- Dec 30, 2008
- Messages
- 55
- Reaction score
- 15
Hello Hello !
Part 1: Damage Packet
I forced myself to look at this leftover feature that only a few server have on that version.
So here are two simple packet, 199999 dmg, one without crit,the other without.
With the letters, and the code...: The only thing missing is KK's byte. So MoopleDEV has
lea.skip(14); Seriously kevin ?
Here's some things for moopleDEV
So I'm missing the bytes: b1 b2 b3 b4 and skip.
However, b1>b4, you have to do this on them:
Why ? No idea. But that's how its done.
If you have more informations on b1 to b4 & Skip. I'll gadly take it.
Now, to the crit part.
Theres no information in the damage packet about if the damage is crit or not.
However, when logggin in, client receives 3 seeds (cf: urself ) that are clearly used for randomization. So probably for critical randoms aswell.
Does anyone know anything about how to use the randomizer to simulate the maple client with criticals ?
I don't want a solution like:
thanks
nico
Part 1: Damage Packet
I forced myself to look at this leftover feature that only a few server have on that version.
So here are two simple packet, 199999 dmg, one without crit,the other without.
Code:
2C 00 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 7B 80 02 03 DA C2 3B 04 01 CA 9A 3B 06 0D 0B 01 64 00 95 00 64 00 95 00 91 00 3F 0D 03 00 79 37 79 38 C0 00 95 00 // reg
2C 00 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 7A 80 02 03 FC 54 3C 04 01 CA 9A 3B 06 0E 16 01 FD FF 95 00 FD FF 95 00 91 00 3F 0D 03 00 79 37 79 38 2E 00 95 00 // crit
2C 00 00 AA BB BB BB BB CC CC CC CC CC CC CC CC DD EE FF GG HH II II II II JJ JJ JJ JJ KK KK KK KK KK KK KK KK KK KK KK KK KK KK LL LL LL LL MM MM MM MM .. .. .. ..
With the letters, and the code...: The only thing missing is KK's byte. So MoopleDEV has
lea.skip(14); Seriously kevin ?
Here's some things for moopleDEV
Code:
byte b1 = lea.readByte(),
b2 = lea.readByte(),
b3 = lea.readByte(),
b4 = lea.readByte();
short xPos = lea.readShort(), // Pos, to check for cseax hacks etc?
yPos1 = lea.readShort(),
yPos2 = lea.readShort(), // same
yPos3 = lea.readShort(); // same...
byte attackSpeed = lea.readByte(); // maybe a way to check attack speed instantely ?
// aran regular attack 76 - 6 - 64 - 122 - 52
// brandish 48 118 68
byte skip = lea.readByte();
So I'm missing the bytes: b1 b2 b3 b4 and skip.
However, b1>b4, you have to do this on them:
Code:
int v1 = b1;
int v2 = b2 & 0x7F;
int v3 = (b2 >> 7) & 1;
int v4 = b3;
int v5 = b4 & 0x7F;
int v6 = (b4 >> 7) & 1;
Why ? No idea. But that's how its done.
If you have more informations on b1 to b4 & Skip. I'll gadly take it.
Now, to the crit part.
Theres no information in the damage packet about if the damage is crit or not.
However, when logggin in, client receives 3 seeds (cf: urself ) that are clearly used for randomization. So probably for critical randoms aswell.
Does anyone know anything about how to use the randomizer to simulate the maple client with criticals ?
I don't want a solution like:
Code:
double critrate = 0;
if(SE) critrate += 0.15;
if(crit_throw_from_sin) critrate += 0.6;
thanks
nico