Fix for admin buy of biz-owned veh
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user