26/04/2023 18:35
(26/04/2023 18:01)ThiagoS. Escreveu:(26/04/2023 14:25)White_Blue Escreveu: Use a função strcmp para comparar as duas strings. Embora eu não recomende e ache bastante inseguro fazer algo assim, pois se a senha for fácil é perigoso sofrer ataques de bruteforce.
Mas de qualquer forma aqui vai um exemplo:
Código PHP:CMD:radmin(playerid, const params[]) {
new senha[128];
if(sscanf(params, "s[128]", senha)) return SendClientMessage(playerid, -1, "Use: /radmin [senha]");
if(strcmp("sua_senha", senha) == 0) {
// Caso a senha for verdadeira, retorna o código aqui
}
else {
// Caso contrário(Se a senha não for verdadeira), retorna algo aqui.
}
return 1;
}
Adapte o código acima de acordo com suas preferências.
Falto o bgl do nível que era oq tava mais com dificuldade
É só usar o sscanf, é a mesma lógica.
Supondo que você já tenha pelo menos o sistema de admin e só falta o comando para dar o nível de admin, aqui vai um exemplo:
Código PHP:
CMD:radmin(playerid, const params[]) {
new senha[128], id, nivel;
if(sscanf(params, "uds[128]", id, nivel, senha)) return SendClientMessage(playerid, -1, "Use: /radmin [senha]");
if(nivel > 7) return SendClientMessage(playerid, -1, "Use níveis de 0 a 7.");
if(nivel == 0) {
Admin[id] = 0;
SendClientMessage(id, -1, "Você foi retirado da administração!");
SendClientMessage(playerid, -1, "Admin retirado com sucesso!");
}
if(strcmp("sua_senha", senha) == 0) {
Admin[id] = nivel;
SendClientMessage(id, -1, "Você foi posto na administração!");
SendClientMessage(playerid, -1, "Admin setado com sucesso!");
}
else {
SendClientMessage(playerid, -1, "Senha incorreta.");
}
return 1;
}
Não estou disponível para realizar serviços relacionados ao SA-MP e não costumo responder a mensagens privadas, a menos que estejam relacionadas à moderação do fórum.