added customization
This commit is contained in:
		
							parent
							
								
									65d7f03781
								
							
						
					
					
						commit
						e0c32eab49
					
				
							
								
								
									
										175
									
								
								ConnectAnnounce/configs/connect_announce/custom-messages.cfg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										175
									
								
								ConnectAnnounce/configs/connect_announce/custom-messages.cfg
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,175 @@ | |||||||
|  | "custom_messages" | ||||||
|  | { | ||||||
|  | 	"STEAM_0:0:161265777" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"admin pleaseeeee" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:1:32247009" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"ff0000Nff4000eff7f00offbf00n 80ff00i00ff00s 00ffffh0080ffe0000ffr4600ffe8b00ff!" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:22286324" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"{purple}HERE COMES DRUNK DOGAN" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:1:1115569" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"{black}Noob Elite" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:1:47447437" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"{Purple}CANCER {Orange}CONNECTED {Darkblue}FROM {Green}NORWAY" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:1:79535030" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"{orangered} !nominate ze_paranoid_rezurrection_v11_9 {cyan} !nominate ze_paranoid_rezurrection_v11_9" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:15776136" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"{red} Phoony loves camel meat" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:20936525" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"{cyan} | bhop GOD is coming boys! " | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:1:69650476" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"{cyan} to abuse unloze.ru" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:1:112369958" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"{white}came as fast as {hotpink}Lightning." | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:83045997" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"{fullred}❤ {white}ΣZΣ | Crush" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:1:15654243" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"{springgreen} and he's definitely a trap." | ||||||
|  | 		"Definitely"		"a" | ||||||
|  | 		"Definitely"		"a" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:1:49642555" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"{white}I'm here to abuse you again !" | ||||||
|  | 		"I'm"		"here" | ||||||
|  | 		"to"		"abuse" | ||||||
|  | 		"you"		"again" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:38786924" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"right from the Kremlin" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:41303250" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"\" | ||||||
|  | 		"server"		"killer\" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:86995925" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"{cyan}-͜- ching chong -͜-" | ||||||
|  | 		"-͜-"		"ching" | ||||||
|  | 		"chong"		"-͜-\" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:42794022" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"ALL GREENNNNNNNNNNNNNNNNNNNNNNNNN" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:15263982" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"Sharmuta Kebab" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:419740855" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"{darkblue}In {red}spec {orange} till {purple}lasers" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:42114365" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"{hotpink}Autism {deeppink}Furry {lightpink}Nigger" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:75183065" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"test" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:191740833" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"'s nosteam camp" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:1327015326" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"AA" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:53949117" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"To call people niggers despite being shit himself" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:1:19765234" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"the Lightbringer is coming" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:1:68295521" | ||||||
|  | 	{ | ||||||
|  | 		"message"		", the Emerald Isle." | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:26975345" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"reset" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:1:119073089" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"\" | ||||||
|  | 		"Arrays"		"start" | ||||||
|  | 		"from"		"0\" | ||||||
|  | 	} | ||||||
|  | 	"*"		" | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | " | ||||||
|  | 	"STEAM_0:0:61503660" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"Tom Is Gay" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:44028386" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"{gold}to dodge some lasers {red}and {blue}meme a fucking lot" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:95388502" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"miau" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:39673815" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"I'm actually from Lithuania" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:147147908" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"Bhopper just arrived." | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:1:23546931" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"{Azure}Ambassador of the weebs" | ||||||
|  | 		"Ambassador"		"of" | ||||||
|  | 		"the"		"weebs\" | ||||||
|  | 	} | ||||||
|  | 	"Ambassador"		"of" | ||||||
|  | 	"the"		"weebs\" | ||||||
|  | 	"STEAM_0:0:31075155" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"yeah boi" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:39805726" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"nigger" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:0:30963326" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"\" | ||||||
|  | 		"CONNECTED"		"FROM" | ||||||
|  | 		"ISLE"		"OF" | ||||||
|  | 	} | ||||||
|  | 	"STEAM_0:1:62094773" | ||||||
|  | 	{ | ||||||
|  | 		"message"		"{fullred}Probably Playing Doto" | ||||||
|  | 	} | ||||||
|  | } | ||||||
							
								
								
									
										1
									
								
								ConnectAnnounce/configs/connect_announce/settings.cfg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								ConnectAnnounce/configs/connect_announce/settings.cfg
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | |||||||
|  | {WHITE}{PLAYERTYPE}{GREEN} {NAME} {BLUE}{RANK}{green}[{lightgreen}{STEAMID}{NOSTEAM}{green}] connected{COUNTRY} | ||||||
| @ -3,34 +3,326 @@ | |||||||
| #include <sourcemod> | #include <sourcemod> | ||||||
| #include <connect> | #include <connect> | ||||||
| #include <geoip> | #include <geoip> | ||||||
|  | #include <morecolors> | ||||||
| 
 | 
 | ||||||
| #pragma newdecls required | #pragma newdecls required | ||||||
| 
 | 
 | ||||||
|  | char g_sDataFile[128]; | ||||||
|  | char g_sCustomMessageFile[128]; | ||||||
|  | 
 | ||||||
|  | Database g_hDatabase; | ||||||
|  | 
 | ||||||
|  | Handle g_hCustomMessageFile; | ||||||
|  | Handle g_hCustomMessageFile2; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #define MSGLENGTH 100 | ||||||
|  | 
 | ||||||
|  | //---------------------------------------------------------------------------------------------------- | ||||||
|  | // Purpose: | ||||||
|  | //---------------------------------------------------------------------------------------------------- | ||||||
| public Plugin myinfo = { | public Plugin myinfo = { | ||||||
| 	name = "Connect Announce", | 	name = "Connect Announce", | ||||||
| 	author = "BotoX", | 	author = "Neon + Botox", | ||||||
| 	description = "Simple connect announcer", | 	description = "Connect Announcer", | ||||||
| 	version = "1.1", | 	version = "2.0", | ||||||
| 	url = "" | 	url = "" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | //---------------------------------------------------------------------------------------------------- | ||||||
|  | // Purpose: | ||||||
|  | //---------------------------------------------------------------------------------------------------- | ||||||
|  | public void OnPluginStart() | ||||||
|  | { | ||||||
|  | 	BuildPath(Path_SM, g_sCustomMessageFile, sizeof(g_sCustomMessageFile), "configs/connect_announce/custom-messages.cfg"); | ||||||
|  | 	BuildPath(Path_SM, g_sDataFile, sizeof(g_sDataFile), "configs/connect_announce/settings.cfg"); | ||||||
|  | 
 | ||||||
|  | 	char error[255]; | ||||||
|  | 
 | ||||||
|  | 	if (SQL_CheckConfig("hlstatsx")) | ||||||
|  | 	{ | ||||||
|  | 		g_hDatabase = SQL_Connect("hlstatsx", true, error, sizeof(error)); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if (g_hDatabase == null) | ||||||
|  | 	{ | ||||||
|  | 		LogError("Could not connect to database: %s", error); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	RegAdminCmd("sm_joinmsg", Command_JoinMsg, ADMFLAG_CUSTOM1, "Sets a custom message which will be shown upon connecting to the server"); | ||||||
|  | 	RegAdminCmd("sm_resetjoinmsg", Command_ResetJoinMsg, ADMFLAG_CUSTOM1, "Resets your custom connect message"); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | //---------------------------------------------------------------------------------------------------- | ||||||
|  | // Purpose: | ||||||
|  | //---------------------------------------------------------------------------------------------------- | ||||||
|  | public Action Command_JoinMsg(int client, int args) | ||||||
|  | { | ||||||
|  | 	if (!client) | ||||||
|  | 	{ | ||||||
|  | 		ReplyToCommand(client, "[ConnectAnnounce] Cannot use command from server console"); | ||||||
|  | 		return Plugin_Handled; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	char sAuth[32]; | ||||||
|  | 	GetClientAuthId(client, AuthId_Steam2, sAuth, sizeof(sAuth)); | ||||||
|  | 
 | ||||||
|  | 	if (g_hCustomMessageFile != null) | ||||||
|  | 			CloseHandle(g_hCustomMessageFile); | ||||||
|  | 
 | ||||||
|  | 	g_hCustomMessageFile = CreateKeyValues("custom_messages"); | ||||||
|  | 
 | ||||||
|  | 	if (!FileToKeyValues(g_hCustomMessageFile, g_sCustomMessageFile)) | ||||||
|  | 	{ | ||||||
|  | 		SetFailState("[ConnectAnnounce] Config file missing!"); | ||||||
|  | 		return Plugin_Handled; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	KvRewind(g_hCustomMessageFile); | ||||||
|  | 
 | ||||||
|  | 	if (args < 1) | ||||||
|  | 	{ | ||||||
|  | 		if (KvJumpToKey(g_hCustomMessageFile, sAuth)) | ||||||
|  | 		{ | ||||||
|  | 			char sCustomMessage[256]; | ||||||
|  | 			KvGetString(g_hCustomMessageFile, "message", sCustomMessage, sizeof(sCustomMessage), ""); | ||||||
|  | 			if (StrEqual(sCustomMessage, "reset")) | ||||||
|  | 			{ | ||||||
|  | 				CPrintToChat(client, "[ConnectAnnounce] No Join Message set! Use sm_joinmsg <your message here> to set one."); | ||||||
|  | 				return Plugin_Handled; | ||||||
|  | 			} | ||||||
|  | 			CPrintToChat(client, "[ConnectAnnounce] Your Join Message is: %s", sCustomMessage); | ||||||
|  | 		} | ||||||
|  | 		else | ||||||
|  | 			CPrintToChat(client, "[ConnectAnnounce] No Join Message set! Use sm_joinmsg <your message here> to set one."); | ||||||
|  | 	} | ||||||
|  | 	else | ||||||
|  | 	{ | ||||||
|  | 		char sArg[512]; | ||||||
|  | 		int iLength; | ||||||
|  | 		iLength = GetCmdArgString(sArg, sizeof(sArg)); | ||||||
|  | 
 | ||||||
|  | 		if(iLength > MSGLENGTH) | ||||||
|  | 		{ | ||||||
|  | 			ReplyToCommand(client, "[ConnectAnnounce] Maximum message length is %d characters!", MSGLENGTH); | ||||||
|  | 			return Plugin_Handled; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 		if (KvJumpToKey(g_hCustomMessageFile, sAuth, true)) | ||||||
|  | 			KvSetString(g_hCustomMessageFile, "message", sArg); | ||||||
|  | 		else | ||||||
|  | 		{ | ||||||
|  | 			SetFailState("[ConnectAnnounce] Could not find/create Key Value!"); | ||||||
|  | 			return Plugin_Handled; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		KvRewind(g_hCustomMessageFile); | ||||||
|  | 		KeyValuesToFile(g_hCustomMessageFile, g_sCustomMessageFile); | ||||||
|  | 		CPrintToChat(client, "[ConnectAnnounce] Your Join Message is: %s", sArg); | ||||||
|  | 
 | ||||||
|  | 	} | ||||||
|  | 	KvRewind(g_hCustomMessageFile); | ||||||
|  | 	return Plugin_Handled; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | //---------------------------------------------------------------------------------------------------- | ||||||
|  | // Purpose: | ||||||
|  | //---------------------------------------------------------------------------------------------------- | ||||||
|  | public Action Command_ResetJoinMsg(int client, int args) | ||||||
|  | { | ||||||
|  | 	if (!client) | ||||||
|  | 	{ | ||||||
|  | 		ReplyToCommand(client, "[ConnectAnnounce] Cannot use command from server console"); | ||||||
|  | 		return Plugin_Handled; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	char sAuth[32]; | ||||||
|  | 	GetClientAuthId(client, AuthId_Steam2, sAuth, sizeof(sAuth)); | ||||||
|  | 
 | ||||||
|  | 	if (g_hCustomMessageFile != null) | ||||||
|  | 			CloseHandle(g_hCustomMessageFile); | ||||||
|  | 
 | ||||||
|  | 	g_hCustomMessageFile = CreateKeyValues("custom_messages"); | ||||||
|  | 
 | ||||||
|  | 	if (!FileToKeyValues(g_hCustomMessageFile, g_sCustomMessageFile)) | ||||||
|  | 	{ | ||||||
|  | 		SetFailState("[ConnectAnnounce] Config file missing!"); | ||||||
|  | 		return Plugin_Handled; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	KvRewind(g_hCustomMessageFile); | ||||||
|  | 	 | ||||||
|  | 	if (KvJumpToKey(g_hCustomMessageFile, sAuth, true)) | ||||||
|  | 			KvSetString(g_hCustomMessageFile, "message", "reset"); | ||||||
|  | 			 | ||||||
|  | 	KvRewind(g_hCustomMessageFile); | ||||||
|  | 			 | ||||||
|  | 	KeyValuesToFile(g_hCustomMessageFile, g_sCustomMessageFile); | ||||||
|  | 			 | ||||||
|  | 	CPrintToChat(client, "[ConnectAnnounce] Your Join Message got reset."); | ||||||
|  | 	return Plugin_Handled; | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | //---------------------------------------------------------------------------------------------------- | ||||||
|  | // Purpose: | ||||||
|  | //---------------------------------------------------------------------------------------------------- | ||||||
|  | public void TQueryCB(Handle owner, Handle rs, const char[] error, any data) | ||||||
|  | { | ||||||
|  | 	int client = 0; | ||||||
|  | 
 | ||||||
|  | 	if ((client = GetClientOfUserId(data)) == 0) | ||||||
|  | 	{ | ||||||
|  | 		return; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	int iRank = -1; | ||||||
|  | 	if (SQL_GetRowCount(rs) > 0) | ||||||
|  | 	{ | ||||||
|  | 		int iField; | ||||||
|  | 
 | ||||||
|  | 		SQL_FetchRow(rs); | ||||||
|  | 		SQL_FieldNameToNum(rs, "rank", iField); | ||||||
|  | 		iRank = SQL_FetchInt(rs, iField); | ||||||
|  | 		iRank += 1; | ||||||
|  | 	} | ||||||
|  | 	Handle hFile = OpenFile(g_sDataFile, "r"); | ||||||
|  | 	static char sRawMsg[301]; | ||||||
|  | 
 | ||||||
|  | 	if(hFile != INVALID_HANDLE) | ||||||
|  | 	{ | ||||||
|  | 		ReadFileLine(hFile, sRawMsg, sizeof(sRawMsg)); | ||||||
|  | 		TrimString(sRawMsg); | ||||||
|  | 		CloseHandle(hFile); | ||||||
|  | 	} | ||||||
|  | 	else | ||||||
|  | 	{ | ||||||
|  | 		LogError("[SM] File not found! (configs/ConnectAnnounce/settings.txt)"); | ||||||
|  | 		return; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	static char sIP[16]; | ||||||
|  | 	static char sAuth[32]; | ||||||
|  | 	static char sCountry[32]; | ||||||
|  | 	static char sName[128]; | ||||||
|  | 
 | ||||||
|  | 	GetClientAuthId(client, AuthId_Steam2, sAuth, sizeof(sAuth)); | ||||||
|  | 	GetClientName(client, sName, sizeof(sName)); | ||||||
|  | 	AdminId aid; | ||||||
|  | 
 | ||||||
|  | 	if(StrContains(sRawMsg, "{PLAYERTYPE}")) | ||||||
|  | 	{ | ||||||
|  | 
 | ||||||
|  | 		aid = GetUserAdmin(client); | ||||||
|  | 
 | ||||||
|  | 		if(GetAdminFlag(aid, Admin_Generic)) | ||||||
|  | 		{ | ||||||
|  | 			ReplaceString(sRawMsg, sizeof(sRawMsg), "{PLAYERTYPE}", "Admin"); | ||||||
|  | 		} | ||||||
|  | 		else if(GetAdminFlag(aid, Admin_Custom1)) | ||||||
|  | 		{ | ||||||
|  | 			ReplaceString(sRawMsg, sizeof(sRawMsg), "{PLAYERTYPE}", "VIP"); | ||||||
|  | 		} | ||||||
|  | 		else if(GetAdminFlag(aid, Admin_Custom6)) | ||||||
|  | 		{ | ||||||
|  | 			ReplaceString(sRawMsg, sizeof(sRawMsg), "{PLAYERTYPE}", "Member"); | ||||||
|  | 		} | ||||||
|  | 		else | ||||||
|  | 		{ | ||||||
|  | 			ReplaceString(sRawMsg, sizeof(sRawMsg), "{PLAYERTYPE}", "Player"); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if(StrContains(sRawMsg, "{RANK}")) | ||||||
|  | 	{ | ||||||
|  | 		if (iRank != -1) | ||||||
|  | 		{ | ||||||
|  | 			char sBuffer[16]; | ||||||
|  | 			Format(sBuffer, sizeof(sBuffer), "[#%d] ", iRank); | ||||||
|  | 			ReplaceString(sRawMsg, sizeof(sRawMsg), "{RANK}", sBuffer); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if(StrContains(sRawMsg, "{NOSTEAM}")) | ||||||
|  | 	{ | ||||||
|  | 		if(!SteamClientAuthenticated(sAuth)) | ||||||
|  | 			ReplaceString(sRawMsg, sizeof(sRawMsg), "{NOSTEAM}", " <NoSteam>"); | ||||||
|  | 		else | ||||||
|  | 			ReplaceString(sRawMsg, sizeof(sRawMsg), "{NOSTEAM}", ""); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if(StrContains(sRawMsg, "{STEAMID}")) | ||||||
|  | 	{ | ||||||
|  | 		ReplaceString(sRawMsg, sizeof(sRawMsg), "{STEAMID}", sAuth); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if(StrContains(sRawMsg, "{NAME}")) | ||||||
|  | 	{ | ||||||
|  | 		ReplaceString(sRawMsg, sizeof(sRawMsg), "{NAME}", sName); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if(StrContains(sRawMsg, "{COUNTRY}")) | ||||||
|  | 	{ | ||||||
|  | 		if(GetClientIP(client, sIP, sizeof(sIP)) && GeoipCountry(sIP, sCountry, sizeof(sCountry))) | ||||||
|  | 		{ | ||||||
|  | 			char sBuffer[128]; | ||||||
|  | 			Format(sBuffer, sizeof(sBuffer), " from %s", sCountry); | ||||||
|  | 			ReplaceString(sRawMsg, sizeof(sRawMsg), "{COUNTRY}", sBuffer); | ||||||
|  | 		} | ||||||
|  | 		else | ||||||
|  | 			ReplaceString(sRawMsg, sizeof(sRawMsg), "{COUNTRY}", ""); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	//////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||||
|  | 	 | ||||||
|  | 	if (g_hCustomMessageFile2 != null) | ||||||
|  | 			CloseHandle(g_hCustomMessageFile2); | ||||||
|  | 
 | ||||||
|  | 	g_hCustomMessageFile2 = CreateKeyValues("custom_messages"); | ||||||
|  | 
 | ||||||
|  | 	if (!FileToKeyValues(g_hCustomMessageFile2, g_sCustomMessageFile)) | ||||||
|  | 	{ | ||||||
|  | 		SetFailState("[ConnectAnnounce] Config file missing!"); | ||||||
|  | 		return; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	KvRewind(g_hCustomMessageFile2); | ||||||
|  | 	 | ||||||
|  | 	char sFinalMessage[512]; | ||||||
|  | 	char sCustomMessage[256]; | ||||||
|  | 	 | ||||||
|  | 
 | ||||||
|  | 	 | ||||||
|  | 	if (KvJumpToKey(g_hCustomMessageFile2, sAuth)) | ||||||
|  | 	{		 | ||||||
|  | 		KvGetString(g_hCustomMessageFile2, "message", sCustomMessage, sizeof(sCustomMessage), ""); | ||||||
|  | 		if (StrEqual(sCustomMessage, "reset")) | ||||||
|  | 			CPrintToChatAll(sRawMsg); | ||||||
|  | 		else | ||||||
|  | 		{		 | ||||||
|  | 			Format(sFinalMessage, sizeof(sFinalMessage), "%s %s", sRawMsg, sCustomMessage); | ||||||
|  | 			CPrintToChatAll(sFinalMessage); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	else | ||||||
|  | 		CPrintToChatAll(sRawMsg); | ||||||
|  | 	 | ||||||
|  | 	 | ||||||
|  | } | ||||||
|  | //---------------------------------------------------------------------------------------------------- | ||||||
|  | // Purpose: | ||||||
|  | //---------------------------------------------------------------------------------------------------- | ||||||
| public void OnClientPostAdminCheck(int client) | public void OnClientPostAdminCheck(int client) | ||||||
| { | { | ||||||
| 	if(IsFakeClient(client)) | 	if(IsFakeClient(client)) | ||||||
| 		return; | 		return; | ||||||
| 
 | 
 | ||||||
| 	static char sIP[16]; |  | ||||||
| 	static char sAuth[32]; | 	static char sAuth[32]; | ||||||
| 	static char sCountry[32]; |  | ||||||
| 
 | 
 | ||||||
| 	GetClientAuthId(client, AuthId_Steam2, sAuth, sizeof(sAuth)); | 	GetClientAuthId(client, AuthId_Steam2, sAuth, sizeof(sAuth)); | ||||||
| 
 | 	strcopy(sAuth, sizeof(sAuth), sAuth[8]); | ||||||
| 	char sNoSteam[16]; | 	 | ||||||
| 	if(!SteamClientAuthenticated(sAuth)) | 	char sQuery[512]; | ||||||
| 		strcopy(sNoSteam, sizeof(sNoSteam), " [\x03NoSteam\x04]"); | 	Format(sQuery, sizeof(sQuery), "SELECT COUNT(*) AS rank FROM hlstats_Players WHERE hlstats_Players.game = 'css-ze' AND hideranking = 0 AND skill > (SELECT skill from hlstats_Players JOIN hlstats_PlayerUniqueIds ON hlstats_Players.playerId = hlstats_PlayerUniqueIds.playerId WHERE uniqueId = '%s' AND hlstats_PlayerUniqueIds.game = 'css-ze')", sAuth); | ||||||
| 
 | 	SQL_TQuery(g_hDatabase, TQueryCB, sQuery, GetClientUserId(client)); | ||||||
| 	if(GetClientIP(client, sIP, sizeof(sIP)) && GeoipCountry(sIP, sCountry, sizeof(sCountry))) |  | ||||||
| 		PrintToChatAll("\x04%N [\x03%s\x04] connected from %s%s", client, sAuth, sCountry, sNoSteam); |  | ||||||
| 	else |  | ||||||
| 		PrintToChatAll("\x04%N [\x03%s\x04] connected%s", client, sAuth, sNoSteam); |  | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user