06.04.2012, 21:07
lets say some people are PINFO[playerid][leader] = 1;
How can I send a message to those people?
How can I send a message to those people?
CMD:message(playerid,params[])
{
new text[128],string[128];
if(sscanf(params, "s[128]", text)) return SendClientMessage(playerid, -1, "Use: /message [Text]");
foreach(Player,i)
{
if(PINFO[i][leader] == 1)
format(string,sizeof(string),"%s says : %s",GetPlayerName(playerid),text);
SendClientMessage(i,-1,string);
}
return true;
}
forward SendLeaderMessage(color,const string[],level);
public SendLeaderMessage(color,const string[],level)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if (PlayerInfo[i][pLeader] >= level)
{
SendClientMessage(i, color, string);
printf("%s", string);
}
}
}
return 1;
}
SendLeaderMessage(COLOR,"This message is only for leaders", 1);
|
How about if I used,
new Check[MAX_PLAYERS] Check[playerid] = 0; if you type lets say /abc Check[playerid] = 1; Now if somone types /123 It shows a dialog for the player who is on check = 1 |
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
new Check[MAX_PLAYERS];
dcmd(abc, 3, cmdtext); dcmd(123, 3, cmdtext);
dcmd_abc(playerid, params[])
{
#pragma unused params
if(IsPlayerConnected(playerid))
if(Check[playerid] == 0)
Check[playerid] = 1;
return 1;
}
dcmd_123(playerid, params[])
{
#pragma unused params
for(new i = 0; i < MAX_PLAYERS; ++i)
{
if(IsPlayerConnected(i))
if(Check[i] == 1)
SendClientMessage(playerid, -1, "ID: %d", i);
}
return 1;
}