Add Sorting Algorythm
This commit is contained in:
@@ -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;
|
||||
@@ -96,10 +97,13 @@ mp.events.add("showFactionInteraction", (userFactionId, userFactionName, isFacti
|
||||
|
||||
|
||||
mp.events.add("showMedicTasks", (type, taskList) => {
|
||||
tasks = JSON.parse(taskList);
|
||||
tasks = JSON.parse(taskList);
|
||||
if (sorting === 0) {
|
||||
initTasks = tasks;
|
||||
}
|
||||
}
|
||||
|
||||
mp.events.call("sortFactionTasks", false);
|
||||
|
||||
mp.gui.chat.activate(false);
|
||||
globalData.Interaction = true;
|
||||
switch (type) {
|
||||
@@ -121,7 +125,7 @@ mp.events.add("showMedicTasks", (type, taskList) => {
|
||||
backItem.BackColor = new Color(213, 0, 0);
|
||||
backItem.HighlightedBackColor = new Color(229, 57, 53);
|
||||
reviveTaskMenu.AddItem(backItem);
|
||||
|
||||
|
||||
reviveTaskMenu.ItemSelect.on((item, index) => {
|
||||
if (item === backItem) {
|
||||
reviveTaskMenu.Visible = false;
|
||||
@@ -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
|
||||
if (sortByKey) {
|
||||
if (sorting < 1) {
|
||||
sorting++;
|
||||
} else {
|
||||
sorting = 0;
|
||||
}
|
||||
|
||||
switch (sorting) {
|
||||
case 0: //Standartsortierung
|
||||
|
||||
reviveTaskMenu.Close();
|
||||
factionInteractionMenu.Close();
|
||||
mp.events.call("showMedicTasks", 0, JSON.stringify(initTasks));
|
||||
sortText = "Nach Uhrzeit";
|
||||
break;
|
||||
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 < 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");
|
||||
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");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
sortText = "Entfernung aufsteigend";
|
||||
reviveTaskMenu.Close();
|
||||
factionInteractionMenu.Close();
|
||||
mp.events.call("showMedicTasks", 0, JSON.stringify(newTasks));
|
||||
break;
|
||||
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;
|
||||
//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;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user