10.04.2015, 23:31
Basically my car wont save its location when /carpark
car park code:
Save vehicles:
loading:
when you buy the car if needed..
car park code:
Код:
CMD:carpark(playerid, params[]) { new v = GetPlayerVehicleID(playerid), Float: X, Float: Y, Float: Z, Float: A; GetPlayerPos(playerid, X, Y, Z), GetPlayerFacingAngle(playerid, A); if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_LIGHTRED, "SERVER:{FFFFFF} You need to be in a car in order to do this command!"); if(pInfo[playerid][VehicleOwner] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "SERVER:{FFFFFF} You don't own a vehicle!"); if(GetPlayerVehicleID(playerid) == v) { if(pInfo[playerid][VehicleOwner] == v) { vInfo[v][posX] = X; vInfo[v][posY] = Y; vInfo[v][posZ] = Z; vInfo[v][posA] = A; SendClientMessage(playerid, COLOR_LIGHTRED, "SERVER:{FFFFFF} You've parked your vehicle!"); SaveVehicles(); } else SendClientMessage(playerid, COLOR_LIGHTRED, "SERVER:{FFFFFF} You don't own this car!"); } else SendClientMessage(playerid, COLOR_LIGHTRED, "SERVER:{FFFFFF} This isn't your vehicle!"); return 1; }
Код:
stock SaveVehicles() { new file[64]; for(new v = 0; v < MAX_CARS; v ++) { format(file, 64, "Vehicles/%d.ini", v); if(fexist(file)) { new INI:File = INI_Open(file); INI_SetTag(File, "Vehicle Data"); INI_WriteInt(File, "ModelID", vInfo[v][ModelID]); INI_WriteString(File, "Owner", vInfo[v][Owner]); INI_WriteString(File, "NrPlate", vInfo[v][NrPlate]); INI_WriteFloat(File, "posX", vInfo[v][posX]); INI_WriteFloat(File, "posY", vInfo[v][posY]); INI_WriteFloat(File, "posZ", vInfo[v][posZ]); INI_WriteFloat(File, "posA", vInfo[v][posA]); INI_WriteInt(File, "ColorA", vInfo[v][ColorA]); INI_WriteInt(File, "ColorB", vInfo[v][ColorB]); INI_WriteInt(File, "Locked", vInfo[v][Locked]); INI_WriteInt(File, "Faction", vInfo[v][Faction]); INI_Close(File); } } return 1; }
Код:
stock LoadVehicles() { new file[64], s[64], count; print("\n Loading vehicles: \n"); for(new v = 0; v < MAX_CARS; v ++) { format(file, 64, "Vehicles/%d.ini", v); if(fexist(file)) { INI_ParseFile(VehiclePath(v), "LoadVehicleData", false, true, v, true, false ); CreateVehicle(vInfo[v][ModelID], vInfo[v][posX], vInfo[v][posY], vInfo[v][posZ], vInfo[v][posA], vInfo[v][ColorA], vInfo[v][ColorB], -1); SetVehicleNumberPlate(v, vInfo[v][NrPlate]); SetVehicleParamsForPlayer(v, v, 0, 1); SetVehicleToRespawn(v); // numberplate format(s, 64, "[VEHICLE] Loaded Vehicle ID: %d at %f %f %f", v, vInfo[v][posX], vInfo[v][posY], vInfo[v][posZ]); printf(s); count++; } } printf("\n %d vehicles loaded!", count); return 1; } forward LoadVehicleData(v, name[], value[]); public LoadVehicleData(v, name[], value[]) { INI_String("Owner", vInfo[v][Owner], 31); INI_Int("ModelID", vInfo[v][ModelID]); INI_String("NrPlate", vInfo[v][NrPlate], 8); INI_Float("posX", vInfo[v][posX]); INI_Float("posY", vInfo[v][posY]); INI_Float("posZ", vInfo[v][posZ]); INI_Float("posA", vInfo[v][posA]); INI_Int("ColorA", vInfo[v][ColorA]); INI_Int("ColorB", vInfo[v][ColorB]); INI_Int("Locked", vInfo[v][Locked]); INI_Int("Faction", vInfo[v][Faction]); return 1; }
Код:
stock CreatePlayerVehicle(playerid, model) { new pname[30], file[64], playercar, v; GetPlayerName(playerid, pname, sizeof(pname)); playercar = CreateVehicle(model, 170.8668, -16.1531, 1.5781, 220.7102, random(5), random(5), -1); PutPlayerInVehicle(playerid, playercar, 0); new INI:File = INI_Open(VehiclePath(v)); vInfo[v][ModelID] = model; vInfo[v][NrPlate] = "DT-0000-RP"; vInfo[v][Owner] = pname; vInfo[v][posX] = 170.8668; vInfo[v][posY] = -16.1531; vInfo[v][posZ] = 1.5781; vInfo[v][posA] = 220.7102; vInfo[v][ColorA] = random(50); vInfo[v][ColorB] = random(50); vInfo[v][Locked] = 1; INI_Close(File); format(file, 64, "Vehicles/%d.ini", v); if(fexist(file)) { INI_ParseFile(VehiclePath(v), "LoadVehicleData", false, true, v, true, false ); } SaveVehicles(); pInfo[playerid][VehicleOwner] = playercar; vEngine[playercar] = 1; return 1; }