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;
@@ -96,10 +97,13 @@ mp.events.add("showFactionInteraction", (userFactionId, userFactionName, isFacti
mp.events.add("showMedicTasks", (type, taskList) => { mp.events.add("showMedicTasks", (type, taskList) => {
tasks = JSON.parse(taskList); tasks = JSON.parse(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) {
@@ -121,7 +125,7 @@ mp.events.add("showMedicTasks", (type, taskList) => {
backItem.BackColor = new Color(213, 0, 0); backItem.BackColor = new Color(213, 0, 0);
backItem.HighlightedBackColor = new Color(229, 57, 53); backItem.HighlightedBackColor = new Color(229, 57, 53);
reviveTaskMenu.AddItem(backItem); reviveTaskMenu.AddItem(backItem);
reviveTaskMenu.ItemSelect.on((item, index) => { reviveTaskMenu.ItemSelect.on((item, index) => {
if (item === backItem) { if (item === backItem) {
reviveTaskMenu.Visible = false; reviveTaskMenu.Visible = false;
@@ -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;
}
switch (sorting) {
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 = tasks[e];
var tempTask = newTasks[e]; tasks[e] = tasks[e + 1];
newTasks[e] = newTasks[e + 1]; tasks[e + 1] = tempTask;
newTasks[e + 1] = tempTask; mp.gui.chat.push("SWITCH");
mp.gui.chat.push("SWITCH"); }
}
} }
} reviveTaskMenu.Close();
} factionInteractionMenu.Close();
sortText = "Entfernung aufsteigend"; sortText = "Entfernung aufsteigend";
reviveTaskMenu.Close(); mp.events.call("showMedicTasks", 0, JSON.stringify(tasks));
factionInteractionMenu.Close(); break;
mp.events.call("showMedicTasks", 0, JSON.stringify(newTasks));
break;
//case 2: //Sortierung nach Metern (absteigend) //case 2: //Sortierung nach Metern (absteigend)
// mp.gui.chat.push("Sorting 2"); // mp.gui.chat.push("Sorting 2");
// sortText = "Entfernung absteigend"; // sortText = "Entfernung absteigend";
// break; // break;
//case 3: //Sortierung nach Zeit (aufsteigend) //case 3: //Sortierung nach Zeit (aufsteigend)
// mp.gui.chat.push("Sorting 3"); // mp.gui.chat.push("Sorting 3");
// sortText = "Restzeit aufsteigend"; // sortText = "Restzeit aufsteigend";
// break; // break;
//case 4: //Sortierung nach Zeit (absteigend) //case 4: //Sortierung nach Zeit (absteigend)
// mp.gui.chat.push("Sorting 4"); // mp.gui.chat.push("Sorting 4");
// sortText = "Restzeit absteigend"; // sortText = "Restzeit absteigend";
// break; // 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"
} }
} }
} }