[AYUDA] Guardar Pass con Dini
#1

Hola lo q pasa es q quiero saver si puedo hacer q dini guarde la pass verdadera no con num_hash O Lo q sea ya q lo necesito urgente porq si alguien olvida la pass? Como desifrare el Num :S.
Reply
#2

Simplemente no lo haras. Creas un cmd que usen los admins rcon (o maximo nivel de tu script) el cual genere una contraseсa nueva y la guarde. Esta contraseсa se la envias al usuario y listo.
Reply
#3

Quote:
Originally Posted by the_chaoz
Посмотреть сообщение
Simplemente no lo haras. Creas un cmd que usen los admins rcon (o maximo nivel de tu script) el cual genere una contraseсa nueva y la guarde. Esta contraseсa se la envias al usuario y listo.
Gracias nose me habia ocurrido jeje

Me podrias dejar un ejemplo?
Reply
#4

pawn Код:
dcmd_newpass(playerid, params[]){
    if(!IsPlayerAdmin(playerid))return 0;
    if(!strlen(params))return SendClientMessage(playerid, 0xFFFFFFFF, "Uso: /newpass <usuario>");
    new str[128];
    format(str, 128, "/Usuarios/%s.ini", params);
    if(!fexist(str))return SendClientMessage(playerid, 0xFF0000FF, "Error: Esa cuenta no existe.");
    new Pass[9];
    Pass = GeneratePass();
    dini_Set(str, "Password", Pass);
    new id = GetIdFromName(params);
    if(IsPlayerConnected(id)){
        format(str, 128, "Tu nueva contraseсa es %s", Pass);
        SendClientMessage(id, 0xFFFF00FF, str);
        format(str, 128, "La contraseсa de %s(%i) fue cambiada exitosamente.", params, id);
        return SendClientMessage(playerid, 0x00FF00FF, str);
    }
    format(str, 128, "La contraseсa de %s fue cambiada exitosamente. Cuidado el jugador no estaba conectado y no sabe su nueva contraseсa.", params);
    return SendClientMessage(playerid, 0xFFFF00FF, str);
}

GeneratePass()
{
    new tmp[9];
    new stra[] = "abcdefghijklmnopqrstuvqxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    while(strlen(tmp) != sizeof(tmp)-1){
        new rnd = random(sizeof(stra));
        new rnd2 = random(8);
        tmp[rnd2] = stra[rnd];
    }
    return tmp;
}

GetIDFromName(name[]){
    new i;
    for(; i<GetMaxPlayers(); i++)if(IsPlayerConnected(i) && !strcmp(name, pName(i), false))break;
    if(strcmp(name, pName(i), false))return -1;
    return i;
}
Lo hice aca y medio apurado xq me tengo que ir. espero que te funcione, si no mas tarde (tipo 5pm o 6pm Arg me vuelvo a conectar. suert)
Reply
#5

Jaja Ok, yo tambien soy de arg

Me tira este error mira:

Код:
D:\Programas\Proyecto PaRaDiSe - Rp\--RolePlay-- Paradise-RP\gamemodes\SLV-RP.pwn(26388) : error 017: undefined
aca te dejo la linea:

Код:
new id = GetIdFromName(params);
Reply
#6

Quote:
Originally Posted by digman
Посмотреть сообщение
Jaja Ok, yo tambien soy de arg

Me tira este error mira:

Код:
D:\Programas\Proyecto PaRaDiSe - Rp\--RolePlay-- Paradise-RP\gamemodes\SLV-RP.pwn(26388) : error 017: undefined
aca te dejo la linea:

Код:
new id = GetIdFromName(params);
Undefined... y ahн te quedaste
Seguramente te dice "Undefined symbol 'params'".
Tenes que definir los dcmd, o no se que te dice xD
Si es ese el error, responde que te digo como pasarlo a dcmd.
Reply
#7

Pienso q puede ser eso me dices como pasarlo a DCMD?
Reply
#8

Quote:
Originally Posted by digman
Посмотреть сообщение
Jaja Ok, yo tambien soy de arg

Me tira este error mira:

Код:
D:\Programas\Proyecto PaRaDiSe - Rp\--RolePlay-- Paradise-RP\gamemodes\SLV-RP.pwn(26388) : error 017: undefined
aca te dejo la linea:

Код:
new id = GetIdFromName(params);
remplaza la linea con esta
pawn Код:
new id = GetIDFromName(params); //la "D" es mayuscula
Reply
#9

Quote:
Originally Posted by Daniel-92
Посмотреть сообщение
remplaza la linea con esta
pawn Код:
new id = GetIDFromName(params); //la "D" es mayuscula
Che me funciono eso pero ahora el problema es el pName

pawn Код:
D:\Programas\Proyecto PaRaDiSe - Rp\--RolePlay-- Paradise-RP\gamemodes\SLV-RP.pwn(26471) : error 017: undefined symbol "pName"
D:\Programas\Proyecto PaRaDiSe - Rp\--RolePlay-- Paradise-RP\gamemodes\SLV-RP.pwn(26472) : error 017: undefined symbol "pName"
D:\Programas\Proyecto PaRaDiSe - Rp\--RolePlay-- Paradise-RP\gamemodes\SLV-RP.pwn(52780) : warning 219: local variable "pName" shadows a variable at a preceding level
Aca las lineas:
pawn Код:
esta en el comando /arresto:
new pName[MAX_PLAYER_NAME];
pawn Код:
Tambien me tira en el GetIDFromName(name[]) :
for(; i<GetMaxPlayers(); i++)if(IsPlayerConnected(i) && !strcmp(name, pName(i), false))break;
if(strcmp(name, pName(i), false))return -1;
Reply
#10

pawn Код:
pName(playerid)
{
    new n[MAX_PLAYER_NAME];
    GetPlayerName(playerid, n, MAX_PLAYER_NAME);
    return n;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)