Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <colorchat>
- #define PLUGIN "Krotka Pilka na Cheatera"
- #define VERSION "1.0"
- #define AUTHOR "JAILBREAK TEAM"
- #define FLAGA ADMIN_BAN
- #define FLAGAMIN ADMIN_KICK
- #define ForPlayers(%1) for(new %1 = 1; %1 <= 32; %1++)
- new const banMenuCommands[][] =
- {
- "/b"
- };
- new const banMenuCommandsIP[][] =
- {
- "/bi"
- };
- new const banMenuCommandsSID[][] =
- {
- "/bs"
- };
- public plugin_init()
- {
- register_plugin(PLUGIN, VERSION, AUTHOR);
- registerCommands(banMenuCommands, sizeof(banMenuCommands), "menuChoice");
- registerCommands(banMenuCommandsIP, sizeof(banMenuCommandsIP), "playerChoiceIP");
- registerCommands(banMenuCommandsSID, sizeof(banMenuCommandsSID), "playerChoiceSID");
- }
- public menuChoice(index)
- {
- if(!(get_user_flags(index) & FLAGA))
- {
- return PLUGIN_HANDLED;
- }
- new menuIndex = menu_create("\yKrotka-Pilka by\r JAILBREAK TEAM^n\yWybierz sposob na zbanowanie:", "menuChoice_handler"),
- menuCallback = menu_makecallback("accesMenu");
- menu_additem(menuIndex, "Zbanuj na \rIP", _, _, menuCallback);
- menu_additem(menuIndex, "Zbanuje na \rSID", _, _, menuCallback);
- menu_display(index, menuIndex);
- return PLUGIN_HANDLED;
- }
- public menuChoice_handler(index, menu, item)
- {
- menu_destroy(menu);
- if(item == MENU_EXIT)
- {
- return PLUGIN_HANDLED;
- }
- choosePlayer(index, item);
- return PLUGIN_HANDLED;
- }
- public choosePlayer(index, type)
- {
- new menuIndex = menu_create("\yWybierz gracza(IP):", "banMenu_handler"),
- menuCallback = menu_makecallback("accessMenu"),
- menuData[8],
- userName[33];
- ForPlayers(i)
- {
- if(!is_user_connected(i) || i == index)
- {
- continue;
- }
- get_user_name(i, userName, charsmax(userName));
- formatex(menuData, charsmax(menuData), "%i#%i", i, type);
- menu_additem(menuIndex, userName, menuData, _, menuCallback);
- }
- menu_display(index, menuIndex);
- return PLUGIN_HANDLED;
- }
- public accessMenu(index)
- {
- if(get_user_flags(index) & FLAGA)
- {
- return ITEM_ENABLED;
- }
- return ITEM_DISABLED;
- }
- public banMenu_handler(index, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- new target,
- selectedOption,
- menuData[8],
- playerIndexData[3],
- chosenOptionData[3],
- blank;
- menu_item_getinfo(menu, item, blank, menuData, charsmax(menuData), _, _, blank);
- menu_destroy(menu);
- split(menuData, playerIndexData, charsmax(playerIndexData), chosenOptionData, charsmax(chosenOptionData), "#");
- target = str_to_num(playerIndexData);
- selectedOption = bool:str_to_num(chosenOptionData);
- if(!is_user_connected(target))
- {
- ColorChat(index, YELLOW, "[Krotka-Pilka]^x01 Gracza^x03 %i^x01 nie ma na serwerze!");
- return PLUGIN_HANDLED;
- }
- banPlayer(index, target, bool:selectedOption);
- return PLUGIN_HANDLED;
- }
- public banPlayer(admin, target, bool:ip)
- {
- new mapName[32],
- adminName[33],
- targetName[33],
- banTypeData[33];
- get_mapname(mapName, charsmax(mapName));
- get_user_name(admin, adminName, charsmax(adminName));
- if(ip)
- {
- get_user_ip(target, banTypeData, charsmax(banTypeData));
- server_cmd("amx_banip ^"0^" ^"%d^" ^"CHEATER^" ", banTypeData)
- }
- else
- {
- get_user_authid(target, banTypeData, charsmax(banTypeData));
- server_cmd("amx_ban ^"0^" ^"%d^" ^"CHEATER^" ", banTypeData);
- }
- log_to_file("[Krotka-Pilka]_Bany_SID.log", "[Zbanowany: %s (%s)][Admin: %s][Mapa: %s][Typ bana: %s]", targetName, banTypeData, adminName, mapName, ip ? "IP" : "SID");
- return PLUGIN_CONTINUE;
- }
- stock registerCommands(const array[][], arraySize, function[])
- {
- #if !defined ForRange
- #define ForRange(%1,%2,%3) for(new %1 = %2; %1 <= %3; %1++)
- #endif
- #if AMXX_VERSION_NUM < 183
- ForRange(i, 0, arraySize - 1){
- ForRange(j, 0, 1){
- register_clcmd(fmt("%s %s", !j ? "say" : "say_team", array[i]), function);
- }
- }
- #else
- new newCommand[33];
- ForRange(i, 0, arraySize - 1){
- ForRange(j, 0, 1){
- formatex(newCommand, charsmax(newCommand), "%s %s", !j ? "say" : "say_team", array[i]);
- register_clcmd(newCommand, function);
- }
- }
- #endif
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement