Fix duplicate vehicle spawning
This commit is contained in:
@@ -156,14 +156,6 @@ class VehicleData {
|
|||||||
this.licensePlate = toInteger(dbAssoc["veh_license_plate"]);
|
this.licensePlate = toInteger(dbAssoc["veh_license_plate"]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
saveToDatabase() {
|
|
||||||
saveVehicleToDatabase(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
respawn() {
|
|
||||||
respawnVehicle(this.vehicle);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
@@ -186,7 +178,7 @@ function loadVehiclesFromDatabase() {
|
|||||||
dbAssoc = fetchQueryAssoc(dbConnection, dbQueryString);
|
dbAssoc = fetchQueryAssoc(dbConnection, dbQueryString);
|
||||||
if (dbAssoc.length > 0) {
|
if (dbAssoc.length > 0) {
|
||||||
for (let i in dbAssoc) {
|
for (let i in dbAssoc) {
|
||||||
let tempVehicleData = new VehicleData(dbAssoc[i]);
|
let tempVehicleData = new VehicleData(dbAssoc[i], false);
|
||||||
tempVehicles.push(tempVehicleData);
|
tempVehicles.push(tempVehicleData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -322,9 +314,11 @@ function saveVehicleToDatabase(vehicleDataId) {
|
|||||||
|
|
||||||
function spawnAllVehicles() {
|
function spawnAllVehicles() {
|
||||||
for (let i in getServerData().vehicles) {
|
for (let i in getServerData().vehicles) {
|
||||||
let vehicle = spawnVehicle(getServerData().vehicles[i]);
|
if (getServerData().vehicles[i].vehicle == false) {
|
||||||
getServerData().vehicles[i].vehicle = vehicle;
|
let vehicle = spawnVehicle(getServerData().vehicles[i]);
|
||||||
setEntityData(vehicle, "v.rp.dataSlot", i, false);
|
getServerData().vehicles[i].vehicle = vehicle;
|
||||||
|
setEntityData(vehicle, "v.rp.dataSlot", i, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
setAllVehicleIndexes();
|
setAllVehicleIndexes();
|
||||||
}
|
}
|
||||||
@@ -1464,22 +1458,21 @@ function stopRentingVehicle(client) {
|
|||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
function respawnVehicle(vehicle) {
|
function respawnVehicle(vehicle) {
|
||||||
let vehicles = getServerData().vehicles;
|
for (let i in getServerData().vehicles) {
|
||||||
for (let i in vehicles) {
|
if (vehicle == getServerData().vehicles[i].vehicle) {
|
||||||
if (vehicle == vehicles[i].vehicle) {
|
if (getServerData().vehicles[i].spawnLocked == true) {
|
||||||
if (vehicles[i].spawnLocked == true) {
|
getServerData().vehicles[i].engine = false;
|
||||||
vehicles[i].engine = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (vehicles[i].ownerType == V_VEHOWNER_JOB) {
|
if (getServerData().vehicles[i].ownerType == V_VEHOWNER_JOB) {
|
||||||
vehicles[i].locked = true;
|
getServerData().vehicles[i].locked = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
destroyElement(vehicle);
|
destroyElement(vehicle);
|
||||||
vehicles[i].vehicle = false;
|
getServerData().vehicles[i].vehicle = false;
|
||||||
|
|
||||||
let newVehicle = spawnVehicle(vehicles[i]);
|
let newVehicle = spawnVehicle(getServerData().vehicles[i]);
|
||||||
vehicles[i].vehicle = newVehicle;
|
getServerData().vehicles[i].vehicle = newVehicle;
|
||||||
setEntityData(newVehicle, "v.rp.dataSlot", i, false);
|
setEntityData(newVehicle, "v.rp.dataSlot", i, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1868,7 +1861,7 @@ function removeAllOccupantsFromVehicle(vehicle) {
|
|||||||
let clients = getClients();
|
let clients = getClients();
|
||||||
for (let i in clients) {
|
for (let i in clients) {
|
||||||
if (clients[i].player != null) {
|
if (clients[i].player != null) {
|
||||||
if (clients[i].player.vehicle != null) {
|
if (clients[i].player.vehicle != false) {
|
||||||
if (clients[i].player.vehicle == vehicle) {
|
if (clients[i].player.vehicle == vehicle) {
|
||||||
removePlayerFromVehicle(clients[i]);
|
removePlayerFromVehicle(clients[i]);
|
||||||
}
|
}
|
||||||
@@ -1920,8 +1913,10 @@ function isPlayerInVehicleDriverSeat(client) {
|
|||||||
|
|
||||||
function despawnAllVehicles() {
|
function despawnAllVehicles() {
|
||||||
for (let i in getServerData().vehicles) {
|
for (let i in getServerData().vehicles) {
|
||||||
destroyGameElement(getServerData().vehicles[i].vehicle);
|
if (getServerData().vehicles[i].vehicle != false) {
|
||||||
getServerData().vehicles[i].vehicle = null;
|
destroyGameElement(getServerData().vehicles[i].vehicle);
|
||||||
|
getServerData().vehicles[i].vehicle = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user