//No topo do script:
new iAdmin[MAX_PLAYERS];
/*
Explicaзгo:
new = Cria a variavel.
iAdmin = Nome da variavel.
MAX_PLAYERS = Total de jogadores.
; = Encerra a linha.
*/
public OnPlayerConnect(playerid) {
new file[70], snd[MAX_PLAYER_NAME];
GetPlayerName(playerid, snd, sizeof snd);
format(file, sizeof file, "Administradores/%s.ini", snd);
/*
Explicaзгo do GetPlayerName:
playerid = ID Ъnico do jogador que se conectou.
snd = variavel local que foi criada para armazenar o nome do jogador.
*/
if(DOF2_FileExists(file)) {
iAdmin[playerid] = DOF2_GetInt(file, "Admin");
}
/*
Explicaзгo:
DOF2_FileExists = Checa se o arquivo existe.
DOF2_GetInt = Geta o valor inteiro da linha Admin do arquivo definido pela format.
*/
return true;
}
public OnPlayerCommandText(playerid, commandid, params[]) { // Cria a callback.
switch( commandid ) {
case iscmd("s,e,t,a,d,m"): {
new id; // Variavel que irб armazenar o id do jogador desejado!
new nivel; // irб armazenar o nivel de administrador.
new file[70], snd[MAX_PLAYER_NAME];
if(sscanf(params,"ui",id,nivel))
return SendClientMessage(playerid, 0xC0C0C0AA, "Use: /setadm [playerid] [nivel]");
GetPlayerName(id, snd, sizeof snd);
format(file, sizeof file, "Administradores/%s.ini", snd);
if(!DOF2_FileExists(file)) {
DOF2_CreateFile(file); // caso o nome dele nгo esteja na pasta administradores.
}
DOF2_SetInt(file, "Admin", nivel); // irб setar na linha Admin o valor do nivel desejado.
DOF2_SaveFile(); // salva e fecha o arquivo.
iAdmin[id] = nivel; // irб setar o nivel para ele!
return true;
}
}
return false;
}
//----------------- COMANDOS QUE PODEM SER ЪTEIS -----------------------------//
case iscmd("a,d,m,i,n,s"): {
new string[128],
snd[MAX_PLAYER_NAME];
SendClientMessage(playerid, 0xC0C0C0AA, "[ Administradores Online ]");
for(new i = 0; i < GetMaxPlayers(); i++) {
GetPlayerName(i, snd, sizeof snd);
if(iAdmin[i] > 0) {
format(string, sizeof string, "Administrador: %s Nivel: %d", snd, iAdmin[i]);
SendClientMessage(playerid, 0xFFFFFFAA, string);
}
}
return true;
}
case iscmd("k,i,c,k"): {
new string[128],
snd[MAX_PLAYER_NAME],
snd2[MAX_PLAYER_NAME],
id;
if(iAdmin[playerid] == 0) return SendClientMessage(playerid, oxC0C0C0AA, "Apenas Administradores.");
if(sscanf(params, "u", id)) return SendClientMessage(playerid, 0xC0C0CAA, "Use: /kick [playerid]");
GetPlayerName(playerid, snd, sizeof snd);
GetPlayerName(id, snd2, sizeof snd2);
SendClientMessage(playerid, 0xC0C0C0AA, "[ Aviso da Administraзгo ]");
format(string, sizeof string, "O Administrador %s acaba de kikar %s.", snd, snd2);
SendClientMessageToAll(0xFFFFFFAA, string);
return true;
}
Ficou bem legal explicou correto e usou o prуprio salvamento no comando.
Assim que eu puder(ter mensagens) te dou 1rep |