pawn Код:
enum pInfo
{
Adm,
Skin,
};
new PlayerInfo[MAX_PLAYERS][pInfo];
stock SalvarPlayer(playerid)//Inicio da Stock de salvar os dados do player
{//abre a stock
new file[70],nome[MAX_PLAYER_NAME];//File = Serб usada para formatar um texto com a pasta de onde й salvo as contas e o nome do player
//nome = onde serб armazenado o nome do player
GetPlayerName(playerid, nome, sizeof(nome));//Pega o nome do player
format(file,sizeof(file),"Contas/%s.ini", nome);//formata o texto falado acima
INI_Open(file);//abre o arquivo e caso nгo exista ele cria
PlayerInfo[playerid][Skin] = GetPlayerSkin(playerid);
INI_WriteInt("Skin", PlayerInfo[playerid][Skin]);//Seta o valor de PlayerDados[playerid][Skin] no arquivo
INI_WriteInt("Admin", PlayerInfo[playerid][Adm]);//Seta o valor de PlayerInfo[playerid][Adm] no arquivo
INI_WriteInt("Score", GetPlayerScore(playerid));//Seta o score "Getado" no arquivo
INI_Save();//Salva o arquivo
INI_Close();//fecha o arquivo
return 1;//retorna 1
}//fecha a stock
stock CarregarPlayer(playerid)//inicio da stock de carregar os dados do player
{//abre a stock
new file[70],nome[MAX_PLAYER_NAME];//File = Serб usada para formatar um texto com a pasta de onde й salvo as contas e o nome do player
//nome = onde serб armazenado o nome do player
GetPlayerName(playerid, nome, sizeof(nome));//Pega o nome do player
format(file,sizeof(file),"Contas/%s.ini", nome);//formata o texto falado acima
INI_Open(file);//abre o arquivo
PlayerInfo[playerid][Skin] = INI_ReadInt("Skin");//le o valor que esta na tag Skin dentro do arquivo e iguala a variavel do player
SetPlayerScore(playerid, INI_ReadInt("Score"));//le o valor que esta na tag Score dentro do arquivo e seta como Score do player
PlayerInfo[playerid][Adm] = INI_ReadInt("Admin");//le o valor que esta na tag Admin dentro do arquivo e seta como nivel de adm do player
INI_Close();//fecha o arquivo
return 1;//retorna 1
}//fecha a stock
By humildadeforever
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;
}