[REZOLVATCerere plugin rang admin chat

Categoria cu cereri de pluginuri si nu numai.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Forum rules
Accesează link-ul pentru a putea vedea regulile forumului

Daca doriti sa vi se modifice un plugin, va rugam postati aici .
Post Reply
ToaderValy
Membru, skill +1
Membru, skill +1
Posts: 109
Joined: 07 Mar 2014, 19:02
Detinator Steam: Da
Detinator server CS: MiX.FREAKZ.RO
Location: Romania
Has thanked: 36 times
Been thanked: 1 time

31 Jul 2014, 22:45

Descriere plugin cerut: Vreau si eu un plugin amx rang admin chat cu gradele

Code: Select all

"-FoUnDeR- ",
"-OwNeR- ",
"-Co-Owner-",
"-God-",
"-Semi-God- ",
"-Moderator-",
"-Administrator- ",
"-Helper-",
"-Slot-"



"abcdefghijklmnopqrstu",
"abcdefghijmnopqrs",
"bcdefghijlmnopqrsu",
"bcdefgijmnoqpqrsu",
"bcdefgijmnopqsu",
"bcdefgijnopqsu",
"bcdefijnopu",
"bceij",
"b"
Alte informatii:
Last edited by Cosmin on 01 Aug 2014, 15:52, edited 2 times in total.
Reason: #Rezolvat.
RoyalServer 2
Cosmin
Fost moderator
Fost moderator
Posts: 9362
Joined: 06 Jul 2013, 22:08
Detinator Steam: Da
Detinator server CS: Nu
Reputatie: Fost eXtream Mod
Fost Scripter eXtreamCS
Nume anterior: scosmynnnn
Has thanked: 492 times
Been thanked: 547 times

31 Jul 2014, 22:51

| Afiseaza codul
#include < amxmodx >


#define PLUGIN "Rang Admin Chat Fixed"
#define VERSION "1.0.0"

#pragma semicolon 1

#define	MAX_GROUPS	9


// --| CC_ColorChat.
enum Color
{
	NORMAL = 1, 		// Culoarea care o are jucatorul setata in cvar-ul scr_concolor.
	GREEN, 			// Culoare Verde.
	TEAM_COLOR, 		// Culoare Rosu, Albastru, Gri.
	GREY, 			// Culoarea Gri.
	RED, 			// Culoarea Rosu.
	BLUE, 			// Culoarea Albastru.
};

new TeamName[  ][  ] = 
{
	"",
	"TERRORIST",
	"CT",
	"SPECTATOR"
};
// --| CC_ColorChat.


enum CsTeams 
{
	CS_TEAM_UNASSIGNED = 0,
	CS_TEAM_T = 1,
	CS_TEAM_CT = 2,
	CS_TEAM_SPECTATOR = 3
};

new g_szGroups[ MAX_GROUPS ][ ] =
{
"-FoUnDeR-",
"-OwNeR-",
"-Co-Owner-",
"-God-",
"-Semi-God-",
"-Moderator-",
"-Administrator-",
"-Helper-",
"-Slot-"
};

new g_szGroupsFlags[ MAX_GROUPS ][ ] =
{
"abcdefghijklmnopqrstu",
"abcdefghijmnopqrs",
"bcdefghijlmnopqrsu",
"bcdefgijmnoqpqrsu",
"bcdefgijmnopqsu",
"bcdefgijnopqsu",
"bcdefijnopu",
"bceij",
"b"	
};

new g_iGroupsFlagsValues[ MAX_GROUPS ];

public plugin_init( )
{
	register_plugin( PLUGIN, VERSION, "Askhanar" );
	
	
	register_clcmd("say","HookClCmdSay");
	register_clcmd("say_team","HookClCmdSayTeam");
	
	for( new i = 0; i < MAX_GROUPS; i++ )
		g_iGroupsFlagsValues[ i ] = read_flags( g_szGroupsFlags[ i ] );
		
	// Add your code here...
}


public HookClCmdSay( id )
{
	
	if( is_user_bot( id ) )
		return PLUGIN_CONTINUE;
	
	static szChat[ 192 ];
	read_args( szChat, sizeof( szChat ) - 1 );
	remove_quotes( szChat );
	
	if( equali( szChat,"" ) )
		return PLUGIN_CONTINUE;
	
	static szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
		
	if( is_user_admin( id ) )
	{
		static i; i = 0;
		
		for( i = 0; i < MAX_GROUPS; i++ )
		{
			
			if( get_user_flags( id ) == g_iGroupsFlagsValues[ i ] )
			{
				
				switch( get_user_team( id ) )
				{
					case CS_TEAM_T:		ColorChat( 0, RED,"^x04[%s]^x03%s^x01:%s", g_szGroups[ i ], szName, szChat );
					case CS_TEAM_CT:	ColorChat( 0, BLUE,"^x04[%s]^x03%s^x01:%s", g_szGroups[ i ], szName, szChat );
					case CS_TEAM_SPECTATOR:	ColorChat( 0, GREY,"^x04[%s]^x03%s^x01:%s", g_szGroups[ i ], szName, szChat );
				}
				
				break;
			}
		}
	}
	
	else
	{
		
		switch( get_user_team( id ) )
		{
			case CS_TEAM_T:		ColorChat( 0, RED,"^x03%s%s^x01:%s", is_user_alive( id ) ? "" : "*Mort* ", szName, szChat );
			case CS_TEAM_CT:	ColorChat( 0, BLUE,"^x03%s%s^x01:%s", is_user_alive( id ) ? "" : "*Mort* ", szName, szChat );
			case CS_TEAM_SPECTATOR:	ColorChat( 0, GREY,"^x03%s^x01:%s", szName, szChat );
		}
		
	}
	
	
	return PLUGIN_HANDLED_MAIN;
}

public HookClCmdSayTeam( id )
{
	
	if( is_user_bot( id ) )
		return PLUGIN_CONTINUE;
	
	static szChat[ 192 ];
	read_args( szChat, sizeof( szChat ) - 1 );
	remove_quotes( szChat );
	
	if( equali( szChat,"" ) )
		return PLUGIN_CONTINUE;
	
	static szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	
	static iPlayers[ 32 ];
	static iPlayersNum;
	
	get_players( iPlayers, iPlayersNum, "ch" );
	if( !iPlayersNum )
		return PLUGIN_CONTINUE;
	
	static iPlayer, i;
	iPlayer = -1; i = 0;
	
	if( is_user_admin( id ) )
	{
		static x; x = 0;
		
		for( x = 0; x < MAX_GROUPS; x++ )
		{
			
			if( get_user_flags( id ) == g_iGroupsFlagsValues[ x ] )
			{	
	
				for( i = 0; i < iPlayersNum; i++ )
				{
					
					iPlayer = iPlayers[ i ];
		
					if( get_user_team( id ) == get_user_team( iPlayer ) )
					{
						switch( get_user_team( id ) )
						{
							case CS_TEAM_T:		ColorChat( iPlayer, RED, "^x04[%s]^x03(Terrorist) %s^x01:%s", g_szGroups[ x ], szName, szChat );
							case CS_TEAM_CT:	ColorChat( iPlayer, BLUE, "^x04[%s]^x03(Counter-Terrorist) %s^x01:%s", g_szGroups[ x ], szName, szChat );
							case CS_TEAM_SPECTATOR:	ColorChat( iPlayer, GREY, "^x04[%s]^x03(Spectator) %s^x01:%s", g_szGroups[ x ], szName, szChat );
						}
					}
				}
				
				break;
			}
		}
	}
	
	else
	{
		
		for( i = 0; i < iPlayersNum; i++ )
		{
			
			iPlayer = iPlayers[ i ];

			if( get_user_team( id ) == get_user_team( iPlayer ) )
			{
				switch( get_user_team( id ) )
				{
					case CS_TEAM_T:		ColorChat( iPlayer, RED, "^x03(Terrorist)%s%s^x01:%s", is_user_alive( id ) ? "" : "*Mort* ", szName, szChat );
					case CS_TEAM_CT:	ColorChat( iPlayer, BLUE, "^x03(Counter-Terrorist)%s%s^x01:%s", is_user_alive( id ) ? "" : "*Mort* ", szName, szChat );
					case CS_TEAM_SPECTATOR:	ColorChat( iPlayer, GREY, "^x03(Spectator) %s^x01:%s", szName, szChat );
				}
			}
		}
	}
				
	return PLUGIN_HANDLED_MAIN;
}

// From amxmisc.inc
stock is_user_admin( id )
{
	new __flags=get_user_flags(id);
	return (__flags>0 && !(__flags&ADMIN_USER));
}
// -----------------------


// --| CC_ColorChat.
ColorChat(  id, Color:iType, const msg[  ], { Float, Sql, Result, _}:...  )
{
	
	// Daca nu se afla nici un jucator pe server oprim TOT. Altfel dam de erori..
	if( !get_playersnum( ) ) return;
	
	new szMessage[ 256 ];

	switch( iType )
	{
		 // Culoarea care o are jucatorul setata in cvar-ul scr_concolor.
		case NORMAL:	szMessage[ 0 ] = 0x01;
		
		// Culoare Verde.
		case GREEN:	szMessage[ 0 ] = 0x04;
		
		// Alb, Rosu, Albastru.
		default: 	szMessage[ 0 ] = 0x03;
	}

	vformat(  szMessage[ 1 ], 251, msg, 4  );

	// Ne asiguram ca mesajul nu este mai lung de 192 de caractere.Altfel pica server-ul.
	szMessage[ 192 ] = '^0';
	

	new iTeam, iColorChange, iPlayerIndex, MSG_Type;
	
	if( id )
	{
		MSG_Type  =  MSG_ONE_UNRELIABLE;
		iPlayerIndex  =  id;
	}
	else
	{
		iPlayerIndex  =  CC_FindPlayer(  );
		MSG_Type = MSG_ALL;
	}
	
	iTeam  =  get_user_team( iPlayerIndex );
	iColorChange  =  CC_ColorSelection(  iPlayerIndex,  MSG_Type, iType);

	CC_ShowColorMessage(  iPlayerIndex, MSG_Type, szMessage  );
		
	if(  iColorChange  )	CC_Team_Info(  iPlayerIndex, MSG_Type,  TeamName[ iTeam ]  );

}

CC_ShowColorMessage(  id, const iType, const szMessage[  ]  )
{
	
	static bool:bSayTextUsed;
	static iMsgSayText;
	
	if(  !bSayTextUsed  )
	{
		iMsgSayText  =  get_user_msgid( "SayText" );
		bSayTextUsed  =  true;
	}
	
	message_begin( iType, iMsgSayText, _, id  );
	write_byte(  id  );		
	write_string(  szMessage  );
	message_end(  );
}

CC_Team_Info( id, const iType, const szTeam[  ] )
{
	static bool:bTeamInfoUsed;
	static iMsgTeamInfo;
	if(  !bTeamInfoUsed  )
	{
		iMsgTeamInfo  =  get_user_msgid( "TeamInfo" );
		bTeamInfoUsed  =  true;
	}
	
	message_begin( iType, iMsgTeamInfo, _, id  );
	write_byte(  id  );
	write_string(  szTeam  );
	message_end(  );

	return 1;
}

CC_ColorSelection(  id, const iType, Color:iColorType)
{
	switch(  iColorType  )
	{
		
		case RED:	return CC_Team_Info(  id, iType, TeamName[ 1 ]  );
		case BLUE:	return CC_Team_Info(  id, iType, TeamName[ 2 ]  );
		case GREY:	return CC_Team_Info(  id, iType, TeamName[ 0 ]  );

	}

	return 0;
}

CC_FindPlayer(  )
{
	new iMaxPlayers  =  get_maxplayers(  );
	
	for( new i = 1; i <= iMaxPlayers; i++ )
		if(  is_user_connected( i )  )
			return i;
	
	return -1;
}
// --| CC_ColorChat.
ToaderValy
Membru, skill +1
Membru, skill +1
Posts: 109
Joined: 07 Mar 2014, 19:02
Detinator Steam: Da
Detinator server CS: MiX.FREAKZ.RO
Location: Romania
Has thanked: 36 times
Been thanked: 1 time

31 Jul 2014, 22:54

scosmynnnn wrote:
| Afiseaza codul
#include < amxmodx >


#define PLUGIN "Rang Admin Chat Fixed"
#define VERSION "1.0.0"

#pragma semicolon 1

#define	MAX_GROUPS	9


// --| CC_ColorChat.
enum Color
{
	NORMAL = 1, 		// Culoarea care o are jucatorul setata in cvar-ul scr_concolor.
	GREEN, 			// Culoare Verde.
	TEAM_COLOR, 		// Culoare Rosu, Albastru, Gri.
	GREY, 			// Culoarea Gri.
	RED, 			// Culoarea Rosu.
	BLUE, 			// Culoarea Albastru.
};

new TeamName[  ][  ] = 
{
	"",
	"TERRORIST",
	"CT",
	"SPECTATOR"
};
// --| CC_ColorChat.


enum CsTeams 
{
	CS_TEAM_UNASSIGNED = 0,
	CS_TEAM_T = 1,
	CS_TEAM_CT = 2,
	CS_TEAM_SPECTATOR = 3
};

new g_szGroups[ MAX_GROUPS ][ ] =
{
"-FoUnDeR-",
"-OwNeR-",
"-Co-Owner-",
"-God-",
"-Semi-God-",
"-Moderator-",
"-Administrator-",
"-Helper-",
"-Slot-"
};

new g_szGroupsFlags[ MAX_GROUPS ][ ] =
{
"abcdefghijklmnopqrstu",
"abcdefghijmnopqrs",
"bcdefghijlmnopqrsu",
"bcdefgijmnoqpqrsu",
"bcdefgijmnopqsu",
"bcdefgijnopqsu",
"bcdefijnopu",
"bceij",
"b"	
};

new g_iGroupsFlagsValues[ MAX_GROUPS ];

public plugin_init( )
{
	register_plugin( PLUGIN, VERSION, "Askhanar" );
	
	
	register_clcmd("say","HookClCmdSay");
	register_clcmd("say_team","HookClCmdSayTeam");
	
	for( new i = 0; i < MAX_GROUPS; i++ )
		g_iGroupsFlagsValues[ i ] = read_flags( g_szGroupsFlags[ i ] );
		
	// Add your code here...
}


public HookClCmdSay( id )
{
	
	if( is_user_bot( id ) )
		return PLUGIN_CONTINUE;
	
	static szChat[ 192 ];
	read_args( szChat, sizeof( szChat ) - 1 );
	remove_quotes( szChat );
	
	if( equali( szChat,"" ) )
		return PLUGIN_CONTINUE;
	
	static szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
		
	if( is_user_admin( id ) )
	{
		static i; i = 0;
		
		for( i = 0; i < MAX_GROUPS; i++ )
		{
			
			if( get_user_flags( id ) == g_iGroupsFlagsValues[ i ] )
			{
				
				switch( get_user_team( id ) )
				{
					case CS_TEAM_T:		ColorChat( 0, RED,"^x04[%s]^x03%s^x01:%s", g_szGroups[ i ], szName, szChat );
					case CS_TEAM_CT:	ColorChat( 0, BLUE,"^x04[%s]^x03%s^x01:%s", g_szGroups[ i ], szName, szChat );
					case CS_TEAM_SPECTATOR:	ColorChat( 0, GREY,"^x04[%s]^x03%s^x01:%s", g_szGroups[ i ], szName, szChat );
				}
				
				break;
			}
		}
	}
	
	else
	{
		
		switch( get_user_team( id ) )
		{
			case CS_TEAM_T:		ColorChat( 0, RED,"^x03%s%s^x01:%s", is_user_alive( id ) ? "" : "*Mort* ", szName, szChat );
			case CS_TEAM_CT:	ColorChat( 0, BLUE,"^x03%s%s^x01:%s", is_user_alive( id ) ? "" : "*Mort* ", szName, szChat );
			case CS_TEAM_SPECTATOR:	ColorChat( 0, GREY,"^x03%s^x01:%s", szName, szChat );
		}
		
	}
	
	
	return PLUGIN_HANDLED_MAIN;
}

public HookClCmdSayTeam( id )
{
	
	if( is_user_bot( id ) )
		return PLUGIN_CONTINUE;
	
	static szChat[ 192 ];
	read_args( szChat, sizeof( szChat ) - 1 );
	remove_quotes( szChat );
	
	if( equali( szChat,"" ) )
		return PLUGIN_CONTINUE;
	
	static szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	
	static iPlayers[ 32 ];
	static iPlayersNum;
	
	get_players( iPlayers, iPlayersNum, "ch" );
	if( !iPlayersNum )
		return PLUGIN_CONTINUE;
	
	static iPlayer, i;
	iPlayer = -1; i = 0;
	
	if( is_user_admin( id ) )
	{
		static x; x = 0;
		
		for( x = 0; x < MAX_GROUPS; x++ )
		{
			
			if( get_user_flags( id ) == g_iGroupsFlagsValues[ x ] )
			{	
	
				for( i = 0; i < iPlayersNum; i++ )
				{
					
					iPlayer = iPlayers[ i ];
		
					if( get_user_team( id ) == get_user_team( iPlayer ) )
					{
						switch( get_user_team( id ) )
						{
							case CS_TEAM_T:		ColorChat( iPlayer, RED, "^x04[%s]^x03(Terrorist) %s^x01:%s", g_szGroups[ x ], szName, szChat );
							case CS_TEAM_CT:	ColorChat( iPlayer, BLUE, "^x04[%s]^x03(Counter-Terrorist) %s^x01:%s", g_szGroups[ x ], szName, szChat );
							case CS_TEAM_SPECTATOR:	ColorChat( iPlayer, GREY, "^x04[%s]^x03(Spectator) %s^x01:%s", g_szGroups[ x ], szName, szChat );
						}
					}
				}
				
				break;
			}
		}
	}
	
	else
	{
		
		for( i = 0; i < iPlayersNum; i++ )
		{
			
			iPlayer = iPlayers[ i ];

			if( get_user_team( id ) == get_user_team( iPlayer ) )
			{
				switch( get_user_team( id ) )
				{
					case CS_TEAM_T:		ColorChat( iPlayer, RED, "^x03(Terrorist)%s%s^x01:%s", is_user_alive( id ) ? "" : "*Mort* ", szName, szChat );
					case CS_TEAM_CT:	ColorChat( iPlayer, BLUE, "^x03(Counter-Terrorist)%s%s^x01:%s", is_user_alive( id ) ? "" : "*Mort* ", szName, szChat );
					case CS_TEAM_SPECTATOR:	ColorChat( iPlayer, GREY, "^x03(Spectator) %s^x01:%s", szName, szChat );
				}
			}
		}
	}
				
	return PLUGIN_HANDLED_MAIN;
}

// From amxmisc.inc
stock is_user_admin( id )
{
	new __flags=get_user_flags(id);
	return (__flags>0 && !(__flags&ADMIN_USER));
}
// -----------------------


// --| CC_ColorChat.
ColorChat(  id, Color:iType, const msg[  ], { Float, Sql, Result, _}:...  )
{
	
	// Daca nu se afla nici un jucator pe server oprim TOT. Altfel dam de erori..
	if( !get_playersnum( ) ) return;
	
	new szMessage[ 256 ];

	switch( iType )
	{
		 // Culoarea care o are jucatorul setata in cvar-ul scr_concolor.
		case NORMAL:	szMessage[ 0 ] = 0x01;
		
		// Culoare Verde.
		case GREEN:	szMessage[ 0 ] = 0x04;
		
		// Alb, Rosu, Albastru.
		default: 	szMessage[ 0 ] = 0x03;
	}

	vformat(  szMessage[ 1 ], 251, msg, 4  );

	// Ne asiguram ca mesajul nu este mai lung de 192 de caractere.Altfel pica server-ul.
	szMessage[ 192 ] = '^0';
	

	new iTeam, iColorChange, iPlayerIndex, MSG_Type;
	
	if( id )
	{
		MSG_Type  =  MSG_ONE_UNRELIABLE;
		iPlayerIndex  =  id;
	}
	else
	{
		iPlayerIndex  =  CC_FindPlayer(  );
		MSG_Type = MSG_ALL;
	}
	
	iTeam  =  get_user_team( iPlayerIndex );
	iColorChange  =  CC_ColorSelection(  iPlayerIndex,  MSG_Type, iType);

	CC_ShowColorMessage(  iPlayerIndex, MSG_Type, szMessage  );
		
	if(  iColorChange  )	CC_Team_Info(  iPlayerIndex, MSG_Type,  TeamName[ iTeam ]  );

}

CC_ShowColorMessage(  id, const iType, const szMessage[  ]  )
{
	
	static bool:bSayTextUsed;
	static iMsgSayText;
	
	if(  !bSayTextUsed  )
	{
		iMsgSayText  =  get_user_msgid( "SayText" );
		bSayTextUsed  =  true;
	}
	
	message_begin( iType, iMsgSayText, _, id  );
	write_byte(  id  );		
	write_string(  szMessage  );
	message_end(  );
}

CC_Team_Info( id, const iType, const szTeam[  ] )
{
	static bool:bTeamInfoUsed;
	static iMsgTeamInfo;
	if(  !bTeamInfoUsed  )
	{
		iMsgTeamInfo  =  get_user_msgid( "TeamInfo" );
		bTeamInfoUsed  =  true;
	}
	
	message_begin( iType, iMsgTeamInfo, _, id  );
	write_byte(  id  );
	write_string(  szTeam  );
	message_end(  );

	return 1;
}

CC_ColorSelection(  id, const iType, Color:iColorType)
{
	switch(  iColorType  )
	{
		
		case RED:	return CC_Team_Info(  id, iType, TeamName[ 1 ]  );
		case BLUE:	return CC_Team_Info(  id, iType, TeamName[ 2 ]  );
		case GREY:	return CC_Team_Info(  id, iType, TeamName[ 0 ]  );

	}

	return 0;
}

CC_FindPlayer(  )
{
	new iMaxPlayers  =  get_maxplayers(  );
	
	for( new i = 1; i <= iMaxPlayers; i++ )
		if(  is_user_connected( i )  )
			return i;
	
	return -1;
}
// --| CC_ColorChat.
Imi da eroare la compilare
Cosmin
Fost moderator
Fost moderator
Posts: 9362
Joined: 06 Jul 2013, 22:08
Detinator Steam: Da
Detinator server CS: Nu
Reputatie: Fost eXtream Mod
Fost Scripter eXtreamCS
Nume anterior: scosmynnnn
Has thanked: 492 times
Been thanked: 547 times

31 Jul 2014, 23:01

Image
ToaderValy
Membru, skill +1
Membru, skill +1
Posts: 109
Joined: 07 Mar 2014, 19:02
Detinator Steam: Da
Detinator server CS: MiX.FREAKZ.RO
Location: Romania
Has thanked: 36 times
Been thanked: 1 time

31 Jul 2014, 23:07

scosmynnnn wrote:Image
da-mi alt site compilare
Cosmin
Fost moderator
Fost moderator
Posts: 9362
Joined: 06 Jul 2013, 22:08
Detinator Steam: Da
Detinator server CS: Nu
Reputatie: Fost eXtream Mod
Fost Scripter eXtreamCS
Nume anterior: scosmynnnn
Has thanked: 492 times
Been thanked: 547 times

31 Jul 2014, 23:08

compilare locala :| freakz si multe altele......
edit: http://www.amxmodx.org/webcompiler.cgi
ToaderValy
Membru, skill +1
Membru, skill +1
Posts: 109
Joined: 07 Mar 2014, 19:02
Detinator Steam: Da
Detinator server CS: MiX.FREAKZ.RO
Location: Romania
Has thanked: 36 times
Been thanked: 1 time

01 Aug 2014, 13:40

Thanks.
Post Reply

Return to “Cereri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 31 guests