Acesta este pluginul
- | Afiseaza codul
[code]//Includes #include <amxmodx> #include <amxmisc> //Defines #define CS_TEAM_T 1 #define CS_TEAM_CT 2 #define ADMIN_LEVEL ADMIN_RCON public plugin_init() { // Plugin Info. register_plugin("AMX Toggle Immunity","3.12","slmclarengt") //Commands register_concmd("amx_immuneoff","ImmunityOff",ADMIN_RCON,"<name | #userid> - removes immunity on specified player") register_concmd("amx_immuneon","ImmunityOn",ADMIN_RCON,"<name | #userid> - adds immunity for specified player") register_concmd("amx_globalimmuneoff", "GlobalOff", ADMIN_RCON, "Turns immunity off of everyone w/ immunity") register_concmd("amx_globalimmuneon", "GlobalOn", ADMIN_RCON, "Turns immunity on for everyone authorized") register_concmd("amx_teamimmuneoff", "ImmuneOffTeam", ADMIN_RCON, "< 1 for T, 2 for CT > - turns specified Team's immunity off") register_concmd("amx_teamimmuneon", "ImmuneOnTeam", ADMIN_RCON, "< 1 for T, 2 for CT > - turns specified Team's immunity on") // Cvars register_cvar("sv_allowignore","1") register_cvar("disclude_self", "1") // discludes self from immunity off } //Variables // variable to store whether user authorized for immunity back new g_MakeSure[80] public ImmunityOff(id, level, cid) { if (!cmd_access(id,level,cid,1)) // access? return PLUGIN_HANDLED if(get_cvar_num("sv_allowignore") == 0) { client_print(id,print_chat,"Server does not allow Immunity Off") return PLUGIN_HANDLED } else if(get_cvar_num("sv_allowignore") == 1) { new arg[32],name[32] read_argv(1,arg,31) new player = cmd_target(id,arg,8) get_user_name(player,name,31) if (!player) { client_print(id,print_chat,"Player %s could not be found",name) return PLUGIN_HANDLED } client_print(id,print_chat,"Player %s has been found",name) if(!(get_user_flags(player)&(1<<0))) // no immunity check { client_print(id,print_chat,"Player %s does not have immunity",name) g_MakeSure[player] = 0 return PLUGIN_HANDLED } remove_user_flags(player,(1<<0),0) // take their immunity away client_print(id,print_chat,"Player %s has lost immunity",name) g_MakeSure[player] = 1 // store the player that they deserve immunity } return PLUGIN_HANDLED } public ImmunityOn(id, level, cid) { if (!cmd_access(id,level,cid,1)) // access? return PLUGIN_HANDLED if(get_cvar_num("sv_allowignore") == 0) { client_print(id,print_chat,"Server does not allow immunity on") return PLUGIN_HANDLED } else if(get_cvar_num("sv_allowignore") == 1) { new arg[32],name[32] read_argv(1,arg,31) new player = cmd_target(id,arg,8) get_user_name(player,name,31) if (!player) { client_print(id,print_chat,"Player %s could not be found",name) return PLUGIN_HANDLED } client_print(id,print_chat,"Player %s has been found",name) if(!(get_user_flags(player)&(1<<0))) // check for immune authorization { if(!g_MakeSure[player]) { client_print(id,print_chat,"Player %s is not authorized to have immunity",name) return PLUGIN_HANDLED } set_user_flags(player,(1<<0),0) // give them immunity back client_print(id,print_chat,"Player %s has been given his/her immunity back",name) return PLUGIN_HANDLED } } return PLUGIN_HANDLED } public GlobalOn(id, level, cid) { if(get_cvar_num("sv_allowignore") == 1) { if(!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED new players[32], nums get_players(players, nums, "c") for(new k = 0; k < nums; k++) { if(g_MakeSure[k] == 1) { set_user_flags(players[k],(1<<0),0) new name[32] get_user_name(players[k],name,31) client_print(id,print_chat,"Player %s^'s immunity has been restored",name) g_MakeSure[k] = 0 } } } return PLUGIN_HANDLED } public GlobalOff(id, level, cid) { if(get_cvar_num("sv_allowignore") == 1) { if(!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED new players[32], nums get_players(players, nums, "c") for(new k = 0; k < nums; k++) { if((get_user_flags(players[k])&(1<<0))) { if((get_cvar_num("disclude_self") == 1) && (players[k] == id)){} g_MakeSure[k] = 1 remove_user_flags(players[k],(1<<0),0) new name[32] get_user_name(players[k],name,31) client_print(id,print_chat,"Player %s has lost immunity",name) } } } return PLUGIN_HANDLED } //Mainly from VotorX's Version public ImmuneOffTeam(id, level, cid) { if(get_cvar_num("sv_allowignore") == 1) { if(!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED new players[32], nums, team[32] read_argv(1,team,31) team = ("%s", team) get_players(players, nums, "ce", team) for(new k = 0; k < nums; k++) { if((get_user_flags(players[k])&(1<<0))) { if((get_cvar_num("disclude_self") == 1) && (players[k] == id)){} g_MakeSure[k] = 1 remove_user_flags(players[k],(1<<0),0) new name[32] get_user_name(players[k],name,31) client_print(id,print_chat,"Player %s has lost immunity",name) } } } return PLUGIN_HANDLED } //Mainly from VotorX's Version public ImmuneOnTeam(id, level, cid) { if(get_cvar_num("sv_allowignore") == 1) { if(!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED new players[32], nums, team[32] read_argv(1,team,31) team = ("%s", team) get_players(players, nums, "ce", team) for(new k = 0; k < nums; k++) { if(g_MakeSure[k] == 1) { set_user_flags(players[k],(1<<0),0) new name[32] get_user_name(players[k],name,31) client_print(id,print_chat,"Player %s^'s immunity has been restored",name) g_MakeSure[k] = 0 } } } return PLUGIN_HANDLED } public client_disconnect(id) { if(g_MakeSure[id]) set_user_flags(id,(1<<0),0) // set immune back if they are authorized g_MakeSure[id] = 0 // set back to 0 because they have it back. return PLUGIN_HANDLED } public plugin_end() { for(new i = 0; i < get_maxplayers(); i++) if(g_MakeSure) set_user_flags(i,(1<<0),0) // set it back if authorized return PLUGIN_HANDLED } /* public GlobalOff(id, level, cid) Slmclarengt { if (!cmd_access(id,level,cid,1)) // access? return PLUGIN_HANDLED if(get_cvar_num("sv_allowignore") == 0) { client_print(id,print_chat,"Server does not allow Immunity Off") return PLUGIN_HANDLED } for(new i = 0; i < get_playersnum(); i++) { if (get_user_flags(i) && (1<<0)) { if((get_cvar_num("disclude_self") == 1) && i == id) {} // don't remove immune ImmunityOff(id, level, cid) client_print(id, print_chat, "Immunity has been removed from specified user(s)") g_MakeSure = 1 // store the player that they deserve immunity } else continue; } return PLUGIN_HANDLED } */ /* public GlobalOn(id, level, cid) Slmclarengt { if (!cmd_access(id,level,cid,1)) // access? return PLUGIN_HANDLED for(new i = 0; i < get_playersnum(); i++) { new name[32] get_user_name(i, name, 31) if(g_MakeSure == 1) { if(get_cvar_num("disclude_self") == 1 && i == id){} // don't give immune ImmunityOn(id, level, cid) client_print(id, print_chat, "Immunity has been given to specified user(s)") g_MakeSure = 0 // store the player that they have immunity } } return PLUGIN_HANDLED } */ /* public GlobalOn(id, level, cid) VotorX { new players[32], nums get_players(players, nums, "ce") if (!cmd_access(id,level,cid,1)) // access? return PLUGIN_HANDLED if(get_cvar_num("sv_allowignore") == 0) { client_print(id,print_chat,"Server does not allow Immunity Off") return PLUGIN_HANDLED } else if(get_cvar_num("sv_allowignore") == 1) { for(new i = 0; i < get_playersnum(); i++) // through list of players { new name[32] get_user_name(players, name, 31) if(g_MakeSure == 1) // check if they deserve immunity { set_user_flags(players, (1<<0), 0) // give them immunity back client_print(id, print_chat, "Successfully restored %s^'s immunity!", name) g_MakeSure = 0 // store the player that they have immunity } } } return PLUGIN_HANDLED }*/ /* public GlobalOff(id, level, cid) VotorX { new players[32], nums get_players(players, nums, "ce") if (!cmd_access(id,level,cid,1)) // access? return PLUGIN_HANDLED if(get_cvar_num("sv_allowignore") == 0) { client_print(id,print_chat,"Server does not allow Immunity Off") return PLUGIN_HANDLED } else if(get_cvar_num("sv_allowignore") == 1) { for(new i = 0; i < get_playersnum(); i++) { if(get_cvar_num("disclude_self") == 1 && players == id){} new name[32] get_user_name(players, name, 31) if(get_user_flags(players[i]) && (1<<0)) { remove_user_flags(players[i], (1<<0), 0) client_print(id, print_chat, "Removed %s^'s immunity", name) g_MakeSure[i] = 1 // store the player that they deserve immunity } } } return PLUGIN_HANDLED }*/ [/code]
Multumesc anticipat