add service ruf sanitäter
This commit is contained in:
@@ -30,6 +30,7 @@ export default function factionInteraction(globalData: IGlobalData) {
|
||||
var pointsName: string;
|
||||
|
||||
var factionInteractionMenu;
|
||||
var healTaskMenuMedic;
|
||||
var reviveTaskMenuMedic;
|
||||
|
||||
/*mp.events.add("updateFactionBlips", (type, taskList) => {
|
||||
@@ -184,9 +185,10 @@ export default function factionInteraction(globalData: IGlobalData) {
|
||||
healTaskMenuMedic.SetRightLabel(hPM + healTaskCountMedic)
|
||||
factionInteractionMenu.AddItem(healTaskMenuMedic);
|
||||
|
||||
fireTaskMenuMedic = new UIMenuItem("Feuerauftr\u00e4ge");
|
||||
/*fireTaskMenuMedic = new UIMenuItem("Feuerauftr\u00e4ge"); //wenn die funktion dafür vorhanden ist wird das wieder eingebunden
|
||||
fireTaskMenuMedic.SetRightLabel(fPM + fireTaskCountMedic);
|
||||
factionInteractionMenu.AddItem(fireTaskMenuMedic);
|
||||
*/
|
||||
|
||||
}
|
||||
}
|
||||
@@ -211,6 +213,12 @@ export default function factionInteraction(globalData: IGlobalData) {
|
||||
mp.gui.chat.activate(true);
|
||||
globalData.InMenu = false;
|
||||
break;
|
||||
case healTaskMenuMedic:
|
||||
mp.events.callRemote("loadMedicTasks", 1)
|
||||
factionInteractionMenu.Close();
|
||||
mp.gui.chat.activate(true);
|
||||
globalData.InMenu = false;
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -286,7 +294,56 @@ export default function factionInteraction(globalData: IGlobalData) {
|
||||
});
|
||||
break;
|
||||
case 1:
|
||||
break;
|
||||
healTaskMenuMedic = new Menu("Heal", "\u00c4lteste zu erst", new Point(0, screenRes.y / 2), null, null);
|
||||
let aTask1;
|
||||
for (var i = 0; i < tasks.length; i++) {
|
||||
if (tasks[i].MedicName === "none") {
|
||||
aTask1 = new UIMenuItem("~g~" + tasks[i].Victim);
|
||||
} else {
|
||||
aTask1 = new UIMenuItem("~r~" + tasks[i].Victim);
|
||||
}
|
||||
|
||||
aTask1.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");
|
||||
healTaskMenuMedic.AddItem(aTask1);
|
||||
}
|
||||
|
||||
let backItem1 = new UIMenuItem("Zur\u00fcck", "Zur\u00fcck zur Fraktionsinteraktion.");
|
||||
backItem1.BackColor = new Color(213, 0, 0);
|
||||
backItem1.HighlightedBackColor = new Color(229, 57, 53);
|
||||
healTaskMenuMedic.AddItem(backItem1);
|
||||
|
||||
healTaskMenuMedic.ItemSelect.on((item, index) => {
|
||||
if (item === backItem1) {
|
||||
healTaskMenuMedic.Close();
|
||||
factionInteractionMenu.Visible = true;
|
||||
} else {
|
||||
if (tasks[index].MedicName === "none") {
|
||||
mp.game.graphics.requestStreamedTextureDict("medicimages", true);
|
||||
mp.events.callRemote("updateMedicTask", 1, 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
|
||||
});
|
||||
healTaskMenuMedic.Close();
|
||||
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;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
healTaskMenuMedic.Open();
|
||||
|
||||
healTaskMenuMedic.MenuClose.on(() => {
|
||||
healTaskMenuMedic.Visible = false;
|
||||
globalData.InMenu = false;
|
||||
});
|
||||
case 2:
|
||||
break;
|
||||
}
|
||||
@@ -379,6 +436,7 @@ export default function factionInteraction(globalData: IGlobalData) {
|
||||
} else {
|
||||
activeTask = false;
|
||||
activeCheckpoint.destroy();
|
||||
mp.events.callRemote("delHealTask");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -387,14 +387,20 @@ export default function (globalData: IGlobalData) {
|
||||
function getServicesMenu(parentMenu: NativeUI.Menu): NativeUI.Menu {
|
||||
var servicesMenu = new Menu("Services", "Rufe einen Service", new Point(50, 50), null, null);
|
||||
servicesMenu.AddItem(new UIMenuItem("Taxi rufen", "Rufe ein Taxi zu deiner Position"));
|
||||
|
||||
var saniItem = new UIMenuItem("Sanitäter rufen", "Rufe einen Sanitäter zu deiner Position.");
|
||||
servicesMenu.AddItem(saniItem);
|
||||
servicesMenu.Visible = false;
|
||||
|
||||
servicesMenu.ItemSelect.on((item, index) => {
|
||||
if (index === 0) { // Taxi
|
||||
mp.events.callRemote("CLIENT:InteractionMenu_CallService_Taxi", getStreetName(), getZoneName());
|
||||
|
||||
}
|
||||
parentMenu.Close();
|
||||
else if (index === 1) { // Sanitäter
|
||||
mp.events.callRemote("CLIENT:InteractionMenu_CallService_Sani");
|
||||
|
||||
}
|
||||
parentMenu.Close(true);
|
||||
});
|
||||
|
||||
return servicesMenu;
|
||||
|
||||
@@ -1418,8 +1418,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
NAPI.Player.SpawnPlayer(target, target.Position);
|
||||
target.Health = 100;
|
||||
|
||||
MedicTask task = Medic.ReviveTasks.FirstOrDefault(t => t.Victim == target.Name);
|
||||
Medic.RemoveTaskFromList(task);
|
||||
Medic.delReviveTasks(target);
|
||||
}
|
||||
|
||||
[Command("setap", "~m~Benutzung: ~s~/setap [Spieler] (Armor)")]
|
||||
@@ -2182,8 +2181,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
NAPI.Player.SpawnPlayer(managedPlayer, managedPlayer.Position);
|
||||
managedPlayer.Health = 100;
|
||||
|
||||
MedicTask task = Medic.ReviveTasks.FirstOrDefault(t => t.Victim == managedPlayer.Name);
|
||||
Medic.RemoveTaskFromList(task);
|
||||
Medic.delReviveTasks(managedPlayer);
|
||||
}
|
||||
|
||||
ChatService.SendMessage(player, "~b~Du hast " + playerRevided + " Spieler wiederbelebt.");
|
||||
|
||||
@@ -368,6 +368,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
target.Health = 100;
|
||||
target.SendNotification($"Du wurdest von ~g~{player.Name} ~s~ für ~g~{price.ToMoneyString()} geheilt.", false);
|
||||
player.SendNotification($"Du hast ~g~{target.Name} ~s~ für {price.ToMoneyString()} geheilt.", false);
|
||||
player.TriggerEvent("delHealTask");
|
||||
}
|
||||
|
||||
#endregion Sanitäter Commands
|
||||
|
||||
@@ -104,6 +104,7 @@ namespace ReallifeGamemode.Server.Events
|
||||
MedicName = "none"
|
||||
};
|
||||
Medic.AddTaskToList(reviveTask);
|
||||
Medic.delHealTasks(player);
|
||||
ChatService.BroadcastFaction("~y~[MEDIC] ~w~" + player.Name + " ist soeben verstorben.", new List<int>() { 2 });
|
||||
|
||||
if (player.GetUser().IsAdmin(AdminLevel.ADMIN) == true)
|
||||
@@ -231,8 +232,7 @@ namespace ReallifeGamemode.Server.Events
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
player.RemoveAllWeapons();
|
||||
MedicTask task = Medic.ReviveTasks.FirstOrDefault(t => t.Victim == player.Name);
|
||||
Medic.RemoveTaskFromList(task);
|
||||
Medic.delReviveTasks(player);
|
||||
NAPI.Player.SpawnPlayer(player, new Vector3(-495.45, -336.33, 34.5), -98.36f);
|
||||
|
||||
}
|
||||
|
||||
@@ -137,8 +137,8 @@ namespace ReallifeGamemode.Server.Events
|
||||
player.TriggerEvent("CLIENT:DestroyPed", 2);
|
||||
player.TriggerEvent("CLIENT:DestroyPed", 3);
|
||||
player.TriggerEvent("CLIENT:DestroyPed", 4);
|
||||
MedicTask task = Medic.ReviveTasks.FirstOrDefault(t => t.Victim == player.Name);
|
||||
Medic.RemoveTaskFromList(task);
|
||||
Medic.delHealTasks(player);
|
||||
Medic.delReviveTasks(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using GTANetworkAPI;
|
||||
using Newtonsoft.Json;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using System.Linq;
|
||||
|
||||
/**
|
||||
* @overview Life of German Reallife - Server Factions Medic Medic.cs
|
||||
@@ -89,11 +90,12 @@ namespace ReallifeGamemode.Server.Factions.Medic
|
||||
{
|
||||
case 0:
|
||||
ReviveTasks[index].MedicName = medicName;
|
||||
ChatService.BroadcastFaction("~y~[MEDIC] ~w~" + player.Name + "hat den Reviveauftrag von " + medicName + " angenommen.", new List<int>() { 2 });
|
||||
ChatService.BroadcastFaction("~y~[MEDIC] ~w~" + player.Name + " hat den Reviveauftrag von " + medicName + " angenommen.", new List<int>() { 2 });
|
||||
break;
|
||||
|
||||
case 1:
|
||||
HealTasks[index].MedicName = medicName;
|
||||
ChatService.BroadcastFaction("~y~[MEDIC] ~w~" + player.Name + " hat den Healauftrag von " + medicName + " angenommen.", new List<int>() { 2 });
|
||||
break;
|
||||
|
||||
case 2:
|
||||
@@ -101,5 +103,33 @@ namespace ReallifeGamemode.Server.Factions.Medic
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
[RemoteEvent("delHealTask")]
|
||||
public void delHealTask(Player player)
|
||||
{
|
||||
MedicTask task = HealTasks.FirstOrDefault(t => t.Victim == player.Name);
|
||||
RemoveTaskFromList(task);
|
||||
player.SetData("healauftrag", false);
|
||||
}
|
||||
|
||||
[RemoteEvent("delReviveTask")]
|
||||
public void delReviveTask(Player player)
|
||||
{
|
||||
MedicTask task = ReviveTasks.FirstOrDefault(t => t.Victim == player.Name);
|
||||
RemoveTaskFromList(task);
|
||||
}
|
||||
|
||||
public static void delHealTasks(Player player)
|
||||
{
|
||||
MedicTask task = HealTasks.FirstOrDefault(t => t.Victim == player.Name);
|
||||
RemoveTaskFromList(task);
|
||||
player.SetData("healauftrag", false);
|
||||
}
|
||||
public static void delReviveTasks(Player player)
|
||||
{
|
||||
MedicTask task = ReviveTasks.FirstOrDefault(t => t.Victim == player.Name);
|
||||
RemoveTaskFromList(task);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ using Microsoft.EntityFrameworkCore;
|
||||
using ReallifeGamemode.Server.Events;
|
||||
using System;
|
||||
using ReallifeGamemode.Server.Core.API;
|
||||
using ReallifeGamemode.Server.Factions.Medic;
|
||||
|
||||
/**
|
||||
* @overview Life of German Reallife - Managers Interaction (InteractionManager.cs)
|
||||
@@ -689,6 +690,31 @@ namespace ReallifeGamemode.Server.Managers
|
||||
}
|
||||
}
|
||||
|
||||
[RemoteEvent("CLIENT:InteractionMenu_CallService_Sani")]
|
||||
public void CallServiceSani(Player player)
|
||||
{
|
||||
//MEDIC AUFTRAG
|
||||
MedicTask healTask = new MedicTask()
|
||||
{
|
||||
Victim = player.Name,
|
||||
Position = player.Position,
|
||||
Caller = null,
|
||||
Description = "Healen",
|
||||
Time = DateTime.Now,
|
||||
Type = MedicTaskType.HEAL,
|
||||
MedicName = "none"
|
||||
};
|
||||
if (player.GetData<bool>("healauftrag") == true)
|
||||
{
|
||||
player.SendNotification("~r~[Fehler] ~w~Du hast bereits ein Sanitäter gerufen.");
|
||||
}else
|
||||
{
|
||||
Medic.AddTaskToList(healTask);
|
||||
player.SetData("healauftrag", true);
|
||||
ChatService.BroadcastFaction("~y~[MEDIC] ~w~" + player.Name + " hat soeben einen Serviceauftrag beantragt.", new List<int>() { 2 });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endregion Eigeninteraktionen PFEILTASTE-RUNTER
|
||||
|
||||
|
||||
Reference in New Issue
Block a user