Ahoj, problém s ukládáním peněz hráče jsem díky DNLS vyřešil, ale stále mi zbývá ukládání úmrtí a zabití.
Kód:
#include <a_samp>
#include <dof2>
#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
enum pInfo
{
pKills,
pDeaths,
pMoney,
pAdmin
}
new PlayerInfo[MAX_PLAYERS][pInfo];
public OnFilterScriptExit()
{
DOF2_Exit();
return 1;
}
public OnPlayerConnect(playerid)
{
new file[64];
GetPlayerName(playerid,file,sizeof(file));
format(file,sizeof(file),DOF2_File(file));
if(DOF2_FileExists(file))
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"{FFFFFF}Přihlášení","{FFFFFF}Ahoj! Rádi tě tu opět vidíme, prosím zadej své heslo:","Přihlásit","Zavřít");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD,"{FFFFFF}Registrování","{FFFFFF}Ahoj! Vidíme že jsi zde nový, prosím zadej své heslo:","Registrovat","Zavřít");
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case DIALOG_REGISTER:
{
if(!response) Kick(playerid);
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD,"{FFFFFF}Registrování","{FFFFFF}Ahoj! Vidíme že jsi zde nový, prosím zadej své heslo:","Registrovat","Zavřít");
if(response)
{
new file[64];
GetPlayerName(playerid,file,sizeof(file));
format(file,sizeof(file),DOF2_File(file));
DOF2_CreateFile(file, inputtext);
DOF2_SetInt(file, "Kills", 0);
DOF2_SetInt(file, "Deaths", 0);
DOF2_SetInt(file, "Money", 5000);
DOF2_SetInt(file, "AdminLevel", 0);
DOF2_SaveFile();
SetPlayerPos(playerid, 1682.8357,-2240.7712,13.5469);
}
}
case DIALOG_LOGIN:
{
if(!response) Kick(playerid);
if(response)
{
new file[64];
GetPlayerName(playerid,file,sizeof(file));
format(file,sizeof(file),DOF2_File(file));
if(DOF2_FileExists(file))
{
if(DOF2_CheckLogin(file,inputtext))
{
PlayerInfo[playerid][pKills] = DOF2_GetInt(file,"Kills");
PlayerInfo[playerid][pDeaths] = DOF2_GetInt(file,"Deaths");
PlayerInfo[playerid][pMoney] = DOF2_GetInt(file,"Money");
PlayerInfo[playerid][pAdmin] = DOF2_GetInt(file,"AdminLevel");
GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
return 1;
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"{FFFFFF}Nesprávné heslo!","{FFFFFF}Zadal jsi nesprávné heslo! Zadej prosím své heslo:","Přihlásit","Zavřít");
return 1;
}
}
}
}
}
return 0;
}
public OnPlayerDisconnect(playerid, reason)
{
new file[64];
GetPlayerName(playerid,file,sizeof(file));
format(file,sizeof(file),DOF2_File(file));
DOF2_SetInt(file, "Kills",PlayerInfo[playerid][pKills]);
DOF2_SetInt(file, "Deaths",PlayerInfo[playerid][pDeaths]);
DOF2_SetInt(file, "Money",GetPlayerMoney(playerid));
DOF2_SetInt(file, "AdminLevel",PlayerInfo[playerid][pAdmin]);
DOF2_SaveFile();
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
PlayerInfo[killerid][pKills]++;
PlayerInfo[playerid][pDeaths]++;
return 1;
}