Add Sorting Algorythm

This commit is contained in:
VegaZ
2019-03-04 20:52:50 +01:00
parent 82d418c7cc
commit a59843753e
3 changed files with 61 additions and 49 deletions

View File

@@ -4,6 +4,7 @@ var tasks;
var initTasks; var initTasks;
var newTasks; var newTasks;
var sorting = 0; var sorting = 0;
var firstSorting = true;
var activeTask = false; var activeTask = false;
var activeCheckpoint; var activeCheckpoint;
var taskStart; var taskStart;
@@ -11,7 +12,7 @@ var taskFinish;
var taskRange; var taskRange;
var ambulanceImagePos; var ambulanceImagePos;
var rangeLeft; var rangeLeft;
var sortText = "Nach Uhrzeit" var sortText;
const NativeUI = require("nativeui"); const NativeUI = require("nativeui");
const Menu = NativeUI.Menu; const Menu = NativeUI.Menu;
@@ -100,6 +101,9 @@ mp.events.add("showMedicTasks", (type, taskList) => {
if (sorting === 0) { if (sorting === 0) {
initTasks = tasks; initTasks = tasks;
} }
mp.events.call("sortFactionTasks", false);
mp.gui.chat.activate(false); mp.gui.chat.activate(false);
globalData.Interaction = true; globalData.Interaction = true;
switch (type) { switch (type) {
@@ -160,38 +164,44 @@ mp.events.add("showMedicTasks", (type, taskList) => {
} }
}); });
mp.events.add("sortFactionTasks", () => { mp.events.add("sortFactionTasks", (sortByKey) => {
newTasks = tasks; if (firstSorting) {
if (sorting < 4) { sortText = "Nach Uhrzeit";
firstSorting = false;
mp.gui.chat.push("Init Sort");
return;
} else {
if (sortByKey) {
if (sorting < 1) {
sorting++; sorting++;
} else { } else {
sorting = 0; sorting = 0;
} }
switch (sorting) { switch (sorting) {
case 0: //Standartsortierung case 0: //Standartsortierung
reviveTaskMenu.Close(); reviveTaskMenu.Close();
factionInteractionMenu.Close(); factionInteractionMenu.Close();
mp.events.call("showMedicTasks", 0, JSON.stringify(initTasks));
sortText = "Nach Uhrzeit"; sortText = "Nach Uhrzeit";
mp.events.call("showMedicTasks", 0, JSON.stringify(initTasks));
break; break;
case 1: //Sortierung nach Metern (aufsteigend) case 1: //Sortierung nach Metern (aufsteigend)
for (var d = 0; d < tasks.length; d++) {
for (var d = 0; d < newTasks.length; d++) { for (var e = 0; e < tasks.length - 1; e++) {
for (var e = 0; e < newTasks.length - 1; e++) {
if (getDistance1(e) > getDistance2(e + 1)) { if (getDistance1(e) > getDistance2(e + 1)) {
var tempTask = newTasks[e]; var tempTask = tasks[e];
newTasks[e] = newTasks[e + 1]; tasks[e] = tasks[e + 1];
newTasks[e + 1] = tempTask; tasks[e + 1] = tempTask;
mp.gui.chat.push("SWITCH"); mp.gui.chat.push("SWITCH");
} }
} }
} }
sortText = "Entfernung aufsteigend";
reviveTaskMenu.Close(); reviveTaskMenu.Close();
factionInteractionMenu.Close(); factionInteractionMenu.Close();
mp.events.call("showMedicTasks", 0, JSON.stringify(newTasks)); sortText = "Entfernung aufsteigend";
mp.events.call("showMedicTasks", 0, JSON.stringify(tasks));
break; break;
//case 2: //Sortierung nach Metern (absteigend) //case 2: //Sortierung nach Metern (absteigend)
@@ -207,6 +217,8 @@ mp.events.add("sortFactionTasks", () => {
// sortText = "Restzeit absteigend"; // sortText = "Restzeit absteigend";
// break; // break;
} }
}
}
}); });
function getDistance1(index) { function getDistance1(index) {

View File

@@ -66,8 +66,8 @@ mp.keys.bind(0x62, false, function () {
//NUM5 //Fraktionsinteraktion (Tasks sortieren) //NUM5 //Fraktionsinteraktion (Tasks sortieren)
mp.keys.bind(0x65, false, function () { mp.keys.bind(0x65, false, function () {
if (!globalData.InChat) { if (!globalData.InChat && globalData.Interaction) {
mp.events.call("sortFactionTasks"); mp.events.call("sortFactionTasks", true);
} }
}); });

View File

@@ -2,8 +2,8 @@
"profiles": { "profiles": {
"ReallifeGamemode.Server": { "ReallifeGamemode.Server": {
"commandName": "Executable", "commandName": "Executable",
"executablePath": "S:\\RAGEMP\\server-files\\server.exe", "executablePath": "C:\\Users\\manue\\Desktop\\RageMP\\server-files\\server.exe",
"workingDirectory": "S:\\RAGEMP\\server-files\\" "workingDirectory": "C:\\Users\\manue\\Desktop\\RageMP\\server-files"
} }
} }
} }