-
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\");
}
-
Próbáld így, hátha:
format(file,sizeof(file),\"Adatbazis/Jarmuvek/%d.ini\", fajlneve);
-
Ez nem lehet a baj forrása,mert mindenhol így használom és ott jó. :S
-
Akkor írd utána ezt a sort, és teszteld le újra.
if(!fexist(file)) print(\"a fájl megnyitása sikertelen\");
-
Igazad volt,nem tudja megnyitni a fájlt.
format(file,sizeof(file),\"Adatbazis/Jarmuvek/%d.ini\", fajlneve);
Így sem jó
-
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\".
-
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?
-
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.
-
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