Oh well, apparently I just picked a working one by chance, the others aren't exactly %5=0 long, I'll keep on trying to get the "missing" bits then, but the hint was already helping me :)Quote:
No problem :p I just figured that out while I was developing my emulator long time ago ^^
DECLARE @val bigint = 450278816; WHILE ( @val > 0 ) BEGIN PRINT CONVERT(varchar(max),((@val%32)*100)/31)+'%'+CHAR(13) SET @val = @val/32 END
The wrong order of the percentages is because the stats are not packed in the same order as they are displayed. If you take a look into SMC then you'll find the correct order of the stats:Quote:
Oh well, apparently I just picked a working one by chance, the others aren't exactly %5=0 long, I'll keep on trying to get the "missing" bits then, but the hint was already helping me :)
It might be not related to this section but either I am totally retarded or there's something weird going on (I tend to the first one).
Outputs it almost everytime correctly, BESIDES sometimes in a wrong order of the percentages OR on an EU 2Hands weapon 7 pseud-white stats.Code:DECLARE @val bigint = 450278816; WHILE ( @val > 0 ) BEGIN PRINT CONVERT(varchar(max),((@val%32)*100)/31)+'%'+CHAR(13) SET @val = @val/32 END
I tried only accessories, misc gear pieces and a light staff out though ^^
have fun with it. :DQuote:
TypeID1 --> 3 items group
TypeID2 --> 1 equipable items.
TypeID3 --> 1-3 chinese armor
TypeID3 --> 4 shields
TypeID3 --> 5 chinese jewellery
TypeID3 --> 6 weapons
TypeID3 --> 9-11 european armor
TypeID3 --> 12 european jewellery
I for some reason feel that OR would be 'better' here than ADD (on stats + __Absorp). You're already working with bits.Quote:
(...)
(...)Code://"<<" means left shift stats = 0 stats = stats << 5 //This line is actually unnecessary because 0 << 5 is 0 stats = stats + magAbsorp stats = stats << 5 stats = stats + phyAbsorp //The result will be 1023, send this value to the client and you'll have a accessory //with 100% white stats, no matter if it is a ring, earring or necklace
[byte] unknown(?? i think its the typeID)
[byte] unknown(??)
[byte] isFailed
[byte] item slot in inventory
[dword] 0 unknown(??)
[dword] itemID
[byte] plus value
[qword] item stats
[dword] durability
[byte] blues count
Loop
{
[dword] blue ID
[dword] value
}
ye thats right, also when isfailed == 0x00Quote:
Maybe its not related to this topic more i think it is :p
I try parse the packet with the stats more i dont know if my parsing job is right anyone can check it for me ? because my values are not equal to the values in game
Code:[byte] unknown(?? i think its the typeID) [byte] unknown(??) [byte] isFailed [byte] item slot in inventory [dword] 0 unknown(??) [dword] itemID [byte] plus value [qword] item stats [dword] durability [byte] blues count Loop { [dword] blue ID [dword] value }
[S -> C][B151] 01 ................ 02 ................ 01 ................ 0D ................ 00 00 00 00 ................ E3 98 00 00 ................ 0A ................ 00 00 70 C0 04 00 00 00 ..p............. 96 00 00 00 ................ 05 ................ A3 01 00 00 C8 00 00 00 ................ A5 01 00 00 64 00 00 00 ....d........... A4 01 00 00 3C 00 00 00 ....<........... A2 01 00 00 08 00 00 00 ................ A1 01 00 00 08 00 00 00 ................ 01 ................ 00 ................ 02 ................ 01 ................ 00 ................ 7D A3 00 00 04 00 00 00 }...............
ye this parse looks fine although is this isro ?Quote:
is the full packet more i just got it on the parry stat only it whas 2% more my Tool said it whas 3%Code:[S -> C][B151] 01 ................ 02 ................ 01 ................ 0D ................ 00 00 00 00 ................ E3 98 00 00 ................ 0A ................ 00 00 70 C0 04 00 00 00 ..p............. 96 00 00 00 ................ 05 ................ A3 01 00 00 C8 00 00 00 ................ A5 01 00 00 64 00 00 00 ....d........... A4 01 00 00 3C 00 00 00 ....<........... A2 01 00 00 08 00 00 00 ................ A1 01 00 00 08 00 00 00 ................ 01 ................ 00 ................ 02 ................ 01 ................ 00 ................ 7D A3 00 00 04 00 00 00 }...............
Edit: thats not the packet where i got the parry i lost that one this just one i collected to give you the full packet :p
04 C0 70 00 00 = 10011 00000 00111 00000 00000 00000 00000 so its : 0 * (100/31) = 0% dura 0 * (100/31) = 0% phy rein 0 * (100/31) = 0% mag rein 0 * (100/31) = 0% hit ratio 7 * (100/31) = 22.6% phy dmg 0 * (100/31) = 0% mag dmg 19 * (100/31) = 61.3% crit
yes i noticed that too. i think its since joymax made that strange change likeQuote:
Its not for Isro Just a private server bases on vSRO files.
easier to make a clientless bot there because no hackshield haha :p
hmm yea that are the right values i have no problems with dura phy and stuff only parry and hitratio are wrong sometimes.
[S -> C][B151] 01 ................ 02 ................ 01 ................ 0D ................ 00 00 00 00 ................ 61 00 00 00 a............... 00 ................ 12 9C 16 C8 05 00 00 00 ................ 80 00 00 00 ................ 01 ................ 46 00 00 00 05 00 00 00 F............... 01 ................ 00 ................ 02 ................ 00 ................
12 [phy reinforce] 9C [mag reinforce] 16 [attack rate] C8 05 00 00 00
Read my post again?Quote:
Code:[S -> C][B151] 01 ................ 02 ................ 01 ................ 0D ................ 00 00 00 00 ................ 61 00 00 00 a............... 00 ................ 12 9C 16 C8 05 00 00 00 ................ 80 00 00 00 ................ 01 ................ 46 00 00 00 05 00 00 00 F............... 01 ................ 00 ................ 02 ................ 00 ................when i try to calculate the stats % (e.g. the phy reinforce)Code:12 [phy reinforce] 9C [mag reinforce] 16 [attack rate] C8 05 00 00 00
[phy rein] 18 * 100 / 31 = 58% which is not correct
so what am I doing wrong ?