diff --git a/ReallifeGamemode.Client/Interaction/ammunation/ammunation.ts b/ReallifeGamemode.Client/Interaction/ammunation/ammunation.ts
index 2604f1ef..52ab0fe2 100644
--- a/ReallifeGamemode.Client/Interaction/ammunation/ammunation.ts
+++ b/ReallifeGamemode.Client/Interaction/ammunation/ammunation.ts
@@ -15,53 +15,76 @@ export default function ammunation(globalData: IGlobalData) {
var weapons: Weapon[];
mp.events.add("AmmunationShop:LoadNativeUI", (weaponList: string) => {
- mp.gui.chat.push("a "+ weaponList);
- //mp.gui.chat.activate(false);
- //globalData.InMenu = true;
+
weapons = JSON.parse(weaponList);
- mp.gui.chat.push("b " +weapons.toString());
-
var menu = getAmmunationMenu();
//Schaut nach ob mindestens eine Waffe in weapons existiert welche die CategoryId beinhaltet
- for (var c = 1; c < 9; c++) {
+ for (var c = 1; c < 10; c++) {
switch (c) {
- case 1: {//Meelee
+ case 1: { //Meelee
break;
}
- case 2: {//Pistolen
+ case 2: { //Pistolen
if (weapons.find(w => w.CategoryId == c)) {
- var pistolItem = new MenuItem("Pistolen", "",);
+ var pistolItem = new MenuItem("Pistolen", "Das kleine Kaliber",);
menu.AddItem(pistolItem);
menu.BindMenuToItem(getWeaponsFromCategory(menu, c, "Pistolen"),pistolItem);
}
break;
}
+ case 9: { //Sonstiges (Armor / Fallschirm)
+ var otherItem = new MenuItem("Sonstiges", "Schutzwesten, Fallschirme...",);
+ menu.AddItem(otherItem);
+ menu.BindMenuToItem(getWeaponsFromCategory(menu, c, "Sonstiges"), otherItem);
+ break;
+ }
}
+ }
+ menu.Open();
+ mp.gui.chat.activate(false);
+ globalData.InMenu = true;
+
+ menu.MenuClose.on(() => {
+ globalData.InMenu = false;
+ mp.gui.chat.show(true);
+ })
+ });
+
+ function getAmmunationMenu(): NativeUI.Menu {
+ return new Menu("", "AMMU NATION - Waffenladen", new Point(0, screenRes.y / 3), "shopui_title_gunclub", "shopui_title_gunclub");
+ }
+
+ function getWeaponsFromCategory(parentMenu: NativeUI.Menu, category: number, categoryName: string): NativeUI.Menu {
+ var categoryMenu = new Menu("", categoryName, new Point(0, screenRes.y / 3), "shopui_title_gunclub", "shopui_title_gunclub");
+
+ categoryMenu.Visible = false;
+
+ var cWeapons: Weapon[] = weapons.filter(w => w.CategoryId == category);
+
+ if (category < 9) { //Weapons aus Datenbank
+ cWeapons.forEach(weapon => {
+ var weaponItem: NativeUI.UIMenuItem = new MenuItem(weapon.WeaponModel, "Munition: " + weapon.Ammo, [weapon.WeaponModel, weapon.Ammo, weapon.Price]);
+ categoryMenu.AddItem(weaponItem);
+ weaponItem.SetRightLabel("~g~$" + weapon.Price.toString());
+ })
+ categoryMenu.ItemSelect.on((item: NativeUI.UIMenuItem, index: number) => {
+ mp.events.callRemote("CLIENT:Ammunation_BuyWeapon", item.Data[0], item.Data[1], item.Data[2]); //weaponmodel / ammo / price
+ });
+ } else { //Sonstiges = Schutzwesten / Fallschirme
+ var armorItem = new MenuItem("Schutzweste", "Sch\u00fctzt dich");
+ categoryMenu.AddItem(armorItem);
+ armorItem.SetRightLabel("~g~$3000");
+
+ var parachuteItem = new MenuItem("Fallschirm", "Flieg damit wohin du willst");
+ categoryMenu.AddItem(parachuteItem);
+ parachuteItem.SetRightLabel("~g~$500");
}
- });
-
- function getAmmunationMenu(): NativeUI.Menu {
- return new Menu("Ammunation", "", new Point(0, screenRes.y / 3), null, null);
- }
-
- function getWeaponsFromCategory(parentMenu: NativeUI.Menu, category: number, categoryName: string): NativeUI.Menu {
- var categoryMenu = new Menu(categoryName, "", new Point(0, screenRes.y / 3), null, null);
-
- var cWeapons: Weapon[] = weapons.filter(w => w.CategoryId == category);
-
- cWeapons.forEach(weapon => {
- var menuItem = new MenuItem(weapon.WeaponModel, "Munition: " + weapon.Ammo);
- categoryMenu.AddItem(menuItem);
- menuItem.SetRightLabel("~g~$~w~" + weapon.Price.toString());
- })
-
return categoryMenu;
-
};
};
\ No newline at end of file
diff --git a/ReallifeGamemode.Database/Entities/Weapon.cs b/ReallifeGamemode.Database/Entities/Weapon.cs
index 9cfcda69..586a74ce 100644
--- a/ReallifeGamemode.Database/Entities/Weapon.cs
+++ b/ReallifeGamemode.Database/Entities/Weapon.cs
@@ -19,5 +19,8 @@ namespace ReallifeGamemode.Database.Entities
public int SlotID { get; set; }
public int Ammo { get; set; }
public float Price { get; set; }
+
+ public bool Legal { get; set; }
+ public bool AmmunationActive { get; set; }
}
}
diff --git a/ReallifeGamemode.Database/Migrations/20210416175726_Ammunations2.Designer.cs b/ReallifeGamemode.Database/Migrations/20210416175726_Ammunations2.Designer.cs
new file mode 100644
index 00000000..44f31f9a
--- /dev/null
+++ b/ReallifeGamemode.Database/Migrations/20210416175726_Ammunations2.Designer.cs
@@ -0,0 +1,1981 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using ReallifeGamemode.Database.Models;
+
+namespace ReallifeGamemode.Database.Migrations
+{
+ [DbContext(typeof(DatabaseContext))]
+ [Migration("20210416175726_Ammunations2")]
+ partial class Ammunations2
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "3.1.3")
+ .HasAnnotation("PropertyAccessMode", PropertyAccessMode.PreferFieldDuringConstruction)
+ .HasAnnotation("Relational:MaxIdentifierLength", 64);
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.ATM", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Active")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Balance")
+ .HasColumnType("int");
+
+ b.Property("Faulty")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("X")
+ .HasColumnType("float");
+
+ b.Property("Y")
+ .HasColumnType("float");
+
+ b.Property("Z")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.ToTable("ATMs");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Ban", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Applied")
+ .HasColumnType("int");
+
+ b.Property("BannedBy")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("Reason")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("UntilDateTime")
+ .HasColumnType("int");
+
+ b.Property("UserId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("Bans");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.BusRoute", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Description")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.HasKey("Id");
+
+ b.ToTable("BusRoutes");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.BusRoutePoint", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("BusRouteId")
+ .HasColumnType("int");
+
+ b.Property("Description")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("X")
+ .HasColumnType("float");
+
+ b.Property("Y")
+ .HasColumnType("float");
+
+ b.Property("Z")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.HasIndex("BusRouteId");
+
+ b.ToTable("BusRoutesPoints");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.BusinessBankAccount", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Balance")
+ .HasColumnType("int");
+
+ b.Property("BusinessId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("BusinessId")
+ .IsUnique();
+
+ b.ToTable("BusinessBankAccounts");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.BusinessData", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("BusinessId")
+ .HasColumnType("int");
+
+ b.Property("Price")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.ToTable("BusinessData");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Character", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Ageing")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("AgeingOpacity")
+ .HasColumnType("float");
+
+ b.Property("BeardColor")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("Blemishes")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("BlemishesOpacity")
+ .HasColumnType("float");
+
+ b.Property("Blush")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("BlushColor")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("BlushOpacity")
+ .HasColumnType("float");
+
+ b.Property("BrowDepth")
+ .HasColumnType("float");
+
+ b.Property("BrowHeight")
+ .HasColumnType("float");
+
+ b.Property("CheekDepth")
+ .HasColumnType("float");
+
+ b.Property("CheekboneHeight")
+ .HasColumnType("float");
+
+ b.Property("CheekboneWidth")
+ .HasColumnType("float");
+
+ b.Property("ChestHair")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("ChestHairColor")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("ChestHairOpacity")
+ .HasColumnType("float");
+
+ b.Property("ChinDepth")
+ .HasColumnType("float");
+
+ b.Property("ChinHeight")
+ .HasColumnType("float");
+
+ b.Property("ChinIndent")
+ .HasColumnType("float");
+
+ b.Property("ChinWidth")
+ .HasColumnType("float");
+
+ b.Property("Complexion")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("ComplexionOpacity")
+ .HasColumnType("float");
+
+ b.Property("EyeColor")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("EyeSize")
+ .HasColumnType("float");
+
+ b.Property("EyebrowColor")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("Eyebrows")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("EyebrowsOpacity")
+ .HasColumnType("float");
+
+ b.Property("FacialHair")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("FacialHairOpacity")
+ .HasColumnType("float");
+
+ b.Property("Father")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("Freckles")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("FrecklesOpacity")
+ .HasColumnType("float");
+
+ b.Property("Gender")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Hair")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("HairColor")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("HairHighlightColor")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("JawShape")
+ .HasColumnType("float");
+
+ b.Property("JawWidth")
+ .HasColumnType("float");
+
+ b.Property("LipThickness")
+ .HasColumnType("float");
+
+ b.Property("Lipstick")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("LipstickColor")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("LipstickOpacity")
+ .HasColumnType("float");
+
+ b.Property("Makeup")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("MakeupOpacity")
+ .HasColumnType("float");
+
+ b.Property("Mother")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("NeckWidth")
+ .HasColumnType("float");
+
+ b.Property("NoseBottomHeight")
+ .HasColumnType("float");
+
+ b.Property("NoseBridgeDepth")
+ .HasColumnType("float");
+
+ b.Property("NoseBroken")
+ .HasColumnType("float");
+
+ b.Property("NoseTipHeight")
+ .HasColumnType("float");
+
+ b.Property("NoseTipLength")
+ .HasColumnType("float");
+
+ b.Property("NoseWidth")
+ .HasColumnType("float");
+
+ b.Property("Similarity")
+ .HasColumnType("float");
+
+ b.Property("SkinSimilarity")
+ .HasColumnType("float");
+
+ b.Property("SunDamage")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("SunDamageOpacity")
+ .HasColumnType("float");
+
+ b.Property("UserId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("Characters");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.CharacterCloth", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("ClothId")
+ .HasColumnType("int");
+
+ b.Property("Duty")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("SlotId")
+ .HasColumnType("int");
+
+ b.Property("SlotType")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("Texture")
+ .HasColumnType("int");
+
+ b.Property("UserId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("CharacterClothes");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.ClothCombination", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Gender")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Top")
+ .HasColumnType("int");
+
+ b.Property("Torso")
+ .HasColumnType("int");
+
+ b.Property("Undershirt")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.ToTable("ClothCombinations");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Door", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Category")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("FactionId")
+ .HasColumnType("int");
+
+ b.Property("Locked")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Model")
+ .HasColumnType("int");
+
+ b.Property("Name")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("Radius")
+ .HasColumnType("float");
+
+ b.Property("X")
+ .HasColumnType("float");
+
+ b.Property("Y")
+ .HasColumnType("float");
+
+ b.Property("Z")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.HasIndex("FactionId");
+
+ b.ToTable("Doors");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.DutyCloth", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("ClothId")
+ .HasColumnType("int");
+
+ b.Property("FactionId")
+ .HasColumnType("int");
+
+ b.Property("Gender")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("SlotId")
+ .HasColumnType("int");
+
+ b.Property("SlotType")
+ .HasColumnType("tinyint unsigned");
+
+ b.HasKey("Id");
+
+ b.HasIndex("FactionId");
+
+ b.ToTable("DutyClothes");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Faction", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("BankAccountId")
+ .HasColumnType("int");
+
+ b.Property("GangOwned")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Name")
+ .HasColumnType("varchar(32) CHARACTER SET utf8mb4")
+ .HasMaxLength(32);
+
+ b.Property("StateOwned")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("WeaponDealTime")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("BankAccountId");
+
+ b.ToTable("Factions");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.FactionBankAccount", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Active")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Balance")
+ .HasColumnType("int");
+
+ b.Property("Bic")
+ .HasColumnType("varchar(12) CHARACTER SET utf8mb4")
+ .HasMaxLength(12);
+
+ b.Property("Iban")
+ .HasColumnType("varchar(32) CHARACTER SET utf8mb4")
+ .HasMaxLength(32);
+
+ b.HasKey("Id");
+
+ b.ToTable("FactionBankAccounts");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.FactionRank", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("FactionId")
+ .HasColumnType("int");
+
+ b.Property("Order")
+ .HasColumnType("int");
+
+ b.Property("RankName")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.HasKey("Id");
+
+ b.HasIndex("FactionId");
+
+ b.ToTable("FactionRanks");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.FactionWeapon", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Ammount")
+ .HasColumnType("int");
+
+ b.Property("FactionId")
+ .HasColumnType("int");
+
+ b.Property("Rank")
+ .HasColumnType("int");
+
+ b.Property("SlotID")
+ .HasColumnType("int");
+
+ b.Property("WeaponModel")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.HasKey("Id");
+
+ b.HasIndex("FactionId");
+
+ b.ToTable("FactionWeapons");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.GotoPoint", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Active")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Description")
+ .HasColumnType("varchar(32) CHARACTER SET utf8mb4")
+ .HasMaxLength(32);
+
+ b.Property("X")
+ .HasColumnType("float");
+
+ b.Property("Y")
+ .HasColumnType("float");
+
+ b.Property("Z")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.ToTable("GotoPoints");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Group", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("BankAccountId")
+ .HasColumnType("int");
+
+ b.Property("Name")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.HasKey("Id");
+
+ b.HasIndex("BankAccountId");
+
+ b.ToTable("Groups");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.GroupBankAccount", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Balance")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.ToTable("GroupBankAccounts");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.House", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("BankAccountId")
+ .HasColumnType("int");
+
+ b.Property("CanRentIn")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("LastRentSetTime")
+ .HasColumnType("datetime(6)");
+
+ b.Property("OwnerId")
+ .HasColumnType("int");
+
+ b.Property("Price")
+ .HasColumnType("int");
+
+ b.Property("RentalFee")
+ .HasColumnType("int");
+
+ b.Property("Type")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("X")
+ .HasColumnType("float");
+
+ b.Property("Y")
+ .HasColumnType("float");
+
+ b.Property("Z")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.HasIndex("BankAccountId");
+
+ b.HasIndex("OwnerId");
+
+ b.ToTable("Houses");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.HouseBankAccount", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Balance")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.ToTable("HouseBankAccounts");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.HouseRental", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("HouseId")
+ .HasColumnType("int");
+
+ b.Property("UserId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("HouseId");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("HouseRentals");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Interior", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("EnterPositionStr")
+ .HasColumnName("EnterPosition")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("ExitPositionStr")
+ .HasColumnName("ExitPosition")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("Name")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.HasKey("Id");
+
+ b.ToTable("Interiors");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Location", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Description")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("Heading")
+ .HasColumnType("double");
+
+ b.Property("X")
+ .HasColumnType("double");
+
+ b.Property("Y")
+ .HasColumnType("double");
+
+ b.Property("Z")
+ .HasColumnType("double");
+
+ b.HasKey("Id");
+
+ b.ToTable("Locations");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Logs.BankAccountTransactionHistory", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Fee")
+ .HasColumnType("int");
+
+ b.Property("MoneySent")
+ .HasColumnType("int");
+
+ b.Property("NewReceiverBalance")
+ .HasColumnType("int");
+
+ b.Property("NewSenderBalance")
+ .HasColumnType("int");
+
+ b.Property("Origin")
+ .HasColumnType("varchar(32) CHARACTER SET utf8mb4")
+ .HasMaxLength(32);
+
+ b.Property("Receiver")
+ .HasColumnType("varchar(32) CHARACTER SET utf8mb4")
+ .HasMaxLength(32);
+
+ b.Property("ReceiverBalance")
+ .HasColumnType("int");
+
+ b.Property("Sender")
+ .HasColumnType("varchar(32) CHARACTER SET utf8mb4")
+ .HasMaxLength(32);
+
+ b.Property("SenderBalance")
+ .HasColumnType("int");
+
+ b.Property("Timestamp")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("datetime(6)");
+
+ b.HasKey("Id");
+
+ b.ToTable("BankAccountTransactionLogs");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Logs.Death", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("CauseOfDeath")
+ .HasColumnType("varchar(64) CHARACTER SET utf8mb4")
+ .HasMaxLength(64);
+
+ b.Property("KillerHeading")
+ .HasColumnType("float");
+
+ b.Property("KillerId")
+ .HasColumnType("int");
+
+ b.Property("KillerPositionX")
+ .HasColumnType("float");
+
+ b.Property("KillerPositionY")
+ .HasColumnType("float");
+
+ b.Property("KillerPositionZ")
+ .HasColumnType("float");
+
+ b.Property("Timestamp")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("datetime(6)");
+
+ b.Property("VictimHeading")
+ .HasColumnType("float");
+
+ b.Property("VictimId")
+ .HasColumnType("int");
+
+ b.Property("VictimPositionX")
+ .HasColumnType("float");
+
+ b.Property("VictimPositionY")
+ .HasColumnType("float");
+
+ b.Property("VictimPositionZ")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.HasIndex("KillerId");
+
+ b.HasIndex("VictimId");
+
+ b.ToTable("DeathLogs");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.News", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Active")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Caption")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("Content")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("Timestamp")
+ .HasColumnType("int");
+
+ b.Property("UserId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("News");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Saves.SavedBlip", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Active")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Alpha")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("Color")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("Dimension")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("DrawDistance")
+ .HasColumnType("float");
+
+ b.Property("Name")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("PositionX")
+ .HasColumnType("float");
+
+ b.Property("PositionY")
+ .HasColumnType("float");
+
+ b.Property("PositionZ")
+ .HasColumnType("float");
+
+ b.Property("Rotation")
+ .HasColumnType("float");
+
+ b.Property("Scale")
+ .HasColumnType("float");
+
+ b.Property("ShortRange")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Sprite")
+ .HasColumnType("smallint");
+
+ b.HasKey("Id");
+
+ b.ToTable("Blips");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Saves.SavedMarker", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Active")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("ColorA")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("ColorB")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("ColorG")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("ColorR")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("Dimension")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("DirectionX")
+ .HasColumnType("float");
+
+ b.Property("DirectionY")
+ .HasColumnType("float");
+
+ b.Property("DirectionZ")
+ .HasColumnType("float");
+
+ b.Property("PositionX")
+ .HasColumnType("float");
+
+ b.Property("PositionY")
+ .HasColumnType("float");
+
+ b.Property("PositionZ")
+ .HasColumnType("float");
+
+ b.Property("RotationX")
+ .HasColumnType("float");
+
+ b.Property("RotationY")
+ .HasColumnType("float");
+
+ b.Property("RotationZ")
+ .HasColumnType("float");
+
+ b.Property("Scale")
+ .HasColumnType("float");
+
+ b.Property("Type")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("Visible")
+ .HasColumnType("tinyint(1)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Markers");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Saves.SavedPed", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Active")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Dimension")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("HashModel")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("Heading")
+ .HasColumnType("float");
+
+ b.Property("PositionX")
+ .HasColumnType("float");
+
+ b.Property("PositionY")
+ .HasColumnType("float");
+
+ b.Property("PositionZ")
+ .HasColumnType("float");
+
+ b.Property("Type")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.ToTable("Peds");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Saves.SavedPickup", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Active")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Dimension")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("PositionX")
+ .HasColumnType("float")
+ .HasMaxLength(128);
+
+ b.Property("PositionY")
+ .HasColumnType("float");
+
+ b.Property("PositionZ")
+ .HasColumnType("float");
+
+ b.Property("RespawnTime")
+ .HasColumnType("int");
+
+ b.Property("RotationX")
+ .HasColumnType("float");
+
+ b.Property("RotationY")
+ .HasColumnType("float");
+
+ b.Property("RotationZ")
+ .HasColumnType("float");
+
+ b.Property("Vehicle")
+ .HasColumnType("tinyint(1)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Pickups");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Saves.SavedTextLabel", b =>
+ {
+ b.Property