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,52 +164,60 @@ 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";
sorting++; firstSorting = false;
mp.gui.chat.push("Init Sort");
return;
} else { } else {
sorting = 0; if (sortByKey) {
} if (sorting < 1) {
switch (sorting) { sorting++;
case 0: //Standartsortierung } else {
sorting = 0;
reviveTaskMenu.Close();
factionInteractionMenu.Close();
mp.events.call("showMedicTasks", 0, JSON.stringify(initTasks));
sortText = "Nach Uhrzeit";
break;
case 1: //Sortierung nach Metern (aufsteigend)
for (var d = 0; d < newTasks.length; d++) {
for (var e = 0; e < newTasks.length - 1; e++) {
if (getDistance1(e) > getDistance2(e + 1)) {
var tempTask = newTasks[e];
newTasks[e] = newTasks[e + 1];
newTasks[e + 1] = tempTask;
mp.gui.chat.push("SWITCH");
}
}
} }
sortText = "Entfernung aufsteigend";
reviveTaskMenu.Close();
factionInteractionMenu.Close();
mp.events.call("showMedicTasks", 0, JSON.stringify(newTasks));
break;
//case 2: //Sortierung nach Metern (absteigend) switch (sorting) {
// mp.gui.chat.push("Sorting 2"); case 0: //Standartsortierung
// sortText = "Entfernung absteigend";
// break; reviveTaskMenu.Close();
//case 3: //Sortierung nach Zeit (aufsteigend) factionInteractionMenu.Close();
// mp.gui.chat.push("Sorting 3"); sortText = "Nach Uhrzeit";
// sortText = "Restzeit aufsteigend"; mp.events.call("showMedicTasks", 0, JSON.stringify(initTasks));
// break; break;
//case 4: //Sortierung nach Zeit (absteigend)
// mp.gui.chat.push("Sorting 4"); case 1: //Sortierung nach Metern (aufsteigend)
// sortText = "Restzeit absteigend"; for (var d = 0; d < tasks.length; d++) {
// break; for (var e = 0; e < tasks.length - 1; e++) {
if (getDistance1(e) > getDistance2(e + 1)) {
var tempTask = tasks[e];
tasks[e] = tasks[e + 1];
tasks[e + 1] = tempTask;
mp.gui.chat.push("SWITCH");
}
}
}
reviveTaskMenu.Close();
factionInteractionMenu.Close();
sortText = "Entfernung aufsteigend";
mp.events.call("showMedicTasks", 0, JSON.stringify(tasks));
break;
//case 2: //Sortierung nach Metern (absteigend)
// mp.gui.chat.push("Sorting 2");
// sortText = "Entfernung absteigend";
// break;
//case 3: //Sortierung nach Zeit (aufsteigend)
// mp.gui.chat.push("Sorting 3");
// sortText = "Restzeit aufsteigend";
// break;
//case 4: //Sortierung nach Zeit (absteigend)
// mp.gui.chat.push("Sorting 4");
// sortText = "Restzeit absteigend";
// break;
}
}
} }
}); });

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"
} }
} }
} }