12.09.2011, 05:19
Qe hacemo gentee.
Bueno, estoi haciendo un sistema de administracion, bien bбsico por ahora, y tengo 2 "problemas".
Si alguien es admin y loguea, le envia el texto de un player normal.
Si uso "/setlevel 0 1", me envia el mensaje "Uso: /setlevel <playerid> <nivel>", si uso "/setlevel 0 asd", funciona.
Alguna idea? Gracias
Bueno, estoi haciendo un sistema de administracion, bien bбsico por ahora, y tengo 2 "problemas".
pawn Код:
CMD:login(playerid, params[])
{
GetPlayerName(playerid, pname, sizeof(pname));
format(archivo, sizeof(archivo), Users, pname);
if(aInfo[playerid][Registrado] == 0) return SendClientMessage(playerid, COLOR_YELLOW, "Esta cuenta no esta registrada! Utiliza /registrar para registrarla!");
if(aInfo[playerid][Logueado] == 1) return SendClientMessage(playerid, COLOR_YELLOW, "Ya estas logueado!");
if(isnull(params)) return SendClientMessage(playerid, COLOR_RED, "Uso: /login <password>");
new tmp;
tmp = dini_Int(archivo, "pass");
if(udb_hash(params) != tmp)
{
format(str, sizeof(str), "La contraseсa que ingresaste es incorrecta!");
SendClientMessage(playerid, COLOR_RED, str);
}
else
{
aInfo[playerid][Admin] = dini_Int(archivo, "Admin");
aInfo[playerid][Logueado] = 1;
aInfo[playerid][Baneado] = dini_Int(archivo, "Baneado");
if(aInfo[playerid][Baneado] == 1)
{
SendClientMessage(playerid, COLOR_RED, "Estas baneado en el servidor!");
return Kick(playerid);
}
if(aInfo[playerid][Admin] != 0)
{
format(str, sizeof(str), "Bienvenido %s! Admin Level: %s.! Utiliza /acmds para ver tus comandos de administracion!", pname, aInfo[playerid][Admin]);
SendClientMessage(playerid, COLOR_LIGHTGREEN, str);
SendClientMessage(playerid, COLOR_RED, "[rAdmin] Logueado satisfactoriamente!");
}
else
{
format(str, sizeof(str), "Bienvenido %s! Utiliza /comandos para ver los comandos disponibles!", pname);
SendClientMessage(playerid, COLOR_YELLOW, str);
SendClientMessage(playerid, COLOR_RED, "[rAdmin] Logueado satisfactoriamente!");
}
TogglePlayerControllable(playerid, 1);
}
return 1;
}
pawn Код:
CMD:setlevel(playerid, params[])
{
new playerid2, pname2[MAX_PLAYER_NAME], level;
if(aInfo[playerid][Admin] >= MaxLevel || IsPlayerAdmin(playerid))
{
if(sscanf(params, "ud", playerid2, level))
{
if(!IsPlayerConnected(playerid2)) return SendClientMessage(playerid, COLOR_RED, "Este jugador no esta conectado.");
if(aInfo[playerid][Admin] < aInfo[playerid2][Admin]) return SendClientMessage(playerid, COLOR_RED, "No puedes cambiar el nivel de un administrador de mayor nivel.");
GetPlayerName(playerid, pname, sizeof(pname));
GetPlayerName(playerid2, pname2, sizeof(pname2));
aInfo[playerid2][Admin] = level;
format(str, sizeof(str), "El Administrador %s[%d] te dio nivel %s.", pname, playerid, aInfo[playerid][Admin]);
SendClientMessage(playerid2, COLOR_YELLOW, str);
}
else return SendClientMessage(playerid, COLOR_RED, "Uso: /setlevel <playerid> <nivel>");
}
else return SendClientMessage(playerid, COLOR_RED, "Este comando es solo para Admins nivel 5.");
return 1;
}
Alguna idea? Gracias