Add respawnveh cmd for single vehicle respawn

This commit is contained in:
Vortrex
2022-02-13 19:38:42 -06:00
parent 1780cd1ab6
commit 3514e8d5f5
2 changed files with 93 additions and 58 deletions

View File

@@ -506,6 +506,7 @@ function loadCommands() {
commandData("vehrespawnpublic", respawnPublicVehiclesCommand, "", getStaffFlagValue("ManageVehicles"), true, true), commandData("vehrespawnpublic", respawnPublicVehiclesCommand, "", getStaffFlagValue("ManageVehicles"), true, true),
commandData("vehrespawnbiz", respawnBusinessVehiclesCommand, "", getStaffFlagValue("ManageVehicles"), true, true), commandData("vehrespawnbiz", respawnBusinessVehiclesCommand, "", getStaffFlagValue("ManageVehicles"), true, true),
commandData("vehreloadall", reloadAllVehiclesCommand, "", getStaffFlagValue("ManageVehicles"), true, true), commandData("vehreloadall", reloadAllVehiclesCommand, "", getStaffFlagValue("ManageVehicles"), true, true),
commandData("vehreload", respawnVehicleCommand, "", getStaffFlagValue("ManageVehicles"), true, true),
commandData("vehrent", rentVehicleCommand, "", getStaffFlagValue("None"), true, true), commandData("vehrent", rentVehicleCommand, "", getStaffFlagValue("None"), true, true),
commandData("vehrentprice", setVehicleRentPriceCommand, "", getStaffFlagValue("None"), true, true), commandData("vehrentprice", setVehicleRentPriceCommand, "", getStaffFlagValue("None"), true, true),

View File

@@ -1076,6 +1076,20 @@ function reloadAllVehiclesCommand(command, params, client) {
getVehicleData(vehicle).needsSaved = true; getVehicleData(vehicle).needsSaved = true;
} }
// ===========================================================================
function respawnVehicleCommand(command, params, client) {
if(isPlayerInAnyVehicle(client)) {
removeAllOccupantsFromVehicle(getPlayerVehicle(client));
respawnVehicle(getPlayerVehicle(client));
}
setAllVehicleIndexes();
messagePlayerSuccess(client, `Your vehicle has been respawned`);
}
// =========================================================================== // ===========================================================================
function respawnAllVehiclesCommand(command, params, client) { function respawnAllVehiclesCommand(command, params, client) {
@@ -1396,7 +1410,12 @@ function createPermanentVehicle(modelIndex, position, heading, interior = 0, dim
// =========================================================================== // ===========================================================================
function checkVehicleBuying(client) { function processVehiclePurchasing() {
if(!getGlobalConfig().useServerSideVehiclePurchaseCheck) {
return false;
}
getClients().forEach((client) => {
if(!isPlayerLoggedIn(client)) { if(!isPlayerLoggedIn(client)) {
setPlayerBuyingVehicleState(client, VRR_VEHBUYSTATE_NONE, null, null); setPlayerBuyingVehicleState(client, VRR_VEHBUYSTATE_NONE, null, null);
return false; return false;
@@ -1449,16 +1468,19 @@ function checkVehicleBuying(client) {
setPlayerBuyingVehicleState(client, VRR_VEHBUYSTATE_NONE, null, null); setPlayerBuyingVehicleState(client, VRR_VEHBUYSTATE_NONE, null, null);
return true; return true;
} }
});
return false; return false;
} }
// =========================================================================== // ===========================================================================
function checkVehicleBurning() { function processVehicleBurning() {
let vehicles = getElementsByType(ELEMENT_VEHICLE); let vehicles = getElementsByType(ELEMENT_VEHICLE);
for(let i in vehicles) { for(let i in vehicles) {
if(vehicles[i].health <= 250) {
return false;
}
} }
} }
@@ -1496,17 +1518,19 @@ function setAllVehicleIndexes() {
// =========================================================================== // ===========================================================================
function doesVehicleHaveMegaphone(vehicle) { function doesVehicleHaveMegaphone(vehicle) {
if(getJobType(getJobIdFromDatabaseId(getVehicleData(vehicle).job)) == VRR_JOB_POLICE) { if(getVehicleData(vehicle).ownerType == VRR_VEHOWNER_JOB) {
if(getJobType(getJobIdFromDatabaseId(getVehicleData(vehicle).ownerId)) == VRR_JOB_POLICE) {
return true; return true;
} }
if(getJobType(getJobIdFromDatabaseId(getVehicleData(vehicle).job)) == VRR_JOB_FIRE) { if(getJobType(getJobIdFromDatabaseId(getVehicleData(vehicle).ownerId)) == VRR_JOB_FIRE) {
return true; return true;
} }
if(getJobType(getJobIdFromDatabaseId(getVehicleData(vehicle).job)) == VRR_JOB_MEDICAL) { if(getJobType(getJobIdFromDatabaseId(getVehicleData(vehicle).ownerId)) == VRR_JOB_MEDICAL) {
return true; return true;
} }
}
return false; return false;
} }
@@ -1549,3 +1573,13 @@ function getVehicleTrunkPosition(vehicle) {
} }
// =========================================================================== // ===========================================================================
function removeAllOccupantsFromVehicle(vehicle) {
for(let i = 0 ; i <= 16 ; i++) {
if(vehicle.getOccupant(i) != null) {
removePlayerFromVehicle(vehicle.getOccupant(i));
}
}
}
// ===========================================================================