OciXCrom's Admin Chat [adminchat.amxx]

Одобрените от нас плъгини. Моля, докладвайте ако забележите бъг с някой от плъгините в този раздел.
Потребителски аватар

Burton
Потребител
Потребител
Мнения: 25
Регистриран: 01 окт 2017, 19:04

OciXCrom's Admin Chat [adminchat.amxx]

Мнение от Burton » 19 ное 2017, 00:32

Има ли възможност да се олекоти малко плъгина ? Доста претрупан ми се вижда или трябва да се пусне заявка за нов ?

Потребителски аватар

Автор на темата
OciXCrom TM
Администратор
Администратор
Мнения: 5541
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 101 пъти
Получена благодарност: 639 пъти
Години: 22
Контакти:

OciXCrom's Admin Chat [adminchat.amxx]

Мнение от OciXCrom TM » 19 ное 2017, 03:25

Това, че кодът е голям, не означава, че плъгинът е "претрупан".

Потребителски аватар

Burton
Потребител
Потребител
Мнения: 25
Регистриран: 01 окт 2017, 19:04

OciXCrom's Admin Chat [adminchat.amxx]

Мнение от Burton » 19 ное 2017, 09:19

Добре, грешката е моя, че го нарекох претрупан :) Нямах предвид кода, а че има доста опции, които аз не искам, т.е. търся плъгин за админ чат, който да прави админ чата видим, т.е. да е цветен примерно, за да се набива на очи на админите, защото много често от целия останал чат, админския се губи, това ми беше мисълта.

Потребителски аватар

Автор на темата
OciXCrom TM
Администратор
Администратор
Мнения: 5541
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 101 пъти
Получена благодарност: 639 пъти
Години: 22
Контакти:

OciXCrom's Admin Chat [adminchat.amxx]

Мнение от OciXCrom TM » 19 ное 2017, 14:35

Наистина не виждам кои са тези опции, които са "много". Плъгинът е преработка на оригиналния adminchat плъгин, тъй че в него се намират всички опции от оригинала, плюс са добавени няколко допълнителни такива, които няма причина да не са там, тъй като са само няколко реда код и представляват подобрение на оригиналния плъгин и са неща, които са били търсени от доста играчи. Ако не ти харесват, можеш да ги изключиш и все едно не са там. По никакъв начин не товарят сървъра. Иначе да, плъгинът е доста стар и трябва да се пренапише (ще го направя когато мога), обаче няма никакви бъгове и се ползва в ~80 сървъра в момента, тъй че няма нужда да се притесняваш.

Потребителски аватар

csmegagaming
Рекламатор
Рекламатор
Мнения: 41
Регистриран: 07 ное 2016, 17:07
Местоположение: София
Се отблагодари: 5 пъти
Получена благодарност: 3 пъти
Години: 47
Контакти:

OciXCrom's Admin Chat [adminchat.amxx]

Мнение от csmegagaming » 15 яну 2018, 09:28

Здравейте, аз по моя проблем, може ли да се направи админите да виждат всички чатове, дори на другия тим и като са още живи, както и като пишат в amx_say или [email protected] да не изписва админ а само името му.
Поздрави

Потребителски аватар

Автор на темата
OciXCrom TM
Администратор
Администратор
Мнения: 5541
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 101 пъти
Получена благодарност: 639 пъти
Години: 22
Контакти:

OciXCrom's Admin Chat [adminchat.amxx]

Мнение от OciXCrom TM » 15 яну 2018, 15:11

Това с виждането на всички чатове няма нищо общо с плъгин за админ чат, за тази цел ти е нужен плъгин за главния чат, а не за администраторските чат команди. За другото отваряш конфигурационния файл. търсиш категорията [Messages] и премахваш %name% от съобщенията които искаш.

Потребителски аватар

csmegagaming
Рекламатор
Рекламатор
Мнения: 41
Регистриран: 07 ное 2016, 17:07
Местоположение: София
Се отблагодари: 5 пъти
Получена благодарност: 3 пъти
Години: 47
Контакти:

OciXCrom's Admin Chat [adminchat.amxx]

Мнение от csmegagaming » 22 яну 2018, 17:34

OciXCrom™ написа:
15 яну 2018, 15:11
Това с виждането на всички чатове няма нищо общо с плъгин за админ чат, за тази цел ти е нужен плъгин за главния чат, а не за администраторските чат команди. За другото отваряш конфигурационния файл. търсиш категорията [Messages] и премахваш %name% от съобщенията които искаш.
Може ли да ми препоръчате, някой нов.
Предварително Благодаря

Потребителски аватар

EMOTO2.COM emoto2
Потребител
Потребител
Мнения: 78
Регистриран: 11 яну 2018, 17:02
Се отблагодари: 1 път
Получена благодарност: 2 пъти
Контакти:

OciXCrom's Admin Chat [adminchat.amxx]

Мнение от EMOTO2.COM emoto2 » 22 яну 2018, 19:17

csmegagaming написа:
22 яну 2018, 17:34
OciXCrom™ написа:
15 яну 2018, 15:11
Това с виждането на всички чатове няма нищо общо с плъгин за админ чат, за тази цел ти е нужен плъгин за главния чат, а не за администраторските чат команди. За другото отваряш конфигурационния файл. търсиш категорията [Messages] и премахваш %name% от съобщенията които искаш.
Може ли да ми препоръчате, някой нов.
Предварително Благодаря
Ето ти някой стар който работи без проблеми.
А иначе който има флаг B пише със зелени букви а който има флаг D може да чете всякакъв чат.

Код: Избери всички

#include <amxmodx>
#include <amxmisc>

#define ACCESS_LEVEL	ADMIN_RESERVATION
#define ADMIN_LISTEN	ADMIN_BAN

new message[192]
new sayText
new teamInfo
new maxPlayers

new g_MessageColor
new g_NameColor
new g_AdminListen

new strName[191]
new strText[191]
new alive[11]

public plugin_init()
{
	register_plugin ("Admin chat colors","1.6","LauNcHerR")
	
	g_MessageColor = register_cvar ("amx_color", "2")

	g_NameColor = register_cvar ("amx_namecolor", "6")
	
	g_AdminListen = register_cvar ("amx_listen", "1")
	
	
	sayText = get_user_msgid ("SayText")
	teamInfo = get_user_msgid ("TeamInfo")
	maxPlayers = get_maxplayers()
	
	
	register_message (sayText, "avoid_duplicated")
	
	register_clcmd ("amx_color", "set_color", ACCESS_LEVEL, "<color>")
	register_clcmd ("amx_namecolor", "set_name_color", ACCESS_LEVEL, "<color>")
	register_clcmd ("amx_listen", "set_listen", ADMIN_LISTEN, "")
	
	register_clcmd ("say", "hook_say")
	register_clcmd ("say_team", "hook_teamsay")
}


public avoid_duplicated (msgId, msgDest, receiver)
{
	return PLUGIN_HANDLED
}


public hook_say(id)
{
	read_args (message, 191)
	remove_quotes (message)
	
	if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
		return PLUGIN_CONTINUE

		
	new name[32]
	get_user_name (id, name, 31)
	
	new bool:admin = false
	
	if (get_user_flags(id) & ACCESS_LEVEL)
		admin = true
		
	
	new isAlive
	
	if (is_user_alive (id))
		{
			isAlive = 1
			alive = "^x01"
		}
	else
		{
			isAlive = 0
			alive = "^x01*DEAD* "
		}
	
	static color[10]
	

	
	if (admin)
		{
			switch (get_pcvar_num (g_NameColor))
				{
					case 1:
						format (strName, 191, "%s%s", alive, name)

					case 2:
						format (strName, 191, "%s^x04%s", alive, name)
						
					case 3:
						{
							color = "SPECTATOR"
							format (strName, 191, "%s^x03%s", alive, name)
						}
						
					case 4:
						{
							color = "CT"
							format (strName, 191, "%s^x03%s", alive, name)
						}

					case 5:
						{
							color = "TERRORIST"
							format (strName, 191, "%s^x03%s", alive, name)
						}
					
					case 6:
						{
							get_user_team (id, color, 9)
								
							format (strName, 191, "%s^x03%s", alive, name)
						}
				}
			
			
			switch (get_pcvar_num (g_MessageColor))
				{
					case 1:
						format (strText, 191, "%s", message)
						
					case 2:
						format (strText, 191, "^x04%s", message)
						
					case 3:
						{
							copy (color, 9, "SPECTATOR")
							format (strText, 191, "^x03%s", message)
						}

					case 4:
						{
							copy (color, 9, "CT")
							format (strText, 191, "^x03%s", message)
						}
						
					case 5:
						{
							copy (color, 9, "TERRORIST")
							format (strText, 191, "^x03%s", message)
						}
				}
		}
	
	else
		{
			get_user_team (id, color, 9)
			
			format (strName, 191, "%s^x03%s", alive, name)
			
			format (strText, 191, "%s", message)
		}

	format (message, 191, "%s^x01 : %s", strName, strText)
			
	sendMessage (color, isAlive)
	
	return PLUGIN_CONTINUE
}


public hook_teamsay(id)
{
	new playerTeam = get_user_team(id)
	new playerTeamName[19]
	
	switch (playerTeam)
		{
			case 1:
				copy (playerTeamName, 11, "Terrorists")
				
			case 2:
				copy (playerTeamName, 18, "Counter-Terrorists")
				
			default:
				copy (playerTeamName, 9, "Spectator")
		}
		
	read_args (message, 191)
	remove_quotes (message)
	
	if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
		return PLUGIN_CONTINUE

		
	new name[32]
	get_user_name (id, name, 31)
	
	new bool:admin = false
	
	if (get_user_flags(id) & ACCESS_LEVEL)
		admin = true
		
	
	new isAlive
	
	if (is_user_alive (id))
		{
			isAlive = 1
			alive = "^x01"
		}
	else
		{
			isAlive = 0
			alive = "^x01*DEAD* "
		}
	
	static color[10]
	

	
	if (admin)
		{
			switch (get_pcvar_num (g_NameColor))
				{
					case 1:
						format (strName, 191, "%s(%s) %s", alive, playerTeamName, name)

					case 2:
						format (strName, 191, "%s(%s) ^x04%s", alive, playerTeamName, name)
						
					case 3:
						{
							color = "SPECTATOR"
							format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
						}
						
					case 4:
						{
							color = "CT"
							format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
						}

					case 5:
						{
							color = "TERRORIST"
							format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
						}
					
					case 6:
						{
							get_user_team (id, color, 9)
								
							format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
						}
				}
			
			
			switch (get_pcvar_num (g_MessageColor))
				{
					case 1:
						format (strText, 191, "%s", message)
						
					case 2:
						format (strText, 191, "^x04%s", message)
						
					case 3:
						{
							copy (color, 9, "SPECTATOR")
							format (strText, 191, "^x03%s", message)
						}

					case 4:
						{
							copy (color, 9, "CT")
							format (strText, 191, "^x03%s", message)
						}
						
					case 5:
						{
							copy (color, 9, "TERRORIST")
							format (strText, 191, "^x03%s", message)
						}
				}
		}
	
	else
		{
			get_user_team (id, color, 9)
			
			format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
			
			format (strText, 191, "%s", message)
		}
	
	format (message, 191, "%s ^x01: %s", strName, strText)
	
	sendTeamMessage (color, isAlive, playerTeam)
	
	return PLUGIN_CONTINUE	
}


public set_color (id, level, cid)
{
	if (!cmd_access(id, level, cid, 2))
		return PLUGIN_HANDLED
		
	new arg[1], newColor
	read_argv (1, arg, 1)
	
	newColor = str_to_num (arg)
	
	if (newColor >= 1 && newColor <= 5)
		{
			set_cvar_num ("amx_color", newColor)
			set_pcvar_num (g_MessageColor, newColor)
	
			if (get_pcvar_num (g_NameColor) != 1 &&
			       ((newColor == 3 &&  get_pcvar_num (g_NameColor) != 3)
			     || (newColor == 4 &&  get_pcvar_num (g_NameColor) != 4)
			     || (newColor == 5 &&  get_pcvar_num (g_NameColor) != 5)))
				{
					set_cvar_num ("amx_namecolor", 2)
					set_pcvar_num (g_NameColor, 2)
				}
		}
		
	return PLUGIN_HANDLED
}


public set_name_color (id, level, cid)
{
	if (!cmd_access(id, level, cid, 2))
		return PLUGIN_HANDLED
		
	new arg[1], newColor
	read_argv (1, arg, 1)
	
	newColor = str_to_num (arg)
	
	if (newColor >= 1 && newColor <= 6)
		{
			set_cvar_num ("amx_namecolor", newColor)
			set_pcvar_num (g_NameColor, newColor)
			
			if ((get_pcvar_num (g_MessageColor) != 1
			    && ((newColor == 3 &&  get_pcvar_num (g_MessageColor) != 3)
			     || (newColor == 4 &&  get_pcvar_num (g_MessageColor) != 4)
			     || (newColor == 5 &&  get_pcvar_num (g_MessageColor) != 5)))
			     || get_pcvar_num (g_NameColor) == 6)
				{
					set_cvar_num ("amx_color", 2)
					set_pcvar_num (g_MessageColor, 2)
				}
		}
	
	return PLUGIN_HANDLED
}


public set_listen (id, level, cid)
{
	if (!cmd_access(id, level, cid, 2))
		return PLUGIN_HANDLED
		
	new arg[1], newListen
	read_argv(1, arg, 1)
	
	newListen = str_to_num (arg)
	
	set_cvar_num ("amx_listen", newListen)
	set_pcvar_num (g_AdminListen, newListen)
	
	return PLUGIN_HANDLED
}


public sendMessage (color[], alive)
{
	new teamName[10]
	
	for (new player = 1; player < maxPlayers; player++)
		{
			if (!is_user_connected(player))
				continue

			if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
				{
					get_user_team (player, teamName, 9)
					
					changeTeamInfo (player, color)
					
					writeMessage (player, message)
					
					changeTeamInfo (player, teamName)
				}
		}
}


public sendTeamMessage (color[], alive, playerTeam)
{
	new teamName[10]
	
	for (new player = 1; player < maxPlayers; player++)
		{
			if (!is_user_connected(player))
				continue

			if (get_user_team(player) == playerTeam || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
				{
					if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
						{
							get_user_team (player, teamName, 9)
							
							changeTeamInfo (player, color)
							
							writeMessage (player, message)
							
							changeTeamInfo (player, teamName)
						}
				}
		}
}


public changeTeamInfo (player, team[])
{
	message_begin (MSG_ONE, teamInfo, _, player)
	write_byte (player)
	write_string (team)
	message_end()
}


public writeMessage (player, message[])
{
	message_begin (MSG_ONE, sayText, {0, 0, 0}, player)
	write_byte (player)
	write_string (message)
	message_end ()
}

Потребителски аватар

Автор на темата
OciXCrom TM
Администратор
Администратор
Мнения: 5541
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 101 пъти
Получена благодарност: 639 пъти
Години: 22
Контакти:

OciXCrom's Admin Chat [adminchat.amxx]

Мнение от OciXCrom TM » 22 яну 2018, 19:56

csmegagaming написа:
22 яну 2018, 17:34
OciXCrom™ написа:
15 яну 2018, 15:11
Това с виждането на всички чатове няма нищо общо с плъгин за админ чат, за тази цел ти е нужен плъгин за главния чат, а не за администраторските чат команди. За другото отваряш конфигурационния файл. търсиш категорията [Messages] и премахваш %name% от съобщенията които искаш.
Може ли да ми препоръчате, някой нов.
Предварително Благодаря
Ако искаш и админ префикси/цветен чат, ползвай моя - viewtopic.php?f=21&p=9258
В противен случай този - https://forums.alliedmods.net/showthread.php?p=107768

Потребителски аватар

Marinovv Facebook
Потребител
Потребител
Мнения: 385
Регистриран: 19 сеп 2017, 10:01
Местоположение: САЩ
Се отблагодари: 142 пъти
Получена благодарност: 7 пъти
Години: 22
Контакти:

OciXCrom's Admin Chat [adminchat.amxx]

Мнение от Marinovv Facebook » 06 мар 2018, 21:55

Направи така, че да може FORMAT_SAY и FORMAT_SAY_TEAM да може да се конфигурират да не действат, за определени играчи, както примерно [Name/IP/Steam Prefixes] се конфигурира да сложиш някакъв префикс на играч.

Отговори

Върни се в “Одобрени плъгини”

Кой е на линия

Потребители, разглеждащи този форум: Няма регистрирани потребители и 1 гост