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.
|
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;
}
D:\Programas\Proyecto PaRaDiSe - Rp\--RolePlay-- Paradise-RP\gamemodes\SLV-RP.pwn(26388) : error 017: undefined
new id = GetIdFromName(params);
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 Код:
new id = GetIdFromName(params); |
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 Код:
new id = GetIdFromName(params); |
new id = GetIDFromName(params); //la "D" es mayuscula
remplaza la linea con esta
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
esta en el comando /arresto:
new pName[MAX_PLAYER_NAME];
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;
pName(playerid)
{
new n[MAX_PLAYER_NAME];
GetPlayerName(playerid, n, MAX_PLAYER_NAME);
return n;
}