02.04.2011, 10:36
Hola bueno lo que pasa es que me baje el sistema de admin de bruunosonico (badmin) y me parece excelente
para un gm, el ъnico problema es que el ingreso y registro es a base de comandos y por mбs que hй tratado
no hй podido cambiarlos a dialogos
espero alguien pueda ayudarme un poco con eso.
aqui les dejo los comandos de registro y logeo
perdonen la molestia pero de verdad que he tratado todo
saludos!!
para un gm, el ъnico problema es que el ingreso y registro es a base de comandos y por mбs que hй tratado
no hй podido cambiarlos a dialogos

aqui les dejo los comandos de registro y logeo
pawn Код:
if (strcmp("/registro", cmd, true) == 0)
{
new tmp[256], usuario[MAX_PLAYER_NAME], archivo[256], string[256];
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, usuario, sizeof(usuario));
format(archivo, sizeof(archivo), "Badmin/Usuarios/%s.ini", usuario);
if (dini_Exists(archivo)) return SendClientMessage(playerid, COLOR_ROJO, "Tu nombre ya se encuentra registrado. Usa /ingreso [contraseсa] para ingresar.");
if (!strlen(tmp)) return SendClientMessage(playerid, COLOR_ROJO, "Usa: /registro [Contraseсa].");
if (strlen(tmp) < 4 || strlen(tmp) > 12) return SendClientMessage(playerid, COLOR_ROJO, "Su contraseсa debe contener entre 4 y 12 caracteres.");
dini_Create(archivo);
dini_Set(archivo, "Usuario", usuario);
dini_Set(archivo, "Contraseсa", cmdtext[10]);
dini_IntSet(archivo, "Baneado", 0);
dini_IntSet(archivo, "NivelAdmin", 0);
dini_IntSet(archivo, "Asesinatos", 0);
dini_IntSet(archivo, "Muertes", 0);
dini_IntSet(archivo, "Puntaje", GetPlayerScore(playerid));
dini_IntSet(archivo, "Dinero", GetPlayerMoney(playerid));
dini_IntSet(archivo, "PosGuardada(X)", 0);
dini_IntSet(archivo, "PosGuardada(Y)", 0);
dini_IntSet(archivo, "PosGuardada(Z)", 0);
dini_IntSet(archivo, "PosGuardada(Angulo)", 0);
format(string, sizeof(string), "Te has registrado correctamente! Usa /ingreso %s para ingresar.", cmdtext[10]);
SendClientMessage(playerid, COLOR_VERDE_OSCURO, string);
PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
return 1;
}
if (strcmp("/ingreso", cmd, true) == 0)
{
new tmp[256], archivo[256], usuario[MAX_PLAYER_NAME], comprobante1[256], comprobante2[256], string[256];
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, usuario, sizeof(usuario));
format(archivo, sizeof(archivo), "Badmin/Usuarios/%s.ini", usuario);
if (Ingreso[playerid] == 1) return SendClientMessage(playerid, COLOR_ROJO, "Ya te encuentras identificado.");
if (!dini_Exists(archivo)) return SendClientMessage(playerid, COLOR_ROJO, "Tu nombre no se encuentra registrado. Usa /registro [contraseсa] para registrarte.");
if (!strlen(tmp)) return SendClientMessage(playerid, COLOR_ROJO, "Usa /ingreso [Contraseсa].");
format(comprobante1, sizeof(comprobante1), "%s", cmdtext[9]);
format(comprobante2, sizeof(comprobante2), "%s", dini_Get(archivo, "Contraseсa"));
if (!strcmp(comprobante1, comprobante2))
{
if (dini_Int(archivo, "Baneado") == 0)
{
Ingreso[playerid] = 1;
NivelAdmin[playerid] = dini_Int(archivo, "NivelAdmin");
SetPlayerScore(playerid, dini_Int(archivo, "Puntaje"));
GivePlayerMoney(playerid, dini_Int(archivo, "Dinero")-GetPlayerMoney(playerid));
SendClientMessage(playerid, COLOR_VERDE_OSCURO, "Has ingresado correctamente!");
PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
if (NivelAdmin[playerid] == 1 || NivelAdmin[playerid] == 2 || NivelAdmin[playerid] == 3 || NivelAdmin[playerid] == 1338 || NivelAdmin[playerid] == 2012)
{
EsAdmin[playerid] = 1;
}
}
else
{
format(string, sizeof(string), "%s ha sido auto-kickeado. (Razon: Usuario baneado.)", usuario);
SendClientMessageToAll(COLOR_NARANJA, string);
Kick(playerid);
}
}
else return SendClientMessage(playerid, COLOR_ROJO, "Contraseсa incorrecta.");
return 1;
}
