This commit is contained in:
2021-04-13 20:29:38 +02:00
9 changed files with 68 additions and 46 deletions

View File

@@ -24,7 +24,7 @@
LCtrl: 17, LCtrl: 17,
Shift: 16 Shift: 16
}; };
mp.game.graphics.notify('~r~NoClip ~w~by ~b~Morbo'); //mp.game.graphics.notify('~r~NoClip ~w~by ~b~Morbo');
var isNoClip = false; var isNoClip = false;
var noClipCamera; var noClipCamera;
var shiftModifier = false; var shiftModifier = false;

View File

@@ -93,6 +93,11 @@
meelemodifier = 0.1; meelemodifier = 0.1;
modifier = 1; modifier = 1;
break;
case 0xEFE7E2DF: // Assault SMG
meelemodifier = 1;
modifier = 0.259
break; break;
default: default:
modifier = 1; modifier = 1;

View File

@@ -1,13 +1,22 @@
export default function door() { export default function door() {
mp.events.add("CLIENT:SetDoorOpen", (door, lose, permanent) => { mp.events.add("CLIENT:SetDoorOpen", (door, lose, permanent) => {
mp.players.local.vehicle.setDoorOpen(door, lose, permanent); var vehicle = mp.players.local.vehicle;
if (vehicle && mp.vehicles.exists(vehicle)) {
vehicle.setDoorOpen(door, lose, permanent);
}
}); });
mp.events.add("CLIENT:SetDoorShut", (door, permanent) => { mp.events.add("CLIENT:SetDoorShut", (door, permanent) => {
mp.players.local.vehicle.setDoorShut(door, permanent); var vehicle = mp.players.local.vehicle;
if (vehicle && mp.vehicles.exists(vehicle)) {
mp.players.local.vehicle.setDoorShut(door, permanent);
}
}); });
mp.events.add("CLIENT:SetDoorShutDelayed", (door, permanent, time) => { mp.events.add("CLIENT:SetDoorShutDelayed", (door, permanent, time) => {
setTimeout(function () { setTimeout(function () {
mp.players.local.vehicle.setDoorShut(door, permanent); var vehicle = mp.players.local.vehicle;
if (vehicle && mp.vehicles.exists(vehicle)) {
vehicle.setDoorShut(door, permanent);
}
}, time) }, time)
}); });
} }

View File

@@ -497,7 +497,7 @@ namespace ReallifeGamemode.Server.Events
List<string> stages = new List<string>(); List<string> stages = new List<string>();
foreach (var e in PositionManager.ElevatorPoints) foreach (var e in PositionManager.ElevatorPoints)
{ {
if (e.Position.DistanceTo2D(player.Position) <= 25 && e.Position.DistanceTo(player.Position) > 1.5) if (e.Position.DistanceTo2D(player.Position) <= 30 && e.Position.DistanceTo(player.Position) > 1.5)
{ {
stages.Add(e.Stage); stages.Add(e.Stage);
} }

View File

@@ -182,6 +182,12 @@ namespace ReallifeGamemode.Server.Factions.Medic
{ {
var medic = PlayerService.GetPlayerByNameOrId(task.MedicName); var medic = PlayerService.GetPlayerByNameOrId(task.MedicName);
var victim = PlayerService.GetPlayerByNameOrId(task.Victim); var victim = PlayerService.GetPlayerByNameOrId(task.Victim);
if(medic == null || victim == null)
{
continue;
}
task.Position = victim.Position; task.Position = victim.Position;
medic.TriggerEvent("updateHealCheckpoint", victim.Position.X, victim.Position.Y, victim.Position.Z); medic.TriggerEvent("updateHealCheckpoint", victim.Position.X, victim.Position.Y, victim.Position.Z);
} }

View File

@@ -180,6 +180,11 @@ namespace ReallifeGamemode.Server.Job
public void MuellmannJobBeenden(Player player) public void MuellmannJobBeenden(Player player)
{ {
if(player == null || !player.IsLoggedIn())
{
return;
}
player.TriggerEvent("SERVER:MuellmannStatusFalse"); player.TriggerEvent("SERVER:MuellmannStatusFalse");
player.TriggerEvent("SERVER:MuellmannBCSEntfernen"); player.TriggerEvent("SERVER:MuellmannBCSEntfernen");

View File

@@ -449,7 +449,7 @@ namespace ReallifeGamemode.Server.Managers
[RemoteEvent("CLIENT:InteractionMenu_PlayerVehicleInteraction")] [RemoteEvent("CLIENT:InteractionMenu_PlayerVehicleInteraction")]
public void PlayerVehicleInteraction(Player player, int id, string selection) public void PlayerVehicleInteraction(Player player, int id, string selection)
{ {
using var dbContext = new DatabaseContext(true); using var dbContext = new DatabaseContext();
var user = player.GetUser(dbContext); var user = player.GetUser(dbContext);
var userVehicle = dbContext.UserVehicles.Where(v => v.Id == id && v.UserId == user.Id).FirstOrDefault(); var userVehicle = dbContext.UserVehicles.Where(v => v.Id == id && v.UserId == user.Id).FirstOrDefault();
@@ -467,7 +467,7 @@ namespace ReallifeGamemode.Server.Managers
else if (selection == "Verkaufen") else if (selection == "Verkaufen")
{ {
var vehPrice = userVehicle.Price; var vehPrice = userVehicle.Price;
var backPrice = (int)(vehPrice * 0.6); var backPrice = (int)(vehPrice * 0.4);
user.BankAccount.Balance += backPrice; user.BankAccount.Balance += backPrice;
@@ -483,9 +483,14 @@ namespace ReallifeGamemode.Server.Managers
[RemoteEvent("CLIENT:InteractionMenu_FactionVehicleInteraction")] [RemoteEvent("CLIENT:InteractionMenu_FactionVehicleInteraction")]
public void FactionVehicleInteraction(Player player, int id, string selection) public void FactionVehicleInteraction(Player player, int id, string selection)
{ {
using var dbContext = new DatabaseContext(true); using var dbContext = new DatabaseContext();
var user = player.GetUser(dbContext); var user = player.GetUser(dbContext);
if(user.FactionId == null)
{
return;
}
var factionVehicle = dbContext.FactionVehicles.ToList().Where(v => v.Id == id && v.GetOwners().Contains(user.FactionId.Value)).FirstOrDefault(); var factionVehicle = dbContext.FactionVehicles.ToList().Where(v => v.Id == id && v.GetOwners().Contains(user.FactionId.Value)).FirstOrDefault();
if (factionVehicle == null) if (factionVehicle == null)
{ {
@@ -498,46 +503,42 @@ namespace ReallifeGamemode.Server.Managers
{ {
player.TriggerEvent("SERVER:Util_setWaypoint", veh.Position.X, veh.Position.Y); player.TriggerEvent("SERVER:Util_setWaypoint", veh.Position.X, veh.Position.Y);
} }
} else if (selection == "Verkaufen")
[RemoteEvent("CLIENT:InteractionMenu_FactionVehicleInteractionSell")]
public void FactionVehicleInteractionSell(Player player, int id, string selection)
{
using var dbContext = new DatabaseContext(true);
var user = player.GetUser(dbContext);
var factionVehicle = dbContext.FactionVehicles.ToList().Where(v => v.Id == id && v.GetOwners().Contains(user.FactionId.Value)).FirstOrDefault();
if (factionVehicle == null)
{ {
ChatService.ErrorMessage(player, "Das Fahrzeug wurde nicht gefunden"); if (!user.FactionLeader)
}
GTANetworkAPI.Vehicle veh = VehicleManager.GetVehicleFromServerVehicle(factionVehicle);
if (selection == "Verkaufen")
{
if (dbContext.FactionVehicles.ToList().Where(f => f.GetOwners().Contains(user.FactionId.Value)).Count() <= 6)
{ {
ChatService.ErrorMessage(player, "Die Fraktion muss mindestens 6 Fahrzeuge besitzen");
return; return;
} }
if (factionVehicle.Model == VehicleHash.Policet || factionVehicle.Model == VehicleHash.Burrito3) if (user.Faction.StateOwned)
{ {
ChatService.ErrorMessage(player, "Der WT kann nicht verkauft werden"); ChatService.ErrorMessage(player, "Der Fuhrpark der Staatsfraktionen kann über die Leaderverwaltung geändert werden");
return; return;
} }
var backPrice = factionVehicle.BuyPrice; var factionVehicleCount = dbContext.FactionVehicles.ToList().Where(v => v.Id == id && v.GetOwners().Contains(user.FactionId.Value)).Count();
if(factionVehicleCount <= 6)
{
ChatService.ErrorMessage(player, "Die Fraktion braucht mindestens 6 Fahrzeuge");
return;
}
var price = dbContext.ShopVehicles.Where(v => v.Model == factionVehicle.Model && v.Active).Select(s => new { s.Price }).FirstOrDefault();
if (price == null)
{
ChatService.ErrorMessage(player, "Das Fahrzeug konnte nicht verkauft werden. Bitte melde dich bei der Leaderverwaltung");
return;
}
var backPrice = (int)(price.Price * 1.5 * 0.4);
user.Faction.BankAccount.Balance += backPrice; user.Faction.BankAccount.Balance += backPrice;
ChatService.SendMessage(player, $"~b~[INFO]~s~ Deine Fraktion hat durch den Autoverkauf ~g~{backPrice.ToMoneyString()}~s~ erhalten."); ChatService.SendMessage(player, $"~b~[INFO]~s~ Die Fraktionskasse ~g~{backPrice.ToMoneyString()}~s~ erhalten.");
dbContext.FactionVehicles.Remove(factionVehicle); dbContext.FactionVehicles.Remove(factionVehicle);
dbContext.SaveChanges(); dbContext.SaveChanges();
veh.Delete(); veh?.Delete();
} }
} }

View File

@@ -33,11 +33,12 @@ namespace ReallifeGamemode.Server.Report
return; return;
} }
if (listReports.Count == 0) if (listReports.FindAll(e => (e.isAssigned() == false)).Count == 0)
{ {
ChatService.ErrorMessage(client, "Im Moment gibt es keine Tickets."); ChatService.ErrorMessage(client, "Im Moment gibt es keine Tickets.");
return; return;
} }
User user = client.GetUser(); User user = client.GetUser();
List<string> listPlayers = new List<string>(); List<string> listPlayers = new List<string>();
List<string> listTicketnames = new List<string>(); List<string> listTicketnames = new List<string>();

View File

@@ -17,18 +17,13 @@ namespace ReallifeGamemode.Server.WeaponDeal
private const int WEAPON_AMOUNT_COP_STUNGUN = 4; private const int WEAPON_AMOUNT_COP_STUNGUN = 4;
public static bool checkWeaponDbyVehicle(Vehicle vehicle) public static bool checkWeaponDbyVehicle(Vehicle vehicle)
{ {
if (!vehicle.HasData("WeaponDealLoad") || vehicle.GetData<bool>("WeaponDealLoad") == false) if ((vehicle.HasData("WeaponDealLoad") && vehicle.GetData<bool>("WeaponDealLoad") == true) ||
(vehicle.HasData("weaponDeal") && vehicle.GetData<bool>("weaponDeal") == true))
{ {
return false; return true;
} }
return false;
if(!vehicle.HasData("weaponDeal") || vehicle.GetData<bool>("weapionDeal") == false)
{
return false;
}
return true;
} }
[RemoteEvent("startWeaponDeal")] [RemoteEvent("startWeaponDeal")]
@@ -48,7 +43,7 @@ namespace ReallifeGamemode.Server.WeaponDeal
Vehicle fVeh = VehicleManager.GetVehicleFromServerVehicle(factionVehicle); Vehicle fVeh = VehicleManager.GetVehicleFromServerVehicle(factionVehicle);
if (fVeh.HasData("weaponDeal") && fVeh.GetData<bool>("weaponDeal") == true) if (checkWeaponDbyVehicle(fVeh))
{ {
ChatService.ErrorMessage(client, "Es läuft aktuell schon ein Waffentransport"); ChatService.ErrorMessage(client, "Es läuft aktuell schon ein Waffentransport");
return; return;