Merged group system into develop

This commit is contained in:
hydrant
2019-05-09 15:23:36 +02:00
68 changed files with 2447 additions and 565 deletions

View File

@@ -28,7 +28,7 @@ namespace ReallifeGamemode.Server.Managers
{
if (currentATM.Sprite == 500)
{
if(dbContext.ATMs.FirstOrDefault(a => a.Id == currentATM.Id) == null)
if (dbContext.ATMs.FirstOrDefault(a => a.Id == currentATM.Id) == null)
{
var dataSet = new ATM
{
@@ -46,7 +46,7 @@ namespace ReallifeGamemode.Server.Managers
}
}
}
if(addedATMs > 0)
if (addedATMs > 0)
{
NAPI.Util.ConsoleOutput(addedATMs + " Geldautomaten hinzugefügt");
}
@@ -54,7 +54,7 @@ namespace ReallifeGamemode.Server.Managers
{
NAPI.Util.ConsoleOutput("Keine Geldautomaten hinzugefügt");
}
dbContext.SaveChanges();
LoadATMs();
}
@@ -83,7 +83,7 @@ namespace ReallifeGamemode.Server.Managers
}
public static void ShowAtmUi(Client player, int atmId)
{
player.TriggerEvent("SERVER:ShowAtmUi", atmId);
player.TriggerEvent("SERVER:ShowAtmUi", atmId);
}
[RemoteEvent("CLIENT:ATM_MANAGER:ATM_ACTION")]
@@ -150,6 +150,6 @@ namespace ReallifeGamemode.Server.Managers
}
dbContext.SaveChanges();
}
}
}
}
}

View File

@@ -1,4 +1,5 @@
using GTANetworkAPI;
using Newtonsoft.Json;
using ReallifeGamemode.Server.Business;
using ReallifeGamemode.Server.Entities;
using ReallifeGamemode.Server.Extensions;
@@ -51,7 +52,7 @@ namespace ReallifeGamemode.Server.Managers
public void BusinessDepositMoney(Client player, int amount)
{
User user = player.GetUser();
if(user == null)
if (user == null)
{
return;
}
@@ -70,7 +71,8 @@ namespace ReallifeGamemode.Server.Managers
player.SendNotification("~r~Du hast nicht genug Geld");
return;
}
else */if(result == TransactionResult.SUCCESS)
else */
if (result == TransactionResult.SUCCESS)
{
player.TriggerEvent("business_updateMoney", playerBusiness.GetBankAccount().Balance.ToMoneyString());
player.SendNotification("~g~Du hast erfolgreich ~s~" + amount.ToMoneyString() + " ~g~ überwiesen");
@@ -114,13 +116,22 @@ namespace ReallifeGamemode.Server.Managers
{
ServerVehicle sVeh = veh.GetServerVehicle();
if (sVeh == null) return;
if(!(sVeh is ShopVehicle)) return;
if (!(sVeh is ShopVehicle)) return;
ShopVehicle shopVehicle = (ShopVehicle)sVeh;
player.TriggerEvent("ShopVehicle_OpenMenu", GetBusiness(shopVehicle.BusinessId).Name, shopVehicle.Price);
List<string> availableTargets = new List<string>()
{
"Spieler"
};
if (player.GetUser().FactionLeader && !player.GetUser().Faction.StateOwned) availableTargets.Add("Fraktion");
if (player.GetUser().GroupRank == GroupRank.OWNER) availableTargets.Add("Gruppe");
player.TriggerEvent("ShopVehicle_OpenMenu", GetBusiness(shopVehicle.BusinessId).Name, shopVehicle.Price, availableTargets.ToArray());
}
[RemoteEvent("VehShop_BuyVehicle")]
public void CarDealerBusiness_BuyVehicle(Client player)
public void CarDealerBusiness_BuyVehicle(Client player, string target)
{
ServerVehicle sVeh = player.Vehicle?.GetServerVehicle();
if (sVeh == null) return;
@@ -129,7 +140,7 @@ namespace ReallifeGamemode.Server.Managers
int price = shopVehicle.Price;
CarDealerBusinessBase business = GetBusiness(shopVehicle.BusinessId) as CarDealerBusinessBase;
TransactionResult result = BankManager.TransferMoney(player.GetUser(), business, price, "Auto gekauft");
if(result == TransactionResult.SENDER_NOT_ENOUGH_MONEY)
if (result == TransactionResult.SENDER_NOT_ENOUGH_MONEY)
{
player.SendNotification("~r~Du hast nicht genug Geld: " + price.ToMoneyString());
return;
@@ -139,23 +150,60 @@ namespace ReallifeGamemode.Server.Managers
player.TriggerEvent("SERVER:Util_setWaypoint", spawnPos.X, spawnPos.Y);
UserVehicle newVeh = new UserVehicle
{
Heading = business.CarSpawnHeading,
PositionX = spawnPos.X,
PositionY = spawnPos.Y,
PositionZ = spawnPos.Z,
Locked = false,
UserId = player.GetUser().Id,
Model = shopVehicle.Model,
PrimaryColor = 111,
SecondaryColor = 111,
Active = true,
};
ServerVehicle newVeh = null;
using(var dbContext = new DatabaseContext())
if(target == "Spieler")
{
dbContext.UserVehicles.Add(newVeh);
newVeh = new UserVehicle
{
Heading = business.CarSpawnHeading,
PositionX = spawnPos.X,
PositionY = spawnPos.Y,
PositionZ = spawnPos.Z,
Locked = false,
UserId = player.GetUser().Id,
Model = shopVehicle.Model,
PrimaryColor = 111,
SecondaryColor = 111,
Active = true,
};
}
else if(target == "Fraktion")
{
newVeh = new FactionVehicle
{
Heading = business.CarSpawnHeading,
PositionX = spawnPos.X,
PositionY = spawnPos.Y,
PositionZ = spawnPos.Z,
Locked = false,
FactionId = player.GetUser().FactionId,
Model = shopVehicle.Model,
PrimaryColor = 111,
SecondaryColor = 111,
Active = true,
};
}
else if(target == "Gruppe")
{
newVeh = new GroupVehicle
{
Heading = business.CarSpawnHeading,
PositionX = spawnPos.X,
PositionY = spawnPos.Y,
PositionZ = spawnPos.Z,
Locked = false,
GroupId = player.GetUser().Group.Id,
Model = shopVehicle.Model,
PrimaryColor = 111,
SecondaryColor = 111,
Active = true,
};
}
using (var dbContext = new DatabaseContext())
{
dbContext.ServerVehicles.Add(newVeh);
dbContext.SaveChanges();
}

View File

@@ -302,7 +302,7 @@ namespace ReallifeGamemode.Server.Managers
player.SetHeadOverlay(11, blemishes);
player.SetHeadOverlay(12, blemishes);
//Gesicht (Vererbung durch Mutter / Vater)
HeadBlend headBlend = new HeadBlend()
{
@@ -324,7 +324,7 @@ namespace ReallifeGamemode.Server.Managers
//Augenfarbe
NAPI.Player.SetPlayerEyeColor(player, character.EyeColor);
}
}
}

View File

@@ -0,0 +1,67 @@
using GTANetworkAPI;
using ReallifeGamemode.Server.Entities;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Models;
using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Util;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ReallifeGamemode.Server.Managers
{
class CityHallManager : Script
{
private static readonly Vector3 _cityHallPosition = new Vector3(273.22, -278.14, 53.9);
public static void LoadCityHall()
{
NAPI.Marker.CreateMarker(MarkerType.VerticalCylinder, _cityHallPosition.Subtract(new Vector3(0, 0, 1.7)), new Vector3(), new Vector3(), 1.0f, new Color(255, 255, 255));
NAPI.TextLabel.CreateTextLabel("~y~Stadthalle~s~\nDrücke ~o~E~s~, um das Menü zu öffnen", _cityHallPosition, 5.0f, 1f, 0, new Color(255, 255, 255));
var colShape = NAPI.ColShape.CreateSphereColShape(_cityHallPosition, 1.0f);
colShape.OnEntityEnterColShape += (s, c) =>
{
c.TriggerEvent("SERVER:CityHall_ShowHelpText");
};
colShape.OnEntityExitColShape += (s, c) =>
{
c.TriggerEvent("SERVER:CityHall_ClearHelpText");
};
}
[RemoteEvent("CLIENT:CityHall_CreateGroup")]
public void CreateGroup(Client player, string name)
{
using (var dbContext = new DatabaseContext())
{
User u = player.GetUser(dbContext);
if(u.Group != null)
{
ChatService.Error(player, "Du bist schon in einer Gruppe");
return;
}
if(dbContext.Groups.Any(g => g.Name.ToLower() == name.ToLower()))
{
ChatService.Error(player, "Dieser Name ist schon vergeben");
return;
}
Group group = new Group
{
Name = name
};
dbContext.Groups.Add(group);
u.Group = group;
u.GroupRank = GroupRank.OWNER;
dbContext.SaveChanges();
ChatService.BroadcastGroup($"Die Gruppe \"{name}\" wurde erfolgreich erstellt.", group);
}
}
}
}

View File

@@ -21,7 +21,7 @@ namespace ReallifeGamemode.Server.Managers
{
using (var dbContext = new DatabaseContext())
{
foreach(Door door in dbContext.Doors)
foreach (Door door in dbContext.Doors)
{
_doorColShapes[door.Id] = NAPI.ColShape.CreateSphereColShape(door.Position, 30f);
}
@@ -30,7 +30,7 @@ namespace ReallifeGamemode.Server.Managers
public static void ReloadDoors()
{
foreach(var doorPair in _doorColShapes)
foreach (var doorPair in _doorColShapes)
{
doorPair.Value.Entity<ColShape>().Delete();
}
@@ -44,12 +44,12 @@ namespace ReallifeGamemode.Server.Managers
using (var dbContext = new DatabaseContext())
{
IQueryable<Door> NearDoors = dbContext.Doors.Where(d => d.Position.DistanceTo(player.Position) <= d.Radius);
IQueryable<Door> NearDoors = dbContext.Doors.Where(d => d.Position.DistanceTo(player.Position) <= d.Radius);
foreach (Door d in NearDoors)
{
if(!user.IsAdmin(AdminLevel.ADMIN) && (d.FactionId != user.FactionId || d.FactionId == null))
if (!user.IsAdmin(AdminLevel.ADMIN) && (d.FactionId != user.FactionId || d.FactionId == null))
{
string lockState = "~r~Du hast kein Recht diese T\u00fcr " + (d.Locked == true ? "auf" : "ab") + "zuschlie\u00dfen!";
string lockState = "~r~Du hast kein Recht diese T\u00fcr " + (d.Locked == true ? "auf" : "ab") + "zuschlie\u00dfen!";
player.SendNotification(lockState, true);
continue;
}
@@ -57,7 +57,7 @@ namespace ReallifeGamemode.Server.Managers
d.Locked = !d.Locked;
string notStr = d.Name + " " + (d.Locked == false ? "~g~auf" : "~r~ab") + "geschlossen";
player.SendNotification(notStr, true);
NAPI.Pools.GetAllPlayers().ForEach(p => p.TriggerEvent("changeDoorState", d.Model, d.X, d.Y, d.Z, (d.Locked ? 1 : 0), 0.0f, 0.0f, 0.0f));
@@ -69,11 +69,11 @@ namespace ReallifeGamemode.Server.Managers
[ServerEvent(Event.PlayerEnterColshape)]
public void DoorManagerPlayerEnterColShapeEvent(ColShape colShape, Client player)
{
if(_doorColShapes.ContainsValue(colShape.Handle))
if (_doorColShapes.ContainsValue(colShape.Handle))
{
int doorId = _doorColShapes.Where(d => d.Value.Value == colShape.Handle.Value).FirstOrDefault().Key;
using(var dbContext = new DatabaseContext())
using (var dbContext = new DatabaseContext())
{
Door door = dbContext.Doors.Where(d => d.Id == doorId).First();
player.TriggerEvent("changeDoorState", door.Model, door.X, door.Y, door.Z, (door.Locked ? 1 : 0), 0.0f, 0.0f, 0.0f);

View File

@@ -1,10 +1,13 @@
using GTANetworkAPI;
using Newtonsoft.Json;
using ReallifeGamemode.Server.Entities;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Models;
using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Util;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Linq;
@@ -21,6 +24,108 @@ namespace ReallifeGamemode.Server.Managers
#region Umgebungsinteraktionen PFEILTASTE-HOCH
#endregion
#region Eigeninteraktionen PFEILTASTE-RUNTER
[RemoteEvent("CLIENT:InteractionMenu_AcceptInvite")]
public void InteractionMenuAcceptInvite(Client player, string type)
{
if (type != "Fraktion" || type != "Gruppe") return;
if (type == "Fraktion") // Fraktions Invite annehmen
{
if (!player.HasData("accept_faction_invite"))
{
ChatService.Error(player, "Du hast keine Einladung in eine Fraktion erhalten");
return;
}
Client leader = NAPI.Player.GetPlayerFromHandle((NetHandle)player.GetData("accept_faction_invite"));
player.ResetData("accept_faction_invite");
if (leader == null)
{
ChatService.Error(player, "Die Einladung ist abgelaufen");
return;
}
using (var dbContext = new DatabaseContext())
{
User u = leader.GetUser(dbContext);
User own = player.GetUser(dbContext);
own.FactionId = u.FactionId;
own.FactionLeader = false;
own.FactionRankId = dbContext
.FactionRanks
.OrderBy(x => x.Order)
.Where(r => r.FactionId == own.FactionId)
.FirstOrDefault()?.Id ?? null;
leader.SendChatMessage("!{02FCFF}" + player.Name + " hat die Einladung angenommen.");
player.SendChatMessage("!{02FCFF}Du hast die Einladung angenommen.");
dbContext.SaveChanges();
}
}
else if (type == "Gruppe") // Gruppen Einladung annehmen
{
if (!player.HasData("accept_group_invite"))
{
ChatService.Error(player, "Du hast keine Einladung in eine Gruppe erhalten");
return;
}
Client leader = NAPI.Player.GetPlayerFromHandle((NetHandle)player.GetData("accept_group_invite"));
player.ResetData("accept_group_invite");
if (leader == null)
{
ChatService.Error(player, "Die Einladung ist abgelaufen");
return;
}
using (var dbContext = new DatabaseContext())
{
User u = leader.GetUser(dbContext);
User own = player.GetUser(dbContext);
own.Group = u.Group;
own.GroupRank = GroupRank.MEMBER;
leader.SendChatMessage("!{02FCFF}" + player.Name + " hat die Einladung angenommen.");
player.SendChatMessage("!{02FCFF}Du hast die Einladung angenommen.");
dbContext.SaveChanges();
}
}
}
[RemoteEvent("CLIENT:InteractionMenu_InviteFaction")]
public void InteractionMenuInviteFaction(Client player, string nameOrId)
{
if (player.GetUser()?.FactionId == null || player.GetUser().FactionLeader == false)
{
ChatService.NotAuthorized(player);
return;
}
Client target = ClientService.GetClientByNameOrId(nameOrId);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
return;
}
if (target.GetUser()?.FactionId != null)
{
ChatService.Error(player, "Dieser Spieler ist schon in einer Fraktion");
return;
}
target.SetData("accept_faction_invite", player.Handle);
player.SendChatMessage("!{02FCFF}Du hast dem Spieler " + target.Name + " eine Einladung in deine Fraktion gesendet.");
target.SendChatMessage("!{02FCFF}Du hast von " + player.Name + " eine Einladung in die Fraktion \"" + player.GetUser().Faction.Name + "\" erhalten.");
target.SendChatMessage("!{02FCFF}Benutze das Interaktionsmenü, um die Einladung anzunehmen");
}
#endregion
#region Spielerinteraktionen PFEILTASTE-LINKS
[RemoteEvent("openTradeInventory")]

View File

@@ -17,7 +17,7 @@ namespace ReallifeGamemode.Server.Managers
public static Interior GetInteriorByName(string name, DatabaseContext dbContext = null)
{
if(dbContext == null)
if (dbContext == null)
{
using (dbContext = new DatabaseContext())
{
@@ -61,7 +61,7 @@ namespace ReallifeGamemode.Server.Managers
if (interior.EnterPosition != null)
{
_interiorEnterTextLabels[interior.Id] = NAPI.TextLabel.CreateTextLabel("~y~" + interior.Name + "\n~s~Eingang", interior.EnterPosition, 10f, 1f, 0, new Color(255, 255, 255));
_interiorEnterMarkers[interior.Id] = NAPI.Marker.CreateMarker(MarkerType.VerticalCylinder, interior.EnterPosition.Subtract(new Vector3(0, 0, 1.7)), new Vector3(), new Vector3(), 2.0f, new Color(255, 255, 255, 100));
_interiorEnterMarkers[interior.Id] = NAPI.Marker.CreateMarker(MarkerType.VerticalCylinder, interior.EnterPosition.Subtract(new Vector3(0, 0, 1.7)), new Vector3(), new Vector3(), 1.6f, new Color(255, 255, 255, 100));
_interiorEnterColShapes[interior.Id] = NAPI.ColShape.CreateSphereColShape(interior.EnterPosition, 1.5f);
}
@@ -69,7 +69,7 @@ namespace ReallifeGamemode.Server.Managers
{
_interiorExitTextLabels[interior.Id] = NAPI.TextLabel.CreateTextLabel("~y~" + interior.Name + "\n~s~Ausgang", interior.ExitPosition, 10f, 1f, 0, new Color(255, 255, 255));
_interiorExitMarkers[interior.Id] = NAPI.Marker.CreateMarker(MarkerType.VerticalCylinder, interior.ExitPosition.Subtract(new Vector3(0, 0, 1.7)), new Vector3(), new Vector3(), 1.6f, new Color(255, 255, 255, 100));
_interiorExitColShapes[interior.Id] = NAPI.ColShape.CreateSphereColShape(interior.ExitPosition, 1.3f);
_interiorExitColShapes[interior.Id] = NAPI.ColShape.CreateSphereColShape(interior.ExitPosition, 1.5f);
}
}
@@ -114,12 +114,12 @@ namespace ReallifeGamemode.Server.Managers
{
int enterId = GetInteriorIdFromEnterColShape(colShape);
int exitId = GetInteriorIdFromExitColShape(colShape);
if(enterId != 0)
if (enterId != 0)
{
Interior interior = GetInteriorById(enterId);
player.TriggerEvent("InteriorManager_ShowHelpText", interior.Name, interior.Id, 0);
}
else if(exitId != 0)
else if (exitId != 0)
{
Interior interior = GetInteriorById(exitId);
player.TriggerEvent("InteriorManager_ShowHelpText", interior.Name, interior.Id, 1);
@@ -129,7 +129,7 @@ namespace ReallifeGamemode.Server.Managers
[ServerEvent(Event.PlayerExitColshape)]
public void InteriorManagerPlayerExitColshapeEvent(ColShape colShape, Client player)
{
if(GetInteriorIdFromEnterColShape(colShape) != 0 || GetInteriorIdFromExitColShape(colShape) != 0)
if (GetInteriorIdFromEnterColShape(colShape) != 0 || GetInteriorIdFromExitColShape(colShape) != 0)
{
player.TriggerEvent("InteriorManager_ClearHelpText");
}

View File

@@ -218,7 +218,7 @@ namespace ReallifeGamemode.Server.Managers
int newSlot = slotArr.Min();
item.Slot = newSlot;
context.UserItems.Add(item);
context.UserItems.Add(item);
IItem iItem = GetItemById(item.ItemId);
@@ -303,14 +303,14 @@ namespace ReallifeGamemode.Server.Managers
{
Vector3 dropPosition = ClientExtension.GetPositionFromPlayer(player, 0.6f, 0);
dropPosition.Z -= 0.8f;
//new Vector3(player.Position.X, player.Position.Y, player.Position.Z - 0.8f);
//new Vector3(player.Position.X, player.Position.Y, player.Position.Z - 0.8f);
Random r = new Random();
GTANetworkAPI.Object grndObject = NAPI.Object.CreateObject(3777723516, dropPosition, new Vector3(0, 0, r.Next(0, 360)), 0);
GroundItem grndItem = new GroundItem { ItemId = iItem.Id, Amount = amount, Position = dropPosition};
GroundItem grndItem = new GroundItem { ItemId = iItem.Id, Amount = amount, Position = dropPosition };
TextLabel grndTxtLbl = NAPI.TextLabel.CreateTextLabel(iItem.Name + " ~s~(~y~" + amount + "~s~)", dropPosition, 5, 0.5f, 4, new Color(255, 255, 255), false, 0);
GroundItem.AddGroundItem(grndItem, grndObject, grndTxtLbl);
fItem.Amount -= amount;
player.TriggerEvent("removeItem", itemId, amount);
player.TriggerEvent("removeItem", itemId, amount);
}
break;
}

View File

@@ -21,14 +21,14 @@ namespace ReallifeGamemode.Server.Managers
{
foreach (SavedBlip b in loadData.Blips)
{
if(b.Active == true)
{
NAPI.Blip.CreateBlip((uint) b.Sprite, new Vector3(b.PositionX, b.PositionY, b.PositionZ), b.Scale,
b.Color, b.Name, b.Alpha, b.DrawDistance, b.ShortRange, (short) b.Rotation, b.Dimension);
if (b.Active == true)
{
NAPI.Blip.CreateBlip((uint)b.Sprite, new Vector3(b.PositionX, b.PositionY, b.PositionZ), b.Scale,
b.Color, b.Name, b.Alpha, b.DrawDistance, b.ShortRange, (short)b.Rotation, b.Dimension);
}
}
foreach(ServerVehicle veh in loadData.ServerVehicles)
foreach (ServerVehicle veh in loadData.ServerVehicles)
{
if (!veh.Active) continue;

View File

@@ -24,11 +24,11 @@ namespace ReallifeGamemode.Server.Managers
foreach (DutyPoint d in DutyPoints)
{
NAPI.Marker.CreateMarker(1, new Vector3(d.Position.X, d.Position.Y, d.Position.Z - 2), new Vector3(d.Position.X, d.Position.Y, d.Position.Z + 1),
new Vector3(0,0,0), 3, new Color(255, 255, 255, 50), false, 0);
NAPI.Marker.CreateMarker(1, new Vector3(d.Position.X, d.Position.Y, d.Position.Z - 2), new Vector3(d.Position.X, d.Position.Y, d.Position.Z + 1),
new Vector3(0, 0, 0), 3, new Color(255, 255, 255, 50), false, 0);
NAPI.TextLabel.CreateTextLabel("Stempeluhr - Dr\u00fccke ~y~E\n~s~Dienstkleidung - Dr\u00fccke ~y~K", d.Position, 7, 1, 0, new Color(255, 255, 255), false, 0);
}
}
}
}
public class DutyPoint

View File

@@ -28,7 +28,7 @@ namespace ReallifeGamemode.Server.Managers
float rotation = float.Parse(blipRotation);
byte dimension = Convert.ToByte(blipDimension);
NAPI.Blip.CreateBlip(uint.Parse(blipSprite), new Vector3(x,y,z), scale, color, name, alpha, drawDistance, shortRange, short.Parse(blipRotation), dimension);
NAPI.Blip.CreateBlip(uint.Parse(blipSprite), new Vector3(x, y, z), scale, color, name, alpha, drawDistance, shortRange, short.Parse(blipRotation), dimension);
using (var saveData = new DatabaseContext())
{
@@ -170,7 +170,7 @@ namespace ReallifeGamemode.Server.Managers
}
saveAll.SaveChanges();
}
}
}
}
}

View File

@@ -12,7 +12,7 @@ namespace ReallifeGamemode.Server.Managers
public static void StartTimeManager()
{
if(realTimeTimer == null)
if (realTimeTimer == null)
{
realTimeTimer = new Timer(1000);
realTimeTimer.Elapsed += SetTime;

View File

@@ -31,10 +31,10 @@ namespace ReallifeGamemode.Server.Managers
colShape.OnEntityEnterColShape += (cs, c) =>
{
if(c.IsInVehicle)
if (c.IsInVehicle)
{
Vehicle v = c.Vehicle;
if(v.GetServerVehicle() is FactionVehicle fV && fV.GetFaction().StateOwned)
if (v.GetServerVehicle() is FactionVehicle fV && fV.GetFaction().StateOwned)
{
return;
}
@@ -60,13 +60,13 @@ namespace ReallifeGamemode.Server.Managers
using (var dbContext = new DatabaseContext())
{
foreach(VehicleMod vMod in dbContext.VehicleMods.ToList().FindAll(vM => vM.ServerVehicleId == sVeh.Id))
foreach (VehicleMod vMod in dbContext.VehicleMods.ToList().FindAll(vM => vM.ServerVehicleId == sVeh.Id))
{
if(vMod.Slot == 18)
if (vMod.Slot == 18)
{
veh.SetSharedData("mod" + vMod.Slot, true);
}
else if(vMod.Slot == 22)
else if (vMod.Slot == 22)
{
int color = vMod.ModId - 2;
if (vMod.ModId == 0) color = -1;
@@ -99,9 +99,9 @@ namespace ReallifeGamemode.Server.Managers
Vehicle pV = player.Vehicle;
if (index == 0) index--;
if(slot != 18)
if (slot != 18)
{
if(slot == 22)
if (slot == 22)
{
int color = index - 2;
if (index == 0) color = -1;
@@ -126,7 +126,7 @@ namespace ReallifeGamemode.Server.Managers
using (var dbContext = new DatabaseContext())
{
VehicleMod vMod = dbContext.VehicleMods.FirstOrDefault(m => m.ServerVehicleId == sV.Id && m.Slot == slot);
if(vMod == null && index != -1)
if (vMod == null && index != -1)
{
vMod = new VehicleMod
{
@@ -136,7 +136,7 @@ namespace ReallifeGamemode.Server.Managers
};
dbContext.VehicleMods.Add(vMod);
}
else if(vMod != null && index == -1)
else if (vMod != null && index == -1)
{
dbContext.VehicleMods.Remove(vMod);
}

View File

@@ -117,7 +117,7 @@ namespace ReallifeGamemode.Server.Managers
public static void AddVehicle(ServerVehicle serverVehicle, Vehicle vehicle)
{
if(_serverVehicles.ContainsKey(serverVehicle.Id))
if (_serverVehicles.ContainsKey(serverVehicle.Id))
{
return;
}
@@ -152,7 +152,7 @@ namespace ReallifeGamemode.Server.Managers
public static Vehicle GetVehicleFromServerVehicle(ServerVehicle serverVehicle)
{
if(!_serverVehicles.ContainsKey(serverVehicle.Id))
if (!_serverVehicles.ContainsKey(serverVehicle.Id))
{
return null;
}
@@ -162,7 +162,7 @@ namespace ReallifeGamemode.Server.Managers
public static ServerVehicle GetServerVehicleFromVehicle(Vehicle veh, DatabaseContext dbContext = null)
{
if(dbContext == null)
if (dbContext == null)
{
using (dbContext = new DatabaseContext())
{
@@ -191,12 +191,12 @@ namespace ReallifeGamemode.Server.Managers
public static bool IsValidHash(uint hash)
{
foreach(VehicleHash vh in Enum.GetValues(typeof(VehicleHash)))
foreach (VehicleHash vh in Enum.GetValues(typeof(VehicleHash)))
{
if ((uint)vh == hash) return true;
}
foreach(string mod in _enabledMods)
foreach (string mod in _enabledMods)
{
if (NAPI.Util.GetHashKey(mod) == hash) return true;
}