[Ajuda] Nao salva as Contas
#1

Olha eu aqui denovo para minha tristeza hehe =)
2 problemas =)
As contas nao salvam, nao vгo para a pasta
Tem vez que vocк nasce e a camera fica travada e vc andando...

Linhas das cordenada :
Код:
public OnGameModeInit()
{
	// Don't use these lines if it's a filterscript
	SetGameModeText("Blank Script");
	AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
	return 1;
}
//
public OnPlayerRequestClass(playerid, classid)
{
	SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
	return 1;
}
Codigo do Sistema POR COMPLETO!!
pawn Код:
#include <a_samp>
#include <Double-O-Files_2>

#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2

enum pInfo
{
    pKills,
    pDeaths,
    pMoney,
    pAdmin
}
new PlayerInfo[MAX_PLAYERS][pInfo];
//
public OnPlayerConnect(playerid)
{
    new file[64]; // We declare the size of the file
    GetPlayerName(playerid,file,sizeof(file)); // We get the file name
    format(file,sizeof(file),DOF2_File(file));// Here we get the path from DOF2_File (/Users)
    if(DOF2_FileExists(file)) // We check if the player is registered
    {
        ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"Welcome.Please log-in","{FFFFFF}Type your {00FF22}password {FFFFFF}here to log-in","Log-in","Quit");
        // The log-in dialog will pop up
    }
    else // If not registered
    {
        ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Please register!","{FFFFFF}Type your {00FF22}password {FFFFFF}here to register.","Register","Quit");
        // The register dialog will pop up
    }
    return 1;
}
//
public OnPlayerDisconnect(playerid, reason)
{
    new file[64]; // We declare the size of the file
    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)
    DOF2_SetInt(file, "Kills",PlayerInfo[playerid][pKills]); // We set/update the players settings.
    DOF2_SetInt(file, "Deaths",PlayerInfo[playerid][pDeaths]);
    DOF2_SetInt(file, "Money",PlayerInfo[playerid][pMoney]);
    DOF2_SetInt(file, "AdminLevel",PlayerInfo[playerid][pAdmin]);
    return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{

    PlayerInfo[killerid][pKills]++; // Will increase the killerid kills
    PlayerInfo[playerid][pDeaths]++; // Will increase the playerid ( the one who died ) the deaths.
    return 1;
}
//
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid) // We switch our dialog id's
    {
        case DIALOG_REGISTER: // If the dialog_register shows up ( id 1111)
        {
            if(!response) Kick(playerid); // If he click on Quit, he will get kicked
            if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Please register!","{FFFFFF}Type your {00FF22}password {FFFFFF}here to register.","Register","Quit");
            // If he doesn't type anything, the dialog will show again.
            if(response) // If he click on Register
            {
                new file[64]; // We declare the size of the file
                GetPlayerName(playerid,file,sizeof(file)); // We get the file name
                format(file,sizeof(file),DOF2_File(file)); // We get the path name from DOF2_File, that means from Users folder.
                DOF2_CreateFile(file, inputtext); // Creates the file and the password.
                DOF2_SetInt(file, "Kills", 0); // When the player register his kills will be set to 0, you can change
                DOF2_SetInt(file, "Deaths", 0); // His deaths will be set to 0, you can change
                DOF2_SetInt(file, "Money", 1000); // His money will be set to 1000, you can change
                DOF2_SetInt(file, "AdminLevel", 0); // His Admin Level will be set to 0, you can change
                DOF2_SaveFile(); // Saves the file.
                SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0); // Sets where the player will spawn, this coordinates are from the Unity Station in Los Santos
                SpawnPlayer(playerid); // After registering, the player will spawn.
            }
        }
        case DIALOG_LOGIN: // If dialog_login (id 2222) shows up
        {
            if(!response) Kick(playerid); // If he click on Quit, he will get kicked.
            if(response) // If he click on Log-in
            {
                new file[64]; // We declare the size of the file
                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][pKills] = DOF2_GetInt(file,"Kills"); // We load our settings
                        PlayerInfo[playerid][pDeaths] = DOF2_GetInt(file,"Deaths");
                        PlayerInfo[playerid][pMoney] = DOF2_GetInt(file,"Money");
                        PlayerInfo[playerid][pAdmin] = DOF2_GetInt(file,"AdminLevel");
                        SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0); // We set the spawn (Unity Station)
                        SpawnPlayer(playerid); // The player spawns after log-in
                        GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]); // We give the player his money
                        return 1;
                    }
                    else // If the password don't match, they will get an error
                    {
                        ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"Wrong Password!","{F81414}You have typed a wrong password\n{FFFFFF}Type your password here to log-in!","Log-in","Quit");
                    }
                }
            }
        }
    }
    return 1;
}
// /\
Reply
#2

Em OnPlayerDisconnect DOF2_SaveFile();
Reply
#3

Nao deu certo
Sem erro de compilamento
pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
    DOF2_SaveFile();
    new file[64]; // We declare the size of the file
    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)
    DOF2_SetInt(file, "Kills",PlayerInfo[playerid][pKills]); // We set/update the players settings.
    DOF2_SetInt(file, "Deaths",PlayerInfo[playerid][pDeaths]);
    DOF2_SetInt(file, "Money",PlayerInfo[playerid][pMoney]);
    DOF2_SetInt(file, "AdminLevel",PlayerInfo[playerid][pAdmin]);
    return 1;
}
Reply
#4

Coloque na ultima linha:
pawn Код:
public OnPlayerDisconnect(playerid, reason)
{

    new file[64]; // We declare the size of the file
    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)
    DOF2_SetInt(file, "Kills",PlayerInfo[playerid][pKills]); // We set/update the players settings.
    DOF2_SetInt(file, "Deaths",PlayerInfo[playerid][pDeaths]);
    DOF2_SetInt(file, "Money",PlayerInfo[playerid][pMoney]);
    DOF2_SetInt(file, "AdminLevel",PlayerInfo[playerid][pAdmin]);
    DOF2_SaveFile();
    return 1;
}
Reply
#5

Eu entro do /q e nao adianta nada
Shocc acho que й outra parte do codigo.
Revisa ele todo la encima =D
Acho que nao ta DEFININDO para que pasta vai os arquivos
Reply
#6

Achei cade o local de salvamento do usuario??
Reply
#7

Use uma diretiva
#define USER_PATCH "ExemploPasta/%s.ini"

format( USER_FILE_VAR, sizeof( USER_FILE_VAR ), USER_PATCH, nome );
Reply
#8

Nao entendi
o nome da pasta й Contas
me passa essa linha formada pois nao entendi '-'
Reply
#9

Veja como exemplo meu filterscript
Vai ter uma base de uma boa forma..
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)