Bueno, en ese caso tendrás que poner el lector ini, DINI, es uno de los más simples, pero a la larga se lagea cuando se crean muchos archivos xd.
Codigo, puedes agregarlo a tu GM, o ponerlo como filterscript.
#include <a_samp>
#include <gl_common>
#include <dini>
#define DLOGIN 9
public OnPlayerCommandText(playerid, cmdtext[])
{
new idx, cmd[256];
cmd = strtok(cmdtext, idx);
if(strcmp("/registrar", cmd, true) == 0)
{
new tmp[256];
cmd = strtok(cmdtext, idx);
new file[128];
format(file, sizeof(file), "Usuarios/%s.ini", rNick(playerid));
if(dini_Exists(file))return SendClientMessage(playerid, -1, "Ya estás registrado");
if(!strlen(tmp))return SendClientMessage(playerid, -1, "Usa /registrar [contraseña]");
dini_Create(file);
dini_Set(file, "Contraseña", tmp);
return 1;
}
return 0;
}
public OnPlayerConnect(playerid)
{
new file[128];
format(file, sizeof(file), "Usuarios/%s.ini", rNick(playerid));
if(dini_Exists(file))
{
ShowPlayerDialog(playerid, DLOGIN, DIALOG_STYLE_PASSWORD, "Login", "Intruduce tu contraseña para jugar", "Login", "Salir");
}
else
{
SendClientMessage(playerid, -1, "No estás registrado, puedes hacerlo mediante el comando /Registrar");
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DLOGIN)
{
if(response)
{
new file[128];
format(file, sizeof(file), "Usuarios/%s.ini", rNick(playerid));
if(strcmp(inputtext, dini_Get(file, "Contraseña"), true) == 0)
{
SendClientMessage(playerid, -1, "Te logeaste correctamente");
}
else
{
ShowPlayerDialog(playerid, DLOGIN, DIALOG_STYLE_PASSWORD, "Login", "Intruduce tu contraseña para jugar", "Login", "Salir");
}
}
else
{
Kick(playerid);
}
return 1;
}
return 0;
}
stock rNick(playerid)
{
new nombre[MAX_PLAYER_NAME];
GetPlayerName(playerid, nombre, sizeof(nombre));
return nombre;
}
El include DINI: http://puu.sh/1FLFG
Créditos del code: Yo.
Créditos de DINI: dragoblue.
PD: Solo hice que guardara la contraseña, si quieres que guarde otra cosa dime y se lo agrego.