#include #include #include #define PLUGIN "Leader Vote" #define VERSION "1.0" #define AUTHOR "Styles" new pCvarDStart, pCvarDEnd, pCvarAStart, pCvarAEnd new Sql:dbc, Result:result // Angle Menu new mAnglesVote, mcbAnglesVote new mDemonVote, mcbDemonVote public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("amx_racevote", "DoVote") pCvarDStart = register_cvar("amx_demonstart", "2001") pCvarDEnd = register_cvar("amx_demonend", "2025") pCvarAStart = register_cvar("amx_anglestart", "1001") pCvarAEnd = register_cvar("amx_angleend", "1025") // Angle Menu mAnglesVote = menu_create("Angles Vote", "mh_AnglesVote") mcbAnglesVote = menu_makecallback("mcb_AnglesVote") // Demon Menu mDemonVote = menu_create("Angles Vote", "mh_DemonVote") mcbDemonVote = menu_makecallback("mcb_DemonVote") set_task(1.0,"sql_init") } public DoVote(id) { //if(!cmd_access(id,level,cid,1)) // return PLUGIN_HANDLED client_print(id, print_chat, "[AMXX Debug] DoVote(id) called!") new Players[32], iNum, name[32], player get_players(Players, iNum, "ch") for (new i=0; i < iNum; i++) { player = Players[i] get_user_name(player, name, 31) if(IsPlayerAngle(player)) { client_print(player, print_chat, "[AMXX Debug] Add player %s to Angle Menu.", name) menu_additem(mAnglesVote, name, "ma_AnglesVote", 0, mcbAnglesVote) } else if(IsPlayerDemon(player)) { client_print(player, print_chat, "[AMXX Debug] Add player %s to Demon Menu.", name) menu_additem(mDemonVote, name, "ma_AnglesVote", 0, mcbDemonVote) } else { client_print(player, print_chat, "[AMXX Debug] Bad Job Part 1") } } for (new i=0; i < iNum; i++) { player = Players[i] if(IsPlayerAngle(player)) { client_print(player, print_chat, "[AMXX Debug] Angles Menu Showing!") menu_display(player, mAnglesVote, 0) } else if(IsPlayerDemon(player)) { client_print(player, print_chat, "[AMXX Debug] Demon Menu Showing!") menu_display(player, mDemonVote, 0) } else { client_print(player, print_chat, "[AMXX Debug] Bad Job") } } return PLUGIN_HANDLED } // Angle Menu Handler public mh_AnglesVote(id, menu, item) { client_print(id, print_chat, "[AMXX Debug] Info: %s %s!", menu, item) } // Demon Menu Handler public mh_DemonVote(id, menu, item) { client_print(id, print_chat, "[AMXX Debug] Info: %s %s!", menu, item) } // Database public sql_init() { new host[32], username[32], password[32], dbname[32], error[32] get_cvar_string("economy_mysql_host",host,32) get_cvar_string("economy_mysql_user",username,32) get_cvar_string("economy_mysql_pass",password,32) get_cvar_string("economy_mysql_db",dbname,32) dbc = dbi_connect(host,username,password,dbname,error,32) if (dbc == SQL_FAILED) server_print("[%s] Could Not Connect To SQL Database^n",PLUGIN) else server_print("[%s] Connected To SQL, Have A Nice Day!^n",PLUGIN) } public edit_value(id,table[],index[],func[],amount) { if(dbc < SQL_OK) { return PLUGIN_HANDLED } new authid[33], query[256] get_user_authid(id,authid,32) if(equali(func,"=")) { format(query,255,"UPDATE %s SET %s=%i WHERE steamid='%s'",table,index,amount,authid) } else { format(query,255,"UPDATE %s SET %s=%s%s%i WHERE steamid='%s'",table,index,index,func,amount,authid) } dbi_query(dbc,"%s",query) return PLUGIN_HANDLED } public select_string(id,table[],index[],condition[],equals[],output[]) { new query[256] format(query,255,"SELECT %s FROM %s WHERE %s='%s'",index,table,condition,equals) result = dbi_query(dbc,"%s",query) if(result >= RESULT_OK) { dbi_nextrow(result) dbi_field(result,1,output,64) dbi_free_result(result) } } public IsPlayerAngle(id) { new buffer[64], authid[32], JobID get_user_authid(id, authid, 31) select_string(id, "money", "JobID", "steamid", authid, buffer) JobID = str_to_num(buffer) client_print(id, print_chat, "[AMXX Debug] Demon JobID %i", JobID) if(JobID < get_pcvar_num(pCvarAStart) || JobID > get_pcvar_num(pCvarAEnd)) return false return true } public IsPlayerDemon(id) { new buffer[64], authid[32], JobID get_user_authid(id, authid, 31) select_string(id, "money", "JobID", "steamid", authid, buffer) JobID = str_to_num(buffer) client_print(id, print_chat, "[AMXX Debug] Demon JobID %i", JobID) if(JobID < get_pcvar_num(pCvarDStart) || JobID > get_pcvar_num(pCvarDEnd)) return false return true }