CMD:asay(playerid,params[]) { if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid,COLOR_ERROR,"Error: {FFFFFF}Unknown command, type /cmds for the list of commands."); else { new text[200]; if(sscanf(params,"s[200]",text)) return SendClientMessage(playerid,COLOR_GRAY,"Syntax: /asay [message]"); format(text,sizeof(text),"Admin: %s",text); SendMessageToPlayers(text); } return 1; }
stock SendMessageToPlayers(text[]) { for(new i = 0; i < MAX_PLAYERS; i++) { if(PlayerInfo[i][pAdmin] == 1) { SendClientMessageToAll(COLOR_LEVEL1,text); } else if(PlayerInfo[i][pAdmin] == 2) { SendClientMessageToAll(COLOR_LEVEL2,text); } else if(PlayerInfo[i][pAdmin] == 3) { SendClientMessageToAll(COLOR_LEVEL3,text); } } return 1; }
stock SendMessageToPlayers(text[]) { for(new i = 0; i < MAX_PLAYERS; i++) { if(PlayerInfo[i][pAdmin] == 1) { SendClientMessage(i, COLOR_LEVEL1,text); } else if(PlayerInfo[i][pAdmin] == 2) { SendClientMessage(i, COLOR_LEVEL2,text); } else if(PlayerInfo[i][pAdmin] == 3) { SendClientMessage(i, COLOR_LEVEL3,text); } } return 1; }
try this maybe will help
Код:
stock SendMessageToPlayers(text[]) { for(new i = 0; i < MAX_PLAYERS; i++) { if(PlayerInfo[i][pAdmin] == 1) { SendClientMessage(i, COLOR_LEVEL1,text); } else if(PlayerInfo[i][pAdmin] == 2) { SendClientMessage(i, COLOR_LEVEL2,text); } else if(PlayerInfo[i][pAdmin] == 3) { SendClientMessage(i, COLOR_LEVEL3,text); } } return 1; } |
I assume its only gonna send messages to admins, this should send the message to everyone.
|
SendMessageToPlayers(text[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(PlayerInfo[i][pAdmin] < 1) //if not admin
{
SendClientMessage(i, -1,text); //send message in white (-1) change the color to you'rs
}
if(PlayerInfo[i][pAdmin] == 1)
{
SendClientMessage(i, COLOR_LEVEL1,text);
}
else if(PlayerInfo[i][pAdmin] == 2)
{
SendClientMessage(i, COLOR_LEVEL2,text);
}
else if(PlayerInfo[i][pAdmin] == 3)
{
SendClientMessage(i, COLOR_LEVEL3,text);
}
}
return 1;
}
CMD:asay(playerid, params[])
{
if (PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, COLOR_ERROR, "Error: {FFFFFF}Unknown command, type /cmds for the list of commands.");
if (isnull(params)) return SendClientMessage(playerid, COLOR_GRAY, "Syntax: /asay [message]");
new text[145], color_of_text;
switch (PlayerInfo[playerid][pAdmin])
{
case 1: color_of_text = COLOR_LEVEL1;
case 2: color_of_text = COLOR_LEVEL2;
case 3: color_of_text = COLOR_LEVEL3;
}
format(text, sizeof (text), "Admin: %s", params);
SendClientMessageToAll(color_of_text, text);
return 1;
}
I assume its only gonna send messages to admins, this should send the message to everyone.
|
The color will depend on the level of the admin who executes the command? If yes, it is true that you do not need a loop. For only 1 parameter that is string, use isnull macro- no need for sscanf.
Max client message is 144 characters. pawn Код:
|