Files
automatic-dispose/script/sprechwunsch/police-opener.js
2018-11-24 16:36:19 +01:00

99 lines
4.3 KiB
JavaScript
Executable File

$(document).ready(function () {
console.log('Police Sprechwunsch load: start');
setInterval(ADis_CollectPoliceSprechwuensche, 5000);
setInterval(ADis_OpenNextPoliceSprechwunsch, 5000);
ADis_CollectPoliceSprechwuensche();
});
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
// -
// - Assign & Unassign Missions to Dispatchers
// -
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
function ADis_CollectPoliceSprechwuensche() {
new Promise(async function (resolve, reject) {
await ADisDB.ADisSprechwunschPolice.where({
done: 'false'
}).each((myWunsch) => {
console.log('ADis_CollectPoliceSprechwuensche: remove', myWunsch);
if (!$("#mission_" + myWunsch.missionID).text().match(/Gefangene sollen abtransportiert werden/g)) {
$("#mission_" + myWunsch.missionID).remove();
return ADis_RemovePoliceSprechwunschFromQueue(myWunsch.missionID);
}
})
return resolve();
}).then(() => {
console.log('ADis_CollectPoliceSprechwuensche: add');
var MOIODOS = $('div#mission_list div.missionSideBarEntry:visible');
return MOIODOS.each(function (index) {
console.log('ADis_CollectPoliceSprechwuensche: add', $(this).text().match(/Gefangene sollen abtransportiert werden/g));
if ($(this).text().match(/Gefangene sollen abtransportiert werden/g)) {
var MissionID = $(this).attr("mission_id");
ADis_AddPoliceSprechwunschToQueue(MissionID);
}
});
}).then(()=>{
$("#building_list").find(".building_list_vehicle_element").each(function () {
var VehicleStatus = $(this).find(".building_list_fms").text();
var VehicleType = Number(parseInt($(this).find("a").attr("vehicle_type_id")));
var VehicleID = $(this).attr("vehicle_id");
if (VehicleStatus == "5" && [32, 52].indexOf(VehicleType) !== -1) {
var _meap = $('#radio_messages_important > li.radio_message_vehicle_' + VehicleID + ' a:contains("Zum Einsatz")').attr('href');
var MissionID = _meap[0].substr(_meap[0].lastIndexOf("/") + 1);
console.log(_meap, MissionID);
//ADis_AddPoliceSprechwunschToQueue(MissionID);
}
});
});
}
function ADis_OpenNextPoliceSprechwunsch() {
console.log('ADis_OpenNextPoliceSprechwunsch: start');
ADisSettings().then((setting) => {
if (setting['Sprechwunsch-Automatic'] == 'true') {
return ADisDB.ADisSprechwunschPolice.where({
done: 'false'
}).limit(1)
}
}).then((Wunsch) => {
console.log('ADis_OpenNextPoliceSprechwunsch:', Wunsch, typeof Wunsch);
if (Wunsch !== undefined) {
Wunsch.each((myWunsch) => {
console.log('ADis_OpenNextPoliceSprechwunsch: Wunsch_each', myWunsch, typeof myWunsch);
let MissionID = myWunsch.missionID;
ADis_UpdatePoliceSprechwunschToDone(MissionID).then(() => {
if ($("#adis-sprechwunsch-police-frame").attr("mission_id") == "empty") {
$("#adis-sprechwunsch-police-frame").attr("src", "https://www.leitstellenspiel.de/missions/" + MissionID);
$("#adis-sprechwunsch-police-frame").attr("mission_id", MissionID);
PoliceVehicleFrameWatchDog = setTimeout(async function (MissionID) {
ADis_RemovePoliceSprechwunschFromQueue(MissionID).then((deleteCount) => {
$("#adis-sprechwunsch-police-frame").attr("src", "");
$("#adis-sprechwunsch-police-frame").attr("mission_id", "empty");
});
}, 2500, MissionID);
}
});
});
}
});
}
function ADis_AddPoliceSprechwunschToQueue(WunschID) {
return ADisDB.ADisSprechwunschPolice.put({
missionID: WunschID,
done: 'false'
}).catch((err) => {})
}
function ADis_UpdatePoliceSprechwunschToDone(WunschID) {
console.log(WunschID, typeof WunschID);
return ADisDB.ADisSprechwunschPolice.add({
missionID: WunschID,
done: 'true'
}).catch((err) => {})
}