probleme plugin,

Discutii legate de instalarea, configurarea si modificarea unui server de Counter-Strike.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
GiovanniZM
Membru, skill 0
Membru, skill 0
Posts: 13
Joined: 19 Nov 2017, 22:25
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: ZOMBIE.INDUNGI.RO
Fond eXtream: 0
Location: Petrosani
Has thanked: 1 time
Contact:

01 Dec 2017, 12:43

sall ExtreamCs

folosesc pluginu acesta de Tag By Hattrick

dar problema este cei care au steam on pe server le apare "s1" "s2"

pluginul folosit >>
| Afiseaza codul
#include amxmodx
#include amxmisc

new Array:g_tags;
new Array:g_names;

public plugin_init()
{
	register_plugin("Tags Api", "1.0", "Hattrick");

	new cfgs[256];
	get_configsdir(cfgs, charsmax(cfgs));

	add(cfgs, charsmax(cfgs), "/tags.ini");

	new file = fopen(cfgs, "r");
	new line[256], left[128], right[128];

	g_names = ArrayCreate(64);
	g_tags = ArrayCreate(64);

	if (file)
	{
		while (!feof(file))
		{
			fgets(file, line, charsmax(line));
			trim(line);

			if (!line[0] || line[0] == ';' || line[0] == '/' || line[0] == '#')
				continue;

			if (parse(line, left, charsmax(left), right, charsmax(right)) < 2)
				continue;

			if (strlen(left) == 0 || strlen(right) == 0)
				continue;

			ArrayPushString(g_names, left);
			ArrayPushString(g_tags, right);
		}

		fclose(file);
	}
}

public plugin_end()
{
	ArrayDestroy(g_names);
	ArrayDestroy(g_tags);
}

public plugin_natives()
{
	register_library("TagsApi");

	register_native("get_user_chat_tag", "get_user_chat_tag");
}

public get_user_chat_tag(Plug, Parms)
{
	new id = get_param(1);
	new maxlen = get_param(3);

	new name[64], steam[64], ip[64], reqname[64], reqtag[64];

	if (!is_user_connected(id) || !is_user_admin(id))
	{
		set_string(2, "", maxlen);
	}

	else
	{
		get_user_name(id, name, charsmax(name));
		get_user_ip(id, ip, charsmax(ip), 1);
		get_user_authid(id, steam, charsmax(steam));

		for (new i = 0; i < ArraySize(g_names); i++)
		{
			ArrayGetString(g_names, i, reqname, charsmax(reqname));
			ArrayGetString(g_tags, i, reqtag, charsmax(reqtag));

			if (equali(name, reqname) || equali(steam, reqname) || equali(ip, reqname))
			{
				set_string(2, reqtag, maxlen);
				break;
			}
		}
	}
}
Include la Plugin >>
| Afiseaza codul
#if defined _tagsapi_included
	#endinput
#endif
#define _tagsapi_included

#pragma reqlib TagsApi
#if !defined AMXMODX_NOAUTOLOAD
	#pragma loadlib TagsApi
#endif

native get_user_chat_tag(id, tag[], maxlen);
Prochat >>
| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include zombieplague63
// Hattrick
//
//#include license
#include tags_api

// =========================================== CONFIG START ===========================================
// Hattrick
//
// #define CHATVIEWER_ACCESS (ADMIN_ADMIN|ADMIN_CHAT|ADMIN_SLAY) // access to chatviewer command
#define CHATVIEWER_ACCESS (ADMIN_ALL)

//#define NO_ADMIN_VIEW // uncomment this line if you don't want admins to be able in seeing all chat
//#define ADMIN_TAG_C   // uncomment this line if you want admins to have [ADMIN] tag in chat
//#define ADMIN_TAG_R   // uncomment this line if you want admins to have [ADMIN] tag in radio messages
#define ADMIN_TAG "[ADMIN] " // translation for admin tag
#define ACTIVITY_ADMIN  // comment this line if you want admin tag to be showned to all players
#define USE_RADIO_MSG   // comment this line if you don't want to change radio msg text

// Hattrick
//
//#define RADIO_HE " [explosive]" // translation for explosive grenade in radio
//#define RADIO_SG " [smokegren]" // translation for smoke grenade in radio
//#define RADIO_FB " [flashbang]" // translation for flashbang grenade in radio
#define RADIO_HE " [Incendiary]" // translation for explosive grenade in radio
#define RADIO_SG " [Explosive]" // translation for smoke grenade in radio
#define RADIO_FB " [Freezing]" // translation for flashbang grenade in radio
#define RADIO_VIR " [ViRUS]" // translation for flashbang grenade in radio

// ============================================ CONFIG END ============================================

#if !defined NO_ADMIN_VIEW
	#define PLUGIN_NAME "Pro Chat"
#else
	#define PLUGIN_NAME "Pro Chat (no viewer)"
#endif
#define PLUGIN_VERSION "1.8"
#define PLUGIN_AUTHOR  "Numb"

#define print_chat_colored 5 // did you know about this? - well, I didn't

#if !defined NO_ADMIN_VIEW
#if !defined _numbamx_included
/**
 * This is for advanced flag check
 * for things like "get_user_flags(id) & (ADMIN_KICK|ADMIN_BAN|ADMIN_ADMIN)"
 * so insted of making "get_user_flags(id)&ADMIN_KICK && get_user_flags(id)&ADMIN_BAN && is_user_admin(id)"
 * use "check_flags(get_user_flags(id), ADMIN_KICK|ADMIN_BAN|ADMIN_ADMIN, true)!=0"
 *
 * NOTE: works only for worded flags (from 'a' like "ADMIN_IMMUNITY" to 'z' like "ADMIN_USER")
 *       else it will just return -1
 */
check_flags(main_flags, flags_to_check, bool:adminflags=false)
{
	new __main_flags=main_flags, __flags_to_check=flags_to_check;
	
	if (__main_flags < 0)
		__main_flags = 0;
	if (__flags_to_check < 0)
		__flags_to_check = 0; // I don't wanna take the risk & see what will happen if not doing this...
	
	if ((__main_flags == __flags_to_check) || !__flags_to_check)
		return 1;
	else if (!__main_flags)
		return 0;
	
	if (adminflags)
	{
		if (__flags_to_check&ADMIN_ADMIN)
		{
			if (__main_flags&ADMIN_USER)
				return 0;
			
			__flags_to_check-=ADMIN_ADMIN;
		}
	}
	
	if ((__main_flags&__flags_to_check)==__flags_to_check)
		return 1;
	
	return 0;
}
#endif

new bool:g_bManualChatViewer[33];
new bool:g_bUserChatViewEnabled[33];
new g_iMsgId_SayText;
new g_iChatViewerStrings[2][129];
new g_iMaxPlayers;
#endif
new g_iOldMessage[192];
new g_iLastMsg[192];
new g_iLastText[192];
#if defined ADMIN_TAG_C
new bool:g_bIsUserAdmin[33];
new g_iUserAdminName[33][44];
#else
#if defined ADMIN_TAG_R
new bool:g_bIsUserAdmin[33];
new g_iUserAdminName[33][44];
#endif
#endif
new g_iUserName[33][32];

// Hattrick
//
new g_iSenderId;
new g_tag[33][64];

public plugin_init()
{
	register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
	
#if !defined NO_ADMIN_VIEW
	g_iMaxPlayers = clamp(get_maxplayers(), 1, 32);
	
	copy(g_iChatViewerStrings[0], 128, "* Chat viewer enabled. To disable type ^"/chatviewer^".");
	copy(g_iChatViewerStrings[1], 128, "* Chat viewer disabled. To enable type ^"/chatviewer^".");
	
	register_clcmd("say",      "cmd_shatmsg");
	register_clcmd("say_team", "cmd_shatmsg");
	
	register_clcmd("say /chatviewer", "cmd_temp", CHATVIEWER_ACCESS, " - enables/disables chat viewer");
	
	register_message((g_iMsgId_SayText=get_user_msgid("SayText")), "Message_SayText");
#else
	register_message(get_user_msgid("SayText"), "Message_SayText");
#endif
#if defined USE_RADIO_MSG
	register_message(get_user_msgid("TextMsg"), "Message_TextMsg");
#endif
}

public client_putinserver(iPlrId)
{
	get_user_info(iPlrId, "name", g_iUserName[iPlrId], 31);
	
#if !defined NO_ADMIN_VIEW
	g_bManualChatViewer[iPlrId] = true;
	g_bUserChatViewEnabled[iPlrId] = (!is_user_bot(iPlrId)&&(check_flags(get_user_flags(iPlrId), CHATVIEWER_ACCESS, true)||is_user_hltv(iPlrId)))?true:false;
#endif
#if defined ADMIN_TAG_C
	g_bIsUserAdmin[iPlrId] = is_user_admin(iPlrId)?true:false;
	formatex(g_iUserAdminName[iPlrId], 43, "%s%s", ADMIN_TAG, g_iUserName[iPlrId]);
#else
#if defined ADMIN_TAG_R
	g_bIsUserAdmin[iPlrId] = is_user_admin(iPlrId)?true:false;
	formatex(g_iUserAdminName[iPlrId], 43, "%s%s", ADMIN_TAG, g_iUserName[iPlrId]);
#endif
#endif

	// Hattrick
	//
	get_user_chat_tag(iPlrId, g_tag[iPlrId], charsmax(g_tag[]));
}

public client_infochanged(iPlrId)
{
	if( !is_user_connected(iPlrId) )
		return PLUGIN_CONTINUE;
	
	get_user_info(iPlrId, "name", g_iUserName[iPlrId], 31);

	// Hattrick
	//
	get_user_chat_tag(iPlrId, g_tag[iPlrId], charsmax(g_tag[]));

#if defined ADMIN_TAG_C
	g_bIsUserAdmin[iPlrId] = is_user_admin(iPlrId)?true:false;
	formatex(g_iUserAdminName[iPlrId], 43, "%s%s", ADMIN_TAG, g_iUserName[iPlrId]);
#else
#if defined ADMIN_TAG_R
	g_bIsUserAdmin[iPlrId] = is_user_admin(iPlrId)?true:false;
	formatex(g_iUserAdminName[iPlrId], 43, "%s%s", ADMIN_TAG, g_iUserName[iPlrId]);
#endif
#endif
	if( is_user_hltv(iPlrId) || is_user_bot(iPlrId) )
		return PLUGIN_CONTINUE;
	
#if !defined NO_ADMIN_VIEW
	new iOldName[32];
	get_user_name(iPlrId, iOldName, 31);
	if( !equal(iOldName, g_iUserName[iPlrId]) )
	{
		if( check_flags(get_user_flags(iPlrId), CHATVIEWER_ACCESS, true) && g_bManualChatViewer[iPlrId] )
			g_bUserChatViewEnabled[iPlrId] = true;
		else
			g_bUserChatViewEnabled[iPlrId] = false;
	}
#endif
	return PLUGIN_CONTINUE;
}

#if !defined NO_ADMIN_VIEW
public client_disconnect(iPlrId)
{
	g_bUserChatViewEnabled[iPlrId] = false;
	g_bManualChatViewer[iPlrId] = false;
}

public cmd_temp(iPlrId, level, cid) { }

public cmd_shatmsg(iPlrId)
{
	static iArg[17];
	if( read_argv(1, iArg, 16) )
	{
		if( (iArg[0]=='.' || iArg[0]=='/')
		 && equali(iArg[1], "chatviewer") )
			return cmd_chatviewer(iPlrId);
	}
	
	return PLUGIN_CONTINUE;
}

cmd_chatviewer(iPlrId)
{
	if( is_user_bot(iPlrId) || is_user_hltv(iPlrId) )
		return PLUGIN_CONTINUE;
	
	if( !check_flags(get_user_flags(iPlrId), CHATVIEWER_ACCESS, true) )
	{
		g_bUserChatViewEnabled[iPlrId] = false;
		
		return PLUGIN_CONTINUE;
	}
	
	g_bUserChatViewEnabled[iPlrId] = g_bUserChatViewEnabled[iPlrId]?false:true;
	g_bManualChatViewer[iPlrId] = g_bUserChatViewEnabled[iPlrId];
	
	message_begin(MSG_ONE, g_iMsgId_SayText, _, iPlrId);
	write_byte(iPlrId);
	write_string(g_bUserChatViewEnabled[iPlrId]?g_iChatViewerStrings[0]:g_iChatViewerStrings[1]);
	message_end();
	
	return PLUGIN_HANDLED;
}
#endif

#if defined USE_RADIO_MSG
public Message_TextMsg(iMesgId, iMsgType, iPlrId) // I am a bit amazed, cuz didn't knew that we can use colorchat in TextMsg event
{
	// arg1: int: print_type (print_notify=1; print_console=2; print_chat=3; print_center=4; print_chat_colored=5; anymore?)
	// arg2: str: sender id [what on earth? why string?]
	// arg3: str: message
	// arg4: str: msg_arg1 (%s1 in message)
	// arg5: str: msg_arg2 (%s2 in message)
	// arg6: str: msg_arg3 (%s3 in message) [???not sure???] {isn't always sended - like in SayText}
	
	if( get_msg_args()!=5 || get_msg_arg_int(1)!=print_chat_colored )
		return PLUGIN_CONTINUE;
	
#if defined ADMIN_TAG_R
	static s_iSenderId;
#endif
	static s_iMessage[192];
	get_msg_arg_string(3, s_iMessage, 191);
	if( equal(s_iMessage, "#Game_radio") )
	{
		get_msg_arg_string(5, s_iMessage, 191);
		if( equal(s_iMessage, "#Fire_in_the_hole") )
		{
			static s_iSender[4];
			get_msg_arg_string(2, s_iSender, 3);
#if defined ADMIN_TAG_R
			switch( get_user_weapon((s_iSenderId=str_to_num(s_iSender))) )
#else
			switch( get_user_weapon(str_to_num(s_iSender)) )
#endif
			{
				// Hattrick
				//
				// case CSW_HEGRENADE:    formatex(s_iMessage, 191, "%%s1 (RADIO) :  %%s2%s", RADIO_HE);
				// case CSW_SMOKEGRENADE: formatex(s_iMessage, 191, "%%s1 (RADIO) :  %%s2%s", RADIO_SG);
				// case CSW_FLASHBANG:    formatex(s_iMessage, 191, "%%s1 (RADIO) :  %%s2%s", RADIO_FB);
				// default:               copy(s_iMessage, 191, "%s1 (RADIO) :  %s2");

				case CSW_HEGRENADE:
				{
					if (strlen(g_tag[str_to_num(s_iSender)]) > 0)
						formatex(s_iMessage, 191, "^x04%s %%s1 (RADIO) %%s2%s", g_tag[str_to_num(s_iSender)], zp_is_user_infector(str_to_num(s_iSender)) ? RADIO_VIR : RADIO_HE);
					else
						formatex(s_iMessage, 191, "%%s1 (RADIO) %%s2%s", zp_is_user_infector(str_to_num(s_iSender)) ? RADIO_VIR : RADIO_HE);
				}
				case CSW_SMOKEGRENADE: strlen(g_tag[str_to_num(s_iSender)]) > 0 ? formatex(s_iMessage, 191, "^x04%s %%s1 (RADIO) %%s2%s", g_tag[str_to_num(s_iSender)], RADIO_SG) : formatex(s_iMessage, 191, "%%s1 (RADIO) %%s2%s", RADIO_SG);
				case CSW_FLASHBANG:    strlen(g_tag[str_to_num(s_iSender)]) > 0 ? formatex(s_iMessage, 191, "^x04%s %%s1 (RADIO) %%s2%s", g_tag[str_to_num(s_iSender)], RADIO_FB) : formatex(s_iMessage, 191, "%%s1 (RADIO) %%s2%s", RADIO_FB);
				default:               strlen(g_tag[str_to_num(s_iSender)]) > 0 ? formatex(s_iMessage, 191, "^x04%s %s1 (RADIO) %s2", g_tag[str_to_num(s_iSender)]) : formatex(s_iMessage, 191, "%s1 (RADIO) %s2");
			}
			//lcheck()
			set_msg_arg_string(3, s_iMessage);
		}
		else
		{
			// Hattrick
			//
			// set_msg_arg_string(3, "%s1 (RADIO) :  %s2");

			static s_iSender[4];
			get_msg_arg_string(2, s_iSender, 3);
			if (strlen(g_tag[str_to_num(s_iSender)]) > 0)
			{
				new Buffer[128];
				formatex(Buffer, charsmax(Buffer), "^x04%s %s (RADIO) %s", g_tag[str_to_num(s_iSender)], "%s1", "%s2");
				set_msg_arg_string(3, Buffer);
			}
			else
				set_msg_arg_string(3, "%s1 (RADIO) %s2");
#if defined ADMIN_TAG_R
			static s_iSender[4];
			get_msg_arg_string(2, s_iSender, 3);
			s_iSenderId = str_to_num(s_iSender);
#endif
		}
		
#if defined ADMIN_TAG_R
		if( g_bIsUserAdmin[s_iSenderId] )
		{
#if defined ACTIVITY_ADMIN
			if( g_bIsUserAdmin[iPlrId] )
				set_msg_arg_string(4, g_iUserAdminName[s_iSenderId]);
#else
			set_msg_arg_string(4, g_iUserAdminName[s_iSenderId]);
#endif
		}
#endif
	}
	
	return PLUGIN_CONTINUE;
}
#endif

public Message_SayText(iMsgId, iMsgType, iPlrId)
{
	if( get_msg_args()!=4 )
		return PLUGIN_CONTINUE;
	
#if !defined NO_ADMIN_VIEW
	static bool:s_bCheckMsg;
#endif
	static s_iMessage[192], s_iText[192], s_iSenderId, iIDSenderPrevious;
	get_msg_arg_string(2, s_iMessage, 191);
	get_msg_arg_string(4, s_iText, 191);
	iIDSenderPrevious = s_iSenderId;
	s_iSenderId = get_msg_arg_int(1);
	
	// Hattrick
	//
	g_iSenderId = s_iSenderId;

	if( iIDSenderPrevious == s_iSenderId && g_iOldMessage[0] && equal(s_iMessage, g_iLastMsg) && equal(s_iText, g_iLastText) )
	{
		if( g_iOldMessage[0]==-1 )
			return PLUGIN_HANDLED;
#if defined ADMIN_TAG_C
		if( g_bIsUserAdmin[s_iSenderId] )
		{
#if defined ACTIVITY_ADMIN
			if( g_bIsUserAdmin[iPlrId] )
				set_msg_arg_string(3, g_iUserAdminName[s_iSenderId]);
			else
				set_msg_arg_string(3, g_iUserName[s_iSenderId]);
#else
			set_msg_arg_string(3, g_iUserAdminName[s_iSenderId]);
#endif
		}
		else
			set_msg_arg_string(3, g_iUserName[s_iSenderId]);
#else
		set_msg_arg_string(3, g_iUserName[s_iSenderId]);
#endif
		set_msg_arg_string(2, g_iOldMessage);
		set_msg_arg_string(4, "");
#if defined NO_ADMIN_VIEW
		return PLUGIN_CONTINUE;
#else
		if( s_iSenderId!=iPlrId )
			return PLUGIN_CONTINUE;
		
		s_bCheckMsg = false;
#endif
	}
	else
	{
#if !defined NO_ADMIN_VIEW
		s_bCheckMsg = true;
#endif
		g_iLastMsg = s_iMessage; // this is much faster than "copy()"
		g_iLastText = s_iText; // this is much faster than "copy()"
	}
	
#if defined NO_ADMIN_VIEW
	new iReturned;
	iReturned = format_message(s_iMessage, 191, s_iText);
	switch( replace_arguments(iReturned, s_iMessage) )
	{
		case PLUGIN_CONTINUE: return PLUGIN_CONTINUE;
		case PLUGIN_HANDLED:  return PLUGIN_HANDLED;
	}
#else
	static s_iReturned[3];
	if( s_bCheckMsg ) // cuz "s_iReturned" var is static we don't need to check team and alive status again if message is the same
	{
		s_iReturned = format_message(s_iMessage, 191, s_iText);
		switch( replace_arguments(s_iReturned[0], s_iMessage) )
		{
			case PLUGIN_CONTINUE: return PLUGIN_CONTINUE;
			case PLUGIN_HANDLED:  return PLUGIN_HANDLED;
		}
	}
#endif
#if defined ADMIN_TAG_C
	if( g_bIsUserAdmin[s_iSenderId] )
	{
#if defined ACTIVITY_ADMIN
		if( g_bIsUserAdmin[iPlrId] )
			set_msg_arg_string(3, g_iUserAdminName[s_iSenderId]);
		else
			set_msg_arg_string(3, g_iUserName[s_iSenderId]);
#else
		set_msg_arg_string(3, g_iUserAdminName[s_iSenderId]);
#endif
	}
	else
		set_msg_arg_string(3, g_iUserName[s_iSenderId]);
#else
	set_msg_arg_string(3, g_iUserName[s_iSenderId]);
#endif
#if !defined NO_ADMIN_VIEW
	if( s_iSenderId!=iPlrId )
		return PLUGIN_CONTINUE;
	
	new iAdminTeam;
	for( new iAdmin=1; iAdmin<=g_iMaxPlayers; iAdmin++ )
	{
		if( iAdmin==s_iSenderId || !g_bUserChatViewEnabled[iAdmin] )
			continue;
		
		if( s_iReturned[1] )
		{
			if( (iAdminTeam=get_user_team(iAdmin))==0 )
				iAdminTeam = 3;
		}
		
		if( iAdminTeam!=s_iReturned[1] || is_user_alive(iAdmin)!=s_iReturned[2] )
		{
			message_begin(iMsgType, iMsgId, _, iAdmin);
			write_byte(s_iSenderId);
			write_string(g_iOldMessage);

#if defined ADMIN_TAG_C
			if( g_bIsUserAdmin[s_iSenderId] )
			{
#if defined ACTIVITY_ADMIN
				if( g_bIsUserAdmin[iAdmin] )
					write_string(g_iUserAdminName[s_iSenderId]);
				else
					write_string(g_iUserName[s_iSenderId]);
#else
				write_string(g_iUserAdminName[s_iSenderId]);
#endif
			}
			else
				write_string(g_iUserName[s_iSenderId]);
#else
			write_string(g_iUserName[s_iSenderId]);
#endif
			message_end();
		}
	}
#endif
	return PLUGIN_CONTINUE;
}

replace_arguments(iReturnedValue, iMessage[192])
{
	g_iOldMessage[0] = 0;
	
	switch( iReturnedValue )
	{
		case -2:
		{
			set_msg_arg_string(2, iMessage);
			return PLUGIN_CONTINUE;
		}
		case PLUGIN_CONTINUE: return PLUGIN_CONTINUE;
		case PLUGIN_HANDLED:
		{
			g_iOldMessage[0] = -1;
			return PLUGIN_HANDLED;
		}
		default:
		{
			g_iOldMessage = iMessage; // this is much faster than "copy()"
			set_msg_arg_string(2, iMessage);
			set_msg_arg_string(4, "");
		}
	}
	
	return -1;
}
	
format_message(iMessage[], const iMsgLen, const iText[])
{
#if !defined NO_ADMIN_VIEW
	new iHandleReturn[3]; // reutrn = [0]; team = [1]; alive = [2]
#endif
	if( equal(iMessage, "#Cstrike_Name_Change") )
	{
		// Hattrick
		//
		// copy(iMessage, iMsgLen, "* %s1 changed name to %s2");
		if (strlen(g_tag[g_iSenderId]) > 0)
		{
			copy(iMessage, iMsgLen, "^x01* ^x04 ");
			add(iMessage, iMsgLen, g_tag[g_iSenderId]);
			add(iMessage, iMsgLen, " %s1 changed name to^x04 ");
			add(iMessage, iMsgLen, g_tag[g_iSenderId]);
			add(iMessage, iMsgLen, " %s2");
		}
		else
			copy(iMessage, iMsgLen, "^x01* %s1 changed name to %s2");

#if !defined NO_ADMIN_VIEW
		iHandleReturn[0] = -2;
		return iHandleReturn;
#else
		return -2;
#endif
	}
	
	new iLen;
	if( equal(iMessage, "#Cstrike_Chat_CT") )
	{
		// Hattrick
		//
		// iLen = copy(iMessage, iMsgLen, "(Counter-Terrorist) %s1 :  ");

		if (strlen(g_tag[g_iSenderId]) > 0)
		{
			copy(iMessage, iMsgLen, "(Humans)^x04 ");
			add(iMessage, iMsgLen, g_tag[g_iSenderId]);
			add(iMessage, iMsgLen, " %s1 :  ");
			iLen = strlen(iMessage);
		}
		else
			iLen = copy(iMessage, iMsgLen, "(Humans) %s1 :  ");

#if !defined NO_ADMIN_VIEW
		iHandleReturn[1] = 2;
		iHandleReturn[2] = 1;
#endif
	}
	else if( equal(iMessage, "#Cstrike_Chat_T") )
	{
		// Hattrick
		//
		// iLen = copy(iMessage, iMsgLen, "(Terrorist) %s1 :  ");
		if (strlen(g_tag[g_iSenderId]) > 0)
		{
			copy(iMessage, iMsgLen, zp_get_user_zombie(g_iSenderId)? "(Zombies)^x04 " : "(Humans)^x04 ");
			add(iMessage, iMsgLen, g_tag[g_iSenderId]);
			add(iMessage, iMsgLen, " %s1 :  ");
			iLen = strlen(iMessage);
		}

		else
			iLen = copy(iMessage, iMsgLen, zp_get_user_zombie(g_iSenderId) ? "(Zombies) %s1 :  " : "(Humans) %s1 :  ");
		
#if !defined NO_ADMIN_VIEW
		iHandleReturn[1] = 1;
		iHandleReturn[2] = 1;
#endif
	}
	else if( equal(iMessage, "#Cstrike_Chat_CT_Dead") )
	{
		// Hattrick
		//
		// iLen = copy(iMessage, iMsgLen, "*DEAD*(CT) %s1 :  ");
		if (strlen(g_tag[g_iSenderId]) > 0)
		{
			copy(iMessage, iMsgLen, "*DEAD*(Humans)^x04 ");
			add(iMessage, iMsgLen, g_tag[g_iSenderId]);
			add(iMessage, iMsgLen, " %s1 :  ");
			iLen = strlen(iMessage);
		}
		else
			iLen = copy(iMessage, iMsgLen, "*DEAD*(Humans) %s1 :  ");
#if !defined NO_ADMIN_VIEW
		iHandleReturn[1] = 2;
		iHandleReturn[2] = 0;
#endif
	}
	else if( equal(iMessage, "#Cstrike_Chat_T_Dead") )
	{
		// Hattrick
		//
		// iLen = copy(iMessage, iMsgLen, "*DEAD*(Terrorist) %s1 :  ");
		if (strlen(g_tag[g_iSenderId]) > 0)
		{
			copy(iMessage, iMsgLen, zp_get_user_zombie(g_iSenderId)? "*DEAD*(Zombies)^x04 " : "*DEAD*(Humans)^x04 ");
			add(iMessage, iMsgLen, g_tag[g_iSenderId]);
			add(iMessage, iMsgLen, " %s1 :  ");
			iLen = strlen(iMessage);
		}
		else
			iLen = copy(iMessage, iMsgLen, zp_get_user_zombie(g_iSenderId)?"*DEAD*(Zombies) %s1 :  " : "*DEAD*(Humans) %s1 :  ");
#if !defined NO_ADMIN_VIEW
		iHandleReturn[1] = 1;
		iHandleReturn[2] = 0;
#endif
	}
	else if( equal(iMessage, "#Cstrike_Chat_Spec") )
	{
		// Hattrick
		//
		// iLen = copy(iMessage, iMsgLen, "(Spectator) %s1 :  ");
		if (strlen(g_tag[g_iSenderId]) > 0)
		{
			copy(iMessage, iMsgLen, "(Spectators)^x04 ");
			add(iMessage, iMsgLen, g_tag[g_iSenderId]);
			add(iMessage, iMsgLen, " %s1 :  ");
			iLen = strlen(iMessage);
		}
		else
			iLen = copy(iMessage, iMsgLen, "(Spectators) %s1 :  ");
#if !defined NO_ADMIN_VIEW
		iHandleReturn[1] = 3;
		iHandleReturn[2] = 0;
#endif
	}
	else if( equal(iMessage, "#Cstrike_Chat_All") )
	{
		// Hattrick
		//
		// iLen = copy(iMessage, iMsgLen, "%s1 :  ");
		if (strlen(g_tag[g_iSenderId]) > 0)
		{
			copy(iMessage, iMsgLen, "^x04");
			add(iMessage, iMsgLen, g_tag[g_iSenderId]);
			add(iMessage, iMsgLen, " %s1 :  ");
			iLen = strlen(iMessage);
		}
		else
			iLen = copy(iMessage, iMsgLen, "%s1 :  ");
#if !defined NO_ADMIN_VIEW
		iHandleReturn[1] = 0;
		iHandleReturn[2] = 1;
#endif
	}
	else if( equal(iMessage, "#Cstrike_Chat_AllDead") )
	{
		// Hattrick
		//
		// iLen = copy(iMessage, iMsgLen, "*DEAD* %s1 :  ");
		if (strlen(g_tag[g_iSenderId]) > 0)
		{
			copy(iMessage, iMsgLen, "*DEAD*^x04 ");
			add(iMessage, iMsgLen, g_tag[g_iSenderId]);
			add(iMessage, iMsgLen, " %s1 :  ");
			iLen = strlen(iMessage);
		}
		else
			iLen = copy(iMessage, iMsgLen, "*DEAD* %s1 :  ");
#if !defined NO_ADMIN_VIEW
		iHandleReturn[1] = 0;
		iHandleReturn[2] = 0;
#endif
	}
	else if( equal(iMessage, "#Cstrike_Chat_AllSpec") )
	{
		// Hattrick
		//
		// iLen = copy(iMessage, iMsgLen, "*SPEC* %s1 :  ");
		if (strlen(g_tag[g_iSenderId]) > 0)
		{
			copy(iMessage, iMsgLen, "*SPEC*^x04 ");
			add(iMessage, iMsgLen, g_tag[g_iSenderId]);
			add(iMessage, iMsgLen, " %s1 :  ");
			iLen = strlen(iMessage);
		}
		else
			iLen = copy(iMessage, iMsgLen, "*SPEC* %s1 :  ");
#if !defined NO_ADMIN_VIEW
		iHandleReturn[1] = 0;
		iHandleReturn[2] = 0;
#endif
	}
	else
	{
#if !defined NO_ADMIN_VIEW
		iHandleReturn[0] = PLUGIN_CONTINUE;
		return iHandleReturn;
#else
		return PLUGIN_CONTINUE;
#endif
	}
	
	new iLen2 = (copy(iMessage[iLen], iMsgLen-iLen, iText)-1); // last symbol is 0x10 - dunno what it is, but it dose nothing
	if( iLen2<=0 )
	{
#if !defined NO_ADMIN_VIEW
		iHandleReturn[0] = PLUGIN_HANDLED;
		return iHandleReturn;
#else
		return PLUGIN_HANDLED;
#endif
	}
	
	iLen2+=iLen;
	new bool:bWordExists;
	for( iLen+=0; iLen<iLen2; iLen++ )
	{
		if( iMessage[iLen]=='' || iMessage[iLen]=='' || iMessage[iLen]=='' || iMessage[iLen]=='' || iMessage[iLen]=='%' )
			iMessage[iLen] = ' ';
		else if( iMessage[iLen]!=' ' )
			bWordExists = true;
	}
	
	if( !bWordExists )
	{
#if !defined NO_ADMIN_VIEW
		iHandleReturn[0] = PLUGIN_HANDLED;
		return iHandleReturn;
#else
		return PLUGIN_HANDLED;
#endif
	}
	
#if !defined NO_ADMIN_VIEW
	iHandleReturn[0] = -1;
	return iHandleReturn;
#else
	return -1;
#endif
}
PS: doar cei cu steam on le apare s1 s2

cei fara steam n-au probleme.

Poza >>
| Afiseaza codul
https://imgur.com/a/PnqkC
Post Reply

Return to “Probleme la servere dedicate de Counter-Strike”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 109 guests