Szerző Téma: Jármû adatok mentése  (Megtekintve 770 alkalommal)

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Jármû adatok mentése
« Dátum: 2012. május 26. - 18:31:40 »
0 Show voters
Sziasztok,amikor kiszállok a jármûbõl,akkor kiírja azt, hogy \"sdsss\" de nem menti el az adatait.Pedig az ID változó az 2(Kiírja amikor bele ülök),és van is olyan fájl hogy 2.ini.
 

if(oldstate == PLAYER_STATE_DRIVER)
    {
         new file[256];
new vehid = GetPlayerVehicleID(playerid);
    new Float:x,Float:y,Float:z,Float:forgatas;
     GetVehiclePos(vehid,x,y,z);
      GetVehicleZAngle(vehid,forgatas);
      new fajlneve;
      fajlneve = JarmuInfo[vehid][iD];
    format(file,sizeof(file),\"/Adatbazis/Jarmuvek/%d.ini\", fajlneve);
dini_FloatSet(file,\"X\", x);
dini_FloatSet(file,\"Y\", y);
dini_FloatSet(file,\"Z\", z);
dini_FloatSet(file,\"Forgatás\", forgatas);
dini_IntSet(file,\"Eladva\", JarmuInfo[fajlneve][Eladva]);
        TextDrawHideForPlayer(playerid, M_Box[playerid]);
TextDrawHideForPlayer(playerid, M_Seb[playerid]);
TextDrawHideForPlayer(playerid, M_All[playerid]);
TextDrawHideForPlayer(playerid, M_Uzemanyag[playerid]);
SendClientMessage(playerid, NARANCS, \"sdsss\");
    }

Jármû adatok mentése
« Válasz #1 Dátum: 2012. május 26. - 22:34:41 »
+1 Show voters
Próbáld így, hátha:
format(file,sizeof(file),\"Adatbazis/Jarmuvek/%d.ini\", fajlneve);

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Jármû adatok mentése
« Válasz #2 Dátum: 2012. május 26. - 22:38:00 »
0 Show voters
Ez nem lehet a baj forrása,mert mindenhol így használom és ott jó. :S

Jármû adatok mentése
« Válasz #3 Dátum: 2012. május 26. - 22:42:21 »
+1 Show voters
Akkor írd utána ezt a sort, és teszteld le újra.
 
if(!fexist(file)) print(\"a fájl megnyitása sikertelen\");

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Jármû adatok mentése
« Válasz #4 Dátum: 2012. május 26. - 22:58:57 »
0 Show voters
Igazad volt,nem tudja megnyitni a fájlt.
 
format(file,sizeof(file),\"Adatbazis/Jarmuvek/%d.ini\", fajlneve);

 
Így sem jó
« Utoljára szerkesztve: 2012. május 26. - 23:00:45 írta tudvari »

Jármû adatok mentése
« Válasz #5 Dátum: 2012. május 27. - 07:19:10 »
+1 Show voters
Akkor hozd létre dinivel a fájlt.
 
if(!dini_Create(file)) print(\"A fájl, már létezik.\");

 
Ha nem tudja létrehozni akkor az elérési út nem jó. Pontosabban nincs \"Adatbazis\" mappa, vagy \"Adatbazis\" mappában egy \"Jarmuvek\" mappa.
Vagy lehetséges hogy mappanévnek ékezetekkel ellátott nevet adtál meg \"Jármûvek\".

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Jármû adatok mentése
« Válasz #6 Dátum: 2012. május 27. - 08:26:28 »
0 Show voters
Most úgy mûködik a szerveremen,hogy minden kocsinak van egy ID változója,és a nem V-s kocsiknak 0,míg a V-s kocsiknak van saját \"rendszámuk\"(1,2,3,4 stb)
És ha kiszállsz egy kocsiból,akkor formázza az ID változó értékével egyenlõ fájlt.Szóval ha V-s kocsi,akkor elmenti a dolgokat,ha meg nem akkor nem csinál semmit,mert nincs ilyen fájl.
Kiszálltam a saját V-s kocsimból,és csak annyit írt ki,hogy a fájl már létezik.Akkor miért nem tudja menteni az adatokat?

Jármû adatok mentése
« Válasz #7 Dátum: 2012. május 27. - 12:04:24 »
+1 Show voters
Egyébként egyszerû a hibának az oka, ha kiszállsz a jármûbõl akkor már nem jármûben tartózkodsz, akkor hiába kéred le
 
new vehid = GetPlayerVehicleID(playerid);

 
és az összes többi jármû adatot, pozíció, elfordulási szög, stb., ha már nincs a játékos a jármûben.
« Utoljára szerkesztve: 2012. május 27. - 12:07:28 írta ɐʞzssǝlosz »

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Jármû adatok mentése
« Válasz #8 Dátum: 2012. május 27. - 12:53:20 »
0 Show voters
Rendben,köszi +1 :D
Most hozzá írtam az automatikus mentéshez még egy részt,de nem menti el.5 másodpercenként lementi a játékos adatait,ami megy is,csak a kocsiét nem menti le.
 

if(IsPlayerInAnyVehicle(playerid))
      {
          if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
          {
              new vehfile[256];
      new vehid = GetPlayerVehicleID(playerid);
          new Float:vehx,Float:vehy,Float:vehz,Float:forgatas;
           GetVehiclePos(vehid,vehx,vehy,vehz);
            GetVehicleZAngle(vehid,forgatas);
            new fajlneve;
            fajlneve = JarmuInfo[vehid][iD];
          format(vehfile,sizeof(vehfile),\"/Adatbazis/Jarmuvek/%d.ini\", fajlneve);
      dini_FloatSet(file,\"X\", vehx);
      dini_FloatSet(file,\"Y\", vehy);
      dini_FloatSet(file,\"Z\", vehz);
      dini_FloatSet(file,\"Forgatás\", forgatas);
      dini_IntSet(file,\"Eladva\", JarmuInfo[fajlneve][Eladva]);
          }
      }

 
1 pill,találtam benne egy hibát :D
Mûködik,ezer köszönet.Minden hsz-edért adok egy +1-et :D
« Utoljára szerkesztve: 2012. május 27. - 12:57:27 írta tudvari »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal