Counter-Strike 1.6
VIP
Cs-PlovdiV.com - Aim Attack
93.123.16.4:27022
aim_map2
Играчи: 4/16
aim_map2
Counter-Strike 1.6
VIP
93.123.16.4:27022 Cs-PlovdiV.com - Aim Attack aim_map2 4/16

Отностно редакция на плъгин

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
The Pain
Извън линия
Потребител
Потребител
Мнения: 91
Регистриран на: 06 Дек 2021, 17:10
Се отблагодари: 18 пъти
Получена благодарност: 6 пъти

Отностно редакция на плъгин

Мнение от The Pain » 12 Фев 2022, 18:34

Здравейте, редактирах този плъгин така че уж да е цветен обаче не излиза името на админа който използва командата а излиза така -
[ADMIN] : slap [GooDL|k3] with [ DMG]

Код за потвърждение: Избери целия код

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cromchat>

#define PLUGIN "Super Admin"
#define VERSION "4.1"
#define AUTHOR "[R]ak"

#define ShowSuperAdmin (get_pcvar_num(Pointer) == 2)

const MENU_OPTION = -4
const TASKMENU = 2708

enum _:Menu_Name_Data {
	AMXSUPERMENU,
	SADMIN,
	KICK,
	BAN,
	BANIP,
	SLAY,
	SLAP
}

enum _:Menu_Data {
	COMMANDMENU,
	COMMAND,
	MENU_NAME,
	MENU_OPTION_PREFIX,
	DATA1,
	DATA2,
	DATA3,
	DATA4
}

new const Menu_Name[Menu_Name_Data][Menu_Data][] = {
	{ "amxsupermenu", "", "Amx Super Menu", "", "", "", "", "" },
	{ "amx_addsuperadmin_menu", "amx_addsuperadmin", "Amx Add Super Admin Menu", "", "", "", "", "" },
	{ "amx_super_kickmenu", "amx_super_kick", "Amx Super Kick Menu", "", "", "", "", "" },
	{ "amx_super_banmenu", "amx_super_ban", "Amx Super Ban Menu", "Ban", "Permanente", "5", "15", "60" },
	{ "amx_super_banipmenu", "amx_super_banip", "Amx Super Banip Menu", "Banip", "Permanente", "5", "15", "60" },
	{ "amx_super_slaymenu", "amx_super_slay", "Amx Super Slay Menu", "", "", "", "", "" },
	{ "amx_super_slapmenu", "amx_super_slap", "Amx Super Slap Menu", "Slap", "0", "1", "5", "99" }
}

new Pointer, Trie:SuperAdmins, g_RegisterID[Menu_Name_Data], g_MenuMain, g_MenuCallBack

public plugin_init() {
	
	register_dictionary("common.txt")
	
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_concmd(Menu_Name[KICK][COMMAND], "Super_Kick", _, "<target|#userid> <reason>")
	register_concmd(Menu_Name[BAN][COMMAND], "Super_Ban", _, "<target|#userid> <time> <reason>")
	register_concmd(Menu_Name[BANIP][COMMAND], "Super_Banip", _, "<target|#userid> <time> <reason>")
	register_concmd(Menu_Name[SLAY][COMMAND], "Super_Slay", _, "<target|#userid>")
	register_concmd(Menu_Name[SLAP][COMMAND], "Super_Slap", _, "<target|#userid> <damage>")
	register_concmd(Menu_Name[SADMIN][COMMAND], "Super_AddAdmin", _, "<target|#userid|steamid>")
	
	for(new i; i < sizeof Menu_Name; i++)
		g_RegisterID[i] = register_clcmd(Menu_Name[i][COMMANDMENU], "cmdSuperMenu")
	
	Pointer = get_cvar_pointer("amx_show_activity")
	
	g_MenuCallBack = menu_makecallback("CheckAlive")
}

public plugin_cfg() {
	SuperAdmins = TrieCreate()
	new ConfigDir[64]
	get_configsdir(ConfigDir, charsmax(ConfigDir))
	
	format(ConfigDir, charsmax(ConfigDir), "%s/SuperAdmin.ini", ConfigDir) 
	
	if(!file_exists(ConfigDir))
		create_file(ConfigDir)
	
	new Data[37], File = fopen(ConfigDir, "rt")
		
	while (!feof(File)) {
		fgets(File, Data, charsmax(Data))
			
		trim(Data)
			
		if (Data[0] == ';' || !Data[0]) 
			continue;
			
		remove_quotes(Data)
		TrieSetCell(SuperAdmins, Data, true)  
	}
		
	fclose(File)
	
	create_menu_main()
}

public cmdSuperMenu(id, level, cid) {
	
	if(cid == g_RegisterID[AMXSUPERMENU])
		show_menu_main(id)
	else if(cid == g_RegisterID[KICK])
		show_menu_custom(id, KICK)
	else if(cid == g_RegisterID[BAN])
		show_menu_custom(id, BAN)
	else if(cid == g_RegisterID[BANIP])
		show_menu_custom(id, BANIP)
	else if(cid == g_RegisterID[SLAY])
		show_menu_custom(id, SLAY)
	else if(cid == g_RegisterID[SLAP])
		show_menu_custom(id, SLAP)
	else
		show_menu_custom(id, SADMIN)
	
	return PLUGIN_HANDLED
	
}

show_menu_main(id)
	menu_display(id, g_MenuMain)
	
show_menu_custom(id, Type, MenuKey = 0, page = 0) {
	
	new Item[4], Name[32], Player, Player_Num, Players[32], Menu_Item_Option[32], AddOption, Menu = menu_create(Menu_Name[Type][MENU_NAME], "menu_custom_handler")
	
	AddOption = (Type != KICK && Type != SLAY && Type != SADMIN)
	
	Item[1] = Type
	Item[2] = MenuKey
	Item[3] = 0
	
	if(AddOption)
		formatex(Menu_Item_Option, charsmax(Menu_Item_Option), "%s: %s", Menu_Name[Type][MENU_OPTION_PREFIX], Menu_Name[Type][MenuKey+DATA1])
	
	get_players(Players, Player_Num)
	
	for(new i; i < Player_Num; i++) {
		
		if(i && !(i % 6) && AddOption) {
			Item[0] = MENU_OPTION
			menu_additem(Menu, Menu_Item_Option, Item)
		}
		
		Player = Item[0] = Players[i]
		
		get_user_name(Player, Name, charsmax(Name))
				
		menu_additem(Menu, Name, Item, .callback = (Type >= SLAY) ? g_MenuCallBack : -1)
	}
	
	if(AddOption) {
		
		Item[0] = MENU_OPTION
	
		menu_additem(Menu, Menu_Item_Option, Item)
		
	}
	
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
	menu_display(id, Menu, page)
	
}

public menu_main_handler(id, menu, item) {
	
	if(item == MENU_EXIT)
		return
	
	show_menu_custom(id, item+1)
	
}

public menu_custom_handler(id, menu, item) {
	
	if(item == MENU_EXIT) {
		menu_destroy(menu)
		return
	}
	
	new Data[5], Access, Callback
	
	menu_item_getinfo(menu, item, Access, Data, charsmax(Data), _, _, Callback)
	
	if(Data[0] == MENU_OPTION) {	
		if((++Data[2] + DATA1) > DATA4)
			Data[2] = 0
	}
	else {
		
		new type = Data[1], victim = Data[0]
	
		client_cmd(id, "%s #%d %s", Menu_Name[type][COMMAND], get_user_userid(victim), Menu_Name[type][Data[2]+DATA1])
	
	}
	
	new page, newmenu, oldmenu
	player_menu_info(id, oldmenu, newmenu, page)
	
	Data[0] = id
	Data[3] = page
	
	set_task(0.1, "TaskShowMenu", TASKMENU, Data, sizeof Data)
	
	menu_destroy(menu)
	
}

public TaskShowMenu(Args[])
	show_menu_custom(Args[0], Args[1], Args[2], Args[3])

public CheckAlive(id, menu, item) {
	
	new Data[4], Access, Callback, Name[32]
	
	menu_item_getinfo(menu, item, Access, Data, charsmax(Data), Name, charsmax(Name), Callback)
	
	return (is_user_alive(Data[0])) ? ITEM_ENABLED : ITEM_DISABLED
	
}

public Super_Kick(id, level, cid) {
	if(!Is_SuperAdmin(id, cid, 2))
		return PLUGIN_HANDLED;
	
	new Name[32], Reason[32]
	
	read_argv(1, Name, charsmax(Name))
	read_argv(2, Reason, charsmax(Reason))
	remove_quotes(Reason)
	
	new player = get_target(id, Name)
	
	if(!player)
		return PLUGIN_HANDLED
	
	if(Reason[0])
		server_cmd("kick #%d ^"%s^"", get_user_userid(player), Reason)
	else
		server_cmd("kick #%d", get_user_userid(player))
		
	new Super_Admin[32], Victim[32]
	
	get_user_name(id, Super_Admin, charsmax(Super_Admin))
	get_user_name(player, Victim, charsmax(Victim))
	
	if(get_pcvar_num(Pointer))
		CC_SendMessage(0, "&x04[SUPER ADMIN]&x03 %s &x04: &x01kick &x04[&x03%s&x04]", ShowSuperAdmin ? Super_Admin : "", Victim)
	
	return PLUGIN_HANDLED
}

public Super_Ban(id, level, cid) {
	if(!Is_SuperAdmin(id, cid, 3))
		return PLUGIN_HANDLED;
		
	new Name[32], Time[7] ,Reason[32]
	
	read_argv(1, Name, charsmax(Name))
	read_argv(2, Time, charsmax(Time))
	read_argv(3, Reason, charsmax(Reason))
	remove_quotes(Reason)
	
	new player = get_target(id, Name)
	
	if (!player)
		return PLUGIN_HANDLED
	
	new Authid[35], Time_Ban, Show_Time[20]
	
	get_user_authid(player, Authid, charsmax(Authid))
	Time_Ban = str_to_num(Time)
	
	if(!Time_Ban)
		formatex(Show_Time, charsmax(Show_Time), "Permanently")
	else
		formatex(Show_Time, charsmax(Show_Time), "%d Min", Time_Ban)
	
	if (Reason[0])
		server_cmd("kick #%d ^"%s | Banned | Time:%s)^";wait;banid ^"%s^" %s;wait;writeid", get_user_userid(player), Reason, Show_Time, Time_Ban, Authid)
	else
		server_cmd("kick #%d ^"Banned | Time:%s)^";wait;banid ^"%s^" %s;;wait;writeid", get_user_userid(player), Show_Time, Time_Ban, Authid)

	new Super_Admin[32], Victim[32]
	
	get_user_name(id, Super_Admin, charsmax(Super_Admin))
	get_user_name(player, Victim, charsmax(Victim))
	
	if(get_pcvar_num(Pointer))
		CC_SendMessage(0, "&x03[SUPER ADMIN]&x03 %s &x04: &x01ban &x04[&x03%s&x04] &x01for &x04[&x03%s&x04]", ShowSuperAdmin ? Super_Admin : "", Victim, Show_Time)
	
	return PLUGIN_HANDLED
}

public Super_Banip(id, level, cid) {
	if(!Is_SuperAdmin(id, cid, 3))
		return PLUGIN_HANDLED;
		
	new Name[32], Time[7] ,Reason[32]
	
	read_argv(1, Name, charsmax(Name))
	read_argv(2, Time, charsmax(Time))
	read_argv(3, Reason, charsmax(Reason))
	remove_quotes(Reason)
	
	new player = get_target(id, Name)
	
	if (!player)
		return PLUGIN_HANDLED
	
	new Ip[20], Time_Ban, Show_Time[20]
	
	get_user_ip(player, Ip, charsmax(Ip), 1)
	Time_Ban = str_to_num(Time)
	
	if(!Time_Ban)
		formatex(Show_Time, charsmax(Show_Time), "Permanently")
	else
		formatex(Show_Time, charsmax(Show_Time), "%d Min", Time_Ban)
	
	if (Reason[0])
		server_cmd("kick #%d ^"%s | Banned | Time:%s)^";wait;addip ^"%s^" ^"%s^";wait;writeip", get_user_userid(player), Reason, Show_Time, Time_Ban, Ip)
	else
		server_cmd("kick #%d ^"Banned | Time:%s)^";wait;addip ^"%s^" ^"%s^";wait;writeip", get_user_userid(player), Show_Time, Time_Ban, Ip)

	new Super_Admin[32], Victim[32]
	
	get_user_name(id, Super_Admin, charsmax(Super_Admin))
	get_user_name(player, Victim, charsmax(Victim))
	
	if(get_pcvar_num(Pointer))
		CC_SendMessage(0, "&x04[SUPER ADMIN]&x03 %s &x04: &x01ban &x04[&x03%s&x04] &x01for &x04[&x03%s&x04]", ShowSuperAdmin ? Super_Admin : "", Victim, Show_Time)
	
	return PLUGIN_HANDLED
}

public Super_Slay(id, level, cid) {
	if(!Is_SuperAdmin(id, cid, 2))
		return PLUGIN_HANDLED;
	
	new Name[32]
	
	read_argv(1, Name, charsmax(Name))
	
	new player = get_target(id, Name, true)
	
	if (!player)
		return PLUGIN_HANDLED
	
	user_kill(player)
	
	new Super_Admin[32], Victim[32]
	
	get_user_name(id, Super_Admin, charsmax(Super_Admin))
	get_user_name(player, Victim, charsmax(Victim))
	
	if(get_pcvar_num(Pointer))
		CC_SendMessage(0, "&x04[SUPER ADMIN] &x03 %s &x04: &x01slay &x04[&x03 %s &x04]", ShowSuperAdmin ? Super_Admin : "", Victim)
		
	return PLUGIN_HANDLED
}

public Super_Slap(id, level, cid) {
	if(!Is_SuperAdmin(id, cid, 2))
		return PLUGIN_HANDLED;
		
	new Name[32], Power[32]
	
	read_argv(1, Name, charsmax(Name))
	read_argv(2, Power, charsmax(Power))
	
	new player = get_target(id, Name, true)
	
	if (!player)
		return PLUGIN_HANDLED

	user_slap(player, str_to_num(Power))
	
	new Super_Admin[32], Victim[32]
	
	get_user_name(id, Super_Admin, charsmax(Super_Admin))
	get_user_name(player, Victim, charsmax(Victim))
	
	if(get_pcvar_num(Pointer))
		CC_SendMessage(0, "&x04[SUPER ADMIN] &x03 %s &x04: &x01slap &x04[&x03%s&x04] &x01with &x04[&x03 %s &x04DMG]", ShowSuperAdmin ? Super_Admin : "", Victim, str_to_num(Power))
		
	return PLUGIN_HANDLED
}

public Super_AddAdmin(id, level, cid) {
	
	if(!Is_SuperAdmin(id, cid, 2))
		return PLUGIN_HANDLED;
	
	new Steam[37]
	
	read_argv(1, Steam, charsmax(Steam))
	remove_quotes(Steam)
	
	if(Steam[0] != 'S' || Steam[4] != 'M' || Steam[7] != ':' || Steam[9] != ':') {
		
		new player = get_target(id, Steam)
	
		if(!player)
			return PLUGIN_HANDLED
		
		get_user_authid(player, Steam, charsmax(Steam))
	}
	
	if(TrieKeyExists(SuperAdmins, Steam)) {
		console_print(id, "The steamid %s is already in SuperAdmin File", Steam)
		return PLUGIN_HANDLED
	}
	
	new ConfigDir[64]
	
	get_configsdir(ConfigDir, charsmax(ConfigDir))
	
	format(ConfigDir, charsmax(ConfigDir), "%s/SuperAdmin.ini", ConfigDir) 
	
	new File = fopen(ConfigDir, "at")
		
	if (!File) 
		return PLUGIN_HANDLED
		
	fprintf(File, "^n^"%s^"", Steam)
		
	fclose(File)
	
	TrieSetCell(SuperAdmins, Steam, true)
	
	console_print(id, "Steam: %s is now a SuperAdmin", Steam)
	
	return PLUGIN_HANDLED
}

create_menu_main() {
	
	new buffer[64]
	
	formatex(buffer, charsmax(buffer), "[R]ak Acme Inc.- %s", Menu_Name[AMXSUPERMENU][MENU_NAME])
	
	g_MenuMain = menu_create(buffer, "menu_main_handler")
	
	for(new i = 1; i < sizeof Menu_Name; i++)
		menu_additem(g_MenuMain, Menu_Name[i][MENU_NAME])
		
}

Is_SuperAdmin(id, cid, Args) {
	new Authid[35]
	
	get_user_authid(id, Authid, charsmax(Authid));
	
	if(TrieKeyExists(SuperAdmins, Authid) || id == 0) {
		
		if (read_argc() < Args) {
		
			new cmd[32], info[128], flag
		
			get_concmd(cid, cmd, charsmax(cmd), flag, info, charsmax(info), -1)

			console_print(id,"%L: %s %s", id, "USAGE", cmd, info)
		
			return false
		}
		
		return true
	}
		
	return false
}

get_target(id, Arg[], CheckAlive = false) {
	
	new player = find_player("bl", Arg)
	
	if(player) {
		
		if(player != find_player("blj", Arg)) {
		
			console_print(id, "%L", id, "MORE_CL_MATCHT")
			
			return false
		}
	}
	else if((player = find_player("c", Arg)) == 0 && Arg[0] == '#' && Arg[1])
		player = find_player("k", str_to_num(Arg[1]))
	
	if(!player)
		console_print(id, "%L", id, "CL_NOT_FOUND")
	else if(CheckAlive && !is_user_alive(player)) {
		
		new sName[32]
		
		get_user_name(player, sName, charsmax(sName))
		
		console_print(id, "%L", id, "CANT_PERF_DEAD", sName)
		
		return false
		
	}
	
	return player
	
}

create_file(ConfigDir[]) {
	
	new File = fopen(ConfigDir, "wt")
	
	fprintf(File, "; SuparAdmin By [R]ak Acme Inc.-^n; File location: $moddir/addons/amxmodx/configs/SuperAdmin.ini^n^n; Line starting with ; is a comment^n^n; Example of SuparAdmin account:^n; ^"STEAM_0:0:123456^"^n^n^n;Enjoy")
	
	fclose(File)
}

public plugin_end()
	TrieDestroy(SuperAdmins)
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang11274\\ f0\\ fs16 \n\\ par }
*/

Аватар
OciXCrom
Извън линия
Owner
Owner
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1309 пъти
Обратна връзка:

Отностно редакция на плъгин

Мнение от OciXCrom » 12 Фев 2022, 22:58

amx_show_activity 2

Аватар
The Pain
Извън линия
Потребител
Потребител
Мнения: 91
Регистриран на: 06 Дек 2021, 17:10
Се отблагодари: 18 пъти
Получена благодарност: 6 пъти

Отностно редакция на плъгин

Мнение от The Pain » 13 Фев 2022, 09:44

Не се получава нещо ....

Аватар
OciXCrom
Извън линия
Owner
Owner
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1309 пъти
Обратна връзка:

Отностно редакция на плъгин

Мнение от OciXCrom » 13 Фев 2022, 16:24

Какво точно направи и къде?...
Сигурно не знаеш как се променя настройка.

Аватар
The Pain
Извън линия
Потребител
Потребител
Мнения: 91
Регистриран на: 06 Дек 2021, 17:10
Се отблагодари: 18 пъти
Получена благодарност: 6 пъти

Отностно редакция на плъгин

Мнение от The Pain » 13 Фев 2022, 16:58

OciXCrom написа: 13 Фев 2022, 16:24 Какво точно направи и къде?...
Сигурно не знаеш как се променя настройка.
Така направих -

Код за потвърждение: Избери целия код

Pointer = get_cvar_pointer("amx_show_activity 2")

Код за потвърждение: Избери целия код

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cromchat>

#define PLUGIN "Super Admin"
#define VERSION "4.1"
#define AUTHOR "[R]ak"

#define ShowSuperAdmin (get_pcvar_num(Pointer) == 2)

const MENU_OPTION = -4
const TASKMENU = 2708

enum _:Menu_Name_Data {
	AMXSUPERMENU,
	SADMIN,
	KICK,
	BAN,
	BANIP,
	SLAY,
	SLAP
}

enum _:Menu_Data {
	COMMANDMENU,
	COMMAND,
	MENU_NAME,
	MENU_OPTION_PREFIX,
	DATA1,
	DATA2,
	DATA3,
	DATA4
}

new const Menu_Name[Menu_Name_Data][Menu_Data][] = {
	{ "amxsupermenu", "", "Amx Super Menu", "", "", "", "", "" },
	{ "amx_addsuperadmin_menu", "amx_addsuperadmin", "Amx Add Super Admin Menu", "", "", "", "", "" },
	{ "amx_super_kickmenu", "amx_super_kick", "Amx Super Kick Menu", "", "", "", "", "" },
	{ "amx_super_banmenu", "amx_super_ban", "Amx Super Ban Menu", "Ban", "Permanente", "5", "15", "60" },
	{ "amx_super_banipmenu", "amx_super_banip", "Amx Super Banip Menu", "Banip", "Permanente", "5", "15", "60" },
	{ "amx_super_slaymenu", "amx_super_slay", "Amx Super Slay Menu", "", "", "", "", "" },
	{ "amx_super_slapmenu", "amx_super_slap", "Amx Super Slap Menu", "Slap", "0", "1", "5", "99" }
}

new Pointer, Trie:SuperAdmins, g_RegisterID[Menu_Name_Data], g_MenuMain, g_MenuCallBack

public plugin_init() {
	
	register_dictionary("common.txt")
	
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_concmd(Menu_Name[KICK][COMMAND], "Super_Kick", _, "<target|#userid> <reason>")
	register_concmd(Menu_Name[BAN][COMMAND], "Super_Ban", _, "<target|#userid> <time> <reason>")
	register_concmd(Menu_Name[BANIP][COMMAND], "Super_Banip", _, "<target|#userid> <time> <reason>")
	register_concmd(Menu_Name[SLAY][COMMAND], "Super_Slay", _, "<target|#userid>")
	register_concmd(Menu_Name[SLAP][COMMAND], "Super_Slap", _, "<target|#userid> <damage>")
	register_concmd(Menu_Name[SADMIN][COMMAND], "Super_AddAdmin", _, "<target|#userid|steamid>")
	
	for(new i; i < sizeof Menu_Name; i++)
		g_RegisterID[i] = register_clcmd(Menu_Name[i][COMMANDMENU], "cmdSuperMenu")
	
	Pointer = get_cvar_pointer("amx_show_activity 2")
	
	g_MenuCallBack = menu_makecallback("CheckAlive")
}

public plugin_cfg() {
	SuperAdmins = TrieCreate()
	new ConfigDir[64]
	get_configsdir(ConfigDir, charsmax(ConfigDir))
	
	format(ConfigDir, charsmax(ConfigDir), "%s/SuperAdmin.ini", ConfigDir) 
	
	if(!file_exists(ConfigDir))
		create_file(ConfigDir)
	
	new Data[37], File = fopen(ConfigDir, "rt")
		
	while (!feof(File)) {
		fgets(File, Data, charsmax(Data))
			
		trim(Data)
			
		if (Data[0] == ';' || !Data[0]) 
			continue;
			
		remove_quotes(Data)
		TrieSetCell(SuperAdmins, Data, true)  
	}
		
	fclose(File)
	
	create_menu_main()
}

public cmdSuperMenu(id, level, cid) {
	
	if(cid == g_RegisterID[AMXSUPERMENU])
		show_menu_main(id)
	else if(cid == g_RegisterID[KICK])
		show_menu_custom(id, KICK)
	else if(cid == g_RegisterID[BAN])
		show_menu_custom(id, BAN)
	else if(cid == g_RegisterID[BANIP])
		show_menu_custom(id, BANIP)
	else if(cid == g_RegisterID[SLAY])
		show_menu_custom(id, SLAY)
	else if(cid == g_RegisterID[SLAP])
		show_menu_custom(id, SLAP)
	else
		show_menu_custom(id, SADMIN)
	
	return PLUGIN_HANDLED
	
}

show_menu_main(id)
	menu_display(id, g_MenuMain)
	
show_menu_custom(id, Type, MenuKey = 0, page = 0) {
	
	new Item[4], Name[32], Player, Player_Num, Players[32], Menu_Item_Option[32], AddOption, Menu = menu_create(Menu_Name[Type][MENU_NAME], "menu_custom_handler")
	
	AddOption = (Type != KICK && Type != SLAY && Type != SADMIN)
	
	Item[1] = Type
	Item[2] = MenuKey
	Item[3] = 0
	
	if(AddOption)
		formatex(Menu_Item_Option, charsmax(Menu_Item_Option), "%s: %s", Menu_Name[Type][MENU_OPTION_PREFIX], Menu_Name[Type][MenuKey+DATA1])
	
	get_players(Players, Player_Num)
	
	for(new i; i < Player_Num; i++) {
		
		if(i && !(i % 6) && AddOption) {
			Item[0] = MENU_OPTION
			menu_additem(Menu, Menu_Item_Option, Item)
		}
		
		Player = Item[0] = Players[i]
		
		get_user_name(Player, Name, charsmax(Name))
				
		menu_additem(Menu, Name, Item, .callback = (Type >= SLAY) ? g_MenuCallBack : -1)
	}
	
	if(AddOption) {
		
		Item[0] = MENU_OPTION
	
		menu_additem(Menu, Menu_Item_Option, Item)
		
	}
	
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
	menu_display(id, Menu, page)
	
}

public menu_main_handler(id, menu, item) {
	
	if(item == MENU_EXIT)
		return
	
	show_menu_custom(id, item+1)
	
}

public menu_custom_handler(id, menu, item) {
	
	if(item == MENU_EXIT) {
		menu_destroy(menu)
		return
	}
	
	new Data[5], Access, Callback
	
	menu_item_getinfo(menu, item, Access, Data, charsmax(Data), _, _, Callback)
	
	if(Data[0] == MENU_OPTION) {	
		if((++Data[2] + DATA1) > DATA4)
			Data[2] = 0
	}
	else {
		
		new type = Data[1], victim = Data[0]
	
		client_cmd(id, "%s #%d %s", Menu_Name[type][COMMAND], get_user_userid(victim), Menu_Name[type][Data[2]+DATA1])
	
	}
	
	new page, newmenu, oldmenu
	player_menu_info(id, oldmenu, newmenu, page)
	
	Data[0] = id
	Data[3] = page
	
	set_task(0.1, "TaskShowMenu", TASKMENU, Data, sizeof Data)
	
	menu_destroy(menu)
	
}

public TaskShowMenu(Args[])
	show_menu_custom(Args[0], Args[1], Args[2], Args[3])

public CheckAlive(id, menu, item) {
	
	new Data[4], Access, Callback, Name[32]
	
	menu_item_getinfo(menu, item, Access, Data, charsmax(Data), Name, charsmax(Name), Callback)
	
	return (is_user_alive(Data[0])) ? ITEM_ENABLED : ITEM_DISABLED
	
}

public Super_Kick(id, level, cid) {
	if(!Is_SuperAdmin(id, cid, 2))
		return PLUGIN_HANDLED;
	
	new Name[32], Reason[32]
	
	read_argv(1, Name, charsmax(Name))
	read_argv(2, Reason, charsmax(Reason))
	remove_quotes(Reason)
	
	new player = get_target(id, Name)
	
	if(!player)
		return PLUGIN_HANDLED
	
	if(Reason[0])
		server_cmd("kick #%d ^"%s^"", get_user_userid(player), Reason)
	else
		server_cmd("kick #%d", get_user_userid(player))
		
	new Super_Admin[32], Victim[32]
	
	get_user_name(id, Super_Admin, charsmax(Super_Admin))
	get_user_name(player, Victim, charsmax(Victim))
	
	if(get_pcvar_num(Pointer))
		CC_SendMessage(0, "&x04[SUPER ADMIN]&x03 %s &x04: &x01kick &x04[&x03%s&x04]", ShowSuperAdmin ? Super_Admin : "", Victim)
	
	return PLUGIN_HANDLED
}

public Super_Ban(id, level, cid) {
	if(!Is_SuperAdmin(id, cid, 3))
		return PLUGIN_HANDLED;
		
	new Name[32], Time[7] ,Reason[32]
	
	read_argv(1, Name, charsmax(Name))
	read_argv(2, Time, charsmax(Time))
	read_argv(3, Reason, charsmax(Reason))
	remove_quotes(Reason)
	
	new player = get_target(id, Name)
	
	if (!player)
		return PLUGIN_HANDLED
	
	new Authid[35], Time_Ban, Show_Time[20]
	
	get_user_authid(player, Authid, charsmax(Authid))
	Time_Ban = str_to_num(Time)
	
	if(!Time_Ban)
		formatex(Show_Time, charsmax(Show_Time), "Permanently")
	else
		formatex(Show_Time, charsmax(Show_Time), "%d Min", Time_Ban)
	
	if (Reason[0])
		server_cmd("kick #%d ^"%s | Banned | Time:%s)^";wait;banid ^"%s^" %s;wait;writeid", get_user_userid(player), Reason, Show_Time, Time_Ban, Authid)
	else
		server_cmd("kick #%d ^"Banned | Time:%s)^";wait;banid ^"%s^" %s;;wait;writeid", get_user_userid(player), Show_Time, Time_Ban, Authid)

	new Super_Admin[32], Victim[32]
	
	get_user_name(id, Super_Admin, charsmax(Super_Admin))
	get_user_name(player, Victim, charsmax(Victim))
	
	if(get_pcvar_num(Pointer))
		CC_SendMessage(0, "&x03[SUPER ADMIN]&x03 %s &x04: &x01ban &x04[&x03%s&x04] &x01for &x04[&x03%s&x04]", ShowSuperAdmin ? Super_Admin : "", Victim, Show_Time)
	
	return PLUGIN_HANDLED
}

public Super_Banip(id, level, cid) {
	if(!Is_SuperAdmin(id, cid, 3))
		return PLUGIN_HANDLED;
		
	new Name[32], Time[7] ,Reason[32]
	
	read_argv(1, Name, charsmax(Name))
	read_argv(2, Time, charsmax(Time))
	read_argv(3, Reason, charsmax(Reason))
	remove_quotes(Reason)
	
	new player = get_target(id, Name)
	
	if (!player)
		return PLUGIN_HANDLED
	
	new Ip[20], Time_Ban, Show_Time[20]
	
	get_user_ip(player, Ip, charsmax(Ip), 1)
	Time_Ban = str_to_num(Time)
	
	if(!Time_Ban)
		formatex(Show_Time, charsmax(Show_Time), "Permanently")
	else
		formatex(Show_Time, charsmax(Show_Time), "%d Min", Time_Ban)
	
	if (Reason[0])
		server_cmd("kick #%d ^"%s | Banned | Time:%s)^";wait;addip ^"%s^" ^"%s^";wait;writeip", get_user_userid(player), Reason, Show_Time, Time_Ban, Ip)
	else
		server_cmd("kick #%d ^"Banned | Time:%s)^";wait;addip ^"%s^" ^"%s^";wait;writeip", get_user_userid(player), Show_Time, Time_Ban, Ip)

	new Super_Admin[32], Victim[32]
	
	get_user_name(id, Super_Admin, charsmax(Super_Admin))
	get_user_name(player, Victim, charsmax(Victim))
	
	if(get_pcvar_num(Pointer))
		CC_SendMessage(0, "&x04[SUPER ADMIN]&x03 %s &x04: &x01ban &x04[&x03%s&x04] &x01for &x04[&x03%s&x04]", ShowSuperAdmin ? Super_Admin : "", Victim, Show_Time)
	
	return PLUGIN_HANDLED
}

public Super_Slay(id, level, cid) {
	if(!Is_SuperAdmin(id, cid, 2))
		return PLUGIN_HANDLED;
	
	new Name[32]
	
	read_argv(1, Name, charsmax(Name))
	
	new player = get_target(id, Name, true)
	
	if (!player)
		return PLUGIN_HANDLED
	
	user_kill(player)
	
	new Super_Admin[32], Victim[32]
	
	get_user_name(id, Super_Admin, charsmax(Super_Admin))
	get_user_name(player, Victim, charsmax(Victim))
	
	if(get_pcvar_num(Pointer))
		CC_SendMessage(0, "&x04[SUPER ADMIN] &x03 %s &x04: &x01slay &x04[&x03 %s &x04]", ShowSuperAdmin ? Super_Admin : "", Victim)
		
	return PLUGIN_HANDLED
}

public Super_Slap(id, level, cid) {
	if(!Is_SuperAdmin(id, cid, 2))
		return PLUGIN_HANDLED;
		
	new Name[32], Power[32]
	
	read_argv(1, Name, charsmax(Name))
	read_argv(2, Power, charsmax(Power))
	
	new player = get_target(id, Name, true)
	
	if (!player)
		return PLUGIN_HANDLED

	user_slap(player, str_to_num(Power))
	
	new Super_Admin[32], Victim[32]
	
	get_user_name(id, Super_Admin, charsmax(Super_Admin))
	get_user_name(player, Victim, charsmax(Victim))
	
	if(get_pcvar_num(Pointer))
		CC_SendMessage(0, "&x04[SUPER ADMIN] &x03 %s &x04: &x01slap &x04[&x03%s&x04] &x01with &x04[&x03 %s &x04DMG]", ShowSuperAdmin ? Super_Admin : "", Victim, str_to_num(Power))
		
	return PLUGIN_HANDLED
}

public Super_AddAdmin(id, level, cid) {
	
	if(!Is_SuperAdmin(id, cid, 2))
		return PLUGIN_HANDLED;
	
	new Steam[37]
	
	read_argv(1, Steam, charsmax(Steam))
	remove_quotes(Steam)
	
	if(Steam[0] != 'S' || Steam[4] != 'M' || Steam[7] != ':' || Steam[9] != ':') {
		
		new player = get_target(id, Steam)
	
		if(!player)
			return PLUGIN_HANDLED
		
		get_user_authid(player, Steam, charsmax(Steam))
	}
	
	if(TrieKeyExists(SuperAdmins, Steam)) {
		console_print(id, "The steamid %s is already in SuperAdmin File", Steam)
		return PLUGIN_HANDLED
	}
	
	new ConfigDir[64]
	
	get_configsdir(ConfigDir, charsmax(ConfigDir))
	
	format(ConfigDir, charsmax(ConfigDir), "%s/SuperAdmin.ini", ConfigDir) 
	
	new File = fopen(ConfigDir, "at")
		
	if (!File) 
		return PLUGIN_HANDLED
		
	fprintf(File, "^n^"%s^"", Steam)
		
	fclose(File)
	
	TrieSetCell(SuperAdmins, Steam, true)
	
	console_print(id, "Steam: %s is now a SuperAdmin", Steam)
	
	return PLUGIN_HANDLED
}

create_menu_main() {
	
	new buffer[64]
	
	formatex(buffer, charsmax(buffer), "[R]ak Acme Inc.- %s", Menu_Name[AMXSUPERMENU][MENU_NAME])
	
	g_MenuMain = menu_create(buffer, "menu_main_handler")
	
	for(new i = 1; i < sizeof Menu_Name; i++)
		menu_additem(g_MenuMain, Menu_Name[i][MENU_NAME])
		
}

Is_SuperAdmin(id, cid, Args) {
	new Authid[35]
	
	get_user_authid(id, Authid, charsmax(Authid));
	
	if(TrieKeyExists(SuperAdmins, Authid) || id == 0) {
		
		if (read_argc() < Args) {
		
			new cmd[32], info[128], flag
		
			get_concmd(cid, cmd, charsmax(cmd), flag, info, charsmax(info), -1)

			console_print(id,"%L: %s %s", id, "USAGE", cmd, info)
		
			return false
		}
		
		return true
	}
		
	return false
}

get_target(id, Arg[], CheckAlive = false) {
	
	new player = find_player("bl", Arg)
	
	if(player) {
		
		if(player != find_player("blj", Arg)) {
		
			console_print(id, "%L", id, "MORE_CL_MATCHT")
			
			return false
		}
	}
	else if((player = find_player("c", Arg)) == 0 && Arg[0] == '#' && Arg[1])
		player = find_player("k", str_to_num(Arg[1]))
	
	if(!player)
		console_print(id, "%L", id, "CL_NOT_FOUND")
	else if(CheckAlive && !is_user_alive(player)) {
		
		new sName[32]
		
		get_user_name(player, sName, charsmax(sName))
		
		console_print(id, "%L", id, "CANT_PERF_DEAD", sName)
		
		return false
		
	}
	
	return player
	
}

create_file(ConfigDir[]) {
	
	new File = fopen(ConfigDir, "wt")
	
	fprintf(File, "; SuparAdmin By [R]ak Acme Inc.-^n; File location: $moddir/addons/amxmodx/configs/SuperAdmin.ini^n^n; Line starting with ; is a comment^n^n; Example of SuparAdmin account:^n; ^"STEAM_0:0:123456^"^n^n^n;Enjoy")
	
	fclose(File)
}

public plugin_end()
	TrieDestroy(SuperAdmins)
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang11274\\ f0\\ fs16 \n\\ par }
*/

Аватар
OciXCrom
Извън линия
Owner
Owner
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1309 пъти
Обратна връзка:

Отностно редакция на плъгин

Мнение от OciXCrom » 13 Фев 2022, 18:02

По-голяма глупост не можа ли да направиш? Кой каза да пипаш нещо в кода? Пак ще питам дали знаеш как се променят настройки?

Аватар
The Pain
Извън линия
Потребител
Потребител
Мнения: 91
Регистриран на: 06 Дек 2021, 17:10
Се отблагодари: 18 пъти
Получена благодарност: 6 пъти

Отностно редакция на плъгин

Мнение от The Pain » 13 Фев 2022, 18:29

OciXCrom написа: 13 Фев 2022, 18:02 По-голяма глупост не можа ли да направиш? Кой каза да пипаш нещо в кода? Пак ще питам дали знаеш как се променят настройки?
Ами не мога да се сетя , ако може малко помощ

Аватар
OciXCrom
Извън линия
Owner
Owner
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1309 пъти
Обратна връзка:

Отностно редакция на плъгин

Мнение от OciXCrom » 13 Фев 2022, 20:24

configs/amxx.cfg

А това което си променил в кода да го върнеш както си беше.

Аватар
The Pain
Извън линия
Потребител
Потребител
Мнения: 91
Регистриран на: 06 Дек 2021, 17:10
Се отблагодари: 18 пъти
Получена благодарност: 6 пъти

Отностно редакция на плъгин

Мнение от The Pain » 13 Фев 2022, 21:15

OciXCrom написа: 13 Фев 2022, 20:24 configs/amxx.cfg

А това което си променил в кода да го върнеш както си беше.
така кажи благодаря ти , може да заключвате темата :hooray:

Аватар
OciXCrom
Извън линия
Owner
Owner
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1309 пъти
Обратна връзка:

Отностно редакция на плъгин

Мнение от OciXCrom » 13 Фев 2022, 21:41

Не знаех, че на собственик на сървър трябва да обяснявам елементарна работа като промяна на базови настройки.

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 17 госта