Официалният форум на iPlay.bg 

Очакваме вашите мнения за бъдещето на iPlay.bg тук (IPLAY.BG - ЩЕ НИ БЪДЕ ЛИ?).
Искате ли да сменим темата на форума? Можете да се изкажете тук (ПРЕДЛОЖЕНИЯ ЗА НОВ СТИЛ/ТЕМА НА ФОРУМА).
Искате да ви намерим определен плъгин, или пък да ви изработим такъв? Пишете тук!
 #412490  от Stanimir1999
 нед май 21, 2017 8:12 pm
(Owner) - m
(Global Admin) - n
(Server Admin) - p
(Test Admin) - o
(SMS Admin) - r

Префикс - Зелен
Ник-Според Тийма ( CT - Бял ; T - Червен)
Чат- Зелен
БЛАГОДАРЯ предварително!
ПС: Извинявам се че не погледнах правилата за заявката !
 #412493  от OciXCrom™
 нед май 21, 2017 8:45 pm
Код: Избери всички
#include <amxmodx>
#include <colorchat>

#define PLUGIN_VERSION "2.2"
//#define USE_JAILBREAK

#if defined USE_JAILBREAK
	#define PREFIX_SIMON 5
	native is_user_simon(id)
#endif

enum
{
	INFO_PREFIX = 1,
	INFO_CLRNAME,
	INFO_CLRCHAT,
	INFO_CLRSCND
}

#define ADMIN_LISTEN "m"

new const g_szAdminPrefixes[][] = {
/*
	--------------
	Флаг     Префикс                 Цвят (ник)     Цвят (чат)     Цвят (second) */
	"",     "",                        "second",     "normal",     "team",
	"m",     "^4(Owner)",             "second",     "green",     "team",
	"n",     "^4(Global Admin)",             "second",     "green",     "team",
	"p",     "^4(Server Admin)",             "second",     "green",     "team",
	"o",     "^4(Test Admin)",             "second",     "green",     "team",
	"r",     "^4(SMS Admin)",             "second",     "green",     "team"
}

new const g_szSeparator[] = " ^1:"
new const g_szDeathPrefix[][] = { "*DEAD* ", "" }
new const g_szColors[][] = { "^1", "^3", "^4" }
new g_szAdminPrefix[33][32]

new const g_szTeamPrefix[][] = {
	"",
	"^1(Terrorist)",
	"^1(Counter-Terrorist)",
	"^1(Spectator)"
}

public plugin_init()
{
	register_plugin("iPlay: Chat Manager", PLUGIN_VERSION, "iPlay.bg (OciXCrom)")
	register_cvar("CRXChatManager", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
	register_clcmd("say", "hookSay")
	register_clcmd("say_team", "hookSay")
}

public plugin_natives()
	register_native("GetPlayerPrefix", "_GetPlayerPrefix")
	
public _GetPlayerPrefix(iPlugin, iParams)
{
	new id = get_param(1)
	set_string(2, g_szAdminPrefix[id], get_param(3))
	return 1
}

public client_putinserver(id)
	g_szAdminPrefix[id][0] = EOS

public hookSay(id)
{
	new szArgs[192]
	read_args(szArgs, charsmax(szArgs))
	remove_quotes(szArgs)
	
	switch(szArgs[0])
	{
		case EOS, '@': return PLUGIN_HANDLED
	}
	
	new szMessage[192], szName[32], szDeathPrefix[32], szTeamPrefix[32], szAdminPrefix[32], szCommand[5], szNameColor[3], szChatColor[3]
	new iAlive = is_user_alive(id) ? 1 : 0, iPrefix = get_prefixnum(id), iColor = get_secondcolor(g_szAdminPrefixes[iPrefix + INFO_CLRSCND]), iTeam = get_user_team(id)
	copy(szDeathPrefix, charsmax(szDeathPrefix), g_szDeathPrefix[iAlive])
	copy(szAdminPrefix, charsmax(szAdminPrefix), g_szAdminPrefixes[iPrefix + INFO_PREFIX])
	if(!is_blank(szAdminPrefix)) add(szAdminPrefix, charsmax(szAdminPrefix), " ")
	copy(g_szAdminPrefix[id], charsmax(g_szAdminPrefix[]), szAdminPrefix)
	get_color(g_szAdminPrefixes[iPrefix + INFO_CLRNAME], szNameColor)
	get_color(g_szAdminPrefixes[iPrefix + INFO_CLRCHAT], szChatColor)
	read_argv(0, szCommand, charsmax(szCommand))
	get_user_name(id, szName, charsmax(szName))
	
	new bool:blTeam = szCommand[3] == '_' ? true : false
	if(blTeam) formatex(szTeamPrefix, charsmax(szTeamPrefix), "%s ", g_szTeamPrefix[iTeam])
	formatex(szMessage, charsmax(szMessage), "%s%s%s%s%s%s %s%s", szDeathPrefix, szTeamPrefix, szAdminPrefix, szNameColor, szName, g_szSeparator, szChatColor, szArgs)
	
	new iPlayers[32], iPlayer, iPlayerAlive, iPnum
	get_players(iPlayers, iPnum)
	
	for(new i; i < iPnum; i++)
	{
		iPlayer = iPlayers[i]
		iPlayerAlive = is_user_alive(iPlayer) ? 1 : 0
		
		if(iAlive == iPlayerAlive || (blTeam && iTeam == get_user_team(iPlayer)) || has_user_listen(iPlayer))
		{
			switch(iColor)
			{
				case 0:
				{
					switch(iTeam)
					{
						case 1: ColorChat(iPlayer, RED, szMessage)
						case 2: ColorChat(iPlayer, BLUE, szMessage)
						case 3: ColorChat(iPlayer, GREY, szMessage)
					}
				}
				case 1: ColorChat(iPlayer, RED, szMessage)
				case 2: ColorChat(iPlayer, BLUE, szMessage)
				case 3: ColorChat(iPlayer, GREY, szMessage)
			}
		}
	}
	
	logChatMessage(szMessage)
	return PLUGIN_HANDLED
}

logChatMessage(szMessage[192])
{
	for(new i; i < sizeof(g_szColors); i++)
		replace_all(szMessage, charsmax(szMessage), g_szColors[i], "")
	
	log_amx(szMessage)
}

get_prefixnum(id)
{    
	#if defined USE_JAILBREAK
		if(is_user_simon(id))
			return PREFIX_SIMON
	#endif
	
	new iPrefix
	static iFlags
	iFlags = get_user_flags(id)
	
	for(new i; i < sizeof(g_szAdminPrefixes) - 4; i += 5)
	{
		if(iFlags & read_flags(g_szAdminPrefixes[i]))
		{
			iPrefix = i
			break
		}
	}
	
	return iPrefix
}
	
get_color(szString[], szColor[3])
{
	new iColor
	
	switch(szString[0])
	{
		case 't', 's': iColor = 1
		case 'g': iColor = 2
	}
	
	copy(szColor, charsmax(szColor), g_szColors[iColor])
}

get_secondcolor(szString[])
{
	new iColor
	
	switch(szString[0])
	{
		case 'r': iColor = 1
		case 'b': iColor = 2
		case 'g': iColor = 3
	}
	
	return iColor
}

bool:is_blank(szString[])
	return szString[0] == EOS ? true : false
	
bool:has_user_listen(id)
	return get_user_flags(id) & read_flags(ADMIN_LISTEN) ? true : false
 #412494  от Stanimir1999
 нед май 21, 2017 9:14 pm
Извинявай но така с кода немога да си го компилирам , не съм запознат как става , би ли ми го дал като .amxx формат ?
Ще съм ти много благодарен ! :worried:
 #412495  от OciXCrom™
 нед май 21, 2017 9:31 pm
Тогава запознай се - http://amxx-bg.info/viewtopic.php?f=26&t=760
 #412547  от Stanimir1999
 вт май 23, 2017 1:00 pm
(Owner) - m
(Global Admin) - n
(Server Admin) - p
(Test Admin) - o
(SMS Admin) - r
(VIP) - ì

Префикс - Зелен
Ник-Според Тийма ( CT - Бял ; T - Червен)
Чат- Зелен
+ скобите да са с цвят според team
БЛАГОДАРЯ предварително!

ПС: Ако не може тва с скобите , направете го както предния! Благодаря :thumbs_up:
 #412579  от OciXCrom™
 вт май 23, 2017 5:51 pm
Редактирайси горния код. Няма нищо сложно.
 #412586  от Stanimir1999
 вт май 23, 2017 7:49 pm
OciXCrom™ написа:
вт май 23, 2017 5:51 pm
Редактирайси горния код. Няма нищо сложно.

А как да сменям цвета на чат-а вместо зелен , да е син?
И кой е цвета "team" с цифра за да го сложа за скобите на префикса !
Благодаря за разбирането!
 #412590  от OciXCrom™
 вт май 23, 2017 8:58 pm
Като пишеш blue.

Team = ^x03
Green = ^x04
Normal = ^x01
 #412707  от OciXCrom™
 съб май 27, 2017 9:25 pm
http://forum.iplay.bg/viewtopic.php?f=103&t=31615 - Темата се заключва.
  • 1
  • 42
  • 43
  • 44
  • 45
  • 46