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 newTasks;
var sorting = 0;
var firstSorting = true;
var activeTask = false;
var activeCheckpoint;
var taskStart;
@@ -11,7 +12,7 @@ var taskFinish;
var taskRange;
var ambulanceImagePos;
var rangeLeft;
var sortText = "Nach Uhrzeit"
var sortText;
const NativeUI = require("nativeui");
const Menu = NativeUI.Menu;
@@ -100,6 +101,9 @@ mp.events.add("showMedicTasks", (type, taskList) => {
if (sorting === 0) {
initTasks = tasks;
}
mp.events.call("sortFactionTasks", false);
mp.gui.chat.activate(false);
globalData.Interaction = true;
switch (type) {
@@ -160,52 +164,60 @@ mp.events.add("showMedicTasks", (type, taskList) => {
}
});
mp.events.add("sortFactionTasks", () => {
newTasks = tasks;
if (sorting < 4) {
sorting++;
mp.events.add("sortFactionTasks", (sortByKey) => {
if (firstSorting) {
sortText = "Nach Uhrzeit";
firstSorting = false;
mp.gui.chat.push("Init Sort");
return;
} else {
sorting = 0;
}
switch (sorting) {
case 0: //Standartsortierung
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");
}
}
if (sortByKey) {
if (sorting < 1) {
sorting++;
} else {
sorting = 0;
}
sortText = "Entfernung aufsteigend";
reviveTaskMenu.Close();
factionInteractionMenu.Close();
mp.events.call("showMedicTasks", 0, JSON.stringify(newTasks));
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;
switch (sorting) {
case 0: //Standartsortierung
reviveTaskMenu.Close();
factionInteractionMenu.Close();
sortText = "Nach Uhrzeit";
mp.events.call("showMedicTasks", 0, JSON.stringify(initTasks));
break;
case 1: //Sortierung nach Metern (aufsteigend)
for (var d = 0; d < tasks.length; d++) {
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)
mp.keys.bind(0x65, false, function () {
if (!globalData.InChat) {
mp.events.call("sortFactionTasks");
if (!globalData.InChat && globalData.Interaction) {
mp.events.call("sortFactionTasks", true);
}
});

View File

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