Fix for admin buy of biz-owned veh

This commit is contained in:
Vortrex
2022-12-18 17:27:02 -06:00
parent 58b587c0e2
commit dd30b9c389
2 changed files with 20 additions and 14 deletions

View File

@@ -329,7 +329,7 @@ function doesPlayerHaveStaffPermission(client, requiredFlags) {
// =========================================================================== // ===========================================================================
function doesPlayerHaveClanPermission(client, requiredFlags) { function doesPlayerHaveClanPermission(client, requiredFlags, exemptAdminFlag = false) {
if (isConsole(client)) { if (isConsole(client)) {
return true; return true;
} }
@@ -338,8 +338,10 @@ function doesPlayerHaveClanPermission(client, requiredFlags) {
return true; return true;
} }
if (doesPlayerHaveStaffPermission(client, getStaffFlagValue("ManageClans"))) { if (exemptAdminFlag == false) {
return true; if (doesPlayerHaveStaffPermission(client, getStaffFlagValue("ManageClans"))) {
return true;
}
} }
let clanFlags = 0; let clanFlags = 0;
@@ -359,7 +361,7 @@ function doesPlayerHaveClanPermission(client, requiredFlags) {
// =========================================================================== // ===========================================================================
function doesPlayerHaveJobPermission(client, requiredFlags) { function doesPlayerHaveJobPermission(client, requiredFlags, exemptAdminFlag = false) {
if (isConsole(client)) { if (isConsole(client)) {
return true; return true;
} }
@@ -368,8 +370,10 @@ function doesPlayerHaveJobPermission(client, requiredFlags) {
return true; return true;
} }
if (doesPlayerHaveStaffPermission(client, getStaffFlagValue("ManageJobs"))) { if (exemptAdminFlag == false) {
return true; if (doesPlayerHaveStaffPermission(client, getStaffFlagValue("ManageJobs"))) {
return true;
}
} }
let jobFlags = 0; let jobFlags = 0;

View File

@@ -693,7 +693,7 @@ function buyVehicleCommand(command, params, client) {
return false; return false;
} }
if (doesPlayerOwnVehicle(client, vehicle)) { if (canPlayerManageVehicle(client, vehicle, true)) {
messagePlayerError(client, getLocaleString(client, "AlreadyOwnVehicle")); messagePlayerError(client, getLocaleString(client, "AlreadyOwnVehicle"));
return false; return false;
} }
@@ -845,11 +845,13 @@ function doesPlayerHaveVehicleKeys(client, vehicle) {
// =========================================================================== // ===========================================================================
function canPlayerManageVehicle(client, vehicle) { function canPlayerManageVehicle(client, vehicle, exemptAdminFlag = false) {
let vehicleData = getVehicleData(vehicle); let vehicleData = getVehicleData(vehicle);
if (doesPlayerHaveStaffPermission(client, getStaffFlagValue("ManageVehicles"))) { if (!exemptAdminFlag) {
return true; if (doesPlayerHaveStaffPermission(client, getStaffFlagValue("ManageVehicles"))) {
return true;
}
} }
if (vehicleData.ownerType == AGRP_VEHOWNER_PLAYER) { if (vehicleData.ownerType == AGRP_VEHOWNER_PLAYER) {
@@ -860,14 +862,14 @@ function canPlayerManageVehicle(client, vehicle) {
if (vehicleData.ownerType == AGRP_VEHOWNER_CLAN) { if (vehicleData.ownerType == AGRP_VEHOWNER_CLAN) {
if (vehicleData.ownerId == getPlayerCurrentSubAccount(client).clan) { if (vehicleData.ownerId == getPlayerCurrentSubAccount(client).clan) {
if (doesPlayerHaveClanPermission(client, "ManageVehicles") || doesPlayerHaveClanPermission(client, "owner")) { if (doesPlayerHaveClanPermission(client, "ManageVehicles")) {
return true; return true;
} }
} }
} }
if (vehicleData.ownerType == AGRP_VEHOWNER_BIZ) { if (vehicleData.ownerType == AGRP_VEHOWNER_BIZ) {
if (canPlayerManageBusiness(client, getBusinessIdFromDatabaseId(vehicleData.ownerId))) { if (canPlayerManageBusiness(client, getBusinessIdFromDatabaseId(vehicleData.ownerId), exemptAdminFlag)) {
return true; return true;
} }
} }
@@ -888,14 +890,14 @@ function doesPlayerOwnVehicle(client, vehicle) {
if (vehicleData.ownerType == AGRP_VEHOWNER_CLAN) { if (vehicleData.ownerType == AGRP_VEHOWNER_CLAN) {
if (vehicleData.ownerId == getPlayerCurrentSubAccount(client).clan) { if (vehicleData.ownerId == getPlayerCurrentSubAccount(client).clan) {
if (doesPlayerHaveClanPermission(client, "ManageVehicles") || doesPlayerHaveClanPermission(client, "owner")) { if (doesPlayerHaveClanPermission(client, "ManageVehicles")) {
return true; return true;
} }
} }
} }
if (vehicleData.ownerType == AGRP_VEHOWNER_BIZ) { if (vehicleData.ownerType == AGRP_VEHOWNER_BIZ) {
if (canPlayerManageBusiness(client, getBusinessIdFromDatabaseId(vehicleData.ownerId))) { if (canPlayerManageBusiness(client, getBusinessIdFromDatabaseId(vehicleData.ownerId), true)) {
return true; return true;
} }
} }