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; }