Merge branch 'develop' into 'master'

[HOTFIX] v0.0.3-h1

See merge request log-gtav/reallife-gamemode!41
This commit is contained in:
Siga
2021-04-08 00:04:05 +00:00
5 changed files with 47 additions and 76 deletions

View File

@@ -35,9 +35,7 @@ export default function factionInteraction(globalData: IGlobalData) {
var reviveTaskMenuMedic;
var insDate;
/*mp.events.add("updateFactionBlips", (type, taskList) => {
});
});*/
mp.events.add("showFactionInteractionLSPD", (userFactionId, isDuty, userFactionName, isFactionLeader) => {
//LSPD
@@ -64,8 +62,6 @@ export default function factionInteraction(globalData: IGlobalData) {
TaskMenuLSPD.SetRightLabel("");
factionInteractionMenu.AddItem(TaskMenuLSPD);*/ //weiteres
let cancelItem = new UIMenuItem("Schlie\u00dfen", "Schlie\u00dft die Fraktionsinteraktion.");
cancelItem.BackColor = new Color(213, 0, 0);
cancelItem.HighlightedBackColor = new Color(229, 57, 53);
@@ -108,7 +104,7 @@ export default function factionInteraction(globalData: IGlobalData) {
factionInteractionMenu.Visible = false;
mp.gui.chat.activate(true);
globalData.InMenu = false;
mp.events.callRemote("CLIENT:wantedlist");
mp.events.callRemote("CLIENT:wantedlist");
break;
}
});
@@ -172,7 +168,6 @@ export default function factionInteraction(globalData: IGlobalData) {
var wList;
mp.events.add("showWantedlist", (playersJson) => {
if (wantedlistBrowser !== null) {
wantedlistBrowser.destroy();
wantedlistBrowser = null;
@@ -193,7 +188,6 @@ export default function factionInteraction(globalData: IGlobalData) {
});
mp.events.add("removeWantedlist", () => {
if (wantedlistBrowser == null) {
return;
}
@@ -212,7 +206,6 @@ export default function factionInteraction(globalData: IGlobalData) {
mp.gui.chat.activate(false);
globalData.InMenu = true;
var rPM = ((reviveTaskCountMedic === "0") ? "~r~" : "~g~");
var hPM = ((healTaskCountMedic === "0") ? "~r~" : "~g~");
var fPM = ((fireTaskCountMedic === "0") ? "~r~" : "~g~");
@@ -236,9 +229,8 @@ export default function factionInteraction(globalData: IGlobalData) {
/*fireTaskMenuMedic = new UIMenuItem("Feuerauftr\u00e4ge"); //wenn die funktion dafür vorhanden ist wird das wieder eingebunden
fireTaskMenuMedic.SetRightLabel(fPM + fireTaskCountMedic);
factionInteractionMenu.AddItem(fireTaskMenuMedic);
factionInteractionMenu.AddItem(fireTaskMenuMedic);
*/
}
}
@@ -277,9 +269,7 @@ export default function factionInteraction(globalData: IGlobalData) {
});
});
mp.events.add("showMedicTasks", (type, taskList) => {
tasks = JSON.parse(taskList);
//mp.events.call("sortFactionTasks", false);
@@ -316,12 +306,12 @@ export default function factionInteraction(globalData: IGlobalData) {
mp.events.callRemote("updateMedicTask", 0, tasks[index].Victim);
mp.game.ui.setNewWaypoint(tasks[index].Position.x, tasks[index].Position.y);
activeCheckpoint = mp.checkpoints.new(1, new mp.Vector3(tasks[index].Position.x, tasks[index].Position.y, tasks[index].Position.z - 2), 3.0,
{
{
direction: new mp.Vector3(tasks[index].Position.x, tasks[index].Position.y, tasks[index].Position.z - 5),
color: [255, 0, 0, 150],
visible: true,
dimension: 0
});
});
reviveTaskMenuMedic.Close();
mp.gui.chat.activate(true);
globalData.InMenu = false;
@@ -370,12 +360,12 @@ export default function factionInteraction(globalData: IGlobalData) {
mp.events.callRemote("updateMedicTask", 1, tasks[index].Victim);
mp.game.ui.setNewWaypoint(tasks[index].Position.x, tasks[index].Position.y);
activeCheckpoint = mp.checkpoints.new(1, new mp.Vector3(tasks[index].Position.x, tasks[index].Position.y, tasks[index].Position.z - 2), 3.0,
{
direction: new mp.Vector3(tasks[index].Position.x, tasks[index].Position.y, tasks[index].Position.z - 5),
color: [255, 0, 0, 150],
visible: true,
dimension: 0
});
{
direction: new mp.Vector3(tasks[index].Position.x, tasks[index].Position.y, tasks[index].Position.z - 5),
color: [255, 0, 0, 150],
visible: true,
dimension: 0
});
healTaskMenuMedic.Close();
mp.gui.chat.activate(true);
globalData.InMenu = false;
@@ -423,7 +413,7 @@ export default function factionInteraction(globalData: IGlobalData) {
mp.events.call("showMedicTasks", 0, JSON.stringify(initTasks));
break;
case 1: //Sortierung nach Metern (aufsteigend)
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)) {
@@ -440,7 +430,7 @@ export default function factionInteraction(globalData: IGlobalData) {
mp.events.call("showMedicTasks", 0, JSON.stringify(tasks));
break;
//case 2: //Sortierung nach Metern (absteigend)
//case 2: //Sortierung nach Metern (absteigend)
// mp.gui.chat.push("Sorting 2");
// sortText = "Entfernung absteigend";
// break;
@@ -468,13 +458,13 @@ export default function factionInteraction(globalData: IGlobalData) {
deadRespawned = true;
});
mp.events.add("destroyMedicTaskCheckpoint", () => {
if (activeCheckpoint) {
activeCheckpoint.destroy();
mp.events.add("destroyMedicTaskCheckpoint", () => {
if (activeCheckpoint && mp.checkpoints.exists(activeCheckpoint)) {
activeCheckpoint.destroy();
activeCheckpoint = null;
activeTask = null;
timeLeft = null;
mp.events.callRemote("MedicTaskTimeout");
mp.events.callRemote("MedicTaskTimeout");
}
});
@@ -486,7 +476,7 @@ export default function factionInteraction(globalData: IGlobalData) {
activeTask = null;
deadRespawned = false;
timeLeft = null;
} else if (activeTask.Type == 1){
} else if (activeTask.Type == 1) {
activeCheckpoint.destroy();
activeCheckpoint = null;
mp.events.callRemote("delHealTaskAsMedic", activeTask.Victim);
@@ -502,7 +492,6 @@ export default function factionInteraction(globalData: IGlobalData) {
});
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) {

View File

@@ -14,7 +14,6 @@ let screenRes = mp.game.graphics.getScreenResolution(0, 0);
import { getStreetName, getZoneName } from '../streetnames';
export default function (globalData: IGlobalData) {
var menuClose = false;
var accountItem = new UIMenuItem("Account", "Account Informationen");
@@ -44,8 +43,6 @@ export default function (globalData: IGlobalData) {
var groupRank = null;
mp.events.add("SERVER:InteractionMenu_OpenMenu", (accountDataJson: string, factionleader: string, jobDataJson: string, faction: string, group: string, factionInvite: boolean, groupInvite: boolean, ticket_boolean: boolean, ticket_amount, house: boolean) => {
var accountData: AccountData = JSON.parse(accountDataJson);
var jobData: JobData = JSON.parse(jobDataJson);
//var ticket_amount = JSON.parse(ticket_amountJson);
@@ -80,7 +77,7 @@ export default function (globalData: IGlobalData) {
menu.AddItem(factionleaderItem);
menu.BindMenuToItem(getFactionLeaderMenu(faction, accountData.factionVehicles, accountData.stateFaction, menu), factionleaderItem);
}
menu.AddItem(jobItem);
menu.AddItem(jobItem);
menu.BindMenuToItem(getJobMenu(jobData, menu), jobItem);
if (group) {
@@ -88,10 +85,7 @@ export default function (globalData: IGlobalData) {
menu.AddItem(groupItem);
menu.BindMenuToItem(getGroupMenu(group, menu), groupItem);
}
menu.AddItem(HouseItem);
menu.AddItem(HouseItem);
if (accountData.paycheck) {
var p = accountData.paycheck;
@@ -211,12 +205,12 @@ export default function (globalData: IGlobalData) {
menuItem = new UIMenuItem("Fraktionsrang");
menuItem.SetRightLabel(data.factionRank);
accountMenu.AddItem(menuItem);
}
}
if (data.group != null) {
menuItem = new UIMenuItem("Gruppe");
menuItem.SetRightLabel(data.group);
accountMenu.AddItem(menuItem);
accountMenu.AddItem(menuItem);
menuItem = new UIMenuItem("Gruppenrang");
menuItem.SetRightLabel(data.groupRank);
accountMenu.AddItem(menuItem);
@@ -242,7 +236,7 @@ export default function (globalData: IGlobalData) {
return accountMenu;
}
function getLicenseMenu(accdata: AccountData, 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(0, screenRes.y / 3), null, null);
var menuItem = new UIMenuItem("Auto Führerschein");
@@ -305,17 +299,14 @@ export default function (globalData: IGlobalData) {
globalData.InMenu = false;
});
}
});
return licenseMenu;
}
function getFactionMenu(faction: string, vehData: VehicleData[], stateFaction: boolean, parentMenu: NativeUI.Menu): NativeUI.Menu {
var factionMenu = new NativeUI.Menu("Fraktion", faction, new Point(0, screenRes.y / 3), null, null);
factionMenu.Visible = false;
if (vehData.length > 0) {
@@ -327,7 +318,6 @@ export default function (globalData: IGlobalData) {
return factionMenu;
}
function getFactionLeaderMenu(faction: string, vehData: VehicleData[], stateFaction: boolean, parentMenu: NativeUI.Menu): NativeUI.Menu {
var factionMenu = new NativeUI.Menu("Fraktion", faction, new Point(0, screenRes.y / 3), null, null);
factionMenu.AddItem(new UIMenuItem("Spieler einladen"));
@@ -340,7 +330,6 @@ export default function (globalData: IGlobalData) {
factionMenu.BindMenuToItem(getVehiclesMenu(vehData, "CLIENT:InteractionMenu_FactionVehicleInteraction", !stateFaction, parentMenu), factionVehicleItem);
}
factionMenu.ItemSelect.on((item, index) => {
if (index === 0) { // Inviten
globalData.InMenu = true;
@@ -396,7 +385,7 @@ export default function (globalData: IGlobalData) {
pilotSkillItem.SetRightLabel(jobdata.pilotskill + "/300")
break;
case 2:
pilotSkillItem.SetRightLabel(jobdata.pilotskill + "/MAX")
pilotSkillItem.SetRightLabel("MAX")
break;
}
jobMenu.AddItem(pilotSkillItem);
@@ -410,7 +399,7 @@ export default function (globalData: IGlobalData) {
busSkillItem.SetRightLabel(jobdata.busskill + "/800")
break;
case 3:
busSkillItem.SetRightLabel(jobdata.busskill + "/MAX")
busSkillItem.SetRightLabel("MAX")
break;
}
jobMenu.AddItem(busSkillItem);
@@ -420,7 +409,7 @@ export default function (globalData: IGlobalData) {
wageItem.SetRightLabel("~g~$" + jobdata.wage.toString())
} else {
wageItem.SetRightLabel("$" + jobdata.wage.toString())
}
}
jobMenu.AddItem(wageItem);
jobMenu.Visible = false;
mp.gui.chat.show(false);
@@ -480,7 +469,7 @@ export default function (globalData: IGlobalData) {
groupMenu.Close();
mp.gui.chat.show(true);
globalData.InMenu = false;
mp.events.callRemote("CLIENT:InteractionMenu_LeaveGroup", "Gruppe");
mp.events.callRemote("CLIENT:InteractionMenu_LeaveGroup", "Gruppe");
break;
case 5: //Gruppe löschen (als Leiter)
@@ -490,7 +479,6 @@ export default function (globalData: IGlobalData) {
mp.events.callRemote("CLIENT:InteractionMenu_DeleteGroup", "Gruppe");
break;
}
});
return groupMenu;
}
@@ -505,11 +493,9 @@ export default function (globalData: IGlobalData) {
servicesMenu.ItemSelect.on((item, index) => {
if (index === 0) { // Taxi
mp.events.callRemote("CLIENT:InteractionMenu_CallService_Taxi", getStreetName(), getZoneName());
}
else if (index === 1) { // Sanitäter
mp.events.callRemote("CLIENT:InteractionMenu_CallService_Sani");
}
parentMenu.Close(true);
});
@@ -551,7 +537,6 @@ export default function (globalData: IGlobalData) {
function getVehiclesMenuFaction(vehicles: VehicleData[], eventName: string, allowSell: boolean, parentMenu: NativeUI.Menu): NativeUI.Menu {
var desc = "Finden";
var menu = new Menu("Fahrzeuge", desc, new Point(0, screenRes.y / 3), null, null);
var items: string[] = ["Finden"];
@@ -577,7 +562,7 @@ export default function (globalData: IGlobalData) {
return menu;
}
function getTicketMenu(ticket_amount: number, parentMenu: NativeUI.Menu): NativeUI.Menu {
var ticketMenu = new NativeUI.Menu("Ticket", `Ticket in Höhe von ${ticket_amount}$`, new Point(0, screenRes.y / 3), null, null);
ticketMenu.AddItem(new UIMenuItem("Ticket annehmen"));
@@ -599,7 +584,7 @@ export default function (globalData: IGlobalData) {
return ticketMenu;
}
mp.events.add("CLIENT:InteractionMenu_Pay_Name", (name) => {
payName = name;
globalData.InMenu = true;
@@ -612,4 +597,4 @@ export default function (globalData: IGlobalData) {
globalData.InMenu = false;
});
});
}
}

View File

@@ -16,14 +16,6 @@ namespace ReallifeGamemode.Server.Commands
{
internal class UserCommands : Script
{
[Command("skill")]
public void CmdUserSkill(Player player)
{
User user = player.GetUser(new DatabaseContext());
player.SendChatMessage($"~c~BusSkill = {user.BusSkill}/800, PilotSkill = {user.PilotSkill}/300.");
}
[Command("id", "~m~Benutzung: ~s~/id [Name]")]
public void CmdUserId(Player player, String targetname)
{

View File

@@ -76,15 +76,18 @@ namespace ReallifeGamemode.Server.Events
bool copNearby = NAPI.Pools.GetAllPlayers().Any(u => u.IsDuty() && u.IsAlive() && u.Position.DistanceToSquared(player.Position) <= 200 * 200);
if (copNearby)
if (user.Wanteds > 0)
{
user.SetJailTime(true);
Jail.Check_PutBehindBars(user);
ChatService.HQMessage(user.Name + " wurde ins Gefängnis eingeliefert.");
}
else
{
ChatService.HQMessage(user.Name + " wurde soeben ins Krankenhaus eingeliefert.");
if (copNearby)
{
user.SetJailTime(true);
Jail.Check_PutBehindBars(user);
ChatService.HQMessage(user.Name + " wurde ins Gefängnis eingeliefert.");
}
else
{
ChatService.HQMessage(user.Name + " wurde soeben ins Krankenhaus eingeliefert.");
}
}
if (user.JailTime <= 0)

View File

@@ -120,7 +120,7 @@ namespace ReallifeGamemode.Server.Gangwar
{
Gangwar.loadTurfs();
Gangwar.loadTurfs_ToAllPlayers();
}, delayTime: 2000);
}, delayTime: 2000);
}
private void Tick(object sender, System.Timers.ElapsedEventArgs e)
@@ -272,18 +272,20 @@ namespace ReallifeGamemode.Server.Gangwar
Player[] attackers = NAPI.Pools.GetAllPlayers().Where(c => c.IsLoggedIn() && c.GetUser().Faction.Name == this.Attacker).ToArray();
foreach (var o in owners)
{
o.TriggerEvent("CLIENT:loose");
if (o != null)
o.TriggerEvent("CLIENT:loose");
}
foreach (var a in attackers)
{
a.TriggerEvent("CLIENT:win");
if (a != null)
a.TriggerEvent("CLIENT:win");
}
this.Owner = FactionName;
ChatService.BroadcastFaction("~y~[GANGWAR] ~w~Deine Fraktion konnte erfolgreich das Gebiet ~g~" + getName() + "~w~ erobern.", dbContext.Factions.Where(f => f.Name == getOwner()).FirstOrDefault());
dbContext.Factions.Include(f => f.BankAccount).Where(f => f.Name == getOwner()).First().BankAccount.Balance += 10000;
Turfs turf = dbContext.Turfs.Where(t => t.Id == getId()).FirstOrDefault();
turf.Owner = this.Owner;
turf.FactionId = dbContext.Factions.Where(f => f.Name == this.Owner).FirstOrDefault().Id;
turf.FactionId = dbContext.Factions.Where(f => f.Name == this.Owner).FirstOrDefault().Id;
}
dbContext.SaveChanges();
}