Hmm Enabling Weapongs dont work.. argh!
Code:
#include <amxmodx>
#include <amxmisc>
#include <string>
// #define CSMAX_WEAPONS 30 + 1 // ** Future Feature **
// #define AMX_MOD // ** Future Feature **
new MsgControl = 0
// new weaponname[29][] = {"usp", "glock", "deagle", "p228" , "elites" , "fiveseven" , "pistols" , "pump" , "auto" , "shotguns" , "mac10" , "ump45" , "mp5" , "tmp", "p90" , "submachinegun" , "ak47" , "sg552" , "colt" , "aug" , "scout" , "awp" , "g3sniper" , "sgsniper" , "zoomed" , "scoped", "zoomscope" , "rifles" , "para"} // ** Old Weapons Aray **
new weaponname[31][] = {"pistols", "p228", "shotguns", "scout", "submachineguns", "auto", "zoomed", "mac10", "aug", "scoped", "elites", "fiveseven", "ump45", "sgsniper", "zoomscope", "rifles", "usp", "glock", "awp", "mp5", "para", "pump", "colt", "tmp", "g3sniper", "25", "deagle", "sg552", "ak47", "knife", "p90"}
new weap_disabled[64]
new weap_pend[32]
new curweap
new bool:first_time = false
public checkweap(id,level,cid) {
// client_print(id,print_console,"[Debug] Running CheckWeap" ) // ** [Debug] Feature **
new weap[32]
read_argv(1,weap,31)
new i = 0
while (++i <= 31) {
// client_print(id, print_console, "wpname=^"%s^", weap=^"%s^"", weaponname[i], weap) // ** [Debug] Feature **
if (containi(weaponname[i], weap)!=-1)
{
curweap = i
}
}
if (weap_disabled[curweap] == 0) {
first_time = true
weap_pend[curweap] = 1
client_print(id,print_console,"%s", curweap )
client_print(id,print_console,"%s", weaponname[curweap][0] )
}else {
weap_pend[curweap] = 2
client_print(id,print_console,"%s", curweap )
client_print(id,print_console,"%s", weap_pend[curweap] )
}
return PLUGIN_HANDLED
}
public dropthatweapon(id) {
new weapon, ammo, wep
weapon = get_user_weapon(id,wep,ammo)
new wepi = read_data(2)
client_print(id,print_console,"[DEBUG] FDrop That Weap Ran")
if (get_cvar_num("amx_weaponrest") == 0)
return PLUGIN_HANDLED
if(first_time == true) {
client_print(id,print_console,"[DEBUG] First Time Ran")
return PLUGIN_HANDLED
}
if (weap_disabled[wepi] == 1) {
if (weap_pend[wepi] == 1 || weap_pend[wepi] == 2 ) {
client_print(id,print_chat,"[AMX] Hey butterfingers! Dont waste your time and money. That Weapon is Disabled")
weapon = get_user_weapon(id,wep,ammo)
// console_print(id,"[DEBUG] weapon: %d, wep: %d, ammo: %d", weapon,wep,ammo) // ** [Debug] Feature **
disarm_player(id,weapon)
}
}
return PLUGIN_HANDLED
}
public RestartRoundTask() {
if (get_cvar_num("amx_weaponrest") == 0)
return PLUGIN_HANDLED
MsgControl = 0
server_print("[AMX] Restarted Round Commands")
set_task(0.2,"delayed_rs")
return PLUGIN_CONTINUE
}
disarm_player(victim, weapon){
new wpname[32]
new parm[2]
parm[0]=victim
get_weaponname(weapon,wpname,31)
engclient_cmd(victim,"drop",wpname)
return PLUGIN_CONTINUE
}
public roundend_cleanup(){
if (get_cvar_num("amx_weaponrest") == 0)
return PLUGIN_HANDLED
MsgControl = 0
return PLUGIN_CONTINUE
}
public round_start(){
if (get_cvar_num("amx_weaponrest") == 0)
return PLUGIN_HANDLED
set_task(0.2,"delayed_rs")
return PLUGIN_CONTINUE
}
public delayed_rs(){
if (get_cvar_num("amx_weaponrest") == 0)
return PLUGIN_HANDLED
if(MsgControl == 1){
server_print("[AMX] MsgControl is 1 Plugin Handled")
return PLUGIN_HANDLED
}
MsgControl = 1
if(first_time == true){
set_hudmessage(63,187,239, -1.0, 0.47, 2, 0.02, 4.5, 0.01, 0.1, 4)
first_time = false
}else{
set_hudmessage(63,187,239, -1.0, 0.73, 2, 0.02, 4.5, 0.01, 0.1, 4)
}
new j
while (j++ <= 31) {
if (weap_pend[j] == 2) {
weap_pend[j] = 1
weap_disabled[j] = 0
}
}
new k
while (k++ <= 31) {
if (weap_pend[k] == 1) {
weap_pend[k] = 1
weap_disabled[k] = 1
}
}
return PLUGIN_CONTINUE
}
public plugin_init() {
register_plugin("Weapon Vote and Restrict","0.1","MagicShot")
register_cvar("amx_weaponrest","1",0)
// register_cvar("amx_weaponwait","1",0) ** Future Feature **
register_cvar("amx_xtra_wep_msg","1")
register_clcmd("amx_magrest","checkweap",ADMIN_USER,"amx_magrest : toggles restricted weapons eg. amx_magrest weaponname")
register_event("CurWeapon","dropthatweapon","b","1=1")
register_event("TextMsg","RestartRoundTask","a","2&#Game_will_restart_in")
register_event("SendAudio","round_start","bc","2=%!MRAD_GO","2=%!MRAD_MOVEOUT","2=%!MRAD_LETSGO","2=%!MRAD_LOCKNLOAD")
register_event("SendAudio","roundend_cleanup","a","2=%!MRAD_terwin","2=%!MRAD_ctwin","2=%!MRAD_rounddraw")
}