pawn Код:
#define DIALOG_REGISTER 1 //Dialog de registro
#define DIALOG_LOGIN 2 //Dialog de login
enum player_info
{
pAdmin,
pGrana,
pMatou,
pMorreu,
}
new PlayerInfo[MAX_PLAYERS][player_info];
public OnPlayerConnect(playerid)
{
new nome[128];
GetPlayerName(playerid,nome,sizeof(nome));
format(nome,sizeof(nome),DOF2_File(nome));
if(DOF2_FileExists(nome))
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"Logando-se","{FFFFFF}Bem vindo novamente. para pode jogar digite sua senha abaixo:","Logar","Sair");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Registrando-se","{FFFFFF}Bem vindo ao servidor, para pode jogar registre\numa conta e assim tambйm seus dados serгo salvos.","Registrar","Cancelar");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new file[64];
GetPlayerName(playerid,file,sizeof(file));
format(file,sizeof(file),DOF2_File(file));
DOF2_SetInt(file,"Matou",PlayerInfo[playerid][pMatou]);
DOF2_SetInt(file,"Morreu",PlayerInfo[playerid][pMorreu]);
DOF2_SetInt(file,"Grana",PlayerInfo[playerid][pGrana]);
DOF2_SetInt(file,"Admin",PlayerInfo[playerid][pAdmin]);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
PlayerInfo[killerid][pMatou]++;
PlayerInfo[playerid][pMorreu]++;
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_INPUT,"Registrando-se","{FFFFFF}Bem vindo ao servidor, para pode jogar registre\numa conta e assim tambйm seus dados serгo salvos.","Registrar","Sair");
if(response)
{
new file[64];
GetPlayerName(playerid,file,sizeof(file));
format(file,sizeof(file),DOF2_File(file));
DOF2_CreateFile(file, inputtext);
DOF2_SetInt(file,"Matou", 0);
DOF2_SetInt(file,"Morreu", 0);
DOF2_SetInt(file,"Grana", 0);
DOF2_SetInt(file,"Admin", 0);
DOF2_SaveFile();
SpawnPlayer(playerid);
}
}
case DIALOG_LOGIN:
{
if(!response) Kick(playerid);
if(response)
{
new file[64];
GetPlayerName(playerid,file,sizeof(file)); // We get the file name
format(file,sizeof(file),DOF2_File(file)); // We get the user path from DOF2_File ( folder Users )
if(DOF2_FileExists(file)) // If he is registered
{
if(DOF2_CheckLogin(file,inputtext)) // We check if the password match
{
PlayerInfo[playerid][pMatou] = DOF2_GetInt(file,"Matou");
PlayerInfo[playerid][pMorreu] = DOF2_GetInt(file,"Morreu");
PlayerInfo[playerid][pGrana] = DOF2_GetInt(file,"Grana");
PlayerInfo[playerid][pAdmin] = DOF2_GetInt(file,"Admin");
SpawnPlayer(playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][pGrana]);
return 1;
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"Senha Incorreta","{FFFFFF}Vocк digitou a senha errada para essa conta!","Logar","Cancelar");
return 1;
}
}
}
}
}
return 1;
}
public OnFilterScriptExit()
{
DOF2_Exit();
return 1;
}