33 Commits

Author SHA1 Message Date
Jomaar 46efccd53a v2 uagf9a0guio 2018-12-17 21:04:54 +01:00
Jomaar 77fe05fc4b v2 up 9auf9u9 2018-12-17 21:03:06 +01:00
Jomaar 966d1ad67b v2 up 9agfiu09au 2018-12-17 21:02:11 +01:00
Jomaar 61357300e3 v2 update :ai 2018-12-17 20:57:15 +01:00
Jomaar 17c33e5bb3 v2 update maog9vcj 2018-12-17 20:46:51 +01:00
Jomaar 59b95b1807 v2 up a9g0a9u094ut98ujoijc 2018-12-17 20:13:23 +01:00
Jomaar b5cbdc236f v2 New Working & mission update 2018-12-17 20:07:30 +01:00
Jomaar c7d1157a1a update missions 2018-12-11 19:22:03 +01:00
Jomaar f020ae8000 V2 up PJG90a0f mission share 2018-12-05 12:05:49 +01:00
Jomaar f4b04e11da v2 up aog40 2018-12-04 23:54:58 +01:00
Jomaar d8ecc4672e v2 up OFkoapg09 2018-12-04 20:52:12 +01:00
Jomaar 7fd6705513 v2 up dau9u03292 2018-12-04 20:06:20 +01:00
Jomaar bb0db92ef9 v2 up ia90afi09 2018-12-03 21:55:31 +01:00
Jomaar 537f48db96 v2 up a9gfiag missions 2018-12-03 21:41:36 +01:00
Jomaar df13fc3598 v2 up 9301i09<gjpol 2018-12-03 20:27:20 +01:00
Jomaar 1d50a3a2c9 v2 up iaovg9e0pogsagp2 2018-12-03 20:21:27 +01:00
Jomaar a7354d622d v2 up ioago94it0a 2018-12-03 20:20:03 +01:00
Jomaar b9b7e70d87 v2 UP 9af8ua09321 2018-12-03 15:48:34 +01:00
Jomaar 1c53ed7e19 v2 fix send ... 2018-12-03 14:32:41 +01:00
Jomaar 944e3798d4 v2 up gjouth98a0f9ü 2018-12-03 14:27:15 +01:00
Jomaar b12b4c21e1 v2 up 9ugoisgjicpl 2018-12-03 14:23:57 +01:00
Jomaar 2b3782d787 v2 up sort by net open mission 2018-12-03 14:00:10 +01:00
Jomaar ea290015ef v2 up aiogja80a 2018-12-03 12:00:44 +01:00
Jomaar ec01dfbec1 v2 up iaogj9apc 2018-12-03 11:55:49 +01:00
Jomaar 9a2bf77b50 v2 up aijg9aß 2018-12-03 11:52:25 +01:00
Jomaar 00bbae0989 v2 Google 2018-12-03 11:50:38 +01:00
Jomaar 451c3a3568 v2 up aijofa9g0iüp 2018-12-03 11:47:10 +01:00
Jomaar a51f7e4b76 v2 up ia09ig0gp 2018-12-03 11:45:36 +01:00
Jomaar d02114b3f3 v2 up aig9a 2018-12-03 11:41:39 +01:00
Jomaar 87f56daf15 v2 update mission numbers 2018-12-03 11:25:57 +01:00
Jomaar 0a661e44b1 v2 up share missions 2018-12-03 11:22:51 +01:00
Jomaar 7f146d2c41 v2 up share einsätze 2018-12-03 10:58:20 +01:00
Jomaar cf89b1178b v2 maifa0 2018-12-03 09:06:42 +01:00
20 changed files with 2509 additions and 1649 deletions
+486 -67
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
File diff suppressed because one or more lines are too long
+487 -68
View File
File diff suppressed because it is too large Load Diff
+962 -639
View File
File diff suppressed because it is too large Load Diff
+11 -3
View File
@@ -131,11 +131,11 @@ function emsDepartment($data)
}
if ($key == "Benötigte GW-San") {
$pd["use_SEG_FULL"] = true;
} elseif ($key == "Benötigte RTW" || ($key == "Wahrscheinlichkeit, dass ein Patient transportiert werden muss" && $value > 40)) {
} elseif ($key == "Benötigte RTW" || $key == "Wahrscheinlichkeit, dass ein Patient transportiert werden muss") {
$pd["use_RTW"] = true;
} elseif ($key == "NEF Anforderungswahrscheinlichkeit" && $value > 40) {
} elseif ($key == "NEF Anforderungswahrscheinlichkeit") {
$pd["use_NEF"] = true;
} elseif ($key == "RTH Anforderungswahrscheinlichkeit" && $value > 30) {
} elseif ($key == "RTH Anforderungswahrscheinlichkeit") {
$pd["use_RTH"] = true;
}
}
@@ -295,6 +295,14 @@ foreach (glob("*.json") as $filename) {
$mission['id'] = $mission_id;
$mission['type'] = $mission_id;
$mission['name'] = $data['Name'];
//$mission['share'] = isset($data['Tritt nur ab dem Datum auf']) ? true : false;
$mission['share'] = false;
if (isset($data['Credits im Durchschnitt']) && intval($data['Credits im Durchschnitt']) >= 7000 && $mission['share'] == false) {
$mission['share'] = true;
}
$fd = fireDepartment($data);
if (array_sum($fd) > 0) {
$mission['fire_department'] = $fd;
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/bash
for i in $(seq 420 424); do
for i in $(seq 421 423); do
curl -s -o "./missions/$i.html" "https://www.leitstellenspiel.de/einsaetze/$i"
html2text -utf8 -style pretty -width 100 -o "./missions/$i.text" "./missions/$i.html"
lynx --dump "./missions/$i.html" > "./missions/$i.txt"
+2 -2
View File
@@ -10,9 +10,9 @@
<title>LEITSTELLENSPIEL.DE - baue deine eigene Leitstelle, in deiner Stadt!</title>
<meta content="authenticity_token" name="csrf-param" />
<meta content="CptcsOLVZDZ8aMSG8FWeOHL84iwqScWrX26fREfMTtI=" name="csrf-token" />
<meta content="kX8RZLCcfKMXHlpuSdVA2uWEC3a0nLeBv2TPQyUDg/A=" name="csrf-token" />
<script src="/assets/application-a789289a71061d030b76a864e1d16075.js" type="text/javascript"></script>
<script src="/assets/application-6dae189568c355807e28f829cc25cb33.js" type="text/javascript"></script>
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
<!--[if lt IE 9]>
+1 -1
View File
@@ -10,7 +10,7 @@
<title>LEITSTELLENSPIEL.DE - baue deine eigene Leitstelle, in deiner Stadt!</title>
<meta content="authenticity_token" name="csrf-param" />
<meta content="sW5qrZx5GA4BBZD98qyG7pPTzGq1WjeNCnIDfiSzzK4=" name="csrf-token" />
<meta content="cvOny8TDgPA/eJthVo45f8+Vh/ExGdKnenC3q0Fr0sk=" name="csrf-token" />
<script src="/assets/application-a789289a71061d030b76a864e1d16075.js" type="text/javascript"></script>
+1 -1
View File
@@ -10,7 +10,7 @@
<title>LEITSTELLENSPIEL.DE - baue deine eigene Leitstelle, in deiner Stadt!</title>
<meta content="authenticity_token" name="csrf-param" />
<meta content="BNB0VEetMlMDcjHizS6YvWvA7A6QyjqezPsrd/hf17Y=" name="csrf-token" />
<meta content="/1vfZbjIof1sP0Gy1juDZhzIKL3GHnKnAPVcFhmrmLU=" name="csrf-token" />
<script src="/assets/application-a789289a71061d030b76a864e1d16075.js" type="text/javascript"></script>
+1 -1
View File
@@ -10,7 +10,7 @@
<title>LEITSTELLENSPIEL.DE - baue deine eigene Leitstelle, in deiner Stadt!</title>
<meta content="authenticity_token" name="csrf-param" />
<meta content="E/Anxv+qaHmWs1MWTFdBAsP34DrrQnvotX6q4tyZVIQ=" name="csrf-token" />
<meta content="ftiiGYcaqxTBxvpRVtzy+XpuEqIE9is8LacbnV7bmNo=" name="csrf-token" />
<script src="/assets/application-a789289a71061d030b76a864e1d16075.js" type="text/javascript"></script>
-25
View File
@@ -1,25 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>We're sorry, but something went wrong (500)</title>
<style type="text/css">
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
div.dialog {
width: 25em;
padding: 0 4em;
margin: 4em auto 0 auto;
border: 1px solid #ccc;
border-right-color: #999;
border-bottom-color: #999;
}
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
</style>
</head>
<body>
<!-- This file lives in public/500.html -->
<div id="500_hype_container" style="margin:auto;position:relative;width:600px;height:200px;overflow:hidden;">
<script type="text/javascript" charset="utf-8" src="/500.hyperesources/500_hype_generated_script.js?47359"></script>
</div>
</body>
</html>
-1
View File
@@ -1 +0,0 @@
{"Name":null}
View File
-1
View File
@@ -1 +0,0 @@
+1 -2
View File
@@ -1382,8 +1382,7 @@ alertFhz(elw2, 1, 'ELW2', false);
alertFhz(dl, 1, 'DL', false);
RTW();
//alertFhz(rtw, 20, 'RTW', false);
} else if ([424].indexOf(help) != -1 && !(isVerband)) {
} else if ([43].indexOf(help) != -1 && !(isVerband)) {
} else if ([43].indexOf(help) != -1 && !(isVerband)) {
alertFhz(ruest, 5, 'RÜST', false);
alertFhz(oel, 2, 'GW-ÖL', false);
alertFhz(lf, 10, 'LF', false);
+475 -571
View File
File diff suppressed because it is too large Load Diff
-239
View File
@@ -1,239 +0,0 @@
CollectPatients() {
const self = this;
let PatientCounter = 0;
$(".mission_patient").each(function (_, elem) {
var PatientName = $(elem).text();
var PatientNeedRTW = false;
var PatientNeedNEF = false;
var PatientNeedRTH = false;
var PatientNeedLNA = false;
var PatientNeedOrgL = false;
var PatientNeedSEGKTWB = false;
var PatientNeedTragehilfe = false;
// Wir benötigen einen RTW oder KTW Typ B.
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen einen RTW oder KTW Typ B") != -1) {
PatientNeedSEGKTWB = true;
}
// Wir benötigen einen RTW.
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen ein RTW") != -1) {
PatientNeedRTW = true;
}
// Wir benötigen einen NEF.
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen ein NEF") != -1) {
PatientNeedNEF = true;
}
// Wir benötigen einen RTH.
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen ein RTH") != -1) {
PatientNeedRTH = true;
}
// Wir benötigen einen LNA.
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen einen LNA") != -1) {
PatientNeedLNA = true;
}
// Wir benötigen einen OrgL.
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen einen OrgL") != -1) {
PatientNeedOrgL = true;
}
// Wir benötigen eine Tragehilfe (z.B. durch ein LF).
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen eine Tragehilfe") != -1) {
PatientNeedTragehilfe = true;
}
self.Patients[PatientCounter] = {
"name": PatientName,
"need_RTW": PatientNeedRTW,
"need_NEF": PatientNeedNEF,
"need_RTH": PatientNeedRTH,
"need_LNA": PatientNeedLNA,
"need_OrgL": PatientNeedOrgL,
"need_SEG_KTWB": PatientNeedSEGKTWB,
"need_Tragehilfe": PatientNeedTragehilfe
}
PatientCounter++;
});
return self.Patients;
}
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
// -
// - Process Emergency_Medical_Service
// -
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
ProcessEmergencyMedicalService() {
const self = this;
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// -
// - Emergency Medical Service: Vehicles
// -
// - 38: KTW
// - 28: RTW
// - 29: NEF
// - 74: NAW
// - 73: GRTW
// - 31: RTH
// - 55: LNA
// - 56: OrgL
// -
// - 58: (SEG) KTW Typ B
// - 59: (SEG) ELW 1
// - 60: (SEG) GW-San
// -
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
if (typeof self.MissionConfig.emergency_medical_service == "object") // Wenn der EMS-Block in der Config definiert ist
{
if (Object.keys(self.Patients).length >= 5) { // need LNA
self._ADisVehiclesNeed["55"] = 1;
}
if (Object.keys(self.Patients).length >= 10) { // need OrgL
self._ADisVehiclesNeed["56"] = 1;
}
if (Object.keys(self.Patients).length == 0) {
if (self.MissionConfig.emergency_medical_service.use_RTW == true) {
self._ADisVehiclesNeed["28"]++;
}
if (self.MissionConfig.emergency_medical_service.use_NEF == true) {
self._ADisVehiclesNeed["29"]++;
}
if (self.MissionConfig.emergency_medical_service.use_RTH == true) {
self._ADisVehiclesNeed["31"]++;
}
} else {
for (var Key in self.Patients) {
var Patient = self.Patients[Key];
if (self.MissionConfig.emergency_medical_service.use_KTW == true) {
if (!Patient.need_RTW && !Patient.need_NEF && !Patient.need_RTH) {
self._ADisVehiclesNeed["38"]++;
}
}
if (Patient.need_LNA && self._ADisVehiclesNeed["55"] < 1) {
self._ADisVehiclesNeed["55"]++;
}
if (Patient.need_OrgL && self._ADisVehiclesNeed["56"] < 1) {
self._ADisVehiclesNeed["56"]++;
}
if (Patient.need_Tragehilfe == true) {
self._ADisVehiclesNeed["0"]++;
}
if (self.MissionConfig.emergency_medical_service.use_RTW == true || Patient.need_RTW == true) {
self._ADisVehiclesNeed["28"]++;
}
if (self.MissionConfig.emergency_medical_service.use_NEF == true || Patient.need_NEF == true) {
self._ADisVehiclesNeed["29"]++;
}
if (self.MissionConfig.emergency_medical_service.use_RTH == true || Patient.need_RTH == true) {
self._ADisVehiclesNeed["31"]++;
}
};
}
// TODO: need to be refactored to make sure first KTW Typ B before RTW.
if (self.MissionConfig.emergency_medical_service.use_SEG_ELW1_Only == "true") {
self._ADisVehiclesNeed["59"]++;
} else if (self.MissionConfig.emergency_medical_service.use_SEG_FULL == "true" || Object.keys(self.Patients).length >= 3) {
self._ADisVehiclesNeed["58"]++;
self._ADisVehiclesNeed["58"]++; // 3x KTW Type B
self._ADisVehiclesNeed["58"]++;
self._ADisVehiclesNeed["59"]++;
self._ADisVehiclesNeed["60"]++;
}
var VehicleTable;
if ($("#vehicle_show_table_body_all").length > 0) {
VehicleTable = $("#vehicle_show_table_body_all");
} else {
VehicleTable = $("#vehicle_show_table_body_rett");
}
VehicleTable.find(".vehicle_select_table_tr").each(function (_, elem) {
var VehicleID = $(elem).attr("id").replace("vehicle_element_content_", "");
// var VehicleDistanceTime = $("#vehicle_sort_" + VehicleID).attr("sortvalue");
var VehicleType = $(elem).attr("vehicle_type");
if ($("#vehicle_checkbox_" + VehicleID + ":enabled").length === 0) {
return;
}
if (VehicleType == "KTW" && self._ADisVehiclesNeed["38"] > 0) {
// console.log(" Automatic Dispose: Fahrzeug " + VehicleID + " " + VehicleType + " markiert");
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["38"]--;
} else if ((VehicleType == "LF 20" || VehicleType == "LF 10" ||
VehicleType == "LF 8/6" || VehicleType == "LF 20/16" ||
VehicleType == "LF 10/6" || VehicleType == "LF 16-TS" ||
VehicleType == "HLF 20" || VehicleType == "TSF-W" ||
VehicleType == "TLF 2000" || VehicleType == "TLF 3000" ||
VehicleType == "TLF 8/8" || VehicleType == "TLF 8/18" ||
VehicleType == "TLF 16/24-Tr" || VehicleType == "TLF 16/25" ||
VehicleType == "TLF 16/45" || VehicleType == "TLF 20/40" ||
VehicleType == "TLF 20/40-SL" || VehicleType == "TLF 16") &&
self._ADisVehiclesNeed["0"] + self._ADisVehiclesNeed["1"] + self._ADisVehiclesNeed["6"] + self._ADisVehiclesNeed["7"] +
self._ADisVehiclesNeed["8"] + self._ADisVehiclesNeed["9"] + self._ADisVehiclesNeed["30"] + self._ADisVehiclesNeed["37"] +
self._ADisVehiclesNeed["17"] + self._ADisVehiclesNeed["18"] + self._ADisVehiclesNeed["19"] + self._ADisVehiclesNeed["20"] +
self._ADisVehiclesNeed["21"] + self._ADisVehiclesNeed["22"] + self._ADisVehiclesNeed["23"] + self._ADisVehiclesNeed["24"] +
self._ADisVehiclesNeed["25"] + self._ADisVehiclesNeed["26"] > 0) { // LF acts as 'Tragehilfe'
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["0"]--;
} else if (VehicleType == "NAW" && self._ADisVehiclesNeed["28"] > 0 && self._ADisVehiclesNeed["29"] > 0) {
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["74"]--;
self._ADisVehiclesNeed["28"]--;
self._ADisVehiclesNeed["29"]--;
} else if (VehicleType == "GRTW" && self._ADisVehiclesNeed["73"] > 0) {
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["73"]--;
} else if (VehicleType == "RTW" && self._ADisVehiclesNeed["28"] > 0) {
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["28"]--;
} else if (VehicleType == "NEF" && self._ADisVehiclesNeed["29"] > 0) {
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["29"]--;
} else if (VehicleType == "RTH" && self._ADisVehiclesNeed["31"] > 0) {
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["31"]--;
} else if (VehicleType == "KdoW-LNA" && self._ADisVehiclesNeed["55"] > 0) {
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["55"]--;
} else if (VehicleType == "KdoW-OrgL" && self._ADisVehiclesNeed["56"] > 0) {
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["56"]--;
} else if (VehicleType == "KTW Typ B" && self._ADisVehiclesNeed["58"] > 0) {
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["58"]--;
self._ADisVehiclesNeed["28"]--; // no need for RTW if KTW Type B is called
} else if (VehicleType == "ELW 1 (SEG)" && self._ADisVehiclesNeed["59"] > 0) {
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["59"]--;
} else if (VehicleType == "GW-San" && self._ADisVehiclesNeed["60"] > 0) {
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["60"]--;
self._ADisVehiclesNeed["29"]--; // no need for NEF if GW-SAN is called
}
});
return true;
}
return false;
}
-26
View File
@@ -1,26 +0,0 @@
const AutomaticDispose = function () {
let self = this;
self.MaxVehicleID = 86
self.MissionType = null
self.MissionID = null
self.MyRunner = null
self.MyRunnerSettings = null
self.OweSecure = false
self._ADisVehiclesNeed = {}
self.MissionConfig = {}
self.Vehicles = {}
self.Patients = {}
self.ADis_MyHead = document.getElementsByTagName('head')[0];
self.ADis_MyBody = document.getElementsByTagName('body')[0];
// -
// - Sprechwunsch Variablen
// -
self.Jails = [];
self.JailRegEx = /\(Freie Zellen\:\s+(\d)\,\s+Entfernung\:\s+(\d+\,\d+)\s+km(?:\,\s+Abgabe an Besitzer\:\s+(\d+)%)?\)/g;
self.Hospitals = [];
self.RescueVehicleFrameWatchDog = null;
self.PoliceVehicleFrameWatchDog = null;
};
+19
View File
@@ -0,0 +1,19 @@
(() => {
let msis = (async () => {
return await AutomaticDisposeCall.ADisDB.ADisMissions.where({
runner: 'om',
available: 'true',
done: 'false'
}).and(function (item) {
return item.next_check <= Math.floor(new Date().getTime() / 1000)
}).toArray()
})();
msis.then((result) => {
result.sort((a, b) => {
return a.next_check > b.next_check;
});
return result;
}).then((sortedResult) => {
console.table(sortedResult);
});
})();
+61
View File
@@ -0,0 +1,61 @@
// ==UserScript==
// @name Mission Watcher
// @version 1.0.0
// @run-at document-end
// @require https://cdnjs.cloudflare.com/ajax/libs/dexie/2.0.4/dexie.min.js
// ==/UserScript==
class WatchMissions {
constructor(){
let self = this;
self.DB = new Dexie('LSS_AutomaticDispo');
self.DB.version(1).stores({
/**
* Missions to Watch
* - missionID - Mission ID that should be watched.
* - limit - If the Mission turns green more than 6 times, no more requests will be sent.
*/
Missions: "++missionID"
});
self.DB.open().catch((err) => {
console.error(err.stack || err);
});
self.DB.on("ready", async () => {
// index page
if (window.location.pathname === "/" || window.location.pathname === "/#" || window.location.pathname === "/#_=_") {
self.RegisterIndexPage();
}
// mission page
else if (window.location.pathname.indexOf("/missions/") !== -1 && window.name == 'watchMission') {
self.RegisterMissionPage();
}
})
}
get RandomTime() {
const max = 6;
const min = 1;
return Math.floor((Math.random()*(max-min+1)+min)*1000);
}
RegisterIndexPage() {
}
RegisterMissionPage() {
}
}
(() => {
'use strict';
new WatchMissions();
})()