31.01.2013, 15:14
Hi all, I have a server with a registration system dialog, but all of this, I have no hash and do not even know how to do it.
I tried Whirpool, but I only made things worse.
I publish my recording system:
I'm Italian
I tried Whirpool, but I only made things worse.
Код HTML:
Already functioning system login, but I would like to put a hash
Код:
public LoginDialog(playerid)
{
new accstring[128];
format(accstring, sizeof(accstring), "CRP_Scriptfiles/Accounts/%s.ini", PlayerName(playerid));
new File: hFile = fopen(accstring, io_read);
if (hFile)
{
fclose(hFile);
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
new girismsg[256];
format(girismsg,256,"{54da00}Benvenuto {54da00}utente,{54da00}Digita la {54da00}tua password:");//54da00 //ffffff //ff0000
ShowPlayerDialog(playerid,12346,DIALOG_STYLE_INPUT,"Login",girismsg,"Login","Esci");
}
else
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
new kayitmsg[256];
format(kayitmsg,256,"{ff0000}Benvenuto utente,{ff0000}Digita la {ff0000}password desiderata:");
ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Registrazione",kayitmsg,"Registrati","Esci");
}
return 1;
}
Код:
public OnPlayerLogin(playerid,password[])
{
new string2[128];
format(string2, sizeof(string2), "CRP_Scriptfiles/Accounts/%s.ini", PlayerName(playerid));
new File: UserFile = fopen(string2, io_read);
if ( UserFile )
{
new PassData[256];
new keytmp[256], valtmp[256];
fread( UserFile , PassData , sizeof( PassData ) );
keytmp = ini_GetKey( PassData );
if( strcmp( keytmp , "Key" , true ) == 0 )
{
valtmp = ini_GetValue( PassData );
strmid(PlayerInfo[playerid][pKey], valtmp, 0, strlen(valtmp)-1, 255);
}
if(strcmp(PlayerInfo[playerid][pKey],password, true ) == 0 )
{
new key[ 256 ] , val[ 256 ];
new Data[ 256 ];
while ( fread( UserFile , Data , sizeof( Data ) ) )
{
key = ini_GetKey( Data );
if( strcmp( key , "Level" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pLevel] = strval( val ); }
if( strcmp( key , "AdminLevel" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pAdmin] = strval( val ); }
if( strcmp( key , "DonateRank" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDonateRank] = strval( val ); }
if( strcmp( key , "Registered" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pRegistered] = strval( val ); }
if( strcmp( key , "Sex" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pSex] = strval( val ); }
if( strcmp( key , "City" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCity] = strval( val ); }
if( strcmp( key , "Helper" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pHelper] = strval( val ); }
}
fclose(UserFile);
}
else
{
SendClientMessage(playerid, COLORETARGA, "{54da00}Passwo{54da00}rd Err{54da00}ata!");
new name[MAX_PLAYER_NAME];
tentativilogin[playerid] += 1;
if(tentativilogin[playerid] == 3) { Kick(playerid); }
GetPlayerName(playerid, name, sizeof(name));
new girismsg[256];
format(girismsg,256,"{ffffff}Hai inserito una {ffffff}password errata, {ffffff}Inserisci la password:");
ShowPlayerDialog(playerid,12346,DIALOG_STYLE_INPUT,"login",girismsg,"Login","Esci");
fclose(UserFile);
return 1;
}
if(PlayerInfo[playerid][pFaction] != 255)
{
if(DynamicFactions[PlayerInfo[playerid][pFaction]][fUseColor])
{
SetPlayerToFactionColor(playerid);
}
}
else
{
SetPlayerColor(playerid,COLOR_CIVILIAN);
}
if(PlayerInfo[playerid][pBanned])
{
SendClientMessage(playerid, COLOR_LIGHTRED, "Rifatti un account, perche questo и Bannato");
KickPlayer(playerid,"GH","account bannato");
}
if(PlayerInfo[playerid][pRegistered] == 0)
{
TogglePlayerControllable(playerid,1);
PlayerInfo[playerid][pLevel] = 1;
PlayerInfo[playerid][pBank] = 0;
PlayerInfo[playerid][pSkin] = 29;
PlayerInfo[playerid][pCash] = 0;
gPlayerLogged[playerid] = 1;
SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin],CivilianSpawn[X],CivilianSpawn[Y],CivilianSpawn[Z],0,0,0,0,0,0,0);
SpawnPlayer(playerid);
SetTimerEx("TempoCasaCJ", 1000, false, "i", playerid);
SpawnCasa[playerid] = 1;
SetPlayerCash(playerid,PlayerInfo[playerid][pCash]);
ShowPlayerDialog(playerid,19,DIALOG_STYLE_INPUT,"Etи","Quanti anni vuoi avere? Digita un etи tra 1 a 100 anni","Avanti","Annulla");
PlayerPlaySound(playerid, 1069, 0.0, 0.0, 0.0);
// ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Di dove sei?","BAYSIDE/nLAS VENTURAS/nLOS SANTOS/nFORT CARSON/nSAN FIERRO","Ok","Annulla");
}
if(PlayerInfo[playerid][pRegistered] == 1)
{
SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);
SetPlayerCash(playerid,PlayerInfo[playerid][pCash]);
gPlayerLogged[playerid] = 1;
SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin],CivilianSpawn[X],CivilianSpawn[Y],CivilianSpawn[Z],0,0,0,0,0,0,0);
SpawnPlayer(playerid);
SetPlayerColor(playerid,COLOR_CIVILIAN);
PlayerPlaySound(playerid, 1069, 0.0, 0.0, 0.0);
}
}
return 1;
}
Код:
else if(dialogid == 12345)
{
if (response == 1)
{
if(strlen(inputtext))
{
OnPlayerRegister(playerid,inputtext);
OnPlayerLogin(playerid,inputtext);
}
else if(!strlen(inputtext))
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
new kayitmsg[256];
format(kayitmsg,256,"Benvenuto utente\nDigita la password desiderata:");
ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Registrazione",kayitmsg,"Registrati","Esci");
}
}
else
{
Kick(playerid);
}
}
else if(dialogid == 12346)
{
if (response == 1)
{
if(strlen(inputtext))
{
OnPlayerLogin(playerid,inputtext);
}
else if(!strlen(inputtext))
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
new girismsg[256];
format(girismsg,256,"Benvenuto utente\nDigita la tua password:");
ShowPlayerDialog(playerid,12346,DIALOG_STYLE_INPUT,"Login",girismsg,"Login","Esci");
}
}
else
{
Kick(playerid);
}
}


