Skip to content

Commit 8446e93

Browse files
committed
Fix remove item hook
1 parent 6177b82 commit 8446e93

1 file changed

Lines changed: 4 additions & 26 deletions

File tree

  • amxmodx/scripting/Cwapi/Core/CWeapons

amxmodx/scripting/Cwapi/Core/CWeapons/Hooks.inc

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -84,28 +84,6 @@ static CWeapons_Hooks__RegHam(const sWeaponName[]) {
8484
// Callbacks
8585

8686
public 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

Comments
 (0)