Skip to content

Commit 560bd1b

Browse files
committed
Сделал фикс для автоматического выбора оружия после его выдачи
1 parent b60a97c commit 560bd1b

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

cstrike/addons/amxmodx/scripting/regg/functions.inl

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -162,39 +162,42 @@ ReGG_Result:killKnife(const killer, const victim) {
162162

163163
bool:giveWeapon(const id, const level) {
164164
EXECUTE_FORWARD_PRE_ARGS(FWD_GiveWeapon, false, id, Levels[level][LevelWeaponID]);
165+
new deployedWeapon;
165166
switch (Levels[level][LevelWeaponID]) {
166167
case WEAPON_KNIFE: {}
167168
case WEAPON_HEGRENADE: {
168169
rg_give_item(id, "weapon_hegrenade");
169-
for(new i = 0, weapon, wname[32]; i < GrenadeWeaponsNum; i++) {
170+
for(new i = 0, wname[32]; i < GrenadeWeaponsNum; i++) {
170171
rg_get_weapon_info(GrenadeWeapons[i], WI_NAME, wname, charsmax(wname));
171-
weapon = rg_give_item(id, wname);
172-
if(!is_nullent(weapon)) {
172+
deployedWeapon = rg_give_item(id, wname);
173+
if(!is_nullent(deployedWeapon)) {
173174
rg_set_user_bpammo(id, GrenadeWeapons[i], Config[CfgAmmoAmount]);
174175
}
175176
}
176177
}
177178
case WEAPON_AWP: {
178-
new weapon = rg_give_item(id, "weapon_awp");
179-
if(!is_nullent(weapon)) {
179+
deployedWeapon = rg_give_item(id, "weapon_awp");
180+
if(!is_nullent(deployedWeapon)) {
180181
rg_set_user_bpammo(id, WEAPON_AWP, Config[CfgAmmoAmount]);
181182

182183
if(Config[CfgAWPOneShot]) {
183184
rg_set_user_ammo(id, WEAPON_AWP, 1);
184-
rg_set_iteminfo(weapon, ItemInfo_iMaxClip, 1);
185+
rg_set_iteminfo(deployedWeapon, ItemInfo_iMaxClip, 1);
185186
}
186187
}
187188
}
188189
default: {
189190
new wname[32];
190191
new WeaponIdType:wid = Levels[level][LevelWeaponID];
191192
rg_get_weapon_info(wid, WI_NAME, wname, charsmax(wname));
192-
new weapon = rg_give_item(id, wname);
193-
if(!is_nullent(weapon)) {
193+
deployedWeapon = rg_give_item(id, wname);
194+
if(!is_nullent(deployedWeapon)) {
194195
rg_set_user_bpammo(id, wid, Config[CfgAmmoAmount]);
195196
}
196197
}
197198
}
199+
// Переключаем игрока на выданное оружие(в обход настройки "_cl_autowepswitch = 0")
200+
rg_switch_weapon(id, deployedWeapon);
198201
EXECUTE_FORWARD_POST_ARGS(FWD_GiveWeapon, id, Levels[level][LevelWeaponID]);
199202
return true;
200203
}

0 commit comments

Comments
 (0)