Save job locations func
This commit is contained in:
@@ -12,6 +12,7 @@ function initJobScript() {
|
|||||||
console.log("[Asshat.Job]: Initializing job script ...");
|
console.log("[Asshat.Job]: Initializing job script ...");
|
||||||
getServerData().jobs = loadJobsFromDatabase();
|
getServerData().jobs = loadJobsFromDatabase();
|
||||||
|
|
||||||
|
setAllJobDataIndexes();
|
||||||
createAllJobPickups();
|
createAllJobPickups();
|
||||||
createAllJobBlips();
|
createAllJobBlips();
|
||||||
|
|
||||||
@@ -463,6 +464,27 @@ function startWorking(client) {
|
|||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
function getJobInfoCommand(command, params, client) {
|
||||||
|
let closestJobLocation = getClosestJobLocation(getPlayerPosition(client));
|
||||||
|
|
||||||
|
messagePlayerInfo(client, `[#FFFF00][Job Info] [#FFFFFF]Name: [#AAAAAA]${getJobData(closestJobLocation.job).name}, [#FFFFFF]Enabled: [#AAAAAA]${getYesNoFromBool(intToBool(getJobData(closestJobLocation.job).enabled))}, [#FFFFFF]Whitelisted: [#AAAAAA]${getYesNoFromBool(intToBool(getJobData(closestJobLocation.job).whiteListEnabled))}, [#FFFFFF]Blacklisted: [#AAAAAA]${getYesNoFromBool(intToBool(getJobData(closestJobLocation.job).blackListEnabled))}, [#FFFFFF]ID: [#AAAAAA]${getJobData(closestJobLocation.job).id}/${closestJobLocation.job}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
function getJobLocationInfoCommand(command, params, client) {
|
||||||
|
let closestJobLocation = getClosestJobLocation(getPlayerPosition(client));
|
||||||
|
|
||||||
|
//if(!getJobData(getJobIdFromDatabaseId(closestJobLocation.job))) {
|
||||||
|
// messagePlayerError(client, "Job not found!");
|
||||||
|
// return false;
|
||||||
|
//}
|
||||||
|
|
||||||
|
messagePlayerInfo(client, `[#FFFF00][Job Location Info] [#FFFFFF]Job: [#AAAAAA]${getJobData(closestJobLocation.job).name} (${getJobData(closestJobLocation.job).id}/${closestJobLocation.job}), [#FFFFFF]Enabled: [#AAAAAA]${getYesNoFromBool(closestJobLocation.enabled)}, [#FFFFFF]Database ID: [#AAAAAA]${closestJobLocation.databaseId}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
function givePlayerJobEquipment(client, equipmentId) {
|
function givePlayerJobEquipment(client, equipmentId) {
|
||||||
if(!canPlayerUseJobs(client)) {
|
if(!canPlayerUseJobs(client)) {
|
||||||
return false;
|
return false;
|
||||||
@@ -718,8 +740,7 @@ function createJobLocationCommand(command, params, client) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
let splitParams = params.split(" ");
|
let jobId = getJobFromParams(params);
|
||||||
let jobId = getJobFromParams(splitParams[0]);
|
|
||||||
|
|
||||||
if(!getJobData(jobId)) {
|
if(!getJobData(jobId)) {
|
||||||
messagePlayerError(client, "That job was not found!");
|
messagePlayerError(client, "That job was not found!");
|
||||||
@@ -1186,4 +1207,66 @@ function unFreezeJobVehicleForRouteStop(client) {
|
|||||||
getPlayerVehicle(client).engine = true;
|
getPlayerVehicle(client).engine = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
function getJobIdFromDatabaseId(databaseId) {
|
||||||
|
for(let i in getServerData().jobs) {
|
||||||
|
if(getServerData().jobs[i].databaseId == databaseId) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
function setAllJobDataIndexes() {
|
||||||
|
for(let i in getServerData().jobs) {
|
||||||
|
getServerData().jobs[i].id = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
function createJobLocation(job, position, interior, dimension) {
|
||||||
|
let jobLocationData = serverClasses.jobLocationData(false);
|
||||||
|
jobLocationData.position = position;
|
||||||
|
jobLocationData.job = job;
|
||||||
|
jobLocationData.interior = interior;
|
||||||
|
jobLocationData.dimension = dimension;
|
||||||
|
jobLocationData.enabled = true;
|
||||||
|
|
||||||
|
getServerData().jobs[job].locations.push(jobLocationData);
|
||||||
|
|
||||||
|
saveJobLocationToDatabase(jobLocationData);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
function saveJobLocationToDatabase(jobLocationData) {
|
||||||
|
if(jobLocationData == null) {
|
||||||
|
// Invalid vehicle data
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(`[Asshat.Job]: Saving job location ${jobLocationData.databaseId} to database ...`);
|
||||||
|
let dbConnection = connectToDatabase();
|
||||||
|
if(dbConnection) {
|
||||||
|
// If job location hasn't been added to database, ID will be 0
|
||||||
|
if(vehicleData.databaseId == 0) {
|
||||||
|
let dbQueryString = `INSERT INTO job_loc (job_loc_job, job_loc_enabled, job_loc_pos_x, job_loc_pos_y, job_loc_pos_z, job_loc_int, job_loc_vw) VALUES (${jobLocationData.job}, ${boolToInt(jobLocationData.enabled)}, ${jobLocationData.position.x}, ${jobLocationData.position.y}, ${jobLocationData.position.z}, ${jobLocationData.interior}, ${jobLocationData.dimension})`;
|
||||||
|
queryDatabase(dbConnection, dbQueryString);
|
||||||
|
jobLocationData.databaseId = getDatabaseInsertId(dbConnection);
|
||||||
|
} else {
|
||||||
|
let dbQueryString = `UPDATE job_loc SET job_loc_job=${jobLocationData.job}, job_loc_enabled=${boolToInt(jobLocationData.enabled)}, job_loc_pos_x=${jobLocationData.position.x}, job_loc_pos_y=${jobLocationData.jobLocationData.y}, job_loc_pos_z=${jobLocationData.jobLocationData.z}, job_loc_int=${jobLocationData.interior}, job_loc_vw=${jobLocationData.dimension} WHERE job_loc_id=${jobLocationData.databaseId}`;
|
||||||
|
queryDatabase(dbConnection, dbQueryString);
|
||||||
|
}
|
||||||
|
disconnectFromDatabase(dbConnection);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
console.log(`[Asshat.Job]: Saved job location ${jobLocationData.vehicle.id} to database!`);
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
Reference in New Issue
Block a user