command(savecar, playerid, params[]) { #pragma unused params if(Player[playerid][AdminLevel] >= 5) { if(UnconfirmedSave[playerid] == 0) { SendClientMessage(playerid, WHITE, "Are you sure you want to save this vehicle? Please re-type this command to confirm this action."); UnconfirmedSave[playerid] = 1; } else { UnconfirmedSave[playerid] = 0; if(IsPlayerInAnyVehicle(playerid)) { new id, Vehicle[16], vehicleid = GetPlayerVehicleID(playerid); id = findAvailableVehicleID(); format(Vehicle, sizeof(Vehicle), "V_%d", id); if(!djIsSet(VEHICLES_FILE, Vehicle)) // Fail-safe to prevent overwriting any current values { GetVehiclePos(vehicleid, Vehicles[id][CarPosX], Vehicles[id][CarPosY], Vehicles[id][CarPosZ]); GetVehicleZAngle(vehicleid, Vehicles[id][CarZAngle]); Vehicles[id][CarModel] = GetVehicleModel(vehicleid); Vehicles[id][CarGroup] = 0; Vehicles[id][CarColour1] = -1; Vehicles[id][CarColour2] = -1; djAutocommit(false); format(Vehicle, sizeof(Vehicle), "V_%d/PosX", id); djSetFloat(VEHICLES_FILE, Vehicle, Vehicles[id][CarPosX], true); format(Vehicle, sizeof(Vehicle), "V_%d/PosY", id); djSetFloat(VEHICLES_FILE, Vehicle, Vehicles[id][CarPosY], true); format(Vehicle, sizeof(Vehicle), "V_%d/PosZ", id); djSetFloat(VEHICLES_FILE, Vehicle, Vehicles[id][CarPosZ], true); format(Vehicle, sizeof(Vehicle), "V_%d/ZAngle", id); djSetFloat(VEHICLES_FILE, Vehicle, Vehicles[id][CarZAngle], true); format(Vehicle, sizeof(Vehicle), "V_%d/Model", id); djSetInt(VEHICLES_FILE, Vehicle, Vehicles[id][CarModel], true); format(Vehicle, sizeof(Vehicle), "V_%d/Col1", id); djSetInt(VEHICLES_FILE, Vehicle, Vehicles[id][CarColour1], true); format(Vehicle, sizeof(Vehicle), "V_%d/Col2", id); djSetInt(VEHICLES_FILE, Vehicle, Vehicles[id][CarColour2], true); format(Vehicle, sizeof(Vehicle), "V_%d/Group", id); djSetInt(VEHICLES_FILE, Vehicle, Vehicles[id][CarGroup], true); djCommit(VEHICLES_FILE); djAutocommit(true); CarCount++; printf("[system] Vehicle %d has been saved to %s.", id, VEHICLES_FILE); SendClientMessage(playerid, WHITE, "Vehicle saved!"); DestroyVehicle(vehicleid); Vehicles[id][GameID] = CreateVehicle(Vehicles[id][CarModel], Vehicles[id][CarPosX], Vehicles[id][CarPosY], Vehicles[id][CarPosZ], Vehicles[id][CarZAngle], Vehicles[id][CarColour1], Vehicles[id][CarColour2], 3600); PutPlayerInVehicle(playerid, Vehicles[id][GameID], 0); SendClientMessage(playerid, WHITE, "Do NOT despawn this vehicle."); for(new i = 0; i < SpawnedVehicles; i++) { if(AdminSpawned[i] == GetPlayerVehicleID(playerid)) { AdminSpawned[i] = 0; } } } else { new msgDiagnoseError[104]; format(msgDiagnoseError, sizeof(msgDiagnoseError), "[savecar] %s failed to insert in Vehicles.json. %s appears to already be set.", Vehicle, Vehicle); logError(msgDiagnoseError); SendClientMessage(playerid, WHITE, "There was an error attempting to save this vehicle, details of the error have been logged to 'scriptfiles/errors.txt'"); } } }
#define VEHICLES_FILE "Vehicles.txt"
{"V_0":{"Col1":-1,"Col2":-1,"Group":0,"Model":596,"PosY":-1709.802124,"PosZ":5.610952,"ZAngle":359.229736},
So is there a way to load it?
Because i thought it would load on startup.. |
No, Only files that read on startup are: server.cfg, gamemode.amx ( your might differ ), filterscripts (.amx) and both .exe's ( different name on linux)
and also, I gave you a link, I suggest you changing it to Y_INI tho.... https://sampforum.blast.hk/showthread.php?tid=273088 (that's a login and register system, but it uses Y_INI, look at those parts.... ) I sent you that post just for you to look how others use Y_INI, and think how you'd use it. Link to ******'s post for Y_INI: https://sampforum.blast.hk/showthread.php?tid=175565 And a bank system using Y_INI: https://sampforum.blast.hk/showthread.php?tid=372240 Oh yea, vehicles.txt is used in GrandLarc(*I think*) script. |