Detaljan opis problema: Nece da mi se save account svaki put moram register neznam zas evo cijeli log reg sistem
Dio skripte:
/* Double-O-Files_2 register & login tutorial by SmiT
Credits goes to: Double-O-Seven */
#include
#include
#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
#define UserPath "Accounti/%s.ini"
#define WHITE "{FFFFFF}"
#define RED "{F81414}"
#define GREEN "{00FF22}"
enum P_ENUM
{
pMoney,
pAdminLevel,
pKills,
pDeaths,
pSkin
}
new PlayerInfo[ MAX_PLAYERS ][ P_ENUM ];
stock USER_FILE(playerid)
{
new
STR[ 128 ],
P_NAME[ MAX_PLAYER_NAME ];
GetPlayerName( playerid, P_NAME, sizeof ( P_NAME ) );
format( STR, sizeof ( STR ), USER_FILE_PATH, P_NAME);
return
STR;
}
stock Load_Player_Stats(playerid)
{
PlayerInfo[ playerid ][ pKills ] = DOF2_GetInt( USER_FILE( playerid ),"Killovi");
PlayerInfo[ playerid ][ pDeaths ] = DOF2_GetInt( USER_FILE( playerid ),"Smrti");
PlayerInfo[ playerid ][ pMoney ] = DOF2_GetInt( USER_FILE( playerid ),"Novac");
PlayerInfo[ playerid ][ pAdminLevel ] = DOF2_GetInt( USER_FILE( playerid ),"AdminLevel");
PlayerInfo[ playerid ][ pSkin ] = DOF2_GetInt( USER_FILE( playerid ),"Skin");
GivePlayerMoney(playerid, PlayerInfo[ playerid ][ pMoney ]);
}
public OnFilterScriptInit()
{
return 1;
}
public OnFilterScriptExit()
{
DOF2_Exit();
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
return 1;
}
public OnPlayerConnect(playerid)
{
if( DOF2_FileExists ( USER_FILE ( playerid ) ) )
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"Dobrodosli nazad!","Dobrodosli nazad!\n Upisite lozinku kako bi nastavili igrati na ovome serveru\n Imate 3 pokusaja","Login","Quit");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Dobrodosli!","Dobrodosli!\n Prvi put ste na ovome serveru morate se registrirati\n Upisite lozinku","Register","Quit");
SetPlayerSkin(playerid,1);
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch( dialogid )
{
case DIALOG_REGISTER:
{
if ( !response ) return Kick( playerid );
if( response )
{
if( !strlen ( inputtext ) ) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"a","a","Log-in","Quit");
DOF2_CreateFile( USER_FILE ( playerid ), inputtext );
DOF2_SetInt( USER_FILE ( playerid ), "Kills", 0);
DOF2_SetInt( USER_FILE ( playerid ), "Deaths", 0);
DOF2_SetInt( USER_FILE ( playerid ), "Money", 5000);
DOF2_SetInt( USER_FILE ( playerid ), "AdminLevel", 0);
DOF2_SetInt( USER_FILE ( playerid ), "Skin", 1);
DOF2_SaveFile();
GivePlayerMoney(playerid, 5000);
}
}
case DIALOG_LOGIN:
{
if ( !response ) return Kick( playerid );
if( response )
{
if( DOF2_CheckLogin( USER_FILE( playerid ), inputtext ) )
{
Load_Player_Stats(playerid);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""RED"Pogresna lozinka!",""RED"Upisali ste pogresnu lozinku molimo ponovite\n Imate jos 2 pukusaja","Login","Quit");
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""RED"Pogresna lozinka!",""RED"Upisali ste pogresnu lozinku molimo ponovite\n Imate jos 1 pukusaja","Login","Quit");
}
return 1;
}
}
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
DOF2_SetInt( USER_FILE ( playerid ), "Killovi", PlayerInfo[ playerid ][ pKills ] );
DOF2_SetInt( USER_FILE ( playerid ), "Smrti", PlayerInfo[ playerid ][ pDeaths ] );
DOF2_SetInt( USER_FILE ( playerid ), "Novac", GetPlayerMoney( playerid ) );
DOF2_SetInt( USER_FILE ( playerid ), "AdminLevel", PlayerInfo[ playerid ][ pAdminLevel ] );
DOF2_SetInt( USER_FILE ( playerid ), "Skin", GetPlayerSkin( playerid ) );
DOF2_SaveFile();
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
if( killerid != INVALID_PLAYER_ID )
{
PlayerInfo[ playerid ][ pKills ] ++;
}
PlayerInfo[ playerid ][ pDeaths ] ++;
return 1;
}
Neke slike/video za lakse dobivanje pomoci(neobavezno):
