Originally Posted by abdelfattah
hello,,
first of all the system errors like
overflow or out of range
the problem now in aracne project when u enter the game and walk to be close to an npc u got an error and write in emu. this
PHP Code:
[10/31/2010 5:59:31 AM] Object reference not set to an instance of an object. -> at Game.Systems.InGameSuccess()
at Game.Systems.oPCode(Decode de)
[10/31/2010 5:59:43 AM] Value was either too large or too small for a UInt16. -> at System.Convert.ToUInt16(Int32 value)
at System.Double.System.IConvertible.ToUInt16(IFormatProvider provider)
at System.Convert.ToUInt16(Object value)
at Framework.PacketWriter.Word(Object data)
at Game.Public.Packet.ObjectSpawn(obj o)
at Game.Systems.ObjectSpawnCheck()
[10/31/2010 6:03:42 AM] Value was either too large or too small for a UInt16. -> at System.Convert.ToUInt16(Int32 value)
at System.Double.System.IConvertible.ToUInt16(IFormatProvider provider)
at System.Convert.ToUInt16(Object value)
at Framework.PacketWriter.Word(Object data)
at Game.Public.Packet.ObjectSpawn(obj o)
at Game.Systems.ObjectSpawnCheck()
[10/31/2010 6:03:42 AM] Object reference not set to an instance of an object. -> at Game.Systems.InGameSuccess()
at Game.Systems.oPCode(Decode de)
((ObjectSpawnCheck))
this mean that when the emu. make the procces to check the spawn object is that ok or,, it have an overflow error ...
means : Value was either too large or too small for a UInt16.
Here is the list of range value for all .net type ,,,
| bool | | System.Boolean | | true and false | | | | ------------------- | | | | | | byte | | System.Byte | | 0 to 255 | | | | | | | | sbyte | | System.SByte | | -128 to 127 | | | | ------------------- | | | | | | short | | System.Int16 | | -32768 to 32767 | | | | | | | | ushort | | System.Uint16 | | 0 to 65535 | | | | ------------------- | | | | | | int | | System.Int32 | | -2,147,483,648 to 2,147,483,647 | | | | ------------------- | | | | | | uint | | System.UInt32 | | 0 to 4,294,967,295 | | | | ------------------- | | | | | | long | | System.Int64 | | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 | | | | ------------------- | | | | | | ulong | | System.UInt64 | | 0 to 18,446,744,073,709,551,615 | | | | ------------------- | | | | | | decimal | | System.Decimal | | -79,228,162,514,264,337,593,543,950,335 to 79,228,162,514,264,337,593,543,950,335 | | | | ------------------- | | | | | | double | | System.Double | | -1.79769313486232e308 to 1.79769313486232e308 | | | | ------------------- | | | | | | float | | System.Single | | -3.402823e38 to 3.402823e38 | | | | ------------------- | | | | | | char | | System.Char | | 0 to 65535 |
now we see from the error report that the error comes from
System.Uint16
that have the range
0 to 65535 ,(sure the emu. make too large Value to have the error overflow)
The Solve ::::,,
try to Edit the source code of the emu.
& change the Uint16 to Uint32
i find the value Uint16 in those
MultiFunction.cs , GameMaster.cs , Handle.cs ,Items.cs , Framework.PacketReader.cs , Framework.Decode.cs , System.cs , Framework.PacketReader.cs and Framework.Decode.cs ....
thank u & good bye ^^
|