Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- _________
- ____ \_ ___ \_____ _______ ______
- / \/ \ \/\__ \\_ __ \/ ___/
- | | \ \____/ __ \| | \/\___ \
- |___| /\______ (____ /__| /____ >
- \/ \/ \/ \/
- nCars by Scott Davey (Norn) - NornWeb.com © 2010
- Credits:
- Zeex - Zcmd - http://forum.sa-mp.com/index.php?action=profile;u=41439
- Y_Less - sscanf - http://forum.sa-mp.com/index.php?action=profile;u=36884
- DracoBlue - djson - http://forum.sa-mp.com/index.php?action=profile;u=467
- Norn - Script - http://forum.sa-mp.com/index.php?action=profile;u=42575
- */
- #include <a_samp>
- #include <djson>
- #include <ladmin>
- #define FILTERSCRIPT
- #include <zcmd>
- #define VEHICLES_FILE "nCars"
- #define COLOR_WHITE 0xFFFFFFFF
- forward DeleteVehicle(vehicleid);
- forward AddVehicle(Float:carx,Float:cary,Float:carz,carmodel,carcolor1,carcolor2, Float:carangle, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13);
- forward LoadVehicle(vehicleid);
- new VEHICLE_COUNT = 0;
- enum VehicleVars
- {
- vID,
- Float:vX,
- Float:vY,
- Float:vZ,
- vModel,
- Float:vAngle,
- vColor1,
- vColor2,
- vTune0,
- vTune1,
- vTune2,
- vTune3,
- vTune4,
- vTune5,
- vTune6,
- vTune7,
- vTune8,
- vTune9,
- vTune10,
- vTune11,
- vTune12,
- vTune13,
- }
- new Vehicle[MAX_VEHICLES][VehicleVars], VehicleFileID[MAX_VEHICLES];
- public OnFilterScriptInit()
- {
- djson_GameModeInit();
- djAutocommit(false); // Disabling autocommit, so file system works faster.
- for(new v=0;v<MAX_VEHICLES;v++){VehicleFileID[v] = INVALID_VEHICLE_ID;}
- if(!fexist(VEHICLES_FILE))
- {
- print("ERROR: nCars file not found! creating nCars file...");
- fcreate(VEHICLES_FILE);
- }
- else
- {
- new string[128];
- for(new i=0;i<MAX_VEHICLES;i++)
- {
- format(string, sizeof(string),"Vehicle_%d",i);
- if(djIsSet(VEHICLES_FILE, string)) LoadVehicle(i);
- }
- printf("nCars loaded %d vehicles.", VEHICLE_COUNT);
- }
- return 1;
- }
- public OnFilterScriptExit()
- {
- for(new i=0;i<MAX_VEHICLES;i++)
- {
- if(Vehicle[i][vID] != INVALID_VEHICLE_ID)
- {
- DestroyVehicle(Vehicle[i][vID]);
- }
- }
- djson_GameModeExit();
- return 1;
- }
- public AddVehicle(Float:carx,Float:cary,Float:carz,carmodel,carcolor1,carcolor2, Float:carangle, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13)
- {
- new loopstring[512], otherstring[512], freeid = INVALID_VEHICLE_ID;
- new i = 0;
- while(i <= MAX_VEHICLES)
- {
- i++;
- format(loopstring, sizeof(loopstring),"Vehicle_%d",i);
- if(!djIsSet(VEHICLES_FILE, loopstring))
- {
- freeid = i;
- break;
- }
- }
- if(freeid != INVALID_VEHICLE_ID)
- {
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vX",freeid); djSetFloat(VEHICLES_FILE,otherstring,carx,true);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vY",freeid); djSetFloat(VEHICLES_FILE,otherstring,cary,true);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vZ",freeid); djSetFloat(VEHICLES_FILE,otherstring,carz,true);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vModel",freeid); djSetInt(VEHICLES_FILE,otherstring,carmodel,true);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vColor1",freeid); djSetInt(VEHICLES_FILE,otherstring,carcolor1,true);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vColor2",freeid); djSetInt(VEHICLES_FILE,otherstring,carcolor2,true);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vAngle",freeid); djSetFloat(VEHICLES_FILE,otherstring,carangle,true);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune0",freeid); djSetInt(VEHICLES_FILE,otherstring,c0,true);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune1",freeid); djSetInt(VEHICLES_FILE,otherstring,c1,true);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune2",freeid); djSetInt(VEHICLES_FILE,otherstring,c2,true);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune3",freeid); djSetInt(VEHICLES_FILE,otherstring,c3,true);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune4",freeid); djSetInt(VEHICLES_FILE,otherstring,c4,true);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune5",freeid); djSetInt(VEHICLES_FILE,otherstring,c5,true);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune6",freeid); djSetInt(VEHICLES_FILE,otherstring,c6,true);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune7",freeid); djSetInt(VEHICLES_FILE,otherstring,c7,true);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune8",freeid); djSetInt(VEHICLES_FILE,otherstring,c8,true);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune9",freeid); djSetInt(VEHICLES_FILE,otherstring,c9,true);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune10",freeid); djSetInt(VEHICLES_FILE,otherstring,c10,true);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune11",freeid); djSetInt(VEHICLES_FILE,otherstring,c11,true);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune12",freeid); djSetInt(VEHICLES_FILE,otherstring,c12,true);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune13",freeid); djSetInt(VEHICLES_FILE,otherstring,c13,true);
- djCommit(VEHICLES_FILE);
- return LoadVehicle(freeid);
- }
- return INVALID_VEHICLE_ID;
- }
- public LoadVehicle(vehicleid)
- {
- new string[128], otherstring[512];
- format(string, sizeof(string),"Vehicle_%d",vehicleid);
- if(djIsSet(VEHICLES_FILE, string))
- {
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vX",vehicleid); Vehicle[vehicleid][vX] = djFloat(VEHICLES_FILE, otherstring);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vY",vehicleid); Vehicle[vehicleid][vY] = djFloat(VEHICLES_FILE, otherstring);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vZ",vehicleid); Vehicle[vehicleid][vZ] = djFloat(VEHICLES_FILE, otherstring);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vModel",vehicleid); Vehicle[vehicleid][vModel] = djInt(VEHICLES_FILE, otherstring);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vColor1",vehicleid); Vehicle[vehicleid][vColor1] = djInt(VEHICLES_FILE, otherstring);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vColor2",vehicleid); Vehicle[vehicleid][vColor2] = djInt(VEHICLES_FILE, otherstring);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vAngle",vehicleid); Vehicle[vehicleid][vAngle] = djFloat(VEHICLES_FILE, otherstring);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune0",vehicleid); Vehicle[vehicleid][vTune0] = djInt(VEHICLES_FILE, otherstring);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune1",vehicleid); Vehicle[vehicleid][vTune1] = djInt(VEHICLES_FILE, otherstring);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune2",vehicleid); Vehicle[vehicleid][vTune2] = djInt(VEHICLES_FILE, otherstring);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune3",vehicleid); Vehicle[vehicleid][vTune3] = djInt(VEHICLES_FILE, otherstring);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune4",vehicleid); Vehicle[vehicleid][vTune4] = djInt(VEHICLES_FILE, otherstring);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune5",vehicleid); Vehicle[vehicleid][vTune5] = djInt(VEHICLES_FILE, otherstring);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune6",vehicleid); Vehicle[vehicleid][vTune6] = djInt(VEHICLES_FILE, otherstring);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune7",vehicleid); Vehicle[vehicleid][vTune7] = djInt(VEHICLES_FILE, otherstring);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune8",vehicleid); Vehicle[vehicleid][vTune8] = djInt(VEHICLES_FILE, otherstring);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune9",vehicleid); Vehicle[vehicleid][vTune9] = djInt(VEHICLES_FILE, otherstring);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune10",vehicleid); Vehicle[vehicleid][vTune10] = djInt(VEHICLES_FILE, otherstring);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune11",vehicleid); Vehicle[vehicleid][vTune11] = djInt(VEHICLES_FILE, otherstring);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune12",vehicleid); Vehicle[vehicleid][vTune12] = djInt(VEHICLES_FILE, otherstring);
- format(otherstring, sizeof(otherstring),"Vehicle_%d/vTune13",vehicleid); Vehicle[vehicleid][vTune13] = djInt(VEHICLES_FILE, otherstring);
- Vehicle[vehicleid][vID] = CreateVehicle(Vehicle[vehicleid][vModel], Vehicle[vehicleid][vX], Vehicle[vehicleid][vY], Vehicle[vehicleid][vZ], Vehicle[vehicleid][vAngle], Vehicle[vehicleid][vColor1], Vehicle[vehicleid][vColor2], -1);
- if(Vehicle[vehicleid][vTune0] > 0) AddVehicleComponent(vehicleid, Vehicle[vehicleid][vTune0]);
- if(Vehicle[vehicleid][vTune1] > 0) AddVehicleComponent(vehicleid, Vehicle[vehicleid][vTune1]);
- if(Vehicle[vehicleid][vTune2] > 0) AddVehicleComponent(vehicleid, Vehicle[vehicleid][vTune2]);
- if(Vehicle[vehicleid][vTune3] > 0) AddVehicleComponent(vehicleid, Vehicle[vehicleid][vTune3]);
- if(Vehicle[vehicleid][vTune4] > 0) AddVehicleComponent(vehicleid, Vehicle[vehicleid][vTune4]);
- if(Vehicle[vehicleid][vTune5] > 0) AddVehicleComponent(vehicleid, Vehicle[vehicleid][vTune5]);
- if(Vehicle[vehicleid][vTune6] > 0) AddVehicleComponent(vehicleid, Vehicle[vehicleid][vTune6]);
- if(Vehicle[vehicleid][vTune7] > 0) AddVehicleComponent(vehicleid, Vehicle[vehicleid][vTune7]);
- if(Vehicle[vehicleid][vTune8] > 0) AddVehicleComponent(vehicleid, Vehicle[vehicleid][vTune8]);
- if(Vehicle[vehicleid][vTune9] > 0) AddVehicleComponent(vehicleid, Vehicle[vehicleid][vTune9]);
- if(Vehicle[vehicleid][vTune10] > 0) AddVehicleComponent(vehicleid, Vehicle[vehicleid][vTune10]);
- if(Vehicle[vehicleid][vTune11] > 0) AddVehicleComponent(vehicleid, Vehicle[vehicleid][vTune11]);
- if(Vehicle[vehicleid][vTune12] > 0) AddVehicleComponent(vehicleid, Vehicle[vehicleid][vTune12]);
- if(Vehicle[vehicleid][vTune13] > 0) AddVehicleComponent(vehicleid, Vehicle[vehicleid][vTune13]);
- VehicleFileID[Vehicle[vehicleid][vID]] = vehicleid;
- VEHICLE_COUNT++;
- return Vehicle[vehicleid][vID];
- }
- return INVALID_VEHICLE_ID;
- }
- public DeleteVehicle(vehicleid)
- {
- new string[128];
- format(string, sizeof(string),"Vehicle_%d",vehicleid);
- if(djIsSet(VEHICLES_FILE, string))
- {
- djUnset(VEHICLES_FILE, string);
- djCommit(VEHICLES_FILE);
- DestroyVehicle(Vehicle[vehicleid][vID]);
- Vehicle[vehicleid][vX] = 0;
- Vehicle[vehicleid][vY] = 0;
- Vehicle[vehicleid][vZ] = 0;
- Vehicle[vehicleid][vModel] = 0;
- Vehicle[vehicleid][vColor1] = 0;
- Vehicle[vehicleid][vColor2] = 0;
- Vehicle[vehicleid][vAngle] = 0;
- Vehicle[vehicleid][vTune0] = 0;
- Vehicle[vehicleid][vTune1] = 0;
- Vehicle[vehicleid][vTune2] = 0;
- Vehicle[vehicleid][vTune3] = 0;
- Vehicle[vehicleid][vTune4] = 0;
- Vehicle[vehicleid][vTune5] = 0;
- Vehicle[vehicleid][vTune6] = 0;
- Vehicle[vehicleid][vTune7] = 0;
- Vehicle[vehicleid][vTune8] = 0;
- Vehicle[vehicleid][vTune9] = 0;
- Vehicle[vehicleid][vTune10] = 0;
- Vehicle[vehicleid][vTune11] = 0;
- Vehicle[vehicleid][vTune12] = 0;
- Vehicle[vehicleid][vTune13] = 0;
- Vehicle[vehicleid][vID] = INVALID_VEHICLE_ID;
- VehicleFileID[Vehicle[vehicleid][vID]] = INVALID_VEHICLE_ID;
- VEHICLE_COUNT--;
- return true;
- }
- return false;
- }
- COMMAND:setcar(playerid, params[])
- {
- new
- cmd[128], string[128];
- if (IsPlayerLuxAdminLevel(playerid,3))
- {
- if (sscanf(params, "s ", cmd) != 0)
- {
- return SendClientMessage(playerid, COLOR_WHITE, "Használat: /SetCar <create | delete | park | count>");
- }
- if (strcmp("create", cmd, true, 6) == 0)
- {
- new model, color1, color2;
- if (!sscanf(params, "sddd", cmd, model, color1, color2))
- {
- if(IsValidVehicleModel(model))
- {
- new Float:playerx,Float:playery,Float:playerz, Float:playerangle,c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13;
- GetPlayerPos(playerid, playerx, playery, playerz);
- GetPlayerFacingAngle(playerid, playerangle);
- c0 = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 0);
- c1 = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 1);
- c2 = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 2);
- c3 = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 3);
- c4 = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 4);
- c5 = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 5);
- c6 = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 6);
- c7 = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 7);
- c8 = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 8);
- c9 = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 9);
- c10 = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 10);
- c11 = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 11);
- c12 = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 12);
- c13 = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 13);
- new vehid = AddVehicle(playerx,playery,playerz,model,color1,color2, playerangle, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13);
- format(string,sizeof(string),"Jármű ID %d sikeresen létrehozva! (Fájl ID: %d)", vehid, VehicleFileID[vehid]);
- SendClientMessage(playerid, COLOR_WHITE, string);
- PutPlayerInVehicle(playerid, vehid, 0);
- return 1;
- }
- else return SendClientMessage(playerid, 0xFFFFFFFF, "HIBA: Ismeretlen model.");
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "Használat: /SetCar Create [Model ID] [Szín1] [Szín2]");
- }
- else if (strcmp("delete", cmd, true, 6) == 0)
- {
- if(!IsPlayerInAnyVehicle(playerid))
- {
- new vehicleid;
- if (!sscanf(params, "sd", cmd, vehicleid))
- {
- format(string, sizeof(string),"Vehicle_%d",VehicleFileID[vehicleid]);
- if(djIsSet(VEHICLES_FILE, string))
- {
- format(string,sizeof(string),"Jármű ID %d sikeresen törölve! (Fájl ID: %d)", vehicleid, VehicleFileID[vehicleid]);
- SendClientMessage(playerid, COLOR_WHITE, string);
- DeleteVehicle(VehicleFileID[vehicleid]);
- return 1;
- }
- else
- {
- format(string,sizeof(string),"A Jármű ID %d nem létezik!", vehicleid);
- SendClientMessage(playerid, COLOR_WHITE, string);
- }
- }
- else return SendClientMessage(playerid, 0xFFFFFFFF, "Használat: /SetCar Delete [Jármű ID]");
- }
- else
- {
- format(string, sizeof(string),"Vehicle_%d",VehicleFileID[GetPlayerVehicleID(playerid)]);
- if(djIsSet(VEHICLES_FILE, string))
- {
- format(string,sizeof(string),"Jármű ID %d sikeresen törölve! (Fájl ID: %d)", GetPlayerVehicleID(playerid), VehicleFileID[GetPlayerVehicleID(playerid)]);
- SendClientMessage(playerid, COLOR_WHITE, string);
- DeleteVehicle(VehicleFileID[GetPlayerVehicleID(playerid)]);
- return 1;
- }
- else
- {
- format(string,sizeof(string),"Ismeretlen hiba a jármű törlése közben: Jármű ID %d || Lépj kapcsolatba a szerver tulajdonossal!", GetPlayerVehicleID(playerid));
- SendClientMessage(playerid, COLOR_WHITE, string);
- }
- }
- }
- else if (strcmp("park", cmd, true, 4) == 0)
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- format(string, sizeof(string),"Vehicle_%d",VehicleFileID[GetPlayerVehicleID(playerid)]);
- if(djIsSet(VEHICLES_FILE, string))
- {
- GetVehiclePos(GetPlayerVehicleID(playerid),
- Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vX],
- Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vY],
- Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vZ]);
- GetVehicleZAngle(GetPlayerVehicleID(playerid), Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vAngle]);
- DestroyVehicle(GetPlayerVehicleID(playerid));
- Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vID] = CreateVehicle(Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vModel],
- Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vX],
- Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vY],
- Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vZ],
- Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vAngle],
- Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vColor1],
- Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vColor2], -1);
- Vehicle[GetPlayerVehicleID(playerid)][vTune0] = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 0);
- Vehicle[GetPlayerVehicleID(playerid)][vTune1] = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 1);
- Vehicle[GetPlayerVehicleID(playerid)][vTune2] = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 2);
- Vehicle[GetPlayerVehicleID(playerid)][vTune3] = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 3);
- Vehicle[GetPlayerVehicleID(playerid)][vTune4] = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 4);
- Vehicle[GetPlayerVehicleID(playerid)][vTune5] = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 5);
- Vehicle[GetPlayerVehicleID(playerid)][vTune6] = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 6);
- Vehicle[GetPlayerVehicleID(playerid)][vTune7] = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 7);
- Vehicle[GetPlayerVehicleID(playerid)][vTune8] = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 8);
- Vehicle[GetPlayerVehicleID(playerid)][vTune9] = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 9);
- Vehicle[GetPlayerVehicleID(playerid)][vTune10] = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 10);
- Vehicle[GetPlayerVehicleID(playerid)][vTune11] = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 11);
- Vehicle[GetPlayerVehicleID(playerid)][vTune12] = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 12);
- Vehicle[GetPlayerVehicleID(playerid)][vTune13] = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), 13);
- format(string, sizeof(string),"Vehicle_%d/vX",VehicleFileID[GetPlayerVehicleID(playerid)]);
- djSetFloat(VEHICLES_FILE,string,Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vX],true);
- format(string, sizeof(string),"Vehicle_%d/vY",VehicleFileID[GetPlayerVehicleID(playerid)]);
- djSetFloat(VEHICLES_FILE,string,Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vY],true);
- format(string, sizeof(string),"Vehicle_%d/vZ",VehicleFileID[GetPlayerVehicleID(playerid)]);
- djSetFloat(VEHICLES_FILE,string,Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vZ],true);
- format(string, sizeof(string),"Vehicle_%d/vAngle",VehicleFileID[GetPlayerVehicleID(playerid)]);
- djSetFloat(VEHICLES_FILE,string,Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vAngle],true);
- format(string, sizeof(string),"Vehicle_%d/vTune0",VehicleFileID[GetPlayerVehicleID(playerid)]);
- djSetInt(VEHICLES_FILE,string,Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vTune0],true);
- format(string, sizeof(string),"Vehicle_%d/vTune1",VehicleFileID[GetPlayerVehicleID(playerid)]);
- djSetInt(VEHICLES_FILE,string,Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vTune1],true);
- format(string, sizeof(string),"Vehicle_%d/vTune2",VehicleFileID[GetPlayerVehicleID(playerid)]);
- djSetInt(VEHICLES_FILE,string,Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vTune2],true);
- format(string, sizeof(string),"Vehicle_%d/vTune3",VehicleFileID[GetPlayerVehicleID(playerid)]);
- djSetInt(VEHICLES_FILE,string,Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vTune3],true);
- format(string, sizeof(string),"Vehicle_%d/vTune4",VehicleFileID[GetPlayerVehicleID(playerid)]);
- djSetInt(VEHICLES_FILE,string,Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vTune4],true);
- format(string, sizeof(string),"Vehicle_%d/vTune5",VehicleFileID[GetPlayerVehicleID(playerid)]);
- djSetInt(VEHICLES_FILE,string,Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vTune5],true);
- format(string, sizeof(string),"Vehicle_%d/vTune6",VehicleFileID[GetPlayerVehicleID(playerid)]);
- djSetInt(VEHICLES_FILE,string,Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vTune6],true);
- format(string, sizeof(string),"Vehicle_%d/vTune7",VehicleFileID[GetPlayerVehicleID(playerid)]);
- djSetInt(VEHICLES_FILE,string,Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vTune7],true);
- format(string, sizeof(string),"Vehicle_%d/vTune8",VehicleFileID[GetPlayerVehicleID(playerid)]);
- djSetInt(VEHICLES_FILE,string,Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vTune8],true);
- format(string, sizeof(string),"Vehicle_%d/vTune9",VehicleFileID[GetPlayerVehicleID(playerid)]);
- djSetInt(VEHICLES_FILE,string,Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vTune9],true);
- format(string, sizeof(string),"Vehicle_%d/vTune10",VehicleFileID[GetPlayerVehicleID(playerid)]);
- djSetInt(VEHICLES_FILE,string,Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vTune10],true);
- format(string, sizeof(string),"Vehicle_%d/vTune11",VehicleFileID[GetPlayerVehicleID(playerid)]);
- djSetInt(VEHICLES_FILE,string,Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vTune11],true);
- format(string, sizeof(string),"Vehicle_%d/vTune12",VehicleFileID[GetPlayerVehicleID(playerid)]);
- djSetInt(VEHICLES_FILE,string,Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vTune12],true);
- format(string, sizeof(string),"Vehicle_%d/vTune13",VehicleFileID[GetPlayerVehicleID(playerid)]);
- djSetInt(VEHICLES_FILE,string,Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vTune13],true);
- djCommit(VEHICLES_FILE);
- format(string,sizeof(string),"Jármű ID %d sikeresen leparkolva, (Fájl ID: %d).",
- GetPlayerVehicleID(playerid),
- VehicleFileID[GetPlayerVehicleID(playerid)]);
- SendClientMessage(playerid, COLOR_WHITE, string);
- PutPlayerInVehicle(playerid, Vehicle[VehicleFileID[GetPlayerVehicleID(playerid)]][vID], 0);
- return 1;
- }
- else
- {
- format(string,sizeof(string),"Ismeretlen hiba a jármű parkolása közben: Jármű ID %d || Lépj kapcsolatba a szerver tulajdonossal!", GetPlayerVehicleID(playerid));
- SendClientMessage(playerid, COLOR_WHITE, string);
- }
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "ERROR: You are not in a vehicle!");
- }
- else if (strcmp("count", cmd, true, 5) == 0)
- {
- format(string,sizeof(string),"[nCars]: %d jármű van létrehozva.", VEHICLE_COUNT);
- SendClientMessage(playerid, COLOR_WHITE, string);
- return 1;
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "HIBA: Érvénytelen paraméter.");
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "HIBA: Nem vagy legalább 3as szintű admin!");
- return 1;
- }
- stock fcreate(filename[]) {
- if (fexist(filename)) return false;
- new File:fhnd;
- fhnd=fopen(filename,io_write);
- if (fhnd) {
- fclose(fhnd);
- return true;
- }
- return false;
- }
- stock sscanf(string[], format[], {Float,_}:...)
- {
- #if defined isnull
- if (isnull(string))
- #else
- if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
- #endif
- {
- return format[0];
- }
- #pragma tabsize 4
- new
- formatPos = 0,
- stringPos = 0,
- paramPos = 2,
- paramCount = numargs(),
- delim = ' ';
- while (string[stringPos] && string[stringPos] <= ' ')
- {
- stringPos++;
- }
- while (paramPos < paramCount && string[stringPos])
- {
- switch (format[formatPos++])
- {
- case '\0':
- {
- return 0;
- }
- case 'i', 'd':
- {
- new
- neg = 1,
- num = 0,
- ch = string[stringPos];
- if (ch == '-')
- {
- neg = -1;
- ch = string[++stringPos];
- }
- do
- {
- stringPos++;
- if ('0' <= ch <= '9')
- {
- num = (num * 10) + (ch - '0');
- }
- else
- {
- return -1;
- }
- }
- while ((ch = string[stringPos]) > ' ' && ch != delim);
- setarg(paramPos, 0, num * neg);
- }
- case 'h', 'x':
- {
- new
- num = 0,
- ch = string[stringPos];
- do
- {
- stringPos++;
- switch (ch)
- {
- case 'x', 'X':
- {
- num = 0;
- continue;
- }
- case '0' .. '9':
- {
- num = (num << 4) | (ch - '0');
- }
- case 'a' .. 'f':
- {
- num = (num << 4) | (ch - ('a' - 10));
- }
- case 'A' .. 'F':
- {
- num = (num << 4) | (ch - ('A' - 10));
- }
- default:
- {
- return -1;
- }
- }
- }
- while ((ch = string[stringPos]) > ' ' && ch != delim);
- setarg(paramPos, 0, num);
- }
- case 'c':
- {
- setarg(paramPos, 0, string[stringPos++]);
- }
- case 'f':
- {
- new changestr[16], changepos = 0, strpos = stringPos;
- while(changepos < 16 && string[strpos] && string[strpos] != delim)
- {
- changestr[changepos++] = string[strpos++];
- }
- changestr[changepos] = '\0';
- setarg(paramPos,0,_:floatstr(changestr));
- }
- case 'p':
- {
- delim = format[formatPos++];
- continue;
- }
- case '\'':
- {
- new
- end = formatPos - 1,
- ch;
- while ((ch = format[++end]) && ch != '\'') {}
- if (!ch)
- {
- return -1;
- }
- format[end] = '\0';
- if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
- {
- if (format[end + 1])
- {
- return -1;
- }
- return 0;
- }
- format[end] = '\'';
- stringPos = ch + (end - formatPos);
- formatPos = end + 1;
- }
- case 'u':
- {
- new
- end = stringPos - 1,
- id = 0,
- bool:num = true,
- ch;
- while ((ch = string[++end]) && ch != delim)
- {
- if (num)
- {
- if ('0' <= ch <= '9')
- {
- id = (id * 10) + (ch - '0');
- }
- else
- {
- num = false;
- }
- }
- }
- if (num && IsPlayerConnected(id))
- {
- setarg(paramPos, 0, id);
- }
- else
- {
- #if !defined foreach
- #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
- #define __SSCANF_FOREACH__
- #endif
- string[end] = '\0';
- num = false;
- new
- name[MAX_PLAYER_NAME];
- id = end - stringPos;
- foreach (Player, playerid)
- {
- GetPlayerName(playerid, name, sizeof (name));
- if (!strcmp(name, string[stringPos], true, id))
- {
- setarg(paramPos, 0, playerid);
- num = true;
- break;
- }
- }
- if (!num)
- {
- setarg(paramPos, 0, INVALID_PLAYER_ID);
- }
- string[end] = ch;
- #if defined __SSCANF_FOREACH__
- #undef foreach
- #undef __SSCANF_FOREACH__
- #endif
- }
- stringPos = end;
- }
- case 's', 'z':
- {
- new
- i = 0,
- ch;
- if (format[formatPos])
- {
- while ((ch = string[stringPos++]) && ch != delim)
- {
- setarg(paramPos, i++, ch);
- }
- if (!i)
- {
- return -1;
- }
- }
- else
- {
- while ((ch = string[stringPos++]))
- {
- setarg(paramPos, i++, ch);
- }
- }
- stringPos--;
- setarg(paramPos, i, '\0');
- }
- default:
- {
- continue;
- }
- }
- while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
- {
- stringPos++;
- }
- while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
- {
- stringPos++;
- }
- paramPos++;
- }
- do
- {
- if ((delim = format[formatPos++]) > ' ')
- {
- if (delim == '\'')
- {
- while ((delim = format[formatPos++]) && delim != '\'') {}
- }
- else if (delim != 'z')
- {
- return delim;
- }
- }
- }
- while (delim > ' ');
- return 0;
- }
- IsValidVehicleModel(model)
- {
- if(model >= 400 && model <= 611)
- {
- return true;
- }
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment