AMMO_BALL protection (#2733)
This commit is contained in:
parent
3a8aed2d00
commit
9e6559b304
@ -25,7 +25,8 @@ namespace big
|
||||
id.m_instance_id = buffer.Read<int32_t>(8);
|
||||
}
|
||||
|
||||
void scan_weapon_damage_event(CNetGamePlayer* player, rage::datBitBuffer* buffer)
|
||||
// Returns true if bad event
|
||||
bool scan_weapon_damage_event(rage::netEventMgr* event_manager, CNetGamePlayer* player, CNetGamePlayer* target_player, int event_index, int event_handled_bitset, rage::datBitBuffer* buffer)
|
||||
{
|
||||
uint8_t damageType;
|
||||
uint32_t weaponType; // weaponHash
|
||||
@ -71,6 +72,13 @@ namespace big
|
||||
damageType = buffer->Read<uint8_t>(2);
|
||||
weaponType = buffer->Read<uint32_t>(32);
|
||||
|
||||
const auto is_crash_weapon = weaponType == RAGE_JOAAT("AMMO_BALL");
|
||||
if (is_crash_weapon)
|
||||
{
|
||||
g_pointers->m_gta.m_send_event_ack(event_manager, player, target_player, event_index, event_handled_bitset);
|
||||
return true;
|
||||
}
|
||||
|
||||
overrideDefaultDamage = buffer->Read<uint8_t>(1);
|
||||
hitEntityWeapon = buffer->Read<uint8_t>(1);
|
||||
hitWeaponAmmoAttachment = buffer->Read<uint8_t>(1);
|
||||
@ -214,6 +222,8 @@ namespace big
|
||||
player->get_ped()->m_navigation->get_position());
|
||||
});
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void scan_explosion_event(CNetGamePlayer* player, rage::datBitBuffer* buffer)
|
||||
@ -705,7 +715,10 @@ namespace big
|
||||
}
|
||||
case eNetworkEvents::WEAPON_DAMAGE_EVENT:
|
||||
{
|
||||
scan_weapon_damage_event(source_player, buffer);
|
||||
if (scan_weapon_damage_event(event_manager, source_player, target_player, event_index, event_handled_bitset, buffer))
|
||||
{
|
||||
return;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default: break;
|
||||
|
Reference in New Issue
Block a user