PlayerInfo[playerid][pAdmin]
for(new ID; ID < MAX_PLAYERS; ID++) {
if(PlayerInfo[ID][pAdmin] >= 1) SendClientMessage(ID, -1, #);
}
Loop
pawn Код:
|
forward AdminMessage(color,const string[],level);
public AdminMessage(color,const string[],level)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if (PlayerInfo[i][pAdmin] >= level)
{
SendClientMessage(i, color, string);
}
}
}
return 1;
}
CMD:a(playerid,params[])
{
if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid,-1,"Nгo й admin");
new string[124];
if(!sscanf(params,"s[124]",string)) return SendClientMessage(playerid,-1,"/a [mensagem]");
AdminMessage(0xFF0000, string,1);
return 1;
}
um, agora porfavor explique-me para que posso entender, e fazer sistemas fъturos.
esse cуdigo irб fazer um loop em todos os jogadores, e dentro desse loop ele irб verificar qual й administrador de todos os players?, se 3 deles for administrador vai mandar a mensagem #? |
SendAdminMessage(Message[])
{
for ( new h; h < MAX_PLAYERS; h++ )
{
if ( PlayerInfo[h][pAdmin] > 0)
{
SendClientMessage(h, -1, Message);
}
}
}
SendAdminMessage("Exemplo De Menssagem");
COMMAND:a(playerid, params[])
{
// Cria variaveis
new Name[24], Msg[128], Message[128];
GetPlayerName(playerid, Name, sizeof(Name));
// Verifica se o jogador e ADM
if (PlayerInfo[playerid][pAdmin] > 0)
{
if (sscanf(params, "s[128]", Message)) SendClientMessage(playerid, 0xFF0000FF, "Use: \"/a <sua Mensagem>\"");
else
{
// Loop percorrer todos os jogadores
for (new i; i < MAX_PLAYERS; i++)
{
// Verifica se o jogador que vai receber a mensagem e adm
if (APlayerData[i][PlayerLevel] > 0)
{
format(Msg, 128, "{FF0000}[Admin] %s: {FFFFFF}%s", Name, Message);
SendClientMessage(i, 0xFFFFFFFF, Msg);
}
}
}
}
else
return 0;
return 1;
}
Parabйns, vocк nгo й como todos aqui, que apenas querem o cуdigo pronto.
Entгo, este cуdigo vai passar por todos os ID's, de 0 a 500(MAX_PLAYERS), entгo ele vai verificar: Se ID 0 Tiver variбvel Administrador maior que 0, envia mensagem. Se ID 1 Tiver variбvel Administrador maior que 0, envia mensagem. Se ID 2 Tiver variбvel Administrador maior que 0, envia mensagem. Se ID 3 Tiver variбvel Administrador maior que 0, envia mensagem. Se ID 4 Tiver variбvel Administrador maior que 0, envia mensagem. Se ID 5 Tiver variбvel Administrador maior que 0, envia mensagem. Basicamente isto, se chama estrutura de repetiзгo, tem vбrios tutoriais aqui no fуrum sobre, dк uma pesquisa, й um assunto indispensбvel. E caso ainda resta alguma dъvida, nгo hesite em perguntar. |
YCMD:a(playerid, params[], help)
{
new name[24], string[128], texto[128];
GetPlayerName(playerid,name,sizeof(name));
if(sscanf(params,"s",texto)) return SendClientMessage(playerid,-1,"/a [MENSAGEM]");
for(new ID; ID < MAX_PLAYERS; ID++) {
if(PlayerInfo[playerid][pAdmin] >= 1)
format(string,sizeof(string),"[CHAT ADMIN] - %s(ID:%i): %s",name,playerid,texto);
SendClientMessage(ID, string);
}
return 1;
}
SendClientMessage(ID, string);
id, cor, mensagem! Sгo 3 parвmetros ! |