Add PunkteSystem
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
import * as NativeUI from '../libs/NativeUI';
|
import * as NativeUI from '../libs/NativeUI';
|
||||||
|
import InputHelper from '../inputhelper';
|
||||||
const Menu = NativeUI.Menu;
|
const Menu = NativeUI.Menu;
|
||||||
const UIMenuItem = NativeUI.UIMenuItem;
|
const UIMenuItem = NativeUI.UIMenuItem;
|
||||||
const UIMenuListItem = NativeUI.UIMenuListItem;
|
const UIMenuListItem = NativeUI.UIMenuListItem;
|
||||||
@@ -25,50 +26,49 @@ export default function factionInteraction(globalData: IGlobalData) {
|
|||||||
var rangeLeft;
|
var rangeLeft;
|
||||||
var sortText;
|
var sortText;
|
||||||
|
|
||||||
|
var ticketName: string;
|
||||||
|
var pointsName: string;
|
||||||
|
|
||||||
var factionInteractionMenu;
|
var factionInteractionMenu;
|
||||||
var reviveTaskMenu;
|
var reviveTaskMenuMedic;
|
||||||
|
|
||||||
mp.events.add("updateFactionBlips", (type, taskList) => {
|
/*mp.events.add("updateFactionBlips", (type, taskList) => {
|
||||||
|
|
||||||
});
|
});*/
|
||||||
|
mp.events.add("showFactionInteractionLSPD", (userFactionId, isDuty, userFactionName, isFactionLeader) => {
|
||||||
|
//LSPD
|
||||||
|
let ticketTaskMenuLSPD;
|
||||||
|
let pointsTaskMenuLSPD;
|
||||||
|
if (userFactionId == 1) {
|
||||||
|
if (isDuty) {
|
||||||
|
mp.gui.chat.activate(false);
|
||||||
|
globalData.InMenu = true;
|
||||||
|
|
||||||
mp.events.add("showFactionInteraction", (userFactionId, isDuty, userFactionName, isFactionLeader, reviveTaskCount, healTaskCount, fireTaskCount) => {
|
factionInteractionMenu = new Menu("Fraktionsinteraktion", userFactionName, new Point(0, screenRes.y / 2), null, null);
|
||||||
mp.gui.chat.activate(false);
|
|
||||||
globalData.InMenu = true;
|
|
||||||
|
|
||||||
var rP = ((reviveTaskCount === "0") ? "~r~" : "~g~");
|
if (isFactionLeader) {
|
||||||
var hP = ((healTaskCount === "0") ? "~r~" : "~g~");
|
let leaderMenu = new UIMenuItem("Leadermen\u00fc", "Verwaltung der Fraktion");
|
||||||
var fP = ((fireTaskCount === "0") ? "~r~" : "~g~");
|
leaderMenu.SetRightBadge(BadgeStyle.Star);
|
||||||
|
factionInteractionMenu.AddItem(leaderMenu);
|
||||||
|
}
|
||||||
|
|
||||||
factionInteractionMenu = new Menu("Fraktionsinteraktion", userFactionName, new Point(0, screenRes.y / 2), null, null);
|
|
||||||
|
|
||||||
if (isFactionLeader) {
|
|
||||||
let leaderMenu = new UIMenuItem("Leadermen\u00fc", "Verwaltung der Fraktion");
|
|
||||||
leaderMenu.SetRightBadge(BadgeStyle.Star);
|
|
||||||
factionInteractionMenu.AddItem(leaderMenu);
|
|
||||||
}
|
|
||||||
let reviveTaskMenu;
|
|
||||||
let healTaskMenu;
|
|
||||||
let fireTaskMenu;
|
|
||||||
if (isDuty) {
|
|
||||||
switch (userFactionId) {
|
|
||||||
case 2:
|
|
||||||
reviveTaskMenu = new UIMenuItem("Reviveauftr\u00e4ge");
|
|
||||||
reviveTaskMenu.SetRightLabel(rP + reviveTaskCount)
|
|
||||||
factionInteractionMenu.AddItem(reviveTaskMenu);
|
|
||||||
|
|
||||||
healTaskMenu = new UIMenuItem("Healauftr\u00e4ge");
|
ticketTaskMenuLSPD = new UIMenuItem("Ticket ausstellen", "Einem Spieler ein Strafticket ausstellen.");
|
||||||
healTaskMenu.SetRightLabel(hP + healTaskCount)
|
factionInteractionMenu.AddItem(ticketTaskMenuLSPD);
|
||||||
factionInteractionMenu.AddItem(healTaskMenu);
|
|
||||||
|
|
||||||
fireTaskMenu = new UIMenuItem("Feuerauftr\u00e4ge");
|
pointsTaskMenuLSPD = new UIMenuItem("Strafpunkte verteilen", "Einem Spieler Strafpunkte verteilen.");
|
||||||
fireTaskMenu.SetRightLabel(fP + fireTaskCount)
|
factionInteractionMenu.AddItem(pointsTaskMenuLSPD);
|
||||||
factionInteractionMenu.AddItem(fireTaskMenu);
|
|
||||||
break;
|
/*TaskMenuLSPD = new UIMenuItem("");
|
||||||
|
TaskMenuLSPD.SetRightLabel("");
|
||||||
|
factionInteractionMenu.AddItem(TaskMenuLSPD);*/ //weiteres
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
let cancelItem = new UIMenuItem("Schlie\u00dfen", "Schlie\u00dft die Fraktionsinteraktion");
|
let cancelItem = new UIMenuItem("Schlie\u00dfen", "Schlie\u00dft die Fraktionsinteraktion.");
|
||||||
cancelItem.BackColor = new Color(213, 0, 0);
|
cancelItem.BackColor = new Color(213, 0, 0);
|
||||||
cancelItem.HighlightedBackColor = new Color(229, 57, 53);
|
cancelItem.HighlightedBackColor = new Color(229, 57, 53);
|
||||||
factionInteractionMenu.AddItem(cancelItem);
|
factionInteractionMenu.AddItem(cancelItem);
|
||||||
@@ -82,11 +82,29 @@ export default function factionInteraction(globalData: IGlobalData) {
|
|||||||
mp.gui.chat.activate(true);
|
mp.gui.chat.activate(true);
|
||||||
globalData.InMenu = false;
|
globalData.InMenu = false;
|
||||||
break;
|
break;
|
||||||
case reviveTaskMenu:
|
|
||||||
mp.events.callRemote("loadMedicTasks", 0)
|
case ticketTaskMenuLSPD:
|
||||||
factionInteractionMenu.Visible = false;
|
factionInteractionMenu.Visible = false;
|
||||||
mp.gui.chat.activate(true);
|
mp.gui.chat.activate(true);
|
||||||
|
mp.gui.cursor.show(true, true);
|
||||||
globalData.InMenu = false;
|
globalData.InMenu = false;
|
||||||
|
var input = new InputHelper("Welchem Spieler möchtest du ein Ticket geben (Name / ID)?", globalData);
|
||||||
|
input.show();
|
||||||
|
input.getValue(name => {
|
||||||
|
mp.events.call("CLIENT:InteractionMenu_LSPD_Ticket", name);
|
||||||
|
mp.gui.cursor.show(false, false);
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case pointsTaskMenuLSPD:
|
||||||
|
factionInteractionMenu.Visible = false;
|
||||||
|
mp.gui.chat.activate(true);
|
||||||
|
mp.gui.cursor.show(true, true);
|
||||||
|
globalData.InMenu = false;
|
||||||
|
var input = new InputHelper("Welchem Spieler möchtest du Strafpunkte geben (Name / ID)?", globalData);
|
||||||
|
input.show();
|
||||||
|
input.getValue(name => {
|
||||||
|
mp.events.call("CLIENT:InteractionMenu_LSPD_Points", name);
|
||||||
|
});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -96,164 +114,273 @@ export default function factionInteraction(globalData: IGlobalData) {
|
|||||||
globalData.InMenu = false;
|
globalData.InMenu = false;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
mp.events.add("CLIENT:InteractionMenu_LSPD_Ticket", (name) => {
|
||||||
|
ticketName = name;
|
||||||
|
var input = new InputHelper("Wie hoch soll der Ticketbetrag sein ?", globalData);
|
||||||
|
mp.gui.cursor.show(true, true);
|
||||||
|
input.show();
|
||||||
|
input.getValue(amount => {
|
||||||
|
mp.events.call("CLIENT:InteractionMenu_LSPD_Ticket2", amount);
|
||||||
|
mp.gui.cursor.show(false, false);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
mp.events.add("CLIENT:InteractionMenu_LSPD_Ticket2", (ticketPrice) => {
|
||||||
|
var input = new InputHelper("Um welches Vergehen handelt es sich ?", globalData);
|
||||||
|
mp.gui.cursor.show(true, true);
|
||||||
|
input.show();
|
||||||
|
input.getValue(ticketReason => {
|
||||||
|
mp.events.callRemote("CLIENT:InteractionMenu_LSPD_Ticket3", JSON.stringify(ticketName), JSON.stringify(ticketPrice), JSON.stringify(ticketReason));
|
||||||
|
mp.gui.cursor.show(false, false);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
mp.events.add("showMedicTasks", (type, taskList) => {
|
mp.events.add("CLIENT:InteractionMenu_LSPD_Points", (name) => {
|
||||||
tasks = JSON.parse(taskList);
|
pointsName = name;
|
||||||
if (sorting === 0) {
|
var input = new InputHelper("Wieviele Punkte werden vergeben ?", globalData);
|
||||||
initTasks = tasks;
|
mp.gui.cursor.show(true, true);
|
||||||
}
|
input.show();
|
||||||
|
input.getValue(amount => {
|
||||||
|
mp.events.call("CLIENT:InteractionMenu_LSPD_Points2", amount);
|
||||||
|
mp.gui.cursor.show(false, false);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
mp.events.call("sortFactionTasks", false);
|
mp.events.add("CLIENT:InteractionMenu_LSPD_Points2", (pointsAmount) => {
|
||||||
|
var input = new InputHelper("Um welches Vergehen handelt es sich ?", globalData);
|
||||||
|
mp.gui.cursor.show(true, true);
|
||||||
|
input.show();
|
||||||
|
input.getValue(pointsReason => {
|
||||||
|
mp.events.callRemote("CLIENT:InteractionMenu_LSPD_Points3", JSON.stringify(pointsName), JSON.stringify(pointsAmount), JSON.stringify(pointsReason));
|
||||||
|
mp.gui.cursor.show(false, false);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
mp.gui.chat.activate(false);
|
mp.events.add("showFactionInteractionMedic", (userFactionId, isDuty, userFactionName, isFactionLeader, reviveTaskCountMedic, healTaskCountMedic, fireTaskCountMedic) => {
|
||||||
globalData.InMenu = true;
|
mp.gui.chat.activate(false);
|
||||||
switch (type) {
|
globalData.InMenu = true;
|
||||||
case 0:
|
|
||||||
reviveTaskMenu = new Menu("Revives", "\u00c4lteste zu erst", new Point(0, screenRes.y / 2), null, null);
|
|
||||||
let aTask;
|
|
||||||
for (var i = 0; i < tasks.length; i++) {
|
|
||||||
if (tasks[i].MedicName === "none") {
|
|
||||||
aTask = new UIMenuItem("~g~" + tasks[i].Victim);
|
|
||||||
} else {
|
|
||||||
aTask = new UIMenuItem("~r~" + tasks[i].Victim);
|
|
||||||
}
|
|
||||||
|
|
||||||
aTask.SetRightLabel(mp.game.gameplay.getDistanceBetweenCoords(player.position.x, player.position.y, player.position.z, tasks[i].Position.x, tasks[i].Position.y, tasks[i].Position.z, true).toFixed(2).toString() + " ~g~m");
|
//Medic
|
||||||
reviveTaskMenu.AddItem(aTask);
|
var rPM = ((reviveTaskCountMedic === "0") ? "~r~" : "~g~");
|
||||||
|
var hPM = ((healTaskCountMedic === "0") ? "~r~" : "~g~");
|
||||||
|
var fPM = ((fireTaskCountMedic === "0") ? "~r~" : "~g~");
|
||||||
|
|
||||||
|
factionInteractionMenu = new Menu("Fraktionsinteraktion", userFactionName, new Point(0, screenRes.y / 2), null, null);
|
||||||
|
|
||||||
|
if (isFactionLeader) {
|
||||||
|
let leaderMenu = new UIMenuItem("Leadermen\u00fc", "Verwaltung der Fraktion");
|
||||||
|
leaderMenu.SetRightBadge(BadgeStyle.Star);
|
||||||
|
factionInteractionMenu.AddItem(leaderMenu);
|
||||||
}
|
}
|
||||||
|
|
||||||
let backItem = new UIMenuItem("Zur\u00fcck", "Zur\u00fcck zur Fraktionsinteraktion");
|
//Medic
|
||||||
backItem.BackColor = new Color(213, 0, 0);
|
let reviveTaskMenuMedic;
|
||||||
backItem.HighlightedBackColor = new Color(229, 57, 53);
|
let healTaskMenuMedic;
|
||||||
reviveTaskMenu.AddItem(backItem);
|
let fireTaskMenuMedic;
|
||||||
|
|
||||||
reviveTaskMenu.ItemSelect.on((item, index) => {
|
if (userFactionId == 2) {
|
||||||
if (item === backItem) {
|
if (isDuty) {
|
||||||
reviveTaskMenu.Visible = false;
|
reviveTaskMenuMedic = new UIMenuItem("Reviveauftr\u00e4ge");
|
||||||
factionInteractionMenu.Visible = true;
|
reviveTaskMenuMedic.SetRightLabel(rPM + reviveTaskCountMedic)
|
||||||
} else {
|
factionInteractionMenu.AddItem(reviveTaskMenuMedic);
|
||||||
if (tasks[index].MedicName === "none") {
|
|
||||||
mp.game.graphics.requestStreamedTextureDict("medicimages", true);
|
healTaskMenuMedic = new UIMenuItem("Healauftr\u00e4ge");
|
||||||
mp.events.callRemote("updateMedicTask", 0, index, player.name);
|
healTaskMenuMedic.SetRightLabel(hPM + healTaskCountMedic)
|
||||||
mp.game.ui.setNewWaypoint(tasks[index].Position.x, tasks[index].Position.y);
|
factionInteractionMenu.AddItem(healTaskMenuMedic);
|
||||||
activeCheckpoint = mp.markers.new(1, new mp.Vector3(tasks[index].Position.x, tasks[index].Position.y, tasks[index].Position.z - 2), 3.0, {
|
|
||||||
color: [255, 0, 0, 150],
|
fireTaskMenuMedic = new UIMenuItem("Feuerauftr\u00e4ge");
|
||||||
visible: true,
|
fireTaskMenuMedic.SetRightLabel(fPM + fireTaskCountMedic);
|
||||||
dimension: 0
|
factionInteractionMenu.AddItem(fireTaskMenuMedic);
|
||||||
});
|
|
||||||
reviveTaskMenu.Visible = false;
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let cancelItem = new UIMenuItem("Schlie\u00dfen", "Schlie\u00dft die Fraktionsinteraktion.");
|
||||||
|
cancelItem.BackColor = new Color(213, 0, 0);
|
||||||
|
cancelItem.HighlightedBackColor = new Color(229, 57, 53);
|
||||||
|
factionInteractionMenu.AddItem(cancelItem);
|
||||||
|
|
||||||
|
factionInteractionMenu.Visible = true;
|
||||||
|
|
||||||
|
factionInteractionMenu.ItemSelect.on((item) => {
|
||||||
|
switch (item) {
|
||||||
|
case cancelItem:
|
||||||
|
factionInteractionMenu.Visible = false;
|
||||||
mp.gui.chat.activate(true);
|
mp.gui.chat.activate(true);
|
||||||
globalData.InMenu = false;
|
globalData.InMenu = false;
|
||||||
ambulanceImagePos = 0.325
|
break;
|
||||||
taskStart = player.position;
|
case reviveTaskMenuMedic:
|
||||||
taskFinish = tasks[index].Position;
|
mp.events.callRemote("loadMedicTasks", 0)
|
||||||
taskRange = mp.game.gameplay.getDistanceBetweenCoords(player.position.x, player.position.y, player.position.z, tasks[index].Position.x, tasks[index].Position.y, tasks[index].Position.z, true);
|
factionInteractionMenu.Visible = false;
|
||||||
activeTask = true;
|
mp.gui.chat.activate(true);
|
||||||
}
|
globalData.InMenu = false;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
reviveTaskMenu.MenuClose.on(() => {
|
factionInteractionMenu.MenuClose.on(() => {
|
||||||
reviveTaskMenu.Visible = false;
|
mp.gui.chat.activate(true);
|
||||||
factionInteractionMenu.Visible = true;
|
globalData.InMenu = false;
|
||||||
});
|
});
|
||||||
break;
|
});
|
||||||
case 1:
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
mp.events.add("sortFactionTasks", (sortByKey) => {
|
|
||||||
if (firstSorting) {
|
mp.events.add("showMedicTasks", (type, taskList) => {
|
||||||
sortText = "Nach Uhrzeit";
|
tasks = JSON.parse(taskList);
|
||||||
firstSorting = false;
|
if (sorting === 0) {
|
||||||
//mp.gui.chat.push("Init Sort");
|
initTasks = tasks;
|
||||||
return;
|
|
||||||
} else {
|
|
||||||
if (sortByKey) {
|
|
||||||
if (sorting < 1) {
|
|
||||||
sorting++;
|
|
||||||
} else {
|
|
||||||
sorting = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (sorting) {
|
mp.events.call("sortFactionTasks", false);
|
||||||
case 0: //Standartsortierung
|
|
||||||
|
|
||||||
reviveTaskMenu.Close();
|
mp.gui.chat.activate(false);
|
||||||
factionInteractionMenu.Close();
|
globalData.InMenu = true;
|
||||||
sortText = "Nach Uhrzeit";
|
switch (type) {
|
||||||
mp.events.call("showMedicTasks", 0, JSON.stringify(initTasks));
|
case 0:
|
||||||
break;
|
reviveTaskMenuMedic = new Menu("Revives", "\u00c4lteste zu erst", new Point(0, screenRes.y / 2), null, null);
|
||||||
|
let aTask;
|
||||||
|
for (var i = 0; i < tasks.length; i++) {
|
||||||
|
if (tasks[i].MedicName === "none") {
|
||||||
|
aTask = new UIMenuItem("~g~" + tasks[i].Victim);
|
||||||
|
} else {
|
||||||
|
aTask = new UIMenuItem("~r~" + tasks[i].Victim);
|
||||||
|
}
|
||||||
|
|
||||||
case 1: //Sortierung nach Metern (aufsteigend)
|
aTask.SetRightLabel(mp.game.gameplay.getDistanceBetweenCoords(player.position.x, player.position.y, player.position.z, tasks[i].Position.x, tasks[i].Position.y, tasks[i].Position.z, true).toFixed(2).toString() + " ~g~m");
|
||||||
for (var d = 0; d < tasks.length; d++) {
|
reviveTaskMenuMedic.AddItem(aTask);
|
||||||
for (var e = 0; e < tasks.length - 1; e++) {
|
}
|
||||||
if (getDistance1(e) > getDistance2(e + 1)) {
|
|
||||||
var tempTask = tasks[e];
|
let backItem = new UIMenuItem("Zur\u00fcck", "Zur\u00fcck zur Fraktionsinteraktion.");
|
||||||
tasks[e] = tasks[e + 1];
|
backItem.BackColor = new Color(213, 0, 0);
|
||||||
tasks[e + 1] = tempTask;
|
backItem.HighlightedBackColor = new Color(229, 57, 53);
|
||||||
mp.gui.chat.push("SWITCH");
|
reviveTaskMenuMedic.AddItem(backItem);
|
||||||
|
|
||||||
|
reviveTaskMenuMedic.ItemSelect.on((item, index) => {
|
||||||
|
if (item === backItem) {
|
||||||
|
reviveTaskMenuMedic.Visible = false;
|
||||||
|
factionInteractionMenu.Visible = true;
|
||||||
|
} else {
|
||||||
|
if (tasks[index].MedicName === "none") {
|
||||||
|
mp.game.graphics.requestStreamedTextureDict("medicimages", true);
|
||||||
|
mp.events.callRemote("updateMedicTask", 0, index, player.name);
|
||||||
|
mp.game.ui.setNewWaypoint(tasks[index].Position.x, tasks[index].Position.y);
|
||||||
|
activeCheckpoint = mp.markers.new(1, new mp.Vector3(tasks[index].Position.x, tasks[index].Position.y, tasks[index].Position.z - 2), 3.0, {
|
||||||
|
color: [255, 0, 0, 150],
|
||||||
|
visible: true,
|
||||||
|
dimension: 0
|
||||||
|
});
|
||||||
|
reviveTaskMenuMedic.Visible = false;
|
||||||
|
mp.gui.chat.activate(true);
|
||||||
|
globalData.InMenu = false;
|
||||||
|
ambulanceImagePos = 0.325
|
||||||
|
taskStart = player.position;
|
||||||
|
taskFinish = tasks[index].Position;
|
||||||
|
taskRange = mp.game.gameplay.getDistanceBetweenCoords(player.position.x, player.position.y, player.position.z, tasks[index].Position.x, tasks[index].Position.y, tasks[index].Position.z, true);
|
||||||
|
activeTask = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
reviveTaskMenu.Close();
|
|
||||||
factionInteractionMenu.Close();
|
reviveTaskMenuMedic.MenuClose.on(() => {
|
||||||
sortText = "Entfernung aufsteigend";
|
reviveTaskMenuMedic.Visible = false;
|
||||||
mp.events.call("showMedicTasks", 0, JSON.stringify(tasks));
|
factionInteractionMenu.Visible = true;
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
break;
|
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;
|
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
function getDistance1(index) {
|
mp.events.add("sortFactionTasks", (sortByKey) => {
|
||||||
return mp.game.gameplay.getDistanceBetweenCoords(player.position.x, player.position.y, player.position.z, newTasks[index].Position.x, newTasks[index].Position.y, newTasks[index].Position.z, true).toFixed(2);
|
if (firstSorting) {
|
||||||
}
|
sortText = "Nach Uhrzeit";
|
||||||
function getDistance2(index) {
|
firstSorting = false;
|
||||||
return mp.game.gameplay.getDistanceBetweenCoords(player.position.x, player.position.y, player.position.z, newTasks[index].Position.x, newTasks[index].Position.y, newTasks[index].Position.z, true).toFixed(2);
|
//mp.gui.chat.push("Init Sort");
|
||||||
}
|
return;
|
||||||
|
|
||||||
mp.events.add('render', () => {
|
|
||||||
if (activeTask) {
|
|
||||||
rangeLeft = mp.game.gameplay.getDistanceBetweenCoords(player.position.x, player.position.y, player.position.z, taskFinish.x, taskFinish.y, taskFinish.z, true).toFixed(2);
|
|
||||||
if (rangeLeft > 1.9) {
|
|
||||||
ambulanceImagePos = 0.655 - (mp.game.gameplay.getDistanceBetweenCoords(player.position.x, player.position.y, player.position.z, taskFinish.x, taskFinish.y, taskFinish.z, true) / taskRange * 0.35);
|
|
||||||
mp.game.graphics.drawRect(0.5, 0.945, 0.35, 0.025, 150, 0, 0, 200);
|
|
||||||
mp.game.graphics.drawText(rangeLeft.toString() + "m", [0.5, 0.93], {
|
|
||||||
font: 0,
|
|
||||||
color: [255, 255, 255, 255],
|
|
||||||
scale: [0.35, 0.35],
|
|
||||||
outline: true,
|
|
||||||
centre: true
|
|
||||||
});
|
|
||||||
if (taskRange < rangeLeft) ambulanceImagePos = 0.3;
|
|
||||||
mp.game.graphics.drawSprite("medicimages", "finish", 0.655, 0.898, 0.04, 0.07, 0, 255, 255, 255, 255);
|
|
||||||
if (player.isInAnyVehicle(false)) {
|
|
||||||
mp.game.graphics.drawSprite("medicimages", "ambulance", ambulanceImagePos + 0.01, 0.915, 0.04, 0.07, 0, 255, 255, 255, 255);
|
|
||||||
} else {
|
} else {
|
||||||
mp.game.graphics.drawSprite("medicimages", "running", ambulanceImagePos + 0.02, 0.915, 0.02, 0.035, 0, 255, 0, 0, 255);
|
if (sortByKey) {
|
||||||
|
if (sorting < 1) {
|
||||||
|
sorting++;
|
||||||
|
} else {
|
||||||
|
sorting = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (sorting) {
|
||||||
|
case 0: //Standartsortierung
|
||||||
|
|
||||||
|
reviveTaskMenuMedic.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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
reviveTaskMenuMedic.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;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
});
|
||||||
activeTask = false;
|
|
||||||
activeCheckpoint.destroy();
|
function getDistance1(index) {
|
||||||
|
return mp.game.gameplay.getDistanceBetweenCoords(player.position.x, player.position.y, player.position.z, newTasks[index].Position.x, newTasks[index].Position.y, newTasks[index].Position.z, true).toFixed(2);
|
||||||
}
|
}
|
||||||
}
|
function getDistance2(index) {
|
||||||
});
|
return mp.game.gameplay.getDistanceBetweenCoords(player.position.x, player.position.y, player.position.z, newTasks[index].Position.x, newTasks[index].Position.y, newTasks[index].Position.z, true).toFixed(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mp.events.add('render', () => {
|
||||||
|
if (activeTask) {
|
||||||
|
rangeLeft = mp.game.gameplay.getDistanceBetweenCoords(player.position.x, player.position.y, player.position.z, taskFinish.x, taskFinish.y, taskFinish.z, true).toFixed(2);
|
||||||
|
if (rangeLeft > 1.9) {
|
||||||
|
ambulanceImagePos = 0.655 - (mp.game.gameplay.getDistanceBetweenCoords(player.position.x, player.position.y, player.position.z, taskFinish.x, taskFinish.y, taskFinish.z, true) / taskRange * 0.35);
|
||||||
|
mp.game.graphics.drawRect(0.5, 0.945, 0.35, 0.025, 150, 0, 0, 200);
|
||||||
|
mp.game.graphics.drawText(rangeLeft.toString() + "m", [0.5, 0.93], {
|
||||||
|
font: 0,
|
||||||
|
color: [255, 255, 255, 255],
|
||||||
|
scale: [0.35, 0.35],
|
||||||
|
outline: true,
|
||||||
|
centre: true
|
||||||
|
});
|
||||||
|
if (taskRange < rangeLeft) ambulanceImagePos = 0.3;
|
||||||
|
mp.game.graphics.drawSprite("medicimages", "finish", 0.655, 0.898, 0.04, 0.07, 0, 255, 255, 255, 255);
|
||||||
|
if (player.isInAnyVehicle(false)) {
|
||||||
|
mp.game.graphics.drawSprite("medicimages", "ambulance", ambulanceImagePos + 0.01, 0.915, 0.04, 0.07, 0, 255, 255, 255, 255);
|
||||||
|
} else {
|
||||||
|
mp.game.graphics.drawSprite("medicimages", "running", ambulanceImagePos + 0.02, 0.915, 0.02, 0.035, 0, 255, 0, 0, 255);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
activeTask = false;
|
||||||
|
activeCheckpoint.destroy();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
@@ -31,6 +31,8 @@ export default function (globalData: IGlobalData) {
|
|||||||
|
|
||||||
var vehiclesItem = new UIMenuItem("Fahrzeuge", "Zeige deine Fahrzeuge an");
|
var vehiclesItem = new UIMenuItem("Fahrzeuge", "Zeige deine Fahrzeuge an");
|
||||||
|
|
||||||
|
var ticketItem = new UIMenuItem("Ticket annehmen", "Strafticket annehmen");
|
||||||
|
|
||||||
mp.events.add("SERVER:InteractionMenu_OpenMenu", (accountDataJson: string, faction: string, group: string, factionInvite: boolean, groupInvite: boolean) => {
|
mp.events.add("SERVER:InteractionMenu_OpenMenu", (accountDataJson: string, faction: string, group: string, factionInvite: boolean, groupInvite: boolean) => {
|
||||||
var accountData: AccountData = JSON.parse(accountDataJson);
|
var accountData: AccountData = JSON.parse(accountDataJson);
|
||||||
|
|
||||||
@@ -44,7 +46,7 @@ export default function (globalData: IGlobalData) {
|
|||||||
menu.BindMenuToItem(getAccountMenu(accountData), accountItem);
|
menu.BindMenuToItem(getAccountMenu(accountData), accountItem);
|
||||||
|
|
||||||
menu.AddItem(licenseItem);
|
menu.AddItem(licenseItem);
|
||||||
menu.BindMenuToItem(getLicenseMenu(accountData.licenses, menu), licenseItem);
|
menu.BindMenuToItem(getLicenseMenu(accountData, accountData.licenses, menu), licenseItem);
|
||||||
|
|
||||||
var vehicles = accountData.vehicles;
|
var vehicles = accountData.vehicles;
|
||||||
if (vehicles.length > 0) {
|
if (vehicles.length > 0) {
|
||||||
@@ -165,7 +167,7 @@ export default function (globalData: IGlobalData) {
|
|||||||
return accountMenu;
|
return accountMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getLicenseMenu(data: Licenses, parentMenu: NativeUI.Menu): NativeUI.Menu {
|
function getLicenseMenu(accdata: AccountData, data: Licenses, parentMenu: NativeUI.Menu, ): NativeUI.Menu {
|
||||||
var licenseMenu = new NativeUI.Menu("Lizenzen", mp.players.local.name, new Point(50, 50), null, null);
|
var licenseMenu = new NativeUI.Menu("Lizenzen", mp.players.local.name, new Point(50, 50), null, null);
|
||||||
|
|
||||||
var menuItem = new UIMenuItem("Auto Führerschein");
|
var menuItem = new UIMenuItem("Auto Führerschein");
|
||||||
@@ -198,6 +200,17 @@ export default function (globalData: IGlobalData) {
|
|||||||
} else if (data.weaponLicense == true) {
|
} else if (data.weaponLicense == true) {
|
||||||
menuItem.SetRightLabel("~g~erhalten");
|
menuItem.SetRightLabel("~g~erhalten");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
menuItem = new UIMenuItem("Strafpunkte");
|
||||||
|
if (accdata.points == 0) {
|
||||||
|
menuItem.SetRightLabel("~g~" + accdata.points);
|
||||||
|
}
|
||||||
|
else if (accdata.points >= 1 && accdata.points <= 5) {
|
||||||
|
menuItem.SetRightLabel("~y~" + accdata.points);
|
||||||
|
}
|
||||||
|
if (accdata.points > 5) {
|
||||||
|
menuItem.SetRightLabel("~r~" + accdata.points);
|
||||||
|
}
|
||||||
licenseMenu.AddItem(menuItem);
|
licenseMenu.AddItem(menuItem);
|
||||||
|
|
||||||
licenseMenu.AddItem(new UIMenuItem("Lizenzen an Spieler zeigen"));
|
licenseMenu.AddItem(new UIMenuItem("Lizenzen an Spieler zeigen"));
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||||
<ApplicationIcon />
|
<ApplicationIcon />
|
||||||
<StartupObject />
|
<StartupObject />
|
||||||
<Configurations>Debug;Release;ServerBuild</Configurations>
|
<Configurations>Debug;Release;ServerBuild</Configurations>
|
||||||
|
|||||||
1
ReallifeGamemode.Client/global.d.ts
vendored
1
ReallifeGamemode.Client/global.d.ts
vendored
@@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
declare type AccountData = {
|
declare type AccountData = {
|
||||||
regDate: string;
|
regDate: string;
|
||||||
|
points: number;
|
||||||
adminLevel: string;
|
adminLevel: string;
|
||||||
faction: string;
|
faction: string;
|
||||||
factionRank: string;
|
factionRank: string;
|
||||||
|
|||||||
178
ReallifeGamemode.Client/package-lock.json
generated
178
ReallifeGamemode.Client/package-lock.json
generated
@@ -344,9 +344,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"acorn": {
|
"acorn": {
|
||||||
"version": "6.2.1",
|
"version": "6.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
|
||||||
"integrity": "sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q==",
|
"integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"ajv": {
|
"ajv": {
|
||||||
@@ -607,6 +607,16 @@
|
|||||||
"integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
|
"integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"bindings": {
|
||||||
|
"version": "1.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
|
||||||
|
"integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"requires": {
|
||||||
|
"file-uri-to-path": "1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"bluebird": {
|
"bluebird": {
|
||||||
"version": "3.5.5",
|
"version": "3.5.5",
|
||||||
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
|
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
|
||||||
@@ -765,9 +775,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"cacache": {
|
"cacache": {
|
||||||
"version": "12.0.3",
|
"version": "12.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
|
||||||
"integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
|
"integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"bluebird": "^3.5.5",
|
"bluebird": "^3.5.5",
|
||||||
@@ -822,9 +832,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chokidar": {
|
"chokidar": {
|
||||||
"version": "2.1.6",
|
"version": "2.1.8",
|
||||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz",
|
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
|
||||||
"integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==",
|
"integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"anymatch": "^2.0.0",
|
"anymatch": "^2.0.0",
|
||||||
@@ -1026,9 +1036,9 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cacache": {
|
"cacache": {
|
||||||
"version": "12.0.3",
|
"version": "12.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
|
||||||
"integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
|
"integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"bluebird": "^3.5.5",
|
"bluebird": "^3.5.5",
|
||||||
@@ -1555,6 +1565,13 @@
|
|||||||
"integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==",
|
"integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"file-uri-to-path": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
"fill-range": {
|
"fill-range": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
|
||||||
@@ -1664,14 +1681,15 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"fsevents": {
|
"fsevents": {
|
||||||
"version": "1.2.9",
|
"version": "1.2.12",
|
||||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
|
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.12.tgz",
|
||||||
"integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
|
"integrity": "sha512-Ggd/Ktt7E7I8pxZRbGIs7vwqAPscSESMrCSkx2FtWeqmheJgCo2R74fTsZFCifr0VTPwqRpPv17+6b8Zp7th0Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
|
"bindings": "^1.5.0",
|
||||||
"nan": "^2.12.1",
|
"nan": "^2.12.1",
|
||||||
"node-pre-gyp": "^0.12.0"
|
"node-pre-gyp": "*"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"abbrev": {
|
"abbrev": {
|
||||||
@@ -1719,7 +1737,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chownr": {
|
"chownr": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.4",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
@@ -1749,7 +1767,7 @@
|
|||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"debug": {
|
"debug": {
|
||||||
"version": "4.1.1",
|
"version": "3.2.6",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
@@ -1776,12 +1794,12 @@
|
|||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"fs-minipass": {
|
"fs-minipass": {
|
||||||
"version": "1.2.5",
|
"version": "1.2.7",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"minipass": "^2.2.1"
|
"minipass": "^2.6.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fs.realpath": {
|
"fs.realpath": {
|
||||||
@@ -1807,7 +1825,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"glob": {
|
"glob": {
|
||||||
"version": "7.1.3",
|
"version": "7.1.6",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
@@ -1836,7 +1854,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ignore-walk": {
|
"ignore-walk": {
|
||||||
"version": "3.0.1",
|
"version": "3.0.3",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
@@ -1855,7 +1873,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"inherits": {
|
"inherits": {
|
||||||
"version": "2.0.3",
|
"version": "2.0.4",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
@@ -1891,13 +1909,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"minimist": {
|
"minimist": {
|
||||||
"version": "0.0.8",
|
"version": "1.2.5",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"minipass": {
|
"minipass": {
|
||||||
"version": "2.3.5",
|
"version": "2.9.0",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
@@ -1907,42 +1925,42 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"minizlib": {
|
"minizlib": {
|
||||||
"version": "1.2.1",
|
"version": "1.3.3",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"minipass": "^2.2.1"
|
"minipass": "^2.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mkdirp": {
|
"mkdirp": {
|
||||||
"version": "0.5.1",
|
"version": "0.5.3",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"minimist": "0.0.8"
|
"minimist": "^1.2.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ms": {
|
"ms": {
|
||||||
"version": "2.1.1",
|
"version": "2.1.2",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"needle": {
|
"needle": {
|
||||||
"version": "2.3.0",
|
"version": "2.3.3",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"debug": "^4.1.0",
|
"debug": "^3.2.6",
|
||||||
"iconv-lite": "^0.4.4",
|
"iconv-lite": "^0.4.4",
|
||||||
"sax": "^1.2.4"
|
"sax": "^1.2.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node-pre-gyp": {
|
"node-pre-gyp": {
|
||||||
"version": "0.12.0",
|
"version": "0.14.0",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
@@ -1956,11 +1974,11 @@
|
|||||||
"rc": "^1.2.7",
|
"rc": "^1.2.7",
|
||||||
"rimraf": "^2.6.1",
|
"rimraf": "^2.6.1",
|
||||||
"semver": "^5.3.0",
|
"semver": "^5.3.0",
|
||||||
"tar": "^4"
|
"tar": "^4.4.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nopt": {
|
"nopt": {
|
||||||
"version": "4.0.1",
|
"version": "4.0.3",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
@@ -1970,19 +1988,29 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"npm-bundled": {
|
"npm-bundled": {
|
||||||
"version": "1.0.6",
|
"version": "1.1.1",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"requires": {
|
||||||
|
"npm-normalize-package-bin": "^1.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"npm-normalize-package-bin": {
|
||||||
|
"version": "1.0.1",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"npm-packlist": {
|
"npm-packlist": {
|
||||||
"version": "1.4.1",
|
"version": "1.4.8",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"ignore-walk": "^3.0.1",
|
"ignore-walk": "^3.0.1",
|
||||||
"npm-bundled": "^1.0.1"
|
"npm-bundled": "^1.0.1",
|
||||||
|
"npm-normalize-package-bin": "^1.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"npmlog": {
|
"npmlog": {
|
||||||
@@ -2047,7 +2075,7 @@
|
|||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"process-nextick-args": {
|
"process-nextick-args": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.1",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
@@ -2062,18 +2090,10 @@
|
|||||||
"ini": "~1.3.0",
|
"ini": "~1.3.0",
|
||||||
"minimist": "^1.2.0",
|
"minimist": "^1.2.0",
|
||||||
"strip-json-comments": "~2.0.1"
|
"strip-json-comments": "~2.0.1"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"minimist": {
|
|
||||||
"version": "1.2.0",
|
|
||||||
"bundled": true,
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"readable-stream": {
|
"readable-stream": {
|
||||||
"version": "2.3.6",
|
"version": "2.3.7",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
@@ -2088,7 +2108,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rimraf": {
|
"rimraf": {
|
||||||
"version": "2.6.3",
|
"version": "2.7.1",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
@@ -2115,7 +2135,7 @@
|
|||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"semver": {
|
"semver": {
|
||||||
"version": "5.7.0",
|
"version": "5.7.1",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
@@ -2168,18 +2188,18 @@
|
|||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"tar": {
|
"tar": {
|
||||||
"version": "4.4.8",
|
"version": "4.4.13",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"chownr": "^1.1.1",
|
"chownr": "^1.1.1",
|
||||||
"fs-minipass": "^1.2.5",
|
"fs-minipass": "^1.2.5",
|
||||||
"minipass": "^2.3.4",
|
"minipass": "^2.8.6",
|
||||||
"minizlib": "^1.1.1",
|
"minizlib": "^1.2.1",
|
||||||
"mkdirp": "^0.5.0",
|
"mkdirp": "^0.5.0",
|
||||||
"safe-buffer": "^5.1.2",
|
"safe-buffer": "^5.1.2",
|
||||||
"yallist": "^3.0.2"
|
"yallist": "^3.0.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"util-deprecate": {
|
"util-deprecate": {
|
||||||
@@ -2204,7 +2224,7 @@
|
|||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"yallist": {
|
"yallist": {
|
||||||
"version": "3.0.3",
|
"version": "3.1.1",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
@@ -2694,9 +2714,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"kind-of": {
|
"kind-of": {
|
||||||
"version": "6.0.2",
|
"version": "6.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
|
||||||
"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
|
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"lcid": {
|
"lcid": {
|
||||||
@@ -2892,9 +2912,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"minimist": {
|
"minimist": {
|
||||||
"version": "1.2.0",
|
"version": "1.2.5",
|
||||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||||
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
|
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"mississippi": {
|
"mississippi": {
|
||||||
@@ -2937,20 +2957,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mkdirp": {
|
"mkdirp": {
|
||||||
"version": "0.5.1",
|
"version": "0.5.5",
|
||||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
|
||||||
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
|
"integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"minimist": "0.0.8"
|
"minimist": "^1.2.5"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"minimist": {
|
|
||||||
"version": "0.0.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
|
||||||
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
|
|
||||||
"dev": true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"move-concurrently": {
|
"move-concurrently": {
|
||||||
@@ -4025,9 +4037,9 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cacache": {
|
"cacache": {
|
||||||
"version": "12.0.3",
|
"version": "12.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
|
||||||
"integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
|
"integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"bluebird": "^3.5.5",
|
"bluebird": "^3.5.5",
|
||||||
@@ -4323,9 +4335,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"upath": {
|
"upath": {
|
||||||
"version": "1.1.2",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
|
||||||
"integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==",
|
"integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"uri-js": {
|
"uri-js": {
|
||||||
@@ -4409,12 +4421,12 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"watchpack": {
|
"watchpack": {
|
||||||
"version": "1.6.0",
|
"version": "1.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.1.tgz",
|
||||||
"integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
|
"integrity": "sha512-+IF9hfUFOrYOOaKyfaI7h7dquUIOgyEMoQMLA7OP5FxegKA2+XdXThAZ9TU2kucfhDH7rfMHs1oPYziVGWRnZA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"chokidar": "^2.0.2",
|
"chokidar": "^2.1.8",
|
||||||
"graceful-fs": "^4.1.2",
|
"graceful-fs": "^4.1.2",
|
||||||
"neo-async": "^2.5.0"
|
"neo-async": "^2.5.0"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,6 +99,7 @@ namespace ReallifeGamemode.Database.Entities
|
|||||||
public bool WeaponLicense { get; set; } = false;
|
public bool WeaponLicense { get; set; } = false;
|
||||||
|
|
||||||
public bool IsAdmin(AdminLevel level) => AdminLevel >= level;
|
public bool IsAdmin(AdminLevel level) => AdminLevel >= level;
|
||||||
|
public int Points { get; set; }
|
||||||
|
|
||||||
[NotMapped]
|
[NotMapped]
|
||||||
public Player Player
|
public Player Player
|
||||||
|
|||||||
BIN
ReallifeGamemode.Database/Windows PowerShell.lnk
Normal file
BIN
ReallifeGamemode.Database/Windows PowerShell.lnk
Normal file
Binary file not shown.
@@ -1,4 +1,4 @@
|
|||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
using ReallifeGamemode.Database.Entities;
|
using ReallifeGamemode.Database.Entities;
|
||||||
using ReallifeGamemode.Database.Models;
|
using ReallifeGamemode.Database.Models;
|
||||||
using ReallifeGamemode.Server.Extensions;
|
using ReallifeGamemode.Server.Extensions;
|
||||||
|
|||||||
@@ -98,9 +98,13 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
User user = player.GetUser();
|
User user = player.GetUser();
|
||||||
switch (user.FactionId)
|
switch (user.FactionId)
|
||||||
{
|
{
|
||||||
//LSFD
|
//LSPD
|
||||||
|
case 1:
|
||||||
|
player.TriggerEvent("showFactionInteractionLSPD", user.FactionId, user.GetData<bool>("duty"), user.Faction.Name, user.FactionLeader);
|
||||||
|
break;
|
||||||
|
//Medic
|
||||||
case 2:
|
case 2:
|
||||||
player.TriggerEvent("showFactionInteraction", user.FactionId, user.GetData<bool>("duty"), user.Faction.Name, user.FactionLeader, Medic.ReviveTasks.Count.ToString(), Medic.HealTasks.Count.ToString(), Medic.FireTasks.Count.ToString());
|
player.TriggerEvent("showFactionInteractionMedic", user.FactionId, user.GetData<bool>("duty"), user.Faction.Name, user.FactionLeader, Medic.ReviveTasks.Count.ToString(), Medic.HealTasks.Count.ToString(), Medic.FireTasks.Count.ToString());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -127,6 +131,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
{
|
{
|
||||||
regDate = u.RegistrationDate.ToShortDateString(),
|
regDate = u.RegistrationDate.ToShortDateString(),
|
||||||
adminLevel = u.AdminLevel.GetName(),
|
adminLevel = u.AdminLevel.GetName(),
|
||||||
|
points = u.Points,
|
||||||
faction = u.Faction?.Name ?? "Zivilist",
|
faction = u.Faction?.Name ?? "Zivilist",
|
||||||
factionRank = u.GetFactionRank().RankName,
|
factionRank = u.GetFactionRank().RankName,
|
||||||
group = u.Group?.Name ?? "Keine",
|
group = u.Group?.Name ?? "Keine",
|
||||||
|
|||||||
@@ -378,6 +378,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
string reason = (string)JsonConvert.DeserializeObject(jsonReason);
|
string reason = (string)JsonConvert.DeserializeObject(jsonReason);
|
||||||
Player target = PlayerService.GetPlayerByNameOrId(nameOrId);
|
Player target = PlayerService.GetPlayerByNameOrId(nameOrId);
|
||||||
string playername = NAPI.Player.GetPlayerName(player);
|
string playername = NAPI.Player.GetPlayerName(player);
|
||||||
|
|
||||||
string targetname = NAPI.Player.GetPlayerName(target);
|
string targetname = NAPI.Player.GetPlayerName(target);
|
||||||
player.SendNotification($"~w~Du hast ~y~{targetname} ~w~ein Ticket in Höhe von ~b~{amount}$ ~w~gestellt. Grund: ~g~{reason}~w~.");
|
player.SendNotification($"~w~Du hast ~y~{targetname} ~w~ein Ticket in Höhe von ~b~{amount}$ ~w~gestellt. Grund: ~g~{reason}~w~.");
|
||||||
target.SendNotification($"~b~{player.GetUser().FactionRank.RankName} | {playername} ~w~hat dir ein Ticket in Höhe von ~y~{amount}$ ~w~gestellt.", true);
|
target.SendNotification($"~b~{player.GetUser().FactionRank.RankName} | {playername} ~w~hat dir ein Ticket in Höhe von ~y~{amount}$ ~w~gestellt.", true);
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
<PackageReference Include="System.Runtime" Version="4.3.1" />
|
<PackageReference Include="System.Runtime" Version="4.3.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Folder Include="Factions\LSPD\" />
|
||||||
<Folder Include="Properties\" />
|
<Folder Include="Properties\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
Reference in New Issue
Block a user