Now I've been searching a bit for what could cause this, and then i came across this:
osrose ver 80:
- void CMonster::SpawnMonster( CPlayer* player, CMonster* thismon )
- {
- BEGINPACKET( pak, 0x792 );
- ADDWORD ( pak, clientid );
- ADDFLOAT ( pak, Position->current.x*100 );
- ADDFLOAT ( pak, Position->current.y*100 );
- ADDFLOAT ( pak, Position->destiny.x*100 );
- ADDFLOAT ( pak, Position->destiny.y*100 );
- if(IsDead( ))
- {
- ADDWORD ( pak, 0x0003 );
- ADDWORD ( pak, 0x0000 );
- }
- else if(IsOnBattle( ))
- {
- ADDWORD ( pak, 0x0002 );
- ADDWORD ( pak, Battle->target );
- }
- else if(IsMoving( ))
- {
- ADDWORD ( pak, 0x0001 );
- ADDWORD ( pak, 0x0000 );
- }
- else
- {
- ADDWORD ( pak, 0x0000 );
- ADDWORD ( pak, 0x0000 );
- }
- ADDBYTE ( pak, 0x00 );
- ADDDWORD ( pak, Stats->HP );
ospRose:
- void CMonster::SpawnMonster( CPlayer* player, CMonster* thismon )
- {
- BEGINPACKET( pak, 0x792 );
- ADDWORD ( pak, clientid );
- ADDFLOAT ( pak, Position->current.x*100 );
- ADDFLOAT ( pak, Position->current.y*100 );
- ADDFLOAT ( pak, Position->destiny.x*100 );
- ADDFLOAT ( pak, Position->destiny.y*100 );
- /*
- if(IsDead( ))
- {
- ADDWORD ( pak, 0x0003 );
- ADDWORD ( pak, 0x0000 );
- }
- else if(IsOnBattle( ))
- {
- ADDWORD ( pak, 0x0002 );
- ADDWORD ( pak, Battle->target );
- }
- else if(IsMoving( ))
- {
- ADDWORD ( pak, 0x0001 );
- ADDWORD ( pak, 0x0000 );
- }
- else
- {
- ADDWORD ( pak, 0x0000 );
- ADDWORD ( pak, 0x0000 );
- }
- */
- ADDBYTE ( pak, 0x00 );
- ADDDWORD ( pak, 0x00000000 );
- ADDDWORD ( pak, Stats->HP );
I'm no expert with packets, even worse, I don't know much about them, so I ask, could replacing the osprose part by the v80 part be a fix to this, or maybe a diff bug?