Page 1 of 1

Cerere plugin amx_message [rezolvat!]

Posted: 07 Nov 2009, 17:03
by GPaul
Salut.

As vrea si eu daca se poate sa imi faca cineva un plugin.

Descriere : Cand scri in consola comanda amx_message (sau oricare alta) sa arate in chat un mesaj cu CULOAREA ROSU , DAR FARA NUME INAINTE DE MESAJ.

exemplu RAU: "Paul: ExtreamCS"
exemplu BUN" "ExtreamCS"

VA MULTUMESC :*

Re: [Cerere]Plugin

Posted: 07 Nov 2009, 18:37
by aNNakin
| Afiseaza codul
#include < amxmodx >
#include < amxmisc >

#define PLUGIN "Red Message"
#define VERSION "0.1"
#define AUTHOR "aNNakin"

enum Color
{
	NORMAL = 1,
	GREEN,
	TEAM_COLOR,
	GREY,
	RED,
	BLUE,
}

new TeamName[ ][ ] = 
{
	"",
	"TERRORIST",
	"CT",
	"SPECTATOR"
}

new gi_IsConnected[ 33 ], gi_MaxPlayers;
new SayText, TeamInfo;

public plugin_init ( )
{
	register_plugin ( PLUGIN, VERSION, AUTHOR );
	register_concmd ( "amx_message", "message_cmd", ADMIN_CHAT, "- <msg>" );
	
	gi_MaxPlayers = get_maxplayers ( );
	SayText = get_user_msgid ( "SayText" );
	TeamInfo = get_user_msgid ( "TeamInfo" );
}

public client_putinserver ( e_Index ) gi_IsConnected[ e_Index ] = 1;
public client_disconnect ( e_Index ) gi_IsConnected[ e_Index ] = 0;

public message_cmd ( id, level, cid )
{
	if ( ! cmd_access ( id, level, cid, 2 ) )
		return PLUGIN_HANDLED;
		
	new s_Args[ 192 ];
	read_args ( s_Args, 191 );
	
	ColorChat ( 0, RED, "%s", s_Args );
	return PLUGIN_HANDLED;
}

public ColorChat ( id, Color:type, const msg[], { Float, Sql, Result, _ }:... )
{
	static message[ 256 ];

	switch ( type )
	{
		case NORMAL:
			message[ 0 ] = 0x01;
		case GREEN:
			message[ 0 ] = 0x04;
		default:
			message[ 0 ] = 0x03;
	}

	vformat ( message[ 1 ], 251, msg, 4 );
	message[ 192 ] = '^0';

	new team, ColorChange, index, MSG_Type;
	
	if ( id )
	{
		MSG_Type = MSG_ONE;
		index = id;
	}
	else
	{
		index = FindPlayer ( );
		MSG_Type = MSG_ALL;
	}
	
	team = get_user_team ( index );	
	ColorChange = ColorSelection ( index, MSG_Type, type );

	ShowColorMessage ( index, MSG_Type, message );
		
	if ( ColorChange )
		Team_Info ( index, MSG_Type, TeamName[ team ] );
}

ShowColorMessage ( id, type, message[] )
{
	message_begin ( type, SayText, _, id );
	write_byte ( id )		
	write_string ( message );
	message_end ( );	
}

Team_Info ( id, type, team[] )
{
	message_begin ( type, TeamInfo, _, id );
	write_byte ( id );
	write_string ( team );
	message_end ( );

	return 1;
}

ColorSelection ( index, type, Color:Type )
{
	switch ( Type )
	{
		case RED:
			return Team_Info ( index, type, TeamName[ 1 ] );
		case BLUE:
			return Team_Info ( index, type, TeamName[ 2 ] );
		case GREY:
			return Team_Info ( index, type, TeamName[ 0 ] );
	}
	return 0;
}

public FindPlayer ( )
{	
	for ( new i = 1; i <= gi_MaxPlayers; i++ )
		if ( gi_IsConnected[ i ] )
			return i;
	
	return -1
}

Re: Cerere plugin amx_message

Posted: 07 Nov 2009, 19:02
by GPaul
Perfect ! MULTUMESC MULT !

@ Poti sa stergi topicul acum? Intelegi de ce :)

Re: Cerere plugin amx_message

Posted: 07 Nov 2009, 19:05
by aNNakin
djxpaulz wrote:Perfect ! MULTUMESC MULT !

@ Poti sa stergi topicul acum? Intelegi de ce :)
Topicul ramane, poate va mai folosi si altcineva pluginul. Stiu ca tu vrei sa il ai doar tu dar odata ce ai postat, postat ramane.