Guyy 14 Odesláno: 9. Květen, 2016 Share Odesláno: 9. Květen, 2016 Ahoj Našiel som Vehicle Dynamic Systém ale problém je že mi nechce uložiť Tuning, zakládal som Topicy na iných fórach no odpovede som sa nedočkal, tak aspoň dúfam že tu sa dočkám. Prosím upravte mi tento Kód Ďakujem. public OnVehicleMod(playerid, vehicleid, componentid) { new id = GetVehicleID(vehicleid); if(IsValidVehicle(id)) { VehicleMods[vehicleid][GetVehicleComponentType(componentid)] = componentid; SaveVehicle(vehicleid); } return 1; } public OnVehicleSpawn(vehicleid) { VehicleSecurity[vehicleid] = 0; new id = GetVehicleID(vehicleid); if(IsValidVehicle(id)) { if(VehicleColor[id][0] >= 0 && VehicleColor[id][1] >= 0) ChangeVehicleColor(vehicleid, VehicleColor[id][0], VehicleColor[id][1]); LinkVehicleToInterior(vehicleid, VehicleInterior[id]); SetVehicleVirtualWorld(vehicleid, VehicleWorld[id]); for(new i=0; i < sizeof(VehicleMods[]); i++) { AddVehicleComponent(vehicleid, VehicleMods[vehicleid][i]); } ChangeVehiclePaintjob(vehicleid, VehiclePaintjob[id]); if(VehicleLock[id]) ToggleDoors(vehicleid, VEHICLE_PARAMS_ON); if(VehicleAlarm[id]) VehicleSecurity[vehicleid] = 1; } return 1; } SaveVehicle(vehicleid) { new filename[64], line[256]; format(filename, sizeof(filename), VEHICLE_FILE_PATH "v%d.ini", vehicleid); new File:handle = fopen(filename, io_append); format(line, sizeof(line), "Created=%d\r\n", VehicleCreated[vehicleid]); fwrite(handle, line); format(line, sizeof(line), "Model=%d\r\n", VehicleModel[vehicleid]); fwrite(handle, line); format(line, sizeof(line), "Pos=%.3f,%.3f,%.3f,%.3f\r\n", VehiclePos[vehicleid][0], VehiclePos[vehicleid][1], VehiclePos[vehicleid][2], VehiclePos[vehicleid][3]); fwrite(handle, line); format(line, sizeof(line), "Colors=%d,%d\r\n", VehicleColor[vehicleid][0], VehicleColor[vehicleid][1]); fwrite(handle, line); format(line, sizeof(line), "Interior=%d\r\n", VehicleInterior[vehicleid]); fwrite(handle, line); format(line, sizeof(line), "VirtualWorld=%d\r\n", VehicleWorld[vehicleid]); fwrite(handle, line); format(line, sizeof(line), "Owner=%s\r\n", VehicleOwner[vehicleid]); fwrite(handle, line); format(line, sizeof(line), "NumberPlate=%s\r\n", VehicleNumberPlate[vehicleid]); fwrite(handle, line); format(line, sizeof(line), "Value=%d\r\n", VehicleValue[vehicleid]); fwrite(handle, line); format(line, sizeof(line), "Lock=%d\r\n", VehicleLock[vehicleid]); fwrite(handle, line); format(line, sizeof(line), "Alarm=%d\r\n", VehicleAlarm[vehicleid]); fwrite(handle, line); format(line, sizeof(line), "Paintjob=%d\r\n", VehiclePaintjob[vehicleid]); fwrite(handle, line); for(new t=0; t < sizeof(VehicleTrunk[]); t++) { format(line, sizeof(line), "Trunk%d=%d,%d\r\n", t+1, VehicleTrunk[vehicleid][t][0], VehicleTrunk[vehicleid][t][1]); fwrite(handle, line); } for(new m=0; m < sizeof(VehicleMods[]); m++) { format(line, sizeof(line), "Mod%d=%d\r\n", m, VehicleMods[vehicleid][m]); fwrite(handle, line); } fclose(handle); } Link to comment Share on other sites More sharing options...
0 Amenadiel 286 Odesláno: 9. Květen, 2016 Share Odesláno: 9. Květen, 2016 zkoušel jsi pro test ukládat přes příkaz ? Link to comment Share on other sites More sharing options...
0 Guyy 14 Odesláno: 9. Květen, 2016 Author Share Odesláno: 9. Květen, 2016 Jj, ale ani to nepomohlo Link to comment Share on other sites More sharing options...
0 Amenadiel 286 Odesláno: 9. Květen, 2016 Share Odesláno: 9. Květen, 2016 pokud se nepletu. tak ty zapíšeš něco do stringu a pak to hned přepíšeš. zkus se nato mrknout. Link to comment Share on other sites More sharing options...
0 Guyy 14 Odesláno: 9. Květen, 2016 Author Share Odesláno: 9. Květen, 2016 no.. a čo je na tom zle do VehicleMods zapíšem ten mod a uložím.. Link to comment Share on other sites More sharing options...
0 Amenadiel 286 Odesláno: 9. Květen, 2016 Share Odesláno: 9. Květen, 2016 no.. a čo je na tom zle do VehicleMods zapíšem ten mod a uložím.. ne sry.. neprečetl jsem si to do konce.. vytvoří se ti alespon soubor? Link to comment Share on other sites More sharing options...
0 Guyy 14 Odesláno: 9. Květen, 2016 Author Share Odesláno: 9. Květen, 2016 Súbory mám vytvorené do predu.. pri vytvorení vozidla sa mi tam zapíše všetko aj Mod%d=%d vo všetkých riadkoch je Mod0=0 a toto sa nechce prepísať Link to comment Share on other sites More sharing options...
0 Amenadiel 286 Odesláno: 9. Květen, 2016 Share Odesláno: 9. Květen, 2016 Súbory mám vytvorené do predu.. pri vytvorení vozidla sa mi tam zapíše všetko aj Mod%d=%d vo všetkých riadkoch je Mod0=0 a toto sa nechce prepísať když máš všude 0 tak v proměnné nemáš nic. zkus si to nějak fixnout Link to comment Share on other sites More sharing options...
0 Guyy 14 Odesláno: 9. Květen, 2016 Author Share Odesláno: 9. Květen, 2016 Lenže to že jak.. Všade je 0 lebo nema žiadny Component, Ked do vozidla pridám nejaky Component mal by sa dať VehicleMods v zložke na Mods(GetVehicleComponentType(componentid))=componentid lenže to sa neurobí.. Link to comment Share on other sites More sharing options...
0 ATomas 286 Odesláno: 9. Květen, 2016 Share Odesláno: 9. Květen, 2016 new File:handle = fopen(filename, io_append); prepis na new File:handle = fopen(filename, io_write); Link to comment Share on other sites More sharing options...
0 Guyy 14 Odesláno: 10. Květen, 2016 Author Share Odesláno: 10. Květen, 2016 (upraveno) ATomas, toto io_append mi napísali na fore.. pôvodne tam bolo io_write ale nič nepomože Zistil som, že problém je v zapisovaní nie loadovaní, takže problém je iba v SaveVehicle abo OnVehicleMod.. Edited 10. Květen, 2016 by Carlosoo Link to comment Share on other sites More sharing options...
0 ATomas 286 Odesláno: 10. Květen, 2016 Share Odesláno: 10. Květen, 2016 ATomas, toto io_append mi napísali na fore.. pôvodne tam bolo io_write ale nič nepomože Zistil som, že problém je v zapisovaní nie loadovaní, takže problém je iba v SaveVehicle abo OnVehicleMod.. To ze ti to poradili na sa-mp fore neni svatost Si vsichni mysli ze to ma uroven a ne jsou tam blbci stejne jako tady. Vicemene nalo kdo mi dokaze odpovedet na muj dotaz a to jeste kdyz mi ho rovnou nesmazou Kazdopadne io_append pridava text na konec souboru a io_write smaze obsah souboru a prepise ho novym obsahem. Vzhledem k tomu ze ty hodnoty nejspis ctes vzdy od vrchu je pro tebe lepsi io_write Link to comment Share on other sites More sharing options...
0 Guyy 14 Odesláno: 10. Květen, 2016 Author Share Odesláno: 10. Květen, 2016 (upraveno) Ale jak viriešiť ten Save pls ?? Mne neuloží, alebo dá to zle.. new id = GetVehicleID(vehicleid); if(IsValidVehicle(id)) { for(new i=0; i < sizeof(VehicleMods[]); i++) { VehicleMods[id][i] = componentid; } SaveVehicle(id); } alebo for(new m=0; m < sizeof(VehicleMods[]); m++) { format(line, sizeof(line), "Mod%d=%d\r\n", m, VehicleMods[vehicleid][m]); fwrite(handle, line); } Edited 10. Květen, 2016 by Carlosoo Link to comment Share on other sites More sharing options...
0 Quiter 99 Odesláno: 10. Květen, 2016 Share Odesláno: 10. Květen, 2016 (upraveno) Hmm, no môžeš počkať 2-3 dni kým prídu kódy zo súťaže Pawn... Ja som síce svoj kód ešte neposlal ale chystám sa to spraviť... Už tam mám dynamické vozidlá ktoré ukladajú tuning, farbu aj paintjob. Skript na to ti zatial nedám, ale ak po súťaži môžeš použiť môj systém (alebo mne napísať a ja ti ten skript pošlem) *EDIT* Toto si daj medzi príkazy (neviem aký systém používaš, toto je ZCMD) CMD:savecar(playerid, params[]) { if(!IsPlayerInAnyVehicle(playerid))return SCM(playerid, "[ ERR ] {CC0000}Musíš byť vo vozidle!"); new model, Float:pos[4], col[2], comp[14], vw, inter, vehicleid = GetPlayerVehicleID(playerid); model = GetVehicleModel(vehicleid); GetVehiclePos(vehicleid, pos[0], pos[1], pos[2]); GetVehicleZAngle(vehicleid, pos[3]); vw = GetVehicleVirtualWorld(vehicleid); inter = GetPlayerInterior(playerid); GetVehicleColor(vehicleid, col[0], col[1]); for(new i=0;i<14;i++) comp[i] = GetVehicleComponentInSlot(vehicleid, i); new str[128]; format(str, sizeof(str), "%d %.2f %.2f %.2f %.2f %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\r\n", model, pos[0], pos[1], pos[2], pos[3], col[0], col[1], vw, inter, comp[0], comp[1], comp[2], comp[3], comp[4], comp[5], comp[6], comp[7], comp[8], comp[9], comp[10], comp[11], comp[12], comp[13], PJ[vehicleid]); new File:cars = fopen("vehicles.cfg", io_append); if(cars) { fwrite(cars, str); fclose(cars); } SCM(playerid, "[ INF ] {33FFFF}Vozidlo uložené. Pri opätovnom načítaní FS G-Admin sa vozidlo samo načíta."); return true; } Toto vlož do OnFilterScriptInit: new File:cars = fopen("vehicles.cfg", io_read); if(cars) { new par[128]; new model, Float:pos[4], col[2], comp[14], vw, inter, pj; while(fread(cars, par)) { if(!sscanf(par, "iffffiiiiiiiiiiiiiiiiiii",model, pos[0], pos[1], pos[2], pos[3], col[0], col[1], vw, inter, comp[0], comp[1], comp[2], comp[3], comp[4], comp[5], comp[6], comp[7], comp[8], comp[9], comp[10], comp[11], comp[12], comp[13], pj)) { new vehicleid = CreateVehicle(model, pos[0], pos[1], pos[2], pos[3], col[0], col[1], 180); LinkVehicleToInterior(vehicleid, inter); SetVehicleVirtualWorld(vehicleid, vw); for(new i=0;i<14;i++) { AddVehicleComponent(vehicleid, comp[i]); } ChangeVehiclePaintjob(vehicleid, pj); PJ[vehicleid] = pj; GCars[vehicleid] = 2; } } fclose(cars); } public OnVehiclePaintjob(playerid, vehicleid, paintjobid) { PJ[vehicleid] = paintjobid; return 1; } Posledné dolaďovanie: stiahni si SSCANF - hladaj na googli stianni si getvehiclecolors - hladaj na googli hore si deklaruj new PJ[MAX_VEHICLES]; Ak to budeš dávať do GameMode-u tak zmaž premennú GCars Ak to bude vo FilterScript-e tak hore k premenným deklaruj new GCars[MAX_VEHICLES]; Toto použi len ak to bude vo FilterScript-e (v GM je to zbytočnosť) public OnFilterScriptExit() { for(new i=0;i<MAX_VEHICLES;i++) { if(GCars[i] > 0) { DestroyVehicle(i); } } return true; } (PS: môj FS si vyžaduje rozdelenie GCars na 1,2... tebe však stačí boolova premenná Gcars tak si to môžeš upraviť... Ak nevieš o čom hovorím tak to radšej nerieš) Edited 10. Květen, 2016 by Quiter Link to comment Share on other sites More sharing options...
Dotaz
Guyy 14
Ahoj
Našiel som Vehicle Dynamic Systém ale problém je že mi nechce uložiť Tuning, zakládal som Topicy na iných fórach no odpovede som sa nedočkal, tak aspoň dúfam že tu sa dočkám. Prosím upravte mi tento Kód Ďakujem.
Link to comment
Share on other sites
13 odpovědí na tuto otázku
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now