Closed dmiales closed 1 year ago
That's the case for 99% of the operation and event codes. We have to reverse engineer after every game update (if they change/add/delete any ev/op codes). That being the case, I only reverse the ones related to "who am I" (your player) and market/gold related ev/op codes.
For example, when a new character appears: (ParameterDictionary){(Byte)0=(Int16)21546, (Byte)1=(String)QQQ140, (Byte)2=(Byte)10, (Byte)3=(Byte)45, (Byte)5=(Byte[])byte[5], (Byte)6=(Byte[])byte[5], (Byte)7=(Byte[])byte[16], (Byte)10=(String), (Byte)11=(Int32)0, (Byte)12=(String), (Byte)13=(Single[])System.Single[], (Byte)14=(Single[])System.Single[], (Byte)15=(Int32)14582277, (Byte)16=(Single)192,7062, (Byte)17=(Single)5,5, (Byte)19=(Single)2238, (Byte)20=(Single)2238, (Byte)21=(Single)54,83325, (Byte)22=(Int32)14590183, (Byte)23=(Single)287, (Byte)24=(Single)287, (Byte)25=(Single)3,9502132, (Byte)26=(Int32)14590161, (Byte)30=(Int32)13504903, (Byte)31=(Single)1650,6989, (Byte)32=(Int32)13504903, (Byte)33=(Byte)2, (Byte)34=(Int16[])System.Int16[], (Byte)36=(Int16[])System.Int16[], (Byte)44=(String), (Byte)46=(Byte)0, (Byte)47=(Byte)0, (Byte)48=(Int16[])System.Int16[], (Byte)49=(Byte)5, (Byte)50=(Byte)1, ### (Byte)252=(Int16)27}
It can be seen that 252 bytes is 27. And in the file client/events.go it is 25 (evNewCharacter)