Skip to content

Instantly share code, notes, and snippets.

@taifuhime
Created November 28, 2018 22:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save taifuhime/478fb2f85e51624250830fceff6893d5 to your computer and use it in GitHub Desktop.
Save taifuhime/478fb2f85e51624250830fceff6893d5 to your computer and use it in GitHub Desktop.
generate weapon commands
weaponlist = ['weapon_awp', 'weapon_g3sg1', 'weapon_scout', 'weapon_sg550', 'weapon_ak47', 'weapon_aug', 'weapon_famas', 'weapon_galil', 'weapon_m4a1', 'weapon_sg552', 'weapon_mac10', 'weapon_mp5navy', 'weapon_p90', 'weapon_tmp', 'weapon_ump45', 'weapon_m3', 'weapon_xm1014', 'weapon_m249', 'weapon_deagle', 'weapon_elite', 'weapon_fiveseven', 'weapon_glock', 'weapon_p228', 'weapon_usp', 'weapon_knife', 'weapon_hegrenade', 'weapon_flashbang', 'weapon_smokegrenade']
primaries = ['weapon_awp', 'weapon_g3sg1', 'weapon_scout', 'weapon_sg550', 'weapon_ak47', 'weapon_aug', 'weapon_famas', 'weapon_galil', 'weapon_m4a1', 'weapon_sg552', 'weapon_mac10', 'weapon_mp5navy', 'weapon_p90', 'weapon_tmp', 'weapon_ump45', 'weapon_m3', 'weapon_xm1014', 'weapon_m249']
secondaries = ['weapon_deagle', 'weapon_elite', 'weapon_fiveseven', 'weapon_glock', 'weapon_p228', 'weapon_usp']
grenades = ['weapon_hegrenade', 'weapon_smokegrenade', 'weapon_flashbang']
for weapon in weaponlist:
with open('workfile.py', 'a') as f:
f.write(f"@TypedSayCommand('!{weapon[7:]}')\n")
f.write(f"@TypedClientCommand('sp_{weapon[7:]}')\n")
f.write(f"def give_{weapon[7:]}(command):\n")
f.write(f" player = Player(command.index)\n")
if weapon in primaries:
f.write(f" if player.primary:\n")
f.write(f" current_weapon = player.primary\n")
f.write(f" player.drop_weapon(current_weapon.pointer, NULL_VECTOR, NULL_VECTOR)\n")
f.write(f" current_weapon.remove()\n")
elif weapon in secondaries:
f.write(f" if player.secondary:\n")
f.write(f" current_weapon = player.secondary\n")
f.write(f" player.drop_weapon(current_weapon.pointer, NULL_VECTOR, NULL_VECTOR)\n")
f.write(f" current_weapon.remove()\n")
elif weapon in grenades:
f.write(f" if player.get_projectile_ammo('{weapon[7:]}'') not in (0, 1):\n")
f.write(f" return\n")
else:
f.write(f" if player.get_weapon(classname='{weapon}'):\n")
f.write(f" return\n")
f.write(f" {weapon[7:]} = make_object(Weapon, player.give_named_item('{weapon}'))\n")
f.write(f" player.set_active_weapon({weapon[7:]})\n")
f.write(f" return CommandReturn.BLOCK\n")
f.write("\n\n")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment