diff --git a/server/include/CSharpResourceImpl.h b/server/include/CSharpResourceImpl.h index 31f3d67..bb89c2d 100644 --- a/server/include/CSharpResourceImpl.h +++ b/server/include/CSharpResourceImpl.h @@ -88,7 +88,8 @@ typedef void (* ColShapeDelegate_t)(void* colShape, void* entity, alt::IBaseObje typedef void (* WeaponDamageDelegate_t)(const alt::CEvent* event, alt::IPlayer* source, void* target, alt::IBaseObject::Type targetBaseObjectType, uint32_t weaponHash, uint32_t damageValue, position_t shotOffset, - alt::CWeaponDamageEvent::BodyPart bodyPart); + alt::CWeaponDamageEvent::BodyPart bodyPart, void* sourceEntity, + alt::IBaseObject::Type sourceEntityType); typedef void (* ExplosionDelegate_t)(const alt::CEvent* event, alt::IPlayer* source, alt::CExplosionEvent::ExplosionType explosionType, diff --git a/server/src/CSharpResourceImpl.cpp b/server/src/CSharpResourceImpl.cpp index 8332153..eee53f5 100644 --- a/server/src/CSharpResourceImpl.cpp +++ b/server/src/CSharpResourceImpl.cpp @@ -25,7 +25,7 @@ void CSharpResourceImpl::ResetDelegates() OnPlayerDeathDelegate = [](auto var, auto var2, auto var3, auto var4) {}; OnExplosionDelegate = [](auto var, auto var2, auto var3, auto var4, auto var5, auto var6, auto var7) {}; OnWeaponDamageDelegate = [](auto var, auto var2, auto var3, auto var4, auto var5, auto var6, auto var7, - auto var8) {}; + auto var8, auto var9, auto var10) {}; OnPlayerDisconnectDelegate = [](auto var, auto var2) {}; OnServerEventDelegate = [](auto var, auto var2, auto var3) {}; OnPlayerChangeVehicleSeatDelegate = [](auto var, auto var2, auto var3, auto var4) {}; @@ -332,6 +332,7 @@ case alt::CEvent::Type::SYNCED_META_CHANGE: { auto weaponDamageEvent = dynamic_cast(ev); auto targetEntity = weaponDamageEvent->GetTarget(); + auto sourceEntity = weaponDamageEvent->GetSourceEntity(); if (targetEntity == nullptr) return; @@ -345,7 +346,9 @@ case alt::CEvent::Type::SYNCED_META_CHANGE: weaponDamageEvent->GetWeaponHash(), weaponDamageEvent->GetDamageValue(), shotOffset, - weaponDamageEvent->GetBodyPart()); + weaponDamageEvent->GetBodyPart(), + GetEntityPointer(sourceEntity), + sourceEntity->GetType()); break; }