Files
automatic-dispose/script/sprechwunsch/police-opener.js
2018-11-24 14:43:59 +01:00

100 lines
3.6 KiB
JavaScript
Executable File

$(document).ready(function () {
setInterval(ADis_CollectPoliceSprechwuensche, 7500);
setInterval(ADis_OpenNextPoliceSprechwunsch, 7500);
ADis_CollectPoliceSprechwuensche();
});
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
// -
// - Assign & Unassign Missions to Dispatchers
// -
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
function ADis_CollectPoliceSprechwuensche() {
ADisDB.ADisSprechwunschPolice.where({
done: 'false'
}).each((Wunsch) => {
if (!$("#mission_" + Wunsch.missionID).text().match(/Gefangene sollen abtransportiert werden/g)) {
$("#mission_" + Wunsch.missionID).remove();
return ADis_RemovePoliceSprechwunschFromQueue(Wunsch.missionID);
}
}).then(() => {
var MOIODOS = $('div#mission_list div.missionSideBarEntry:visible');
MOIODOS.each(function (index) {
if ($(this).text().match(/Gefangene sollen abtransportiert werden\./gmu)) {
var MissionID = $(this).attr("mission_id");
ADis_AddPoliceSprechwunschToQueue(MissionID);
}
});
});
}
function ADis_OpenNextPoliceSprechwunsch() {
ADisSettings().then((setting) => {
if (setting['Sprechwunsch-Automatic'] == 'true') {
return ADisDB.ADisSprechwunschPolice.where({
done: 'false'
}).limit(1)
}
}).then((Wunsch) => {
if (Wunsch !== undefined) {
Wunsch.each((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.add({
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) => {})
}
/**
* #mission_missing_905214286
* //*[@id="mission_missing_905214286"]
*
* const regex = /^Gefangene sollen abtransportiert werden\.$/gmu;
const str = `Alarm Massenschlägerei, Uferweg, 27749 Düsternort Delmenhorst
Gefangene sollen abtransportiert werden.
Sophie V.
Anna T.
Franziska M.`;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
*/