Quote:
Originally Posted by iggy1
Better option would be to use OnPlayerText.
In this example if an admin types "@ lets ban some players!"; Then just the message without the '@' will be sent to online admins.
pawn Код:
public OnPlayerText(playerid, text[]) { //if first char is '@' and player is admin... if( text[0] == '@' && PlayerInfo[playerid][pAdminLevel] >= 1 ) { new name[24]; new string[300]; GetPlayerName(playerid, name, 24); format(string, sizeof(string), "[Admin Chat] %s [%d]: %s", name, playerid, text[1]);
for(new i=0; i < MAX_PLAYERS; ++i)//if you use foreach that is better { if( !IsPlayerConnected(i) )continue;
if( PlayerInfo[i][pAdminLevel] >= 1 ) { SendClientMessage(i, COLOR_WHITE, string); } } return 0;//return 0 so message isnt sent to normal chat } return 1; }
|
Works perfectly! Thanks. But also it shows on global thingie like
"@You are noobs with boobs"
"[Admin Chat] Squirrel [4]: You are all noobs with boobs"
It might be problem since my other thing
Код:
public OnPlayerText(playerid, text[])
{
new Rank[20];
if(!Playerchatoff[playerid])
{
switch(GetPlayerScore(playerid))
{
case 0 .. 10: format(Rank, sizeof(Rank),"[Trainee]");
case 11 .. 20: format(Rank, sizeof(Rank),"[Trainee 2]");
case 21 .. 30: format(Rank, sizeof(Rank),"[Solider]");
case 31 .. 40: format(Rank, sizeof(Rank),"[Solider Rank 2]");
case 41 .. 50: format(Rank, sizeof(Rank),"[Solider Rank 3]");
case 51 .. 60: format(Rank, sizeof(Rank),"[Corporal]");
case 61 .. 70: format(Rank, sizeof(Rank),"[Sargeant]");
case 71 .. 80: format(Rank, sizeof(Rank),"[Staff Sargeant]");
case 81 .. 90: format(Rank, sizeof(Rank),"[Major Of The Army]");
case 91 .. 100: format(Rank, sizeof(Rank),"[First Lieutenant]");
case 101 .. 110: format(Rank, sizeof(Rank),"[Second Lieutenant]");
case 111 .. 120: format(Rank, sizeof(Rank),"[Captain]");
case 121 .. 130: format(Rank, sizeof(Rank),"[Major]");
case 131 .. 140: format(Rank, sizeof(Rank),"[Lieutenant Colonel]");
case 141 .. 150: format(Rank, sizeof(Rank),"[Colonel]");
case 151 .. 160: format(Rank, sizeof(Rank),"[General]");
case 161 .. 170: format(Rank, sizeof(Rank),"[General Of The Army]");
case 171 .. 9999: format(Rank, sizeof(Rank),"[God Of War]");
}
new ChatText[128], Nameasd[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nameasd, MAX_PLAYER_NAME);
format(ChatText, sizeof(ChatText),"{F3FF02}%s %s:{FFFFFF} %s", Rank, Nameasd, text);
SendClientMessageToAll(-1, ChatText);
}
else
{
SendClientMessage(playerid, COLOR_RED, "<!>Your chat is toggled off! Type /togchat!");
}
if( text[0] == '@' && PlayerInfo[playerid][pAdminLevel] >= 1 )
{
new name[24];
new string[300];
GetPlayerName(playerid, name, 24);
format(string, sizeof(string), "[Admin Chat] %s [%d]: %s", name, playerid, text[1]);
for(new i=0; i < MAX_PLAYERS; ++i)
{
if( !IsPlayerConnected(i) )continue;
if( PlayerInfo[i][pAdminLevel] >= 1 )
{
SendClientMessage(i, COLOR_WHITE, string);
}
}
return 0;//return 0 so message isnt sent to normal chat
}
return 0;
}