Skripta koju koristim:cyber
Detaljan opis problema:pa kad ostavim upaljen server dakle ona u file vozila lijepo svaki put kad igrac uzmje neko vozilo kreira se fajl vozilo_0 itd i to je sve super, ali kada ugasim server i upalim onda opet ispocetka upisuje umjesto da nastavi recimo ako ima upisano vozilo_0 vozilo_1 i tad ugasim srv i onda upalim i da kad netko uzme v da upise vozilo_2 ali ne upisuje od 0 opet ako me shvacate
Dio skripte:
Neke slike/video za lakse dobivanje pomoci(neobavezno):
kuzim problem al nikad nisam radio sa cyberom tako da nez do cega je. sutra kad budem na kompu probat cu ti rjesit
msm ovo nije cyber vise ja radim an ovom modu 3 godine ovo je novi sustav koristim yini
molim vas dali zna netko. Hvala
skini sebi neki cos i prati iz njega spremanje skini ivexov
ma ala pa nije problem ucitavanje i spremanje vidis sta sam napisao sorry na mom ponasanju ali :P kazem da je problem u upisivanju odma cim igrac kupi v spremanje ucitavanje radi jel sam testao bezbroj puta dakle kad igrac odma uzme v dakle kreira se fajl vozilo_0 i tako sve dok je server ukljucen ali kad iskljucim i nego drugi ide uzet v opet pise ispocetka ovo nema veve sa spremanjem i ucitavanjem
moras imati sejving sistem fajlova, tacnije da pod ongamemodeinit otvaras stvorene fajlove
kako bi to mogao srediti. Hvala
for(new i = 0; i <= MAX_VOZILA; i++)
{
new gFile[35];
format(gFile, 35, Fajl_za_iscitavanje_vozila,i);
if(fexist(gFile))
{
INI_ParseFile(gFile, "UcitajVozila", .bExtra = true, .extra = i);
}
}
tak nekako pod ongamemodeinit, mada ovo "ucitajvozila" moras promeniti u svoje, ne znam kako ti ucitavas vozila
pa to imam to sam vec rijesio nije problem u ucitavanju vozila niti spremanju nego samo upisivanje vozila po slotu/idu ako me shvacas dakle sve dok je samp server ukljucen u file vozila kad igrac kupi /v ce ici
vozilo_0
vozilo_1
vozilo_2
vozilo_3
itd....
e sad kada iskljucim server i ukljucim i igrac ode uzet neko vozilo dakle kad uzme treba da se kreira
vozilo_4 ali se ne kreira neg opet upisuje od vozilo_0.Hvala
pazi, pri kupovini ti treba kreirati fajl, koji se nadam da kreiras, posle toga ti se fajlovi cuvaju tu, ne razumem taj tvoj problem, daj kod gde ti kreiras fajlove
ovo je di kreira taj fajl vozilo_
dakle kad kupim v ovdje to ide
//--------[ VOZILA ]-------//
stock PodesiAuto(pid, id)
{
new pozi = random(sizeof(PozicijeAutomobila));
new rand = 10000 + random(89999), tablica[9];
format(tablica, 9, "LS %d", rand);
new hime[MAX_PLAYER_NAME];
RPIme(pid, hime);
new file4[512];
format(file4, sizeof(file4), "/Ownership/Vozila");
new INI:File = INI_Open(file4);
INI_SetTag(File,"data");
INI_WriteInt(File,"Id", id);
INI_WriteInt(File,"Model", VInfo[pid][hModel]);
INI_WriteFloat(File,"PozX", VInfo[pozi][hPozX]);
INI_WriteFloat(File,"PozY", VInfo[pozi][hPozY]);
INI_WriteFloat(File,"PozZ", VInfo[pozi][hPozZ]);
INI_WriteFloat(File,"PozA", VInfo[pozi][hPozA]);
INI_WriteInt(File,"Paintjob", VInfo[pid][hPaintJob]);
INI_WriteInt(File,"Komponenta1", VInfo[pid][hsKomponenta1]);
INI_WriteInt(File,"Komponenta2", VInfo[pid][hsKomponenta2]);
INI_WriteInt(File,"Komponenta3", VInfo[pid][hsKomponenta3]);
INI_WriteInt(File,"Komponenta4", VInfo[pid][hsKomponenta4]);
INI_WriteInt(File,"Komponenta5", VInfo[pid][hsKomponenta5]);
INI_WriteInt(File,"Komponenta6", VInfo[pid][hsKomponenta6]);
INI_WriteInt(File,"Komponenta7", VInfo[pid][hsKomponenta7]);
INI_WriteInt(File,"Komponenta8", VInfo[pid][hsKomponenta8]);
INI_WriteInt(File,"Komponenta9", VInfo[pid][hsKomponenta9]);
INI_WriteInt(File,"Komponenta10", VInfo[pid][hsKomponenta10]);
INI_WriteInt(File,"Komponenta11", VInfo[pid][hsKomponenta11]);
INI_WriteInt(File,"Komponenta12", VInfo[pid][hsKomponenta12]);
INI_WriteInt(File,"Komponenta13", VInfo[pid][hsKomponenta13]);
INI_WriteString(File,"Vlasnik", hime);
INI_WriteString(File,"Opis", VInfo[pid][hOpis]);
INI_WriteInt(File,"ImaVlasnika",VInfo[pid][hImaVlasnika]);
INI_WriteString(File,"Tablice",VInfo[pid][hTablice]);
INI_WriteInt(File,"VW",VInfo[pid][hvw]);
INI_WriteInt(File,"Ent",VInfo[pid][hent]);
INI_WriteInt(File,"Prodat",VInfo[pid][hProdat]);
INI_WriteInt(File,"ColorOne",VInfo[pid][hBoja1]);
INI_WriteInt(File,"ColorTwo",VInfo[pid][hBoja2]);
INI_WriteInt(File,"CenaKes",VInfo[pid][hck]);
INI_WriteInt(File,"CenaGold",VInfo[pid][hcg]);
INI_Close(File);
return 1;
}
ma ne to, nego onaj kod gde ti pravis fajl u scriptfilesima
imam pomocu ovoga
#define FPATH "/Ownership/Vozila/Vozilo_%i.ini" //Spremanje
ne ne ne ne ne ne,daj mi deo gde ti kupujes vozila i samim tim kreiras fajl
pa dao sam ti podesiauto
u kodu di se meni kreira vozilo odma cim prihvatim kupnju preko toga se upisuje vozilo_0 itd....
ivice je l ti mene zajebavas ? :) daj mi komandu gde kupujes vozilo!!!!!!!!!!!!!!!!
pa kucam izborvozila i sad tu ima motori vozila letjelice plovila bicikla i odaberem kategoriju i onda mi pokazuje vozilo i koje uzmem samo stisnem enter evo kod di sam kupio v
AutomobilZauzet[v] = 1;
PlayerInfo[playerid][Auto1] = v;
IgracevAuto1[playerid] = v;
SetPlayerPos(playerid, 1072.8944,-1772.2209,13.3504);
SetPlayerFacingAngle(playerid, 0);
SetCameraBehindPlayer(playerid);
TogglePlayerControllable(playerid, 1);
AutosalonTD(playerid, 0);
BiraVozilo[playerid] = 0;
SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 0);
DestroyVehicle(IzlozbenoVozilo[playerid]);
GivePlayerMoney(playerid, -hBiraCenaKes[playerid]);
PodesiAuto(playerid, v);
new huIme[MAX_PLAYER_NAME];
RPIme(playerid, huIme);
new rand = 10000 + random(89999), tablica[9];
format(tablica, 9, "LS %d", rand);
new pozc = random(sizeof(PozicijeAutomobila));
VInfo[v][hModel] = hBiraModel[playerid];
VInfo[v][hPozX] = PozicijeAutomobila[pozc][0];
VInfo[v][hPozY] = PozicijeAutomobila[pozc][1];
VInfo[v][hPozZ] = PozicijeAutomobila[pozc][2];
VInfo[v][hPozA] = PozicijeAutomobila[pozc][3];
VInfo[v][hPaintJob] = 0;
VInfo[v][hsKomponenta1] = 0;
VInfo[v][hsKomponenta2] = 0;
VInfo[v][hsKomponenta3] = 0;
VInfo[v][hsKomponenta4] = 0;
VInfo[v][hsKomponenta5] = 0;
VInfo[v][hsKomponenta6] = 0;
VInfo[v][hsKomponenta7] = 0;
VInfo[v][hsKomponenta8] = 0;
VInfo[v][hsKomponenta9] = 0;
VInfo[v][hsKomponenta10] = 0;
VInfo[v][hsKomponenta11] = 0;
VInfo[v][hsKomponenta12] = 0;
VInfo[v][hsKomponenta13] = 0;
VInfo[v][hBoja1] = 0;
VInfo[v][hBoja2] = 0;
strmid(VInfo[v][hVlasnik], huIme, 0, strlen(huIme), 255);
strmid(VInfo[v][hOpis], ImenaVozila[hBiraModel[playerid] - 400], 0, strlen(ImenaVozila[hBiraModel[playerid] - 400]), 255);
VInfo[v][hck] = hBiraCenaKes[playerid];
VInfo[v][hcg] = hBiraCenaGold[playerid];
VInfo[v][hImaVlasnika] = 1;
strmid(VInfo[v][hTablice], tablica, 0, strlen(tablica), 255);
VInfo[v][hvw] = 0;
VInfo[v][hent] = 0;
VInfo[v][ownedvehicle] = CreateVehicle_H(VInfo[v][hModel], VInfo[v][hPozX], VInfo[v][hPozY], VInfo[v][hPozZ], VInfo[v][hPozA], VInfo[v][hBoja1], VInfo[v][hBoja2], 300000);
SetVehicleNumberPlate(VInfo[v][ownedvehicle], VInfo[v][hTablice]);
SetVehicleToRespawn(VInfo[v][ownedvehicle]);
SetPlayerCheckpoint(playerid, VInfo[v][hPozX], VInfo[v][hPozY], VInfo[v][hPozZ], 10.0);
SCM(playerid, BELA, "Cestitamo na kupovini vozila!");
SCM(playerid, BELA, "Komande su: /v(ozilo)!");
SCM(playerid, ZUTA, "Prodavac: Vase smo vozilo isporucili u Las Venturas.Vozilo je oznaceno na radaru!");
SpremiVozilo(v);
SacuvajAcc(v);
VozilaUSalonu--;
IgracevAuto1[playerid] = v;
AutosalonTD(playerid, 0);
gde je tebi ovde deo da se fajl kreira ?
pa dao sam ti ne zezam te tu vidis podesiauto i preko njega tamo u funkciji se kreira fajl vozilo_0 itd....
Citat: ivica158 poslato Maj 05, 2013, 13:37:10 POSLE PODNE
imam pomocu ovoga
#define FPATH "/Ownership/Vozila/Vozilo_%i.ini" //Spremanje
Ti uopste ne koristis to vidi sta formatiras: format(file4, sizeof(file4), "/Ownership/Vozila");
I posto zelis tako CoS mogao si i bolji nacin uraditi nego evo primer kako bi mogao da dobijes slobodno mesto u scriptfiles:
stock GetNextID()
{
new c = 0,file4[64];
for(new i = 0; i < NEKI_BROJ_MAX_ZA_COS; i++)//Promeni NEKI_BROJ_MAX_ZA_COS to je broj kola koliko je maksimalno posto si tako radio
{
format(file4, sizeof(file4), FPATH,i);
if(fexist(file4)) c++;
}
return c;
}
I onda ce ti onaj format biti:
new id = GetNextID();
format(file4, sizeof(file4), FPATH,id);
i onda ti je to id sledeci slobodan slot za fajl sada kako koristis enum bilo bi i u enumu to id onda mogao si taj CoS na bolji nacin uraditi..
EDIT:
Ako sam ja dobro skapirao kako taj tvoj CoS radi