Y_ini or Dini converting [REP+++]
#1

Can you help me with saving system, I have some bugs with it.
Well I wanna make a new saving system. I using PPC gamemode.
and I want to convert saving system to Y_ini or Dini, idk witch is better.
So can you help me?
and can you convert it for me. I'll repp you.

Why I want to convert it?
Well to some player houses, money and score getting deleted, Why? IDK...

The saving code (include) is attached.
Reply
#2

Can anyone help me?
Btw does anyone know why houses and money is missing for players? Will it be fixed with y_ini?
Pls help, I can pay if you fix the bug...
Reply
#3

Have you tried by yourself ? i think no-one could make it for you , converting it very easy just take a look here you'll learn also : https://sampforum.blast.hk/showthread.php?pid=1138420#pid1138420
Reply
#4

free tip...dont use dini....its slow
Reply
#5

I was try to make it, I was have 24 errors, some argument 3 was missing. And a lot of other errors...
Btw did you see this saving sys thet I'm using, is it good?
Reply
#6

It's default sa-mp file functions (fwrite , fread , fclose , etc) that's good but dini is better also dini is very old and slow and outdated , just use Y_INI that's perfect for file functions and show us errors you get !
Reply
#7

Код:
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(12) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(13) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(14) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(15) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(16) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(17) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(18) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(19) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(20) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(21) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(22) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(23) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(24) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(25) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(26) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(27) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(28) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(29) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(30) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(31) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(32) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(33) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(34) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(35) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(36) : error 035: argument type mismatch (argument 3)
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(37) : error 035: argument type mismatch (argument 3)

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


26 Errors.
THIS ARE ERRORS


Код:
// This function will create the player-datafile for the given player (only used when a new player joins the server)
PlayerFile_Create(playerid)
{
	new file[100], Name[24];
	format(Name, sizeof(Name), APlayerData[playerid][PlayerName]); // Get the playername
	format(file, sizeof(file), PlayerFile, Name); // Construct the complete filename for this player's account



	new INI:ini = INI_Open(file);
	INI_WriteString(ini, "Password", APlayerData[playerid][PlayerPassword]);
	INI_WriteInt(ini, "Level", "0");
	INI_WriteInt(ini, "Jailed", "0");
	INI_WriteInt(ini, "Wanted", "0");
	INI_WriteInt(ini, "Bans", "0");
	INI_WriteInt(ini, "BanTime", "0");
	INI_WriteInt(ini, "TruckerLicense", "0");
	INI_WriteInt(ini, "StatsMetersDriven", "0");
	INI_WriteInt(ini, "StatsTruckerJobs", "0");
	INI_WriteInt(ini, "StatsConvoyJobs", "0");
	INI_WriteInt(ini, "StatsBusDriverJobs", "0");
	INI_WriteInt(ini, "StatsPilotJobs", "0");
	INI_WriteInt(ini, "StatsMafiaJobs", "0");
	INI_WriteInt(ini, "StatsMafiaStolen", "0");
	INI_WriteInt(ini, "StatsPoliceFined", "0");
	INI_WriteInt(ini, "StatsPoliceJailed", "0");
	INI_WriteInt(ini, "StatsMedicJobs", "0");
	INI_WriteInt(ini, "StatsTaxiJobs", "0");
	INI_WriteInt(ini, "StatsMilitaryJobs", "0");
	INI_WriteInt(ini, "StatsRibarJobs", "0");
	INI_WriteInt(ini, "StatsIceJobs", "0");
	INI_WriteInt(ini, "StatsFarmerJobs", "0");
	INI_WriteInt(ini, "StatsTrainDriverJobs", "0");
	INI_WriteInt(ini, "StatsSumarJobs", "0");
	INI_WriteInt(ini, "PlayerDrugs", "0");
	INI_WriteInt(ini, "VIPLevel", "0");
	INI_WriteInt(ini, "Money", "0");
	INI_WriteInt(ini, "Score", "0");
	INI_Close(ini);	
	
	return 1;
}

// This function will load the player's datafile (used when a player connects to the server)
PlayerFile_Load(playerid)
{
	// Setup local variables
	new file[100], Name[24], HouseIndex, BusIndex;

	format(Name, sizeof(Name), APlayerData[playerid][PlayerName]); // Get the playername
	format(file, sizeof(file), PlayerFile, Name); // Construct the complete filename for this player's account
	
	new INI:ini = INI_Open(file);
	INI:ini(playerid, name[], value[])
	{
		INI_String(ini, "Password", APlayerData[playerid][PlayerPassword], 20);
		INI_Int(ini, "Level", APlayerData[playerid][PlayerLevel]);
		INI_Int(ini, "Jailed", APlayerData[playerid][PlayerJailed]);
		INI_Int(ini, "Wanted", PostaviWantedLevel(playerid value[]));
		INI_Int(ini, "Bans", APlayerData[playerid][Bans]);
		INI_Int(ini, "BanTime", APlayerData[playerid][BanTime]);
		INI_Int(ini, "TruckerLicense", APlayerData[playerid][TruckerLicense]);
		INI_Int(ini, "StatsMetersDriven", APlayerData[playerid][StatsMetersDriven]);
		//INI_String(ini, "Muted", APlayerData[playerid][Muted]);
		INI_Int(ini, "StatsTruckerJobs", APlayerData[playerid][StatsTruckerJobs]);
		INI_Int(ini, "StatsConvoyJobs", APlayerData[playerid][StatsConvoyJobs]);
		INI_Int(ini, "StatsBusDriverJobs", APlayerData[playerid][StatsBusDriverJobs]);
		INI_Int(ini, "StatsPilotJobs", APlayerData[playerid][StatsPilotJobs]);
		INI_Int(ini, "StatsMafiaJobs", APlayerData[playerid][StatsMafiaJobs]);
		INI_Int(ini, "StatsMafiaStolen", APlayerData[playerid][StatsMafiaStolen]);
		INI_Int(ini, "StatsPoliceFined", APlayerData[playerid][StatsPoliceFined]);
		INI_Int(ini, "StatsPoliceJailed", APlayerData[playerid][StatsPoliceJailed]);
		INI_Int(ini, "StatsMedicJobs", APlayerData[playerid][StatsMedicJobs]);
		INI_Int(ini, "StatsTaxiJobs", APlayerData[playerid][StatsTaxiJobs]);
		INI_Int(ini, "StatsMilitaryJobs", APlayerData[playerid][StatsMilitaryJobs]);
		INI_Int(ini, "StatsRibarJobs", APlayerData[playerid][StatsRibarJobs]);
		INI_Int(ini, "StatsIceJobs", APlayerData[playerid][StatsIceJobs]);
		INI_Int(ini, "StatsFarmerJobs", APlayerData[playerid][StatsFarmerJobs]);
		INI_Int(ini, "StatsTrainDriverJobs", APlayerData[playerid][StatsTrainDriverJobs]);
		INI_Int(ini, "StatsSumarJobs", APlayerData[playerid][StatsSumarJobs]);
		INI_Int(ini, "PlayerDrugs", APlayerData[playerid][PlayerDrugs]);
		INI_Int(ini, "VIPLevel", APlayerData[playerid][VIPLevel]);
		INI_Int(ini, "Money", APlayerData[playerid][Money]);
		INI_Int(ini, "Score", APlayerData[playerid][Score]);
		}
		return 1; // Return if the file was read correctly
	}
	else
	    return 0; // Return 0 if the file couldn't be read (doesn't exist)
}
THIS ARE CODES
Reply
#8

Try this.
pawn Код:
PlayerFile_Create(playerid)
{
    new file[100], Name[24];
    format(Name, sizeof(Name), APlayerData[playerid][PlayerName]); // Get the playername
    format(file, sizeof(file), PlayerFile, Name); // Construct the complete filename for this player's account



    new INI:ini = INI_Open(file);
    INI_WriteString(ini, "Password", APlayerData[playerid][PlayerPassword]);
    INI_WriteInt(ini, "Level", 0);
    INI_WriteInt(ini, "Jailed", 0);
    INI_WriteInt(ini, "Wanted", 0);
    INI_WriteInt(ini, "Bans", 0);
    INI_WriteInt(ini, "BanTime", 0);
    INI_WriteInt(ini, "TruckerLicense", 0);
    INI_WriteInt(ini, "StatsMetersDriven", 0);
    INI_WriteInt(ini, "StatsTruckerJobs", 0);
    INI_WriteInt(ini, "StatsConvoyJobs", 0);
    INI_WriteInt(ini, "StatsBusDriverJobs", 0);
    INI_WriteInt(ini, "StatsPilotJobs", 0);
    INI_WriteInt(ini, "StatsMafiaJobs", 0);
    INI_WriteInt(ini, "StatsMafiaStolen", 0);
    INI_WriteInt(ini, "StatsPoliceFined", 0);
    INI_WriteInt(ini, "StatsPoliceJailed", 0);
    INI_WriteInt(ini, "StatsMedicJobs", 0);
    INI_WriteInt(ini, "StatsTaxiJobs", 0);
    INI_WriteInt(ini, "StatsMilitaryJobs", 0);
    INI_WriteInt(ini, "StatsRibarJobs", 0);
    INI_WriteInt(ini, "StatsIceJobs", 0);
    INI_WriteInt(ini, "StatsFarmerJobs", 0);
    INI_WriteInt(ini, "StatsTrainDriverJobs", 0);
    INI_WriteInt(ini, "StatsSumarJobs", 0);
    INI_WriteInt(ini, "PlayerDrugs", 0);
    INI_WriteInt(ini, "VIPLevel", 0);
    INI_WriteInt(ini, "Money", 0);
    INI_WriteInt(ini, "Score", 0);
    INI_Close(ini);
   
    return 1;
}
You shouldn't use "" at writing an integer.
Reply
#9

That work.
Now i got this
pawn Код:
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(54) : warning 221: label name "INI" shadows tag name
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(54) : error 012: invalid function call, not a valid address
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(54) : warning 215: expression has no effect
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(54) : error 017: undefined symbol "name"
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(54) : error 029: invalid expression, assumed zero
C:\Users\Antonio\Desktop\Croatian Trucking\pawno\include\CT_FileOperations.inc(54) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.
pawn Код:
PlayerFile_Load(playerid)
{
    // Setup local variables
    new file[100], Name[24], HouseIndex, BusIndex;

    format(Name, sizeof(Name), APlayerData[playerid][PlayerName]); // Get the playername
    format(file, sizeof(file), PlayerFile, Name); // Construct the complete filename for this player's account
   
LINE 53 new INI:ini = INI_Open(file);
    INI:ini(playerid, name[], value[])
    {
        INI_String(ini, "Password", APlayerData[playerid][PlayerPassword], 20);
        INI_Int(ini, "Level", APlayerData[playerid][PlayerLevel]);
        INI_Int(ini, "Jailed", APlayerData[playerid][PlayerJailed]);
        INI_Int(ini, "Wanted", PostaviWantedLevel(playerid value[]));
        INI_Int(ini, "Bans", APlayerData[playerid][Bans]);
        INI_Int(ini, "BanTime", APlayerData[playerid][BanTime]);
        INI_Int(ini, "TruckerLicense", APlayerData[playerid][TruckerLicense]);
        INI_Int(ini, "StatsMetersDriven", APlayerData[playerid][StatsMetersDriven]);
        //INI_String(ini, "Muted", APlayerData[playerid][Muted]);
        INI_Int(ini, "StatsTruckerJobs", APlayerData[playerid][StatsTruckerJobs]);
        INI_Int(ini, "StatsConvoyJobs", APlayerData[playerid][StatsConvoyJobs]);
        INI_Int(ini, "StatsBusDriverJobs", APlayerData[playerid][StatsBusDriverJobs]);
        INI_Int(ini, "StatsPilotJobs", APlayerData[playerid][StatsPilotJobs]);
        INI_Int(ini, "StatsMafiaJobs", APlayerData[playerid][StatsMafiaJobs]);
        INI_Int(ini, "StatsMafiaStolen", APlayerData[playerid][StatsMafiaStolen]);
        INI_Int(ini, "StatsPoliceFined", APlayerData[playerid][StatsPoliceFined]);
        INI_Int(ini, "StatsPoliceJailed", APlayerData[playerid][StatsPoliceJailed]);
        INI_Int(ini, "StatsMedicJobs", APlayerData[playerid][StatsMedicJobs]);
        INI_Int(ini, "StatsTaxiJobs", APlayerData[playerid][StatsTaxiJobs]);
        INI_Int(ini, "StatsMilitaryJobs", APlayerData[playerid][StatsMilitaryJobs]);
        INI_Int(ini, "StatsRibarJobs", APlayerData[playerid][StatsRibarJobs]);
        INI_Int(ini, "StatsIceJobs", APlayerData[playerid][StatsIceJobs]);
        INI_Int(ini, "StatsFarmerJobs", APlayerData[playerid][StatsFarmerJobs]);
        INI_Int(ini, "StatsTrainDriverJobs", APlayerData[playerid][StatsTrainDriverJobs]);
        INI_Int(ini, "StatsSumarJobs", APlayerData[playerid][StatsSumarJobs]);
        INI_Int(ini, "PlayerDrugs", APlayerData[playerid][PlayerDrugs]);
        INI_Int(ini, "VIPLevel", APlayerData[playerid][VIPLevel]);
        INI_Int(ini, "Money", APlayerData[playerid][Money]);
        INI_Int(ini, "Score", APlayerData[playerid][Score]);
        }
        return 1; // Return if the file was read correctly
    }
    else
        return 0; // Return 0 if the file couldn't be read (doesn't exist)
}

EDIT:
Код:
#define PlayerFile "ServerData/Players/%s.ini"
Player file directory is defined...
Reply
#10

Try that.
pawn Код:
PlayerFile_Load(playerid)
{
    // Setup local variables
    new file[100], Name[24], HouseIndex, BusIndex;
    format(Name, sizeof(Name), APlayerData[playerid][PlayerName]); // Get the playername
    format(file, sizeof(file), PlayerFile, Name); // Construct the complete filename for this player's account
    new INI:ini = INI_Open(file);
    INI_String(ini, "Password", APlayerData[playerid][PlayerPassword], 20);
    INI_Int(ini, "Level", APlayerData[playerid][PlayerLevel]);
    INI_Int(ini, "Jailed", APlayerData[playerid][PlayerJailed]);
    INI_Int(ini, "Wanted", PostaviWantedLevel(playerid value[]));
    INI_Int(ini, "Bans", APlayerData[playerid][Bans]);
    INI_Int(ini, "BanTime", APlayerData[playerid][BanTime]);
    INI_Int(ini, "TruckerLicense", APlayerData[playerid][TruckerLicense]);
    INI_Int(ini, "StatsMetersDriven", APlayerData[playerid][StatsMetersDriven]);
   //INI_String(ini, "Muted", APlayerData[playerid][Muted]);
    INI_Int(ini, "StatsTruckerJobs", APlayerData[playerid][StatsTruckerJobs]);
    INI_Int(ini, "StatsConvoyJobs", APlayerData[playerid][StatsConvoyJobs]);
    INI_Int(ini, "StatsBusDriverJobs", APlayerData[playerid][StatsBusDriverJobs]);
    INI_Int(ini, "StatsPilotJobs", APlayerData[playerid][StatsPilotJobs]);
    INI_Int(ini, "StatsMafiaJobs", APlayerData[playerid][StatsMafiaJobs]);
    INI_Int(ini, "StatsMafiaStolen", APlayerData[playerid][StatsMafiaStolen]);
    INI_Int(ini, "StatsPoliceFined", APlayerData[playerid][StatsPoliceFined]);
    INI_Int(ini, "StatsPoliceJailed", APlayerData[playerid][StatsPoliceJailed]);
    INI_Int(ini, "StatsMedicJobs", APlayerData[playerid][StatsMedicJobs]);
    INI_Int(ini, "StatsTaxiJobs", APlayerData[playerid][StatsTaxiJobs]);
    INI_Int(ini, "StatsMilitaryJobs", APlayerData[playerid][StatsMilitaryJobs]);
    INI_Int(ini, "StatsRibarJobs", APlayerData[playerid][StatsRibarJobs]);
    INI_Int(ini, "StatsIceJobs", APlayerData[playerid][StatsIceJobs]);
    INI_Int(ini, "StatsFarmerJobs", APlayerData[playerid][StatsFarmerJobs]);
    INI_Int(ini, "StatsTrainDriverJobs", APlayerData[playerid][StatsTrainDriverJobs]);
    INI_Int(ini, "StatsSumarJobs", APlayerData[playerid][StatsSumarJobs]);
    INI_Int(ini, "PlayerDrugs", APlayerData[playerid][PlayerDrugs]);
    INI_Int(ini, "VIPLevel", APlayerData[playerid][VIPLevel]);
    INI_Int(ini, "Money", APlayerData[playerid][Money]);
    INI_Int(ini, "Score", APlayerData[playerid][Score]);
    return 1; // Return if the file was read correctly
    else
    return 0; // Return 0 if the file couldn't be read (doesn't exist)
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)