Any idea whats wrong?
Hit monster 1 time works but second time the client crashes
2 = id from char
1525 = id from mob...
the function where it crashes:
- - - Updated - - -Code:void CGameServer::SendCharActionAttack(RwUInt32 uiSerialId, RwUInt32 uiTargetSerialId, CClientSession * pSession) { RwBool bDamageApply = TRUE; printf("SendCharActionAttack SERIAL %i %i \n", uiSerialId,uiTargetSerialId); printf("AVATAR HANDLE TEST %i \n", pSession->GetavatarHandle()); CNtlPacket packet(sizeof(sGU_CHAR_ACTION_ATTACK)); sGU_CHAR_ACTION_ATTACK * res = (sGU_CHAR_ACTION_ATTACK *)packet.GetPacketData(); res->wOpCode = GU_CHAR_ACTION_ATTACK; res->hSubject = uiSerialId; res->hTarget = uiTargetSerialId; res->bChainAttack = TRUE; res->wAttackResultValue = 150; res->byAttackSequence = rand()%2; if(res->byAttackSequence == 6) { if(rand()%2) res->byAttackResult = BATTLE_ATTACK_RESULT_KNOCKDOWN; else res->byAttackResult = BATTLE_ATTACK_RESULT_SLIDING; } else { RwInt32 iRandValue = rand()%5; if(iRandValue <= 2) res->byAttackResult = BATTLE_ATTACK_RESULT_HIT; else if(iRandValue == 3) { bDamageApply = FALSE; res->byAttackResult = BATTLE_ATTACK_RESULT_DODGE; } else { bDamageApply = FALSE; res->byAttackResult = BATTLE_ATTACK_RESULT_BLOCK; } } packet.SetPacketLen( sizeof(sGU_CHAR_ACTION_ATTACK) ); int rc = g_pApp->Send( pSession->GetHandle() , &packet ); }
fixed!





Reply With Quote

