Imi poate da cineva un plugin de /ctag pentru chat tag ? Acela a lu

Categoria unde se postează orice altceva ce nu își are locul în celelalte categorii despre Counter-Strike: Global Offensive.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

User avatar
FREAK
Membru, skill +4
Membru, skill +4
Posts: 1844
Joined: 13 Aug 2016, 20:46
Detinator Steam: Da
CS Status: Ma joc CS:GO
Detinator server CS: ARENA.1TAP.RO
SteamID: freakav
Reputatie: Fost Scripter eXtreamCS
Fost Membru Club eXtreamCS (6 luni)
Nume anterior: FREAK OFFICIAL TV
Fond eXtream: 0
Location: England
Contact:

13 Oct 2017, 21:33

1. Acel inviter de pe net nu merge , asa pentru cunostintele tale
2. Eu nu vand acel plugin de inviter , unde scrie ca vand acel plugin ? Mersi ca mi-ai facut o vizita in plus pe site ca sa imi verifici preturile , te pup
RoyalServer 2
User avatar
LESTRO
Membru, skill 0
Membru, skill 0
Posts: 54
Joined: 06 Sep 2017, 23:19
Detinator Steam: Da
Detinator server CS: ARENA.ALIED.EU
SteamID: STEAM_0:1:129701974
Fond eXtream: 0
Location: Bucharest
Contact:

13 Oct 2017, 21:48

aditheseal wrote:
LESTRO wrote:Vinzi addons-uri si tu ceri pe aici !ctag ... la cos cu topicul.
uite cine s-a trezit
lestro https://gyazo.com/3490cc0e094c3ba3f7c85102659fc705
FREAK wrote:Frate ma abtin , chiar ma abtin , pe profilul tau de steam zice ca vinzi addonsuri de arena de competitive si tu nu ai macar un plugin de /ctag si faci 100 de posturi in categoria asta cersand pluginuri aici ca sa ce ? sa le vinzi mai departe ?
altu, (tie iti pun putine poze cu "scripturi de ale tale")
1)https://prnt.sc/glnfyv
https://github.com/polvora/Inviter
2)https://prnt.sc/glngtt
sursa pe net
3)https://prnt.sc/glng9c
SOURCEMOD 10 EURO =))))))))))
ON TOPIC:
ca sa te ajut pentru ca hattrick(caramel cei care isi aduc aminte)le-a dat gratis asa ca tot gratis o sa le dau si eu
| Afiseaza codul
#include <sourcemod>
#include <clientprefs>

public Plugin myinfo =
{
	name = "acct",
	author = "Hattrick HKS",
	description = "Admin Colored Chat Tags",
	version = "1.0",
	url = "http://hattrick.go.ro/"
};

native bool IsGoldMember(int iId);
native bool IsClientVIP(int iId);

enum ChatTagOption:
{
	CTO_Invalid = 0,

	CTO_VIP,
	CTO_GoldMember,
	CTO_Admin,
	CTO_Custom,

	CTO_None
};

char g_Buffer[PLATFORM_MAX_PATH] = "";

Handle g_pGroups = INVALID_HANDLE;
Handle g_pTags = INVALID_HANDLE;

Handle g_pCookie = INVALID_HANDLE;

Handle g_pDb = INVALID_HANDLE;

bool __IsClientVIP(int iId)
{
	return CanTestFeatures() && \
			GetFeatureStatus(FeatureType_Native, "IsClientVIP") == FeatureStatus_Available && \
				IsClientVIP(iId) ? true : false;
}

bool __IsGoldMember(int iId)
{
	return CanTestFeatures() && \
			GetFeatureStatus(FeatureType_Native, "IsGoldMember") == FeatureStatus_Available && \
				IsGoldMember(iId) ? true : false;
}

void ReplaceColors(char[] szBuffer, int iSize)
{
	static char pName[][] = { "{DEFAULT}", "{DARKRED}", "{VIOLET}", "{DARKGREEN}", \
								"{LIGHTGREEN}", "{LIME}", "{LIGHTRED}", "{GREY}", \
								"{YELLOW}", "{LIGHTORANGE}", "{LIGHTBLUE}", \
								"{DARKBLUE}", "{PINK}", "{DARKORANGE}" };

	static char pCode[][] = { "\x01", "\x02", "\x03", "\x04", "\x05", "\x06", \
								"\x07", "\x08", "\x09", "\x10", \
								"\x0B", "\x0C", "\x0E", "\x0F" };

	static int iIter = 0;

	for (iIter = 0; iIter < sizeof(pName); iIter++)
	{
		ReplaceString(szBuffer, iSize, pName[iIter], pCode[iIter], false);
	}
}

public Action CommandSay(int Client, int Args)
{
	static char Raw[PLATFORM_MAX_PATH];
	static char Command[PLATFORM_MAX_PATH];

	if (Client >= 1 && Client <= MaxClients && IsClientInGame(Client))
	{
		GetCmdArgString(Raw, sizeof(Raw));

		if (hCSGO_PureChatCommand(Raw, Command, sizeof(Command)) >= 2)
		{
			if (!strcmp(Command, "CTag", false) || !strcmp(Command[1], "CTag", false) || \
				!strcmp(Command, "CHATTag", false) || !strcmp(Command[1], "CHATTag", false))
			{
				CreateTimer(0.1, Timer_AskClient, Client, TIMER_FLAG_NO_MAPCHANGE);
			}
		}
	}
}

void StripColors(char[] szBuffer, int iSize)
{
	static char pName[][] = { "{DEFAULT}", "{DARKRED}", "{VIOLET}", "{DARKGREEN}", \
								"{LIGHTGREEN}", "{LIME}", "{LIGHTRED}", "{GREY}", \
								"{YELLOW}", "{LIGHTORANGE}", "{LIGHTBLUE}", \
								"{DARKBLUE}", "{PINK}", "{DARKORANGE}" };

	static char pCode[][] = { "\x01", "\x02", "\x03", "\x04", "\x05", "\x06", \
								"\x07", "\x08", "\x09", "\x10", \
								"\x0B", "\x0C", "\x0E", "\x0F" };

	static int iIter = 0;

	for (iIter = 0; iIter < sizeof(pName); iIter++)
	{
		ReplaceString(szBuffer, iSize, pName[iIter], "", false);
	}
	
	for (iIter = 0; iIter < sizeof(pCode); iIter++)
	{
		ReplaceString(szBuffer, iSize, pCode[iIter], "", false);
	}
}

public void OnPluginStart()
{
	UserMsg pMsgID = GetUserMessageId("SayText2");

	if (pMsgID != INVALID_MESSAGE_ID)
		HookUserMessage(pMsgID, OnMsg, true);

	g_pGroups = CreateArray(PLATFORM_MAX_PATH);
	g_pTags = CreateArray(PLATFORM_MAX_PATH);
	
	HookEventEx("round_freeze_end", OnRoundFreezeEnd);
	
	RegConsoleCmd("say", CommandSay);
	RegConsoleCmd("say_team", CommandSay);
	
	g_pCookie = RegClientCookie("ChatTagOption", "Provides a chat tag option.", CookieAccess_Private);
}

int HasCustomChatTag(int iId, \
						char[] szTag, int iTagSize, \
							char[] szGroupTag, int iGroupTagSize)
{
	static int iIter = 0;
	
	static char szSteam[PLATFORM_MAX_PATH] = "";
	static char szToken[PLATFORM_MAX_PATH] = "";
	static char szGroup[PLATFORM_MAX_PATH] = "";
	
	static AdminId pId = INVALID_ADMIN_ID;

	FormatEx(szTag, iTagSize, "");
	FormatEx(szGroupTag, iGroupTagSize, "");
	
	GetClientAuthId(iId, AuthId_Engine, szSteam, sizeof(szSteam));
	hCSGO_ExtractSteamID(szSteam, szSteam, sizeof(szSteam));
	
	for (iIter = 0; iIter < GetArraySize(g_pGroups); iIter++)
	{
		GetArrayString(g_pGroups, iIter, szToken, sizeof(szToken));

		if (strcmp(szToken, szSteam) == 0 || StrContains(szToken, szSteam) != -1 || StrContains(szSteam, szToken) != -1)
		{
			GetArrayString(g_pTags, iIter, szTag, iTagSize);
			
			StripColors(szTag, iTagSize);
			
			break;
		}
	}
	
	pId = GetUserAdmin(iId);
	
	if (pId != INVALID_ADMIN_ID)
	{
		if (GetAdminGroupCount(pId) > 0)
		{
			GetAdminGroup(pId, 0, szGroup, sizeof(szGroup));
			
			for (iIter = 0; iIter < GetArraySize(g_pGroups); iIter++)
			{
				GetArrayString(g_pGroups, iIter, szToken, sizeof(szToken));

				if (strcmp(szToken, szGroup, false) == 0)
				{
					GetArrayString(g_pTags, iIter, szGroupTag, iGroupTagSize);

					StripColors(szGroupTag, iGroupTagSize);
					
					break;
				}
			}
		}
	}
	
	return strlen(szTag);
}

public int Menu_ChatTagOption(Handle pMenu, MenuAction pAction, int iId, int iOption)
{
	static char szInfo[PLATFORM_MAX_PATH] = "";
	static char szDisplay[PLATFORM_MAX_PATH] = "";
	
	static int iFlags = 0;
	
	if (pAction == MenuAction_Select && IsClientInGame(iId))
	{
		GetMenuItem(pMenu, iOption, szInfo, sizeof(szInfo), iFlags, szDisplay, sizeof(szDisplay));

		switch (StringToInt(szInfo))
		{
			case view_as<int>(CTO_Admin):
			{
				SetClientCookie(iId, g_pCookie, "3");
				PrintToChat(iId, ">> You Selected\x04 %s", szDisplay);
			}
			
			case view_as<int>(CTO_VIP):
			{
				SetClientCookie(iId, g_pCookie, "1");
				PrintToChat(iId, ">> You Selected\x04 %s", szDisplay);
			}
			
			case view_as<int>(CTO_GoldMember):
			{
				SetClientCookie(iId, g_pCookie, "2");
				PrintToChat(iId, ">> You Selected\x04 %s", szDisplay);
			}
			
			case view_as<int>(CTO_None):
			{
				SetClientCookie(iId, g_pCookie, "5");
				PrintToChat(iId, ">> You Selected\x04 %s", szDisplay);
			}
			
			case view_as<int>(CTO_Custom):
			{
				SetClientCookie(iId, g_pCookie, "4");
				PrintToChat(iId, ">> You Selected\x04 %s", szDisplay);
			}
		}
		
		PrintToChat(iId, ">> To Open The Menu Again\x07 !CTag\x01/\x07 !CHATTag");
	}

	else if (pAction == MenuAction_End && \
				pMenu != INVALID_HANDLE)
	{
		CloseHandle(pMenu);
		pMenu = INVALID_HANDLE;
	}
}

public Action Timer_AskClient(Handle pTimer, any iId)
{
		static Handle pMenu = INVALID_HANDLE;

		static char szTag[PLATFORM_MAX_PATH] = "";
		static char szGroupTag[PLATFORM_MAX_PATH] = "";

		if (IsClientInGame(iId))
		{
					HasCustomChatTag(iId, szTag, sizeof(szTag), szGroupTag, sizeof(szGroupTag)) > 0 ? true : false;

					pMenu = CreateMenu(Menu_ChatTagOption);
					
					SetMenuTitle(pMenu, "★ CHAT TAG ★ (!CTag/ !CHATTag)");

					AddMenuItem(pMenu, "5", "NO, THANKS!");
					
					if (__IsClientVIP(iId))
						AddMenuItem(pMenu, "1", "VIP★");
					
					if (__IsGoldMember(iId))
						AddMenuItem(pMenu, "2", "Gold Member®");
					
					if (strlen(szGroupTag) > 0)
						AddMenuItem(pMenu, "3", szGroupTag);
					
					if (strlen(szTag) > 0)
						AddMenuItem(pMenu, "4", szTag);
					
					DisplayMenu(pMenu, iId, MENU_TIME_FOREVER);
		}
}

public void OnRoundFreezeEnd(Handle E, const char[] N, bool NB)
{
	static int iId = INVALID_ENT_REFERENCE;

	static int iValue = 0;
	static int iGroupCount = 0;

	static AdminId pId = INVALID_ADMIN_ID;

	static Handle pMenu = INVALID_HANDLE;

	static char szTag[PLATFORM_MAX_PATH] = "";
	static char szGroupTag[PLATFORM_MAX_PATH] = "";

	static char szValue[MAX_NAME_LENGTH] = "";
	
	static bool bHasCustomChatTag = false;

	for (iId = 1; iId <= MaxClients; iId++)
	{
		if (IsClientInGame(iId) && \
				!IsFakeClient(iId) && \
					GetClientTime(iId) >= 60.0 && \
						!hCSGO_IsWarmup())
		{
			GetClientCookie(iId, g_pCookie, szValue, sizeof(szValue)), \
				iValue = StringToInt(szValue);

			pId = GetUserAdmin(iId);
			bHasCustomChatTag = HasCustomChatTag(iId, szTag, sizeof(szTag), szGroupTag, sizeof(szGroupTag)) > 0 ? true : false;

			if (pId != INVALID_ADMIN_ID)
				iGroupCount = GetAdminGroupCount(pId);
			
			else
				iGroupCount = 0;
			
			if (iValue == view_as<int>(CTO_Invalid) || \
					(iValue == view_as<int>(CTO_Custom) && !bHasCustomChatTag) || \
						(iValue == view_as<int>(CTO_GoldMember) && !__IsGoldMember(iId)) || \
							(iValue == view_as<int>(CTO_VIP) && !__IsClientVIP(iId)) || \
								(iValue == view_as<int>(CTO_Admin) && (pId == INVALID_ADMIN_ID || iGroupCount < 1)))
			{
				if ((pId != INVALID_ADMIN_ID && iGroupCount > 0) || \
						__IsClientVIP(iId) || \
							__IsGoldMember(iId) || \
								bHasCustomChatTag)
				{
					pMenu = CreateMenu(Menu_ChatTagOption);
					
					SetMenuTitle(pMenu, "★ CHAT TAG ★ (!CTag/ !CHATTag)");

					AddMenuItem(pMenu, "5", "NO, THANKS!");
					
					if (__IsClientVIP(iId))
						AddMenuItem(pMenu, "1", "VIP★");
					
					if (__IsGoldMember(iId))
						AddMenuItem(pMenu, "2", "Gold Member®");
					
					if (strlen(szGroupTag) > 0)
						AddMenuItem(pMenu, "3", szGroupTag);
					
					if (strlen(szTag) > 0)
						AddMenuItem(pMenu, "4", szTag);
					
					DisplayMenu(pMenu, iId, MENU_TIME_FOREVER);
				}
			}
		}
	}
}

public void OnMapStart()
{
	CreateTimer(60.0, Timer_Reload, _, TIMER_REPEAT | TIMER_FLAG_NO_MAPCHANGE);
	CreateTimer(1.0, Timer_Reload, _, TIMER_FLAG_NO_MAPCHANGE);
}

public Action Timer_Reload(Handle pTimer, any _Data)
{
	static int iId = INVALID_ENT_REFERENCE;
	static char szError[PLATFORM_MAX_PATH] = "";
	static char szSteam[PLATFORM_MAX_PATH] = "";

	if (g_pDb == INVALID_HANDLE)
	{
		g_pDb = SQL_Connect("main_db", false, szError, sizeof(szError));
		
		if (g_pDb != INVALID_HANDLE)
		{
			SQL_SetCharset(g_pDb, "utf8");
		}
	}
	
	FormatEx(g_Buffer, sizeof(g_Buffer), "DELETE FROM sm_tags WHERE Stamp < %d;", GetTime() - (86400 * 7 * 3));
	
	SQL_TQuery(g_pDb, Q_Empty, g_Buffer, _, DBPrio_High);
	SQL_TQuery(g_pDb, Q_SelectData, "SELECT Steam, Tag, colorCode FROM sm_tags;", _, DBPrio_High);
	
	for (iId = 1; iId <= MaxClients; iId++)
	{
		if (IsClientInGame(iId))
		{
			GetClientAuthId(iId, AuthId_Engine, szSteam, sizeof(szSteam));
			
			hCSGO_ExtractSteamID(szSteam, szSteam, sizeof(szSteam));
			
			FormatEx(g_Buffer, sizeof(g_Buffer), "UPDATE sm_tags SET Stamp = %d WHERE Steam = '%s' LIMIT 1;", GetTime(), szSteam);
			SQL_TQuery(g_pDb, Q_Empty, g_Buffer, _, DBPrio_Low);
			FormatEx(g_Buffer, sizeof(g_Buffer), "UPDATE sm_music SET Stamp = %d WHERE Steam = '%s' LIMIT 1;", GetTime(), szSteam);
			SQL_TQuery(g_pDb, Q_Empty, g_Buffer, _, DBPrio_Low);
		}
	}
}

public void Q_Empty(Handle pOwner, Handle pChild, const char[] szError, any _Data)
{
	
}

public void Q_SelectData(Handle pOwner, Handle pChild, const char[] szError, any _Data)
{
	static Handle pFile = INVALID_HANDLE;

	static char szFile[PLATFORM_MAX_PATH] = "";
	static char szSteam[PLATFORM_MAX_PATH] = "";
	static char szTag[PLATFORM_MAX_PATH] = "";
	static char szColor[PLATFORM_MAX_PATH] = "";
	static char szLine[PLATFORM_MAX_PATH * 4] = "";

	static char pTokens[MAX_NAME_LENGTH / 2][PLATFORM_MAX_PATH];

	static int iTokensCount = 0;
	static int iIter = 0;
	static int iDoubleQuotesCount = 0;
	static int iPos = 0;

	ClearArray(g_pGroups);
	ClearArray(g_pTags);
	
	if (pChild != INVALID_HANDLE && (strlen(szError) < 1 || StrContains(szError, "NOT AN ERROR", false) != -1))
	{
		while (SQL_FetchRow(pChild))
		{
			SQL_FetchString(pChild, 0, szSteam, sizeof(szSteam));
			SQL_FetchString(pChild, 1, szTag, sizeof(szTag));
			SQL_FetchString(pChild, 2, szColor, sizeof(szColor));

			if (strlen(szSteam) > 0 && strlen(szTag) > 0 && strlen(szColor) > 0)
			{
				PushArrayString(g_pGroups, szSteam);

				StrCat(szColor, sizeof(szColor), szTag);
				ReplaceColors(szColor, PLATFORM_MAX_PATH);
				PushArrayString(g_pTags, szColor);
			}
		}
	}

	BuildPath(Path_SM, szFile, sizeof(szFile), "configs/chat_tag_by_admin_group.txt");

	pFile = OpenFile(szFile, "r");

	if (pFile != INVALID_HANDLE)
	{
		while (ReadFileLine(pFile, szLine, sizeof(szLine)))
		{
			TrimString(szLine);

			if (szLine[0] != '"')
				continue;

			for (iIter = 0; iIter < MAX_NAME_LENGTH; iIter++)
				ReplaceString(szLine, sizeof(szLine), "\t", " ");

			for (iIter = 0; iIter < MAX_NAME_LENGTH; iIter++)
				ReplaceString(szLine, sizeof(szLine), "  ", " ");
			
			iDoubleQuotesCount = hCSGO_CountChar(szLine, '"');
			
			if (iDoubleQuotesCount < 4)
				continue;
			
			iPos = hCSGO_GetCharPosByOccNo(szLine, '"', 4);
			
			if (iPos == -1)
				continue;
			
			szLine[iPos] = EOS;

			for (iIter = 0; iIter < MAX_NAME_LENGTH; iIter++)
				ReplaceString(szLine, sizeof(szLine), "\"", "");

			iTokensCount = ExplodeString(szLine, " ", pTokens, sizeof(pTokens), PLATFORM_MAX_PATH);

			if (iTokensCount < 2)
				continue;

			if (strlen(pTokens[0]) > 0 && strlen(pTokens[1]) > 0)
			{
				if (iTokensCount > 2)
				{
					for (iIter = 2; iIter < iTokensCount; iIter++)
					{
						if (strlen(pTokens[iIter]) > 0)
						{
							StrCat(pTokens[1], PLATFORM_MAX_PATH, " ");
							StrCat(pTokens[1], PLATFORM_MAX_PATH, pTokens[iIter]);
						}
					}
				}
				
				if (StrContains(pTokens[0], "STEAM_", false) != -1)
					hCSGO_ExtractSteamID(pTokens[0], pTokens[0], PLATFORM_MAX_PATH);

				PushArrayString(g_pGroups, pTokens[0]);

				ReplaceColors(pTokens[1], PLATFORM_MAX_PATH);
				PushArrayString(g_pTags, pTokens[1]);
			}
		}

		CloseHandle(pFile);
		pFile = INVALID_HANDLE;
	}
}

public APLRes AskPluginLoad2(Handle pSelf, bool bLate, char[] szError, int iMaxErrSize)
{
	MarkNativeAsOptional("GetUserMessageType");
	MarkNativeAsOptional("IsGoldMember");
	MarkNativeAsOptional("IsClientVIP");

	return APLRes_Success;
}

public Action OnMsg(UserMsg pMsg, Handle pData, const int[] pClients, \
						int iClientsCount, bool bReliable, bool bINIT)
{
	static AdminId pId = INVALID_ADMIN_ID;

	static char szSenderSteam[PLATFORM_MAX_PATH] = "";
	static char szSenderName[PLATFORM_MAX_PATH] = "";
	static char szMsg[PLATFORM_MAX_PATH] = "";
	static char szRules[PLATFORM_MAX_PATH] = "";
	static char szGroup[PLATFORM_MAX_PATH] = "";
	static char szToken[PLATFORM_MAX_PATH] = "";
	static char szTag[PLATFORM_MAX_PATH] = "";
	static char szValue[PLATFORM_MAX_PATH] = "";

	static int iValue = 0;
	static int iSender = INVALID_ENT_REFERENCE;
	static int iId = INVALID_ENT_REFERENCE;
	static int iIter = 0;
	static int iTeam = CS_TEAM_NONE;
	static int iPos = 0;

	static Handle pPack = INVALID_HANDLE;

	static bool bPB = false;
	static bool bChat = false;

	bPB = (CanTestFeatures() && \
			GetFeatureStatus(FeatureType_Native, "GetUserMessageType") == FeatureStatus_Available && \
				GetUserMessageType() == UM_Protobuf) ? true : false;

	if (bPB)
		iSender = PbReadInt(pData, "ent_idx");

	else
		iSender = BfReadByte(pData);

	if (bPB)
		bChat = PbReadBool(pData, "chat");

	else
		bChat = (BfReadByte(pData) ? true : false);

	if (bPB)
		PbReadString(pData, "msg_name", szRules, sizeof(szRules));

	else
		BfReadString(pData, szRules, sizeof(szRules));

	if (bPB)
		PbReadString(pData, "params", szSenderName, sizeof(szSenderName), 0);

	else if (BfGetNumBytesLeft(pData))
		BfReadString(pData, szSenderName, sizeof(szSenderName));

	if (bPB)
		PbReadString(pData, "params", szMsg, sizeof(szMsg), 1);

	else if (BfGetNumBytesLeft(pData))
		BfReadString(pData, szMsg, sizeof(szMsg));

	if (bChat && \
			iSender >= 1 && iSender <= MaxClients && \
				IsClientInGame(iSender) && !IsFakeClient(iSender))
	{
			pId = GetUserAdmin(iSender);
			iTeam = GetClientTeam(iSender);
			GetClientCookie(iSender, g_pCookie, szValue, sizeof(szValue)), \
				iValue = StringToInt(szValue);

			if (iValue != view_as<int>(CTO_Invalid) && \
					iValue != view_as<int>(CTO_None))
			{
				GetClientAuthId(iSender, AuthId_Engine, szSenderSteam, sizeof(szSenderSteam));
				hCSGO_ExtractSteamID(szSenderSteam, szSenderSteam, sizeof(szSenderSteam));

				if ((iPos = FindStringInArray(g_pGroups, szSenderSteam)) != -1 && \
						iValue == view_as<int>(CTO_Custom))
				{
							GetArrayString(g_pTags, iPos, szTag, sizeof(szTag));

							if (StrContains(szRules, "CStrike_Chat_T_Dead", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, "\x01 \x10*DEAD*(T) %s\x10 %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}

								return Plugin_Stop;
							}

							else if (StrContains(szRules, "CStrike_Chat_T", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, "\x01 \x10(T) %s\x10 %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}
								
								return Plugin_Stop;
							}

							else if (StrContains(szRules, "CStrike_Chat_CT_Dead", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, "\x01 \x0B*DEAD*(CT) %s\x0B %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}
								
								return Plugin_Stop;
							}

							else if (StrContains(szRules, "CStrike_Chat_CT", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, "\x01 \x0B(CT) %s\x0B %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}
								
								return Plugin_Stop;
							}

							else if (StrContains(szRules, "CStrike_Chat_AllDead", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, iTeam == CS_TEAM_CT ? "\x01 \x0B*DEAD* %s\x0B %s\x01 :  %s" : "\x01 \x10*DEAD* %s\x10 %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}
								
								return Plugin_Stop;
							}

							else if (StrContains(szRules, "CStrike_Chat_AllSpec", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, "\x01 \x08*SPEC* %s\x08 %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}
								
								return Plugin_Stop;
							}

							else if (StrContains(szRules, "CStrike_Chat_All", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, iTeam == CS_TEAM_CT ? "\x01 %s\x0B %s\x01 :  %s" : "\x01 %s\x10 %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}

								return Plugin_Stop;
							}

							else if (StrContains(szRules, "CStrike_Chat_Spec", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, "\x01 \x02(SPEC) %s\x02 %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}
								
								return Plugin_Stop;
							}
				}
				
				else if ((iValue == view_as<int>(CTO_VIP) && __IsClientVIP(iSender)) || \
						(iValue == view_as<int>(CTO_GoldMember) && __IsGoldMember(iSender)))
				{
							if (iValue == view_as<int>(CTO_VIP) && __IsClientVIP(iSender))
								szTag = "\x09VIP★";
							
							else
								szTag = "\x06Gold Member®";

							if (StrContains(szRules, "CStrike_Chat_T_Dead", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, "\x01 \x10*DEAD*(T) %s\x10 %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}

								return Plugin_Stop;
							}

							else if (StrContains(szRules, "CStrike_Chat_T", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, "\x01 \x10(T) %s\x10 %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}
								
								return Plugin_Stop;
							}

							else if (StrContains(szRules, "CStrike_Chat_CT_Dead", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, "\x01 \x0B*DEAD*(CT) %s\x0B %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}
								
								return Plugin_Stop;
							}

							else if (StrContains(szRules, "CStrike_Chat_CT", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, "\x01 \x0B(CT) %s\x0B %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}
								
								return Plugin_Stop;
							}

							else if (StrContains(szRules, "CStrike_Chat_AllDead", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, iTeam == CS_TEAM_CT ? "\x01 \x0B*DEAD* %s\x0B %s\x01 :  %s" : "\x01 \x10*DEAD* %s\x10 %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}
								
								return Plugin_Stop;
							}

							else if (StrContains(szRules, "CStrike_Chat_AllSpec", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, "\x01 \x08*SPEC* %s\x08 %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}
								
								return Plugin_Stop;
							}

							else if (StrContains(szRules, "CStrike_Chat_All", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, iTeam == CS_TEAM_CT ? "\x01 %s\x0B %s\x01 :  %s" : "\x01 %s\x10 %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}

								return Plugin_Stop;
							}

							else if (StrContains(szRules, "CStrike_Chat_Spec", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, "\x01 \x02(SPEC) %s\x02 %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}
								
								return Plugin_Stop;
							}
				}

				else if (iValue == view_as<int>(CTO_Admin) && GetAdminGroupCount(pId) > 0)
				{
					GetAdminGroup(pId, 0, szGroup, sizeof(szGroup));

					for (iIter = 0; iIter < GetArraySize(g_pGroups); iIter++)
					{
						GetArrayString(g_pGroups, iIter, szToken, sizeof(szToken));

						if (strcmp(szToken, szGroup, false) == 0)
						{
							GetArrayString(g_pTags, iIter, szTag, sizeof(szTag));

							if (StrContains(szRules, "CStrike_Chat_T_Dead", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, "\x01 \x10*DEAD*(T) %s\x10 %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}

								return Plugin_Stop;
							}

							else if (StrContains(szRules, "CStrike_Chat_T", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, "\x01 \x10(T) %s\x10 %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}
								
								return Plugin_Stop;
							}

							else if (StrContains(szRules, "CStrike_Chat_CT_Dead", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, "\x01 \x0B*DEAD*(CT) %s\x0B %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}
								
								return Plugin_Stop;
							}

							else if (StrContains(szRules, "CStrike_Chat_CT", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, "\x01 \x0B(CT) %s\x0B %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}
								
								return Plugin_Stop;
							}

							else if (StrContains(szRules, "CStrike_Chat_AllDead", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, iTeam == CS_TEAM_CT ? "\x01 \x0B*DEAD* %s\x0B %s\x01 :  %s" : "\x01 \x10*DEAD* %s\x10 %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}
								
								return Plugin_Stop;
							}

							else if (StrContains(szRules, "CStrike_Chat_AllSpec", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, "\x01 \x08*SPEC* %s\x08 %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}
								
								return Plugin_Stop;
							}

							else if (StrContains(szRules, "CStrike_Chat_All", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, iTeam == CS_TEAM_CT ? "\x01 %s\x0B %s\x01 :  %s" : "\x01 %s\x10 %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}

								return Plugin_Stop;
							}

							else if (StrContains(szRules, "CStrike_Chat_Spec", false) != -1)
							{
								for (iIter = 0; iIter < iClientsCount; iIter++)
								{
									iId = pClients[iIter];

									if (iId >= 1 && iId <= MaxClients && \
											IsClientInGame(iId) && !IsFakeClient(iId))
									{
										pPack = CreateDataPack();

										WritePackCell(pPack, iId);

										WritePackString(pPack, "\x01 \x02(SPEC) %s\x02 %s\x01 :  %s");

										WritePackString(pPack, szTag);
										WritePackString(pPack, szSenderName);
										WritePackString(pPack, szMsg);

										CreateTimer(0.1, Timer_DisplayToOne, pPack);
									}
								}
								
								return Plugin_Stop;
							}
						}
					}
				}
			}
	}

	return Plugin_Continue;
}

public Action Timer_DisplayToOne(Handle pTimer, any _Data)
{
	static int iId = INVALID_ENT_REFERENCE;

	static char szRules[PLATFORM_MAX_PATH] = "";
	static char szTag[PLATFORM_MAX_PATH] = "";
	static char szName[PLATFORM_MAX_PATH] = "";
	static char szMsg[PLATFORM_MAX_PATH] = "";

	ResetPack(_Data);

	iId = ReadPackCell(_Data);

	ReadPackString(_Data, szRules, sizeof(szRules));
	ReadPackString(_Data, szTag, sizeof(szTag));
	ReadPackString(_Data, szName, sizeof(szName));
	ReadPackString(_Data, szMsg, sizeof(szMsg));

	CloseHandle(_Data);
	_Data = INVALID_HANDLE;

	if (IsClientInGame(iId))
		PrintToChat(iId, szRules, szTag, szName, szMsg);
}
ai nevoie si de asta
| Afiseaza codul
//
// SEE `admin_groups.cfg' FILE
//

//
// COLORS
//
// {DEFAULT} {DARKRED} {VIOLET} {DARKGREEN} {LIGHTGREEN} {LIME} {LIGHTRED} {GREY}
// {YELLOW} {LIGHTORANGE} {LIGHTBLUE} {DARKBLUE} {PINK} {DARKORANGE}
//

"Owner" "{VIOLET}★{LIME}[{DARKRED}Owner{LIME}] "
"Co-Owner" "{LIGHTRED}[Co-Owner] "
"Trusted" "{VIOLET}☆[Trusted] "
"Mod" "{DARKBLUE}★[Moderator] "
"Administrator" "{DARKGREEN}彡[Admin] "
"Helper" "{LIGHTGREEN}彡[Helper] "
"Slot" "{LIME}[Slot] "
"VIP" "{DARKGREEN}[{YELLOW}V{DARKRED}I{YELLOW}P{DARKGREEN}]


//
// ADD MORE GROUPS + TAGS DOWN HERE (IF YOU NEED)

// NUMELE
//
"STEAMID" 	"{DARKGREEN}MΦNЅTER"
si sper ca ai si grupurile in admin_groups
EDIT: ai unul facut de TREFLA care e bun , nu e ca a lui hattrick dar merge, poti sa il editezi in caz ca nu iti place ceva
generalitati/individual-player-tags-t343921.html
Chiar vad cat de invidiosi sunt unii, eu nu vad ca am cerut un plugin pe acest forum. Poza e la inceputul verii, si scrie clar SellingPlugins, nu Selling Addons, deci puteam sa vind niste pluginuri, ce nu pot sa vand un plugin? Oricum, am vazut cat de cacao a ajuns comunitatea din Romania la pluginuri si de astea si am zis lasa sa ii las pe "expertii" care comenteaza ca vand un plugin care e cumparat de mine , eu odata ce am cumparat ceva, am dreptul sa il si vand. Dar, am observat ca in Romania se plange foarte mult pe succesul altora la vandut si chiar la servere, chiar daca ar trebui sa ne sustinem unul pe celalalt. Oricum, de cand a postat ctm resurele alea, toata lumea a inceput sa posteze, unii cu bun simt, dar altii o i-au cam pe aratura. Asta am vrut sa zic, scuze pentru off topic. Am observat ca baiatul a primit acolo un plugin de ctag, toata lumea multumita. ;)
User avatar
aditheseal
Membru, skill 0
Membru, skill 0
Posts: 76
Joined: 11 Aug 2017, 20:23
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

13 Oct 2017, 22:21

FREAK wrote:1. Acel inviter de pe net nu merge , asa pentru cunostintele tale
2. Eu nu vand acel plugin de inviter , unde scrie ca vand acel plugin ? Mersi ca mi-ai facut o vizita in plus pe site ca sa imi verifici preturile , te pup
aham, oare cine iti editeaza site-ul?
https://gyazo.com/637025df1cd3b9974aa3568ba4e9a3fa
FREAK wrote: Chiar vad cat de invidiosi sunt unii, eu nu vad ca am cerut un plugin pe acest forum. Poza e la inceputul verii, si scrie clar SellingPlugins, nu Selling Addons, deci puteam sa vind niste pluginuri, ce nu pot sa vand un plugin? Oricum, am vazut cat de cacao a ajuns comunitatea din Romania la pluginuri si de astea si am zis lasa sa ii las pe "expertii" care comenteaza ca vand un plugin care e cumparat de mine , eu odata ce am cumparat ceva, am dreptul sa il si vand. Dar, am observat ca in Romania se plange foarte mult pe succesul altora la vandut si chiar la servere, chiar daca ar trebui sa ne sustinem unul pe celalalt. Oricum, de cand a postat ctm resurele alea, toata lumea a inceput sa posteze, unii cu bun simt, dar altii o i-au cam pe aratura. Asta am vrut sa zic, scuze pentru off topic. Am observat ca baiatul a primit acolo un plugin de ctag, toata lumea multumita. ;)
ai dreptate atata timp cat ai cumparta ceva poti sa il vinzi, DAR ASTA SE NUMESTE RESELL! Daca tot il vinzi da-i credite tipuilui de la care ai cumparat pluginul
Eu am dat pluginul si asta tot puteti sa dati si rezolvat (cred...)
Luna24
Membru, skill +1
Membru, skill +1
Posts: 277
Joined: 10 Nov 2013, 15:32
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Has thanked: 1 time
Contact:

15 Oct 2017, 09:56

multumesc!!!
Post Reply

Return to “Diverse”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 20 guests