Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //-------------------------------------------------------------------------------//
- //*********************************************************************************//
- // Owned Vehicles //
- //*********************************************************************************//
- //-------------------------------------------------------------------------------//
- #define MAX_VEHICLES_OWNED 250
- enum ovStats
- {
- ovID,
- ovOwner[255],
- ovModel,
- ovColor1,
- ovColor2,
- ovTrunkGun1,
- ovTrunkGun2,
- ovTrunkGun1Ammo,
- ovTrunkGun2Ammo,
- ovVehicleID,
- Float:ovPositionX,
- Float:ovPositionY,
- Float:ovPositionZ,
- Float:ovAngle
- }
- new ov_Stats[MAX_VEHICLES_OWNED][ovStats];
- forward LoadOVs_data(ovIDS,name[],value[]);
- public LoadOVs_data(ovIDS,name[],value[])
- {
- INI_Int("ID", ov_Stats[ovIDS][ovID]);
- INI_String("Owner", ov_Stats[ovIDS][ovOwner], 255);
- INI_Int("Model", ov_Stats[ovIDS][ovModel]);
- INI_Int("Color1", ov_Stats[ovIDS][ovColor1]);
- INI_Int("Color2", ov_Stats[ovIDS][ovColor2]);
- INI_Int("TrunkGun1", ov_Stats[ovIDS][ovTrunkGun1]);
- INI_Int("TrunkGun2", ov_Stats[ovIDS][ovTrunkGun2]);
- INI_Int("TrunkGun1Ammo", ov_Stats[ovIDS][ovTrunkGun1Ammo]);
- INI_Int("TrunkGun2Ammo", ov_Stats[ovIDS][ovTrunkGun2Ammo]);
- INI_Float("PositionX", ov_Stats[ovIDS][ovPositionX]);
- INI_Float("PositionY", ov_Stats[ovIDS][ovPositionY]);
- INI_Float("PositionZ", ov_Stats[ovIDS][ovPositionZ]);
- INI_Float("Angle", ov_Stats[ovIDS][ovAngle]);
- return 1;
- }
- new ovOwned[MAX_PLAYERS];
- stock ov_OnPlayerLogin(playerid)
- {
- ovOwned[playerid] = 0;
- for(new i = 0; i < MAX_VEHICLES_OWNED; i++)
- {
- INI_ParseFile("/Vehicles/%i.ini", "LoadOVs_%i", .bExtra = true, .extra = i);
- if(!strcmp(ov_Stats[i][ovOwner], GetName(playerid)))
- {
- ovOwned[playerid] = ov_Stats[i][ovID];
- pVehicleID[playerid] = CreateVehicle(ov_Stats[i][ovModel], ov_Stats[i][ovPositionX], ov_Stats[i][ovPositionY], ov_Stats[i][ovPositionZ], ov_Stats[i][ovAngle], ov_Stats[i][ovColor1], ov_Stats[i][ovColor2], -1, 0);
- new log[200];
- format(log, 200, "Spawning Owned Vehicle | ID: %i | Owner: %s | X: %f | Y: %f | Z: %f", ov_Stats[i][ovID], ov_Stats[i][ovOwner], ov_Stats[i][ovPositionX], ov_Stats[i][ovPositionY], ov_Stats[i][ovPositionZ]);
- ov_Log(log);
- }
- }
- }
- stock ov_OnPlayerDisconnect(playerid)
- {
- if(ovOwned[playerid] >= 1)
- {
- //Succes, Player has a vehicle.
- new Float:vehx, Float:vehy, Float:vehz, Float:vehangle;
- GetVehiclePos(pVehicleID[playerid], vehx, vehy, vehz);
- GetVehicleZAngle(pVehicleID[playerid], vehangle);
- new INI:File = INI_Open(UserPath(playerid));
- INI_SetTag(File, "stats");
- INI_WriteFloat(File, "PositionX", vehx);
- INI_WriteFloat(File, "PositionY", vehy);
- INI_WriteFloat(File, "PositionZ", vehz);
- INI_WriteFloat(File, "Angle", vehangle);
- INI_Close(File);
- DestroyVehicle(pVehicleID[playerid]);
- new log[200];
- format(log, 200, "Despawned Owned Vehicle | ID: %i | Owner: %s | X: %f | Y: %f | Z: %f", ov_Stats[pVehicleID[playerid]][ovID], ov_Stats[pVehicleID[playerid]][ovOwner], ov_Stats[pVehicleID[playerid]][ovPositionX], ov_Stats[pVehicleID[playerid]][ovPositionY], ov_Stats[pVehicleID[playerid]][ovPositionZ]);
- ov_Log(log);
- }
- }
- stock ov_Log(log[])
- {
- new File:handle = fopen("/Logs/Vehicles.txt", io_append);
- if(handle)
- {
- new Hour, Minute, Second;
- gettime(Hour, Minute, Second);
- format(log, 255, "[%02d:%02d:%02d] %s\r\n", Hour, Minute, Second, log);
- fwrite(handle, log);
- fclose(handle);
- }
- else
- {
- print("[CAUGHTION] Failed to check and write at /Logs/Vehicles.txt (EXTREME WARNING)");
- print("[CAUGHTION] Failure to fix this may cause Server Crash!");
- }
- }
- //-------------------------------------------------------------------------------//
- //*********************************************************************************//
- //-------------------------------------------------------------------------------//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement