• 30 Juin 2025, 18:50:56


Auteur Sujet: Bug pour sauvegarder les maisons.  (Lu 4014 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne KPMod

  • *
  • Criminel
  • Messages: 38
    • Voir le profil
Bug pour sauvegarder les maisons.
« le: 15 Août 2011, 22:58:39 »
Bonjour j'essaye de faire quelque chose pour "sauvegarder" les maisons dans le GM UniversalLife RP, car cela ne marche pas de base...
Alors j'ai fait ça.

public SaveProperty()
{
new idx;
new File:file2;
idx = 1;
while (idx < sizeof(HouseInfo))
{
new coordsstring[256];
format(coordsstring, sizeof(coordsstring), "%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%f,%f,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i\n",
HouseInfo[idx][hEntrancex],
HouseInfo[idx][hEntrancey],
HouseInfo[idx][hEntrancez],
HouseInfo[idx][hExitx],
HouseInfo[idx][hExity],
HouseInfo[idx][hExitz],
HouseInfo[idx][hHealthx],
HouseInfo[idx][hHealthy],
HouseInfo[idx][hHealthz],
HouseInfo[idx][hArmourx],
HouseInfo[idx][hArmoury],
HouseInfo[idx][hArmourz],
HouseInfo[idx][hOwner],
HouseInfo[idx][hDiscription],
HouseInfo[idx][hValue],
HouseInfo[idx][hHel],
HouseInfo[idx][hArm],
HouseInfo[idx][hInt],
HouseInfo[idx][hLock],
HouseInfo[idx][hOwned],
HouseInfo[idx][hRooms],
HouseInfo[idx][hRent],
HouseInfo[idx][hRentabil],
HouseInfo[idx][hTakings],
HouseInfo[idx][hVec],
HouseInfo[idx][hVcol1],
HouseInfo[idx][hVcol2],
HouseInfo[idx][hDate],
HouseInfo[idx][hLevel],
HouseInfo[idx][hWorld],
if(idx == 1)
{
file2 = fopen("maison/property.cfg", io_write);
}
else
{
file2 = fopen("maison/property.cfg", io_append);
}
fwrite(file2, coordsstring);
idx++;
fclose(file2);
}
return 1;
}

Soucis, cela me donne ça.

3 erreurs.

C:\x\sf-ulrp.pwn(11444 -- 11475) : error 029: invalid expression, assumed zero
C:\x\sf-ulrp.pwn(11475 -- 11476) : error 029: invalid expression, assumed zero
C:\x\sf-ulrp.pwn(11479) : error 029: invalid expression, assumed zero
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


3 Errors.

Voilà les lignes.

11444 format(coordsstring, sizeof(coordsstring), "%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%f,%f,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i\n",
11475 HouseInfo[idx][hWorld],
11476 if(idx == 1)
{
file2 = fopen("maison/property.cfg", io_write);
       }

11479 else
                               {
file2 = fopen("maison/property.cfg", io_append);
}


Merci d'avance :) !

Hors ligne Azz45

  • Good Player
  • *
  • Mafioso
  • RolePlay Player
  • Messages: 2809
    • Voir le profil
Re : Bug pour sauvegarder les maisons.
« Réponse #1 le: 16 Août 2011, 00:34:41 »
Pas la bonne section.

A déplacer.  ;)

~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~


~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~~•~  ~•~  ~•~  ~•~
Avancement du GM : 3%
~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~
~•Merci Kloken, pour la vidéo lors de mon anniversaire•~

Hors ligne KPMod

  • *
  • Criminel
  • Messages: 38
    • Voir le profil
Re : Bug pour sauvegarder les maisons.
« Réponse #2 le: 16 Août 2011, 15:03:18 »
D'accord, merci :).
J'en profite pour faire un petit up.

Hors ligne Tux

  • *
  • Tueur en série
  • GeChaud =3
  • Messages: 112
    • Voir le profil
    • Trace - Serveur Multi Modes
Re : Bug pour sauvegarder les maisons.
« Réponse #3 le: 16 Août 2011, 17:36:01 »
Après HouseInfo[idx][hWorld], remplaces le , par ); ;). Et après fclose, mets un }.

Hors ligne KPMod

  • *
  • Criminel
  • Messages: 38
    • Voir le profil
Re : Bug pour sauvegarder les maisons.
« Réponse #4 le: 16 Août 2011, 18:56:58 »
J'ai fait ça sauf le } après Fclose car je ne vois pas pourquoi.
Soucis.

-Les maisons ont disparues.
-Les voitures ont disparues.

Je suppose que ce n'était pas la meilleure chose à faire... :/.
Une autre solution ?

Hors ligne Tux

  • *
  • Tueur en série
  • GeChaud =3
  • Messages: 112
    • Voir le profil
    • Trace - Serveur Multi Modes
Re : Bug pour sauvegarder les maisons.
« Réponse #5 le: 16 Août 2011, 21:48:57 »
Le } c'était juste pour corriger une erreur de code, je te conseille de le laisser pour ne pas recevoir d'erreur venant de Pawno enfin, si tu arrivais à compiler avant sans cette accolade... Mais bref, ton problème pourrait venir du fait que justement la fonction pose problème: elle ne créé pas les maisons correctement, ou quelque chose dans le genre, ce qui est sûr ce que j'avais un problème dans ce genre. Essayes de nous montrer les lignes où tu appels le code.

Hors ligne KPMod

  • *
  • Criminel
  • Messages: 38
    • Voir le profil
Re : Bug pour sauvegarder les maisons.
« Réponse #6 le: 16 Août 2011, 21:59:11 »
forward SaveProperty();
public SaveProperty()
{
new idx;
new File:file2;
idx = 1;
while (idx < sizeof(HouseInfo))
{
new coordsstring[256];
format(coordsstring, sizeof(coordsstring), "%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%f,%f,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i\n",
HouseInfo[idx][hEntrancex],
HouseInfo[idx][hEntrancey],
HouseInfo[idx][hEntrancez],
HouseInfo[idx][hExitx],
HouseInfo[idx][hExity],
HouseInfo[idx][hExitz],
HouseInfo[idx][hHealthx],
HouseInfo[idx][hHealthy],
HouseInfo[idx][hHealthz],
HouseInfo[idx][hArmourx],
HouseInfo[idx][hArmoury],
HouseInfo[idx][hArmourz],
HouseInfo[idx][hOwner],
HouseInfo[idx][hDiscription],
HouseInfo[idx][hValue],
HouseInfo[idx][hHel],
HouseInfo[idx][hArm],
HouseInfo[idx][hInt],
HouseInfo[idx][hLock],
HouseInfo[idx][hOwned],
HouseInfo[idx][hRooms],
HouseInfo[idx][hRent],
HouseInfo[idx][hRentabil],
HouseInfo[idx][hTakings],
HouseInfo[idx][hVec],
HouseInfo[idx][hVcol1],
HouseInfo[idx][hVcol2],
HouseInfo[idx][hDate],
HouseInfo[idx][hLevel],
HouseInfo[idx][hWorld]);
if(idx == 1)
{
file2 = fopen("maison/property.cfg", io_write);
}
else
{
file2 = fopen("maison/property.cfg", io_append);
}
fwrite(file2, coordsstring);
idx++;
fclose(file2);
}
return 1;
}

if(strcmp(cmd, "/achetermaison", true) == 0)
{
   if(IsPlayerConnected(playerid))
   {
new Float:oldposx, Float:oldposy, Float:oldposz;
GetPlayerName(playerid, playername, sizeof(playername));
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
for(new h = 0; h < sizeof(HouseInfo); h++)
{
if(PlayerToPoint(2.0, playerid, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]) && HouseInfo[h][hOwned] == 0)
{
if(PlayerInfo[playerid][pLevel] < HouseInfo[h][hLevel])
{
format(string, sizeof(string), "   Vous devez être au niveau %d pour acheter cette maison !", HouseInfo[h][hLevel]);
SendClientMessage(playerid, COLOR_GRAD5, string);
return 1;
}
if(PlayerInfo[playerid][pPhousekey] != 255 && strcmp(playername, HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwner], true) == 0)
{
SendClientMessage(playerid, COLOR_WHITE, "   Vous possédez déjà une maison, utilisez /vendremaison pour vendre votre maison actuel !");
return 1;
}
if(GetPlayerMoney(playerid) > HouseInfo[h][hValue])
{
   Delete3DTextLabel(Text3D:housesale);
PlayerInfo[playerid][pPhousekey] = h;
HouseInfo[h][hOwned] = 1;
GetPlayerName(playerid, sendername, sizeof(sendername));
strmid(HouseInfo[h][hOwner], sendername, 0, strlen(sendername), 255);
SafeGivePlayerMoney(playerid,-HouseInfo[h][hValue]);
PlayerPlayMusic(playerid);
GameTextForPlayer(playerid, "~w~Bienvenue Chez Vous~n~Vous pouvez /entrer à tout moment ", 5000, 3);
SendClientMessage(playerid, COLOR_WHITE, "Félicitation, pour votre nouvelle achat !");
SendClientMessage(playerid, COLOR_WHITE, "Utilisez /aide pour passer en revue les aides des propriétés !");
                        DateProp(playerid);
OnPropUpdate();
SaveProperty();
OnPlayerUpdate(playerid);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "  Vous n'avez pas assez d'argent !");
return 1;
}
}
}
}
return 1;
}

if(strcmp(cmd, "/vendremaison", true) == 0)
{
   if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, playername, sizeof(playername));
if(PlayerInfo[playerid][pPhousekey] == 255)
{
SendClientMessage(playerid, COLOR_WHITE, " Vous n'avez aucune maison.");
return 1;
}
if(PlayerInfo[playerid][pMarried] > 0)
   {
       SendClientMessage(playerid, COLOR_GREY, "   Vous êtes marié, vous ne pouvez pas vendre la maison !");
       return 1;
   }
if(PlayerInfo[playerid][pPhousekey] != 255 && strcmp(playername, HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwner], true) == 0)
{
new house = PlayerInfo[playerid][pPhousekey];
HouseInfo[house][hHel] = 0;
HouseInfo[house][hArm] = 0;
HouseInfo[house][hHealthx] = 0;
HouseInfo[house][hHealthy] = 0;
HouseInfo[house][hHealthz] = 0;
HouseInfo[house][hArmourx] = 0;
HouseInfo[house][hArmoury] = 0;
HouseInfo[house][hArmourz] = 0;
HouseInfo[house][hLock] = 1;
HouseInfo[house][hOwned] = 0;
HouseInfo[house][hVec] = 418;
HouseInfo[house][hVcol1] = -1;
HouseInfo[house][hVcol2] = -1;
GetPlayerName(playerid, sendername, sizeof(sendername));
strmid(HouseInfo[house][hOwner], "Etat", 0, strlen("Etat"), 255);
//ConsumingMoney[playerid] = 1;
SafeGivePlayerMoney(playerid,HouseInfo[house][hValue]);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
new string1[MAX_PLAYER_NAME];
format(string, sizeof(string), "~w~Felicitations!~n~ Vous avez vendu votre maison pour ~n~~g~$%d", HouseInfo[house][hValue]);
GameTextForPlayer(playerid, string, 10000, 3);
format(string1, sizeof(string), "[SALE]\n$ %d",HouseInfo[house][hValue]);
housesale = Create3DTextLabel(string1,0x006400FF,HouseInfo[house][hEntrancex], HouseInfo[house][hEntrancey], HouseInfo[house][hEntrancez]+1,15,0,1);
PlayerInfo[playerid][pPhousekey] = 255;
SaveProperty();
if(PlayerInfo[playerid][pLocal] == house)
{
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid,0);
SetPlayerPos(playerid,HouseInfo[house][hEntrancex],HouseInfo[house][hEntrancey],HouseInfo[house][hEntrancez]);
PlayerInfo[playerid][pInt] = 0;
}
OnPropUpdate();
OnPlayerUpdate(playerid);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_WHITE, " Vous n'êtes pas propriétaire d'une maison.");
}
}
return 1;
}

Voilou.

PS.

Une maison c'est censé donner ça dans le "property.cfg".

-1827.236572,-223.033996,18.368999,244.500000,305.000000,999.099975,0,0,0,0,0,0,Etat, Maison,25000,0,0,2,1,0,0,1,0,0,418,-1,-1,113,3,35
Mais à la place j'ai ça.

-991664238,-1017182028,1100149686,1131708416,1134067712,1148831334,0,0,0,0,0,0,0.000000,0.000000,25000,0,0,2,1,0,0,1,0,0,418,-1,-1,113,3,35
:s
« Modifié: 16 Août 2011, 22:10:59 par KPMod »

Hors ligne Katou76

  • *
  • Tueur en série
  • Messages: 107
    • Voir le profil
Re : Bug pour sauvegarder les maisons.
« Réponse #7 le: 16 Août 2011, 23:37:37 »
Salut,

As-tu modifier cette ligne ?

format(coordsstring, sizeof(coordsstring), "%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%f,%f,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i\n",
Ce code est un crime contre la programmation.

Hors ligne KPMod

  • *
  • Criminel
  • Messages: 38
    • Voir le profil
Re : Bug pour sauvegarder les maisons.
« Réponse #8 le: 17 Août 2011, 08:43:18 »
Ben je l'ai faite, elle n'y était pas avant.

Hors ligne Tux

  • *
  • Tueur en série
  • GeChaud =3
  • Messages: 112
    • Voir le profil
    • Trace - Serveur Multi Modes
Re : Bug pour sauvegarder les maisons.
« Réponse #9 le: 17 Août 2011, 12:44:33 »
Je viens de remarquer mon erreur de hier, il ne fallait pas ajouter un } après fclose, l'intendation m'a trahi. Sinon, remplaces ton format par celui-ci beaucoup plus correcte:

Code: (pawn) [Sélectionner]
format(coordsstring, sizeof(coordstring), "%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%s,%s,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i",
Je te conseille de contrôler tout de même mon formattage en fonction des types de tes variables.

Hors ligne KPMod

  • *
  • Criminel
  • Messages: 38
    • Voir le profil
Re : Bug pour sauvegarder les maisons.
« Réponse #10 le: 17 Août 2011, 14:26:38 »
super, bug réglé.
Merci de ton aide Tux ! (J'ai du modif 2/3 trucs mais la solution vient de toi :) )

Hors ligne Tux

  • *
  • Tueur en série
  • GeChaud =3
  • Messages: 112
    • Voir le profil
    • Trace - Serveur Multi Modes
Re : Bug pour sauvegarder les maisons.
« Réponse #11 le: 17 Août 2011, 14:36:30 »
De rien ;).

Hors ligne KPMod

  • *
  • Criminel
  • Messages: 38
    • Voir le profil
Re : Bug pour sauvegarder les maisons.
« Réponse #12 le: 17 Août 2011, 19:13:12 »
Nouveau soucis, mon personnage respawn jamais devant la bonne maison, les clés ne sont pas les bonnes, quand je fais /vendremaison, ça dit que j'ai pas de maison...
Je sais vraiment pas quoi faire. Quelqu'un saurait m'aider? :(

Hors ligne Katou76

  • *
  • Tueur en série
  • Messages: 107
    • Voir le profil
Re : Bug pour sauvegarder les maisons.
« Réponse #13 le: 17 Août 2011, 21:04:42 »
Vérifie entre la clé de la maison qu'a ton personne et celle de la maison.
Ce code est un crime contre la programmation.

Hors ligne KPMod

  • *
  • Criminel
  • Messages: 38
    • Voir le profil
Re : Bug pour sauvegarder les maisons.
« Réponse #14 le: 17 Août 2011, 22:45:27 »
Ben ça mets jamais la bonne, je spawn à n'importe quelle maison..