• 05 Juin 2026, 19:48:11


Auteur Sujet: Problème de chargement de données .ini  (Lu 1209 fois)

0 Membres et 1 Invité sur ce sujet

DexX

  • Invité
Problème de chargement de données .ini
« le: 18 Juillet 2011, 01:22:25 »
Bonsoir,

Alors, j'ai fais un système de gestion de salaire par le maire.
Il peut éditer n'importe quel salaire depuis le jeu.
Cela sauvegarde bien dans le fichier .ini mais j'ai l'impression que sa le charge mal...

Car quand il tape la commande pour changer le salaire, sa lui affiche 0$ comme montant alors que dans le fichier ce n'est pas égale à 0.

Dès qu'on édite ce salaire et qu'on entre comme montant 1000 par exemple, si on retape la commande pour éditer, on voit bien 1000$.

Donc, je pense que le chargement du fichier se fait mal.

J'ai crée une commande pour recharger les donner de la mairie, donc rappeler la fonction Mairie_Chargement et sa remet tous à 0 sur le serveur. Donc on voit plus le 1000 par exemple. Mais les valeurs sont toujours présentent dans le fichier .ini.

Donc dans OnGameModeInit :

Mairie_Chargement();
forward Mairie_Chargement();
public Mairie_Chargement()
{
new arrCoords[11][64];
new strFromFile2[256];
new File: file = fopen("Mairie.ini", io_read);
if (file)
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, '|');
strmid(Mairie[Banque], arrCoords[0], 0, strlen(arrCoords[0]), 255);
strmid(Mairie[Salaire_RMI], arrCoords[1], 0, strlen(arrCoords[1]), 255);
strmid(Mairie[Salaire_SFPD], arrCoords[2], 0, strlen(arrCoords[2]), 255);
strmid(Mairie[Salaire_Mecanicien], arrCoords[3], 0, strlen(arrCoords[3]), 255);
strmid(Mairie[Salaire_Eboueur], arrCoords[4], 0, strlen(arrCoords[4]), 255);
strmid(Mairie[Salaire_Fermier], arrCoords[5], 0, strlen(arrCoords[5]), 255);
strmid(Mairie[Salaire_VendeurGlaces], arrCoords[6], 0, strlen(arrCoords[6]), 255);
strmid(Mairie[Salaire_Balayeur], arrCoords[7], 0, strlen(arrCoords[7]), 255);
strmid(Mairie[Salaire_PizzaBoy], arrCoords[8], 0, strlen(arrCoords[8]), 255);
strmid(Mairie[Permis_Voiture], arrCoords[9], 0, strlen(arrCoords[9]), 255);
strmid(Mairie[Permis_Code], arrCoords[10], 0, strlen(arrCoords[10]), 255);
}
fclose(file);
}

forward Mairie_Sauvegarde();
public Mairie_Sauvegarde()
{
new idx;
new File: file2;
new coordsstring[256];
format(coordsstring, sizeof(coordsstring), "%d\r\n%d\r\n%d\r\n%d\r\n%d\r\n%d\r\n%d\r\n%d\r\n%d\r\n%d\r\n%d",
Mairie[Banque],
Mairie[Salaire_RMI],
Mairie[Salaire_SFPD],
Mairie[Salaire_Mecanicien],
Mairie[Salaire_Eboueur],
Mairie[Salaire_Fermier],
Mairie[Salaire_VendeurGlaces],
Mairie[Salaire_Balayeur],
Mairie[Salaire_PizzaBoy],
Mairie[Permis_Voiture],
Mairie[Permis_Code]);
if(idx == 0)
{
file2 = fopen("Mairie.ini", io_write);
}
else
{
file2 = fopen("Mairie.ini", io_append);
}
fwrite(file2, coordsstring);
idx++;
fclose(file2);
}

Merci d'avance de vos aides ;).
« Modifié: 18 Juillet 2011, 01:31:35 par DexX »

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Problème de chargement de données .ini
« Réponse #1 le: 18 Juillet 2011, 10:22:56 »
TOn fichier a ses données séparées par des retour à la ligne, or toi tu les sépare par le caractère '|' :

split(strFromFile2, arrCoords, '|');

remplace par

split(strFromFile2, arrCoords, '\r\n');

DexX

  • Invité
Re : Problème de chargement de données .ini
« Réponse #2 le: 18 Juillet 2011, 10:44:27 »
Hum ... J'avais pas fais attention à cela  ;).

Mais il ne prend pas à compte, car il me met cela :

Citer
error 027: invalid character constant
error 029: invalid expression, assumed zero
error 017: undefined symbol "n"
fatal error 107: too many error messages on one line

forward Mairie_Chargement();
public Mairie_Chargement()
{
new arrCoords[11][64];
new strFromFile2[256];
new File: file = fopen("Mairie.ini", io_read);
if (file)
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, '\r\n');
strmid(Mairie[Banque], arrCoords[0], 0, strlen(arrCoords[0]), 255);
strmid(Mairie[Salaire_RMI], arrCoords[1], 0, strlen(arrCoords[1]), 255);
strmid(Mairie[Salaire_SFPD], arrCoords[2], 0, strlen(arrCoords[2]), 255);
strmid(Mairie[Salaire_Mecanicien], arrCoords[3], 0, strlen(arrCoords[3]), 255);
strmid(Mairie[Salaire_Eboueur], arrCoords[4], 0, strlen(arrCoords[4]), 255);
strmid(Mairie[Salaire_Fermier], arrCoords[5], 0, strlen(arrCoords[5]), 255);
strmid(Mairie[Salaire_VendeurGlaces], arrCoords[6], 0, strlen(arrCoords[6]), 255);
strmid(Mairie[Salaire_Balayeur], arrCoords[7], 0, strlen(arrCoords[7]), 255);
strmid(Mairie[Salaire_PizzaBoy], arrCoords[8], 0, strlen(arrCoords[8]), 255);
strmid(Mairie[Permis_Voiture], arrCoords[9], 0, strlen(arrCoords[9]), 255);
strmid(Mairie[Permis_Code], arrCoords[10], 0, strlen(arrCoords[10]), 255);
}
fclose(file);
}

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Problème de chargement de données .ini
« Réponse #3 le: 18 Juillet 2011, 11:00:51 »
Essaye avec des double quotes.

DexX

  • Invité
Re : Problème de chargement de données .ini
« Réponse #4 le: 18 Juillet 2011, 11:04:21 »
Bien, il me met sa :

Citer
error 035: argument type mismatch (argument 3)

split(strFromFile2, arrCoords, "\r\n");
Edit :

Problème résolu. J'ai trouvé une autre solution ;). Merci Apo ;).
« Modifié: 18 Juillet 2011, 11:24:35 par DexX »