A new start

This commit is contained in:
2018-11-24 14:43:59 +01:00
commit 3c32c8a37a
24054 changed files with 1376258 additions and 0 deletions

View File

@@ -0,0 +1,200 @@
$(document).ready(function () {
setTimeout(function () {
ADis_Check_Call_Police_Active();
}, 500);
});
function ADis_Check_Call_Police_Active() {
if ($('#h2_prisoners').length > 0) {
ADis_Collect_Jails();
} else {
ADis_RemovePoliceSprechwunschFromQueue(MissionID).then((deleteCount) => {
$("#adis-sprechwunsch-police-frame").attr("src", "");
$("#adis-sprechwunsch-police-frame").attr("mission_id", "empty");
});
}
}
// Gefängnis auswählen
function ADis_Collect_Jails() {
var CountGefangene = Number(parseInt($('#h2_prisoners').text()));
var parentNode = $('#mission_vehicle_at_mission tr > td:nth-child(5) > a:contains("Jomaar")').parent().parent();
var GefKw = parentNode.find('td:nth-child(2) > a[vehicle_type_id="52"]');
var FuStW = parentNode.find('td:nth-child(2) > a[vehicle_type_id="32"]');
var GefKwGefaegnisse = $(GefKw[0]).parent().parent().next('tr');
var FuStWGefaegnisse = $(FuStW[0]).parent().parent().next('tr');
GefKwGefaegnisse.find("a:contains('Freie Zellen')").each(function () {
var JailHref = $(this).attr("href");
var JailID = JailHref.split("/").pop();
var JailText = $(this).text();
var JailFreeBeds = 0;
var JailDistance = 0;
var JailTax = 0;
let m;
while ((m = JailRegEx.exec(JailText)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === JailRegEx.lastIndex) {
JailRegEx.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
if (groupIndex == 1) {
JailFreeBeds = parseInt(match.trim());
} else if (groupIndex == 2) {
JailDistance = parseInt(match.trim());
} else if (groupIndex == 3 && typeof match != "undefined") {
JailTax = parseInt(match.trim());
}
});
}
var JailValue = JailDistance * 450 * -1;
JailValue += 11; //GefKw bevorzugt
if (JailTax == 0) {
JailValue += 10000;
} else if (JailTax > 0 && JailTax <= 10) {
JailValue += 5000;
} else if (JailTax > 10 && JailTax <= 20) {
JailValue += 1000;
} else {
JailValue -= 10000;
}
if (JailFreeBeds >= 5) {
JailValue += 15000;
} else if (JailFreeBeds >= 1) {
JailValue += 1000;
} else {
JailValue -= 5000;
}
if (JailFreeBeds >= 5) {
Jails.push({
"id": JailID,
"value": JailValue + 1000,
"text": JailText,
"distance": JailDistance,
"href": JailHref
});
} else if (JailFreeBeds >= 1) {
Jails.push({
"id": JailID,
"value": JailValue,
"text": JailText,
"distance": JailDistance,
"href": JailHref
});
}
});
FuStWGefaegnisse.find("a:contains('Freie Zellen')").each(function () {
var JailHref = $(this).attr("href");
var JailID = JailHref.split("/").pop();
var JailText = $(this).text();
var JailFreeBeds = 0;
var JailDistance = 0;
var JailTax = 0;
let m;
while ((m = JailRegEx.exec(JailText)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === JailRegEx.lastIndex) {
JailRegEx.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
if (groupIndex == 1) {
JailFreeBeds = parseInt(match.trim());
} else if (groupIndex == 2) {
JailDistance = parseInt(match.trim());
} else if (groupIndex == 3 && typeof match != "undefined") {
JailTax = parseInt(match.trim());
}
});
}
var JailValue = JailDistance * 450 * -1;
if (JailTax == 0) {
JailValue += 10000;
} else if (JailTax > 0 && JailTax <= 10) {
JailValue += 5000;
} else if (JailTax > 10 && JailTax <= 20) {
JailValue += 1000;
} else {
JailValue -= 10000;
}
if (JailFreeBeds >= 5) {
JailValue += 15000;
} else if (JailFreeBeds >= 1) {
JailValue += 1000;
} else {
JailValue -= 5000;
}
if (JailFreeBeds >= CountGefangene) {
Jails.push({
"id": JailID,
"value": JailValue + 1000,
"text": JailText,
"distance": JailDistance,
"href": JailHref
});
} else if (JailFreeBeds >= 1) {
Jails.push({
"id": JailID,
"value": JailValue,
"text": JailText,
"distance": JailDistance,
"href": JailHref
});
}
});
Jails.sort(function (a, b) {
return a.value - b.value;
});
Jails.reverse();
if (Jails.length > 0) {
ADis_Send_Vehicle_To_Jail()
} else {
$("#mission_vehicle_driving tbody, #mission_vehicle_at_mission tbody").find("tr").each(function () {
var CalledVehicleID = parseInt($(this).find("a").first().attr("vehicle_type_id"));
if (CalledVehicleID == 52) {
CountGefangene -= 5;
} else if (CalledVehicleID == 32) {
CountGefangene -= 1;
}
});
if ($('#vehicle_show_table_all tr[vehicle_type="GefKw"] input[type="checkbox"]').size() > 0 && CountGefangene >= 5) {
$('#vehicle_show_table_all tr[vehicle_type="GefKw"] input[type="checkbox"]').each(function () {
if (CountGefangene > 0) {
$(this).click()
CountGefangene -= 5;
}
});
}
if ($('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]').size() > 0 && CountGefangene > 0) {
$('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]').each(function () {
if (CountGefangene > 0) {
$(this).click()
CountGefangene -= 1;
}
});
}
if ($('#vehicle_show_table_all input[type="checkbox"]:checked').size() > 0) {
$('#mission_alarm_btn').click();
}
}
}
// Gefängnis einlieferung
function ADis_Send_Vehicle_To_Jail() {
var JailHref = Jails[0].href
document.location.href = document.location.origin + JailHref;
}

View File

@@ -0,0 +1,100 @@
$(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}`);
});
}
*/

View File

@@ -0,0 +1,96 @@
$(document).ready(function () {
setTimeout(function () {
ADis_Check_Call_Active();
}, 500);
});
function ADis_Check_Call_Active() {
if ($("h4:contains('Eigene Krankenhäuser')").length > 0 || $("h4:contains('Verbandskrankenhäuser')").length > 0) {
ADis_Collect_Hospitals();
}
}
// Krankenhaus auswählen
function ADis_Collect_Hospitals() {
if ($("h4:contains('Eigene Krankenhäuser')").length > 0) {
$("h4:contains('Eigene Krankenhäuser')").next("table").find("tbody").find("tr").each(function () {
var HospitalHref = $(this).find("a:contains('Anfahren')").attr("href");
var HospitalID = Number(parseInt($(this).find("a:contains('Anfahren')").attr("id").replace("btn_approach_", "")));
var HospitalDistance = parseInt($(this).find("td").eq("1").text());
var HospitalFreeBeds = parseInt($(this).find("td").eq("2").text());
var HospitalValue = HospitalDistance * 450 * -1;
HospitalValue += 2000; // Own Hospitals are better :-)
if ($(this).find(".label:contains('Ja')").length > 0) {
HospitalValue += 2000;
}
if (HospitalFreeBeds > 0) {
Hospitals.push({
"id": HospitalID,
"value": HospitalValue,
"distance": HospitalDistance,
"href": HospitalHref
});
}
});
}
if ($("h4:contains('Verbandskrankenhäuser')").length > 0) {
$("h4:contains('Verbandskrankenhäuser')").next("table").find("tbody").find("tr").each(function () {
var HospitalHref = $(this).find("a").attr("href")
var HospitalID = Number(parseInt(HospitalHref.substr(HospitalHref.lastIndexOf("/") + 1)));
var HospitalDistance = parseInt($(this).find("td").eq("1").text());
var HospitalFreeBeds = parseInt($(this).find("td").eq("2").text());
var HospitalTaxes = parseInt($(this).find("td").eq("3").text());
var HospitalSpecialDepartment = false;
// Add Button-ID to Alliance-Hospital
$(this).find("a").attr("id", "btn_approach_" + HospitalID.toString());
var HospitalValue = HospitalDistance * 450 * -1;
if ($(this).find(".label:contains('Ja')").length > 0) {
HospitalSpecialDepartment = true;
HospitalValue += 2000;
}
if (HospitalTaxes == 0) {
HospitalValue += 2000;
} else if (HospitalTaxes > 0 && HospitalTaxes <= 10) {
HospitalValue += 1000;
} else if (HospitalTaxes > 10 && HospitalTaxes <= 20) {
HospitalValue += 0;
} else {
HospitalValue -= 5000;
}
if (HospitalFreeBeds > 0 && HospitalSpecialDepartment) {
Hospitals.push({
"id": HospitalID,
"value": HospitalValue,
"taxes": HospitalTaxes,
"distance": HospitalDistance,
"href": HospitalHref
});
}
});
}
Hospitals.sort(function (a, b) {
return a.value - b.value;
});
Hospitals.reverse();
ADis_Send_Vehicle_To_Hospital()
}
// Krankenhaus einlieferung
function ADis_Send_Vehicle_To_Hospital() {
//var HospitalID = Hospitals[0].id;
var HospitalHref = Hospitals[0].href;
// TODO: tellParent("ADisMissionDone(" + window.name + "," + MissionID + ");");
document.location.href = document.location.origin + HospitalHref;
}

View File

@@ -0,0 +1,80 @@
$(document).ready(function () {
setInterval(ADis_CollectRescueSprechwuensche, 2500);
setInterval(ADis_OpenNextRescueSprechwunsch, 2500);
ADis_CollectRescueSprechwuensche();
});
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
// -
// - Assign & Unassign Missions to Dispatchers
// -
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
function ADis_CollectRescueSprechwuensche() {
ADisDB.ADisSprechwunsch.where({
done: 'false'
}).each((Wunsch) => {
if ($("#vehicle_list_" + Wunsch.vehicleID).find(".building_list_fms").text() != "5") {
return ADis_RemoveRescueSprechwunschFromQueue(Wunsch.vehicleID);
}
}).then(() => {
$("#building_list").find(".building_list_vehicle_element").each(function () {
var VehicleStatus = $(this).find(".building_list_fms").text();
// var VehicleType = $(this).find("a").attr("vehicle_type_id");
var VehicleID = $(this).attr("vehicle_id");
if (VehicleStatus == "5") {
ADis_AddRescueSprechwunschToQueue(VehicleID);
}
});
});
}
function ADis_OpenNextRescueSprechwunsch() {
ADisSettings().then((setting) => {
if (setting['Sprechwunsch-Automatic'] == 'true') {
return ADisDB.ADisSprechwunsch.where({
done: 'false'
}).limit(1)
}
}).then((Wunsch) => {
if (Wunsch !== undefined) {
Wunsch.each((myWunsch) => {
let VehicleID = myWunsch.vehicleID;
ADis_UpdateRescueSprechwunschToDone(VehicleID).then(() => {
if ($("#adis-sprechwunsch-rescue-frame").attr("vehicle_id") == "empty") {
$("#adis-sprechwunsch-rescue-frame").attr("src", "https://www.leitstellenspiel.de/vehicles/" + VehicleID);
$("#adis-sprechwunsch-rescue-frame").attr("vehicle_id", VehicleID);
RescueVehicleFrameWatchDog = setTimeout(async function () {
ADis_RemoveRescueSprechwunschFromQueue(VehicleID).then((deleteCount) => {
$("#adis-sprechwunsch-rescue-frame").attr("src", "");
$("#adis-sprechwunsch-rescue-frame").attr("vehicle_id", "empty");
});
}, 1500);
}
});
});
}
});
}
function ADis_AddRescueSprechwunschToQueue(WunschID) {
return ADisDB.ADisSprechwunsch.add({
vehicleID: WunschID,
done: 'false'
}).catch((err) => {})
}
function ADis_UpdateRescueSprechwunschToDone(WunschID) {
return ADisDB.ADisSprechwunsch.put({
vehicleID: WunschID,
done: 'true'
}).catch((err) => {})
}
function ADis_RemoveRescueSprechwunschFromQueue(WunschID) {
return ADisDB.ADisSprechwunsch.where({
vehicleID: WunschID
}).delete();
}