diff options
author | erorcun <erayorcunus@gmail.com> | 2020-05-15 20:30:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-15 20:30:57 +0200 |
commit | 8ff72f0728acbba293580042135f43268fa340fe (patch) | |
tree | 23cb65ca52efe5e964423ee50eff0e60ce8e155a /src/core/Pools.cpp | |
parent | CPedIK (diff) | |
parent | Weapon layer in Peds (diff) | |
download | re3-8ff72f0728acbba293580042135f43268fa340fe.tar re3-8ff72f0728acbba293580042135f43268fa340fe.tar.gz re3-8ff72f0728acbba293580042135f43268fa340fe.tar.bz2 re3-8ff72f0728acbba293580042135f43268fa340fe.tar.lz re3-8ff72f0728acbba293580042135f43268fa340fe.tar.xz re3-8ff72f0728acbba293580042135f43268fa340fe.tar.zst re3-8ff72f0728acbba293580042135f43268fa340fe.zip |
Diffstat (limited to 'src/core/Pools.cpp')
-rw-r--r-- | src/core/Pools.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/core/Pools.cpp b/src/core/Pools.cpp index 17b9e08d..6838ef8e 100644 --- a/src/core/Pools.cpp +++ b/src/core/Pools.cpp @@ -499,8 +499,20 @@ INITSAVEBUF pPed->CharCreatedBy = pBufferPlayer->CharCreatedBy; pPed->m_currentWeapon = 0; pPed->m_maxWeaponTypeAllowed = pBufferPlayer->m_maxWeaponTypeAllowed; - for (int i = 0; i < WEAPONTYPE_TOTAL_INVENTORY_WEAPONS; i++) - pPed->m_weapons[i] = pBufferPlayer->m_weapons[i]; + for (int i = 0; i < TOTAL_WEAPON_SLOTS; i++) { + if (pBufferPlayer->HasWeaponSlot(i)) { + int modelId = CWeaponInfo::GetWeaponInfo(pBufferPlayer->GetWeapon(i).m_eWeaponType)->m_nModelId; + if (modelId != -1) { + CStreaming::RequestModel(modelId, STREAMFLAGS_DEPENDENCY); + int modelId2 = CWeaponInfo::GetWeaponInfo(pBufferPlayer->GetWeapon(i).m_eWeaponType)->m_nModel2Id; + if (modelId2 != -1) + CStreaming::RequestModel(modelId2, STREAMFLAGS_DEPENDENCY); + + CStreaming::LoadAllRequestedModels(false); + } + pPed->GiveWeapon(pBufferPlayer->GetWeapon(i).m_eWeaponType, pBufferPlayer->GetWeapon(i).m_nAmmoTotal); + } + } if (pedtype == PEDTYPE_PLAYER1) { pPed->m_wepAccuracy = 100; |