|
Junior Member
|

05-17-2014
, 21:01
[FoF] Once per lifetime use
|
#1
|
I have this weapon menu code which gives you a weapon once selected, however, I want it to only give one weapon per life and I haven't had any success adding that in.
PHP Code:
#include <sourcemod> #include <sdktools>
new Handle:g_WeaponMenu new Handle:g_PistolMenu new Handle:g_SMGMenu new Handle:g_InfoMenu
public OnPluginStart() { RegConsoleCmd("sm_weapons", Command_Weapons, "Open the !weapons Menu"); } public OnMapStart() { g_WeaponMenu = BuildWeaponMenu(); g_PistolMenu = BuildPistolMenu(); g_SMGMenu = BuildSMGMenu(); g_InfoMenu = BuildInfoMenu(); } public OnMapEnd() { if (g_WeaponMenu != INVALID_HANDLE) { CloseHandle(g_WeaponMenu); g_WeaponMenu = INVALID_HANDLE; } if (g_PistolMenu != INVALID_HANDLE) { CloseHandle(g_PistolMenu); g_PistolMenu = INVALID_HANDLE; } if (g_SMGMenu != INVALID_HANDLE) { CloseHandle(g_SMGMenu); g_SMGMenu = INVALID_HANDLE; } if (g_InfoMenu != INVALID_HANDLE) { CloseHandle(g_InfoMenu); g_InfoMenu = INVALID_HANDLE; } } Handle:BuildWeaponMenu() { new Handle:weapons = CreateMenu(Menu_Weapons); AddMenuItem(weapons, "g_PistolMenu", "ALL WEAPONS") AddMenuItem(weapons, "g_SMGMenu", "SMGs") AddMenuItem(weapons, "g_InfoMenu", "Information") SetMenuTitle(weapons, "Weapons Menu:"); return weapons; } Handle:BuildPistolMenu() { new Handle:pistols = CreateMenu(Menu_Pistols); AddMenuItem(pistols, "weapon_axe", "weapon_axe") AddMenuItem(pistols, "weapon_bow", "weapon_bow") AddMenuItem(pistols, "weapon_carbine", "weapon_carbine") AddMenuItem(pistols, "weapon_coachgun", "weapon_coachgun") AddMenuItem(pistols, "weapon_dynamite", "weapon_dynamite") AddMenuItem(pistols, "weapon_dynamite_black", "weapon_dynamite_black") AddMenuItem(pistols, "weapon_fists", "weapon_fists") AddMenuItem(pistols, "weapon_henryrifle", "weapon_henryrifle") AddMenuItem(pistols, "weapon_knife", "weapon_knife") AddMenuItem(pistols, "weapon_sharps", "weapon_sharps") AddMenuItem(pistols, "weapon_shotgun", "weapon_shotgun") AddMenuItem(pistols, "weapon_volcanic", "weapon_volcanic (right-hand)") AddMenuItem(pistols, "weapon_walker", "weapon_walker (right-hand)") AddMenuItem(pistols, "weapon_schofield", "weapon_schofield (right-hand)") AddMenuItem(pistols, "weapon_maresleg", "weapon_maresleg (right-hand)") AddMenuItem(pistols, "weapon_peacemaker", "weapon_peacemaker (right-hand)") AddMenuItem(pistols, "weapon_sawedoff_shotgun", "weapon_sawedoff_shotgun (right-hand)") AddMenuItem(pistols, "weapon_coltnavy", "weapon_coltnavy (right-hand)") AddMenuItem(pistols, "weapon_deringer", "weapon_deringer (right-hand)") AddMenuItem(pistols, "weapon_volcanic2", "weapon_volcanic2 (left-hand)") AddMenuItem(pistols, "weapon_walker2", "weapon_walker2 (left-hand)") AddMenuItem(pistols, "weapon_schofield2", "weapon_schofield2 (left-hand)") AddMenuItem(pistols, "weapon_maresleg2", "weapon_maresleg2 (left-hand)") AddMenuItem(pistols, "weapon_peacemaker2", "weapon_peacemaker2 (left-hand)") AddMenuItem(pistols, "weapon_sawedoff_shotgun2", "weapon_sawedoff_shotgun2 (left-hand)") AddMenuItem(pistols, "weapon_coltnavy2", "weapon_coltnavy2 (left-hand)") AddMenuItem(pistols, "weapon_deringer2", "weapon_deringer2 (left-hand)") SetMenuTitle(pistols, "Select To Equip:"); return pistols; } Handle:BuildSMGMenu() { new Handle:smgs = CreateMenu(Menu_SMGs); AddMenuItem(smgs, "weapon_tmp", "TMP") AddMenuItem(smgs, "weapon_mac10", "Mac 10") AddMenuItem(smgs, "weapon_mp5navy", "MP5 Navy") AddMenuItem(smgs, "weapon_ump45", "UMP45") AddMenuItem(smgs, "weapon_p90", "P90") SetMenuTitle(smgs, "SMG Menu:"); return smgs; } Handle:BuildInfoMenu() { new Handle:info = CreateMenu(Menu_Info); AddMenuItem(info, "1", " Type !weapons to spawn a weapon.", ITEMDRAW_DISABLED) SetMenuTitle(info, "How to use"); return info; } public Menu_Weapons(Handle:weapons, MenuAction:action, param1, param2) { if (action == MenuAction_Select) { new String:info[32]; GetMenuItem(weapons, param2, info, sizeof(info));
if (StrEqual(info,"g_PistolMenu")) { DisplayMenu(g_PistolMenu, param1, 20); } if (StrEqual(info,"g_SMGMenu")) { DisplayMenu(g_SMGMenu, param1, 20); } if (StrEqual(info,"g_InfoMenu")) { DisplayMenu(g_InfoMenu, param1, 20); } } } public Menu_Pistols(Handle:pistols, MenuAction:action, param1, param2) { if (action == MenuAction_Select) { new String:info[32]; GetMenuItem(pistols, param2, info, sizeof(info));
GivePlayerItem(param1, info, 0); } } public Menu_SMGs(Handle:smgs, MenuAction:action, param1, param2) { if (action == MenuAction_Select) { new String:info[32]; GetMenuItem(smgs, param2, info, sizeof(info));
GivePlayerItem(param1, info, 0); } } public Menu_Info(Handle:info, MenuAction:action, param1, param2) { if (action == MenuAction_Select) { return } } public Action:Command_Weapons(client, args) { if (client) { DisplayMenu(g_WeaponMenu, client, 20); } }
Basically, I want clients to only be able to use sm_weapons once per respawn (as long as they have selected an item).
Also, this is for Fistul of Frags so I'm not sure what problems that could cause
Last edited by Konkey Dong; 05-17-2014 at 21:06.
|
|