@@ -84,28 +84,6 @@ static CWeapons_Hooks__RegHam(const sWeaponName[]) {
8484// Callbacks
8585
8686public Hook_RemoveAllItems_Pre (const playerIndex) {
87- new Array: forRemove = ArrayCreate (11 , 1 );
88-
89- new TrieIter: iter = TrieIterCreate (ItemOwners);
90- while (! TrieIterEnded (iter)) {
91- new owner;
92- TrieIterGetCell (iter, owner);
93- if (owner == playerIndex) {
94- new key[11 ];
95- TrieIterGetKey (iter, key, charsmax (key));
96- ArrayPushString (forRemove, key);
97- }
98- TrieIterNext (iter);
99- }
100- TrieIterDestroy (iter);
101-
102- for (new i = 0 , ii = ArraySize (forRemove); i < ii; i++ ) {
103- new key[11 ];
104- ArrayGetString (forRemove, i, key, charsmax (key));
105- TrieDeleteKey (ItemOwners, key);
106- }
107- ArrayDestroy (forRemove);
108-
10987 new item = get_member (playerIndex, m_rgpPlayerItems);
11088 while (! is_nullent (item)) {
11189 Hook_RemovePlayerItem_Post (playerIndex, item);
@@ -294,15 +272,15 @@ public Hook_RemovePlayerItem_Post(const UserId, const ItemId) {
294272
295273 new itemIdStr[11 ];
296274 num_to_str (ItemId, itemIdStr, charsmax (itemIdStr));
275+
297276 new owner = 0 ;
298277 TrieGetCell (ItemOwners, itemIdStr, owner);
299278 TrieDeleteKey (ItemOwners, itemIdStr);
300- if (owner != UserId) {
301- return HC_CONTINUE;
279+
280+ if (owner == UserId) {
281+ CWeapons_Call (Weapon, CWeapon_OnRemovePlayerItem, [iWeapon, ItemId, UserId]);
302282 }
303283
304- CWeapons_Call (Weapon, CWeapon_OnRemovePlayerItem, [iWeapon, ItemId, UserId]);
305-
306284 return HC_CONTINUE;
307285}
308286
0 commit comments