change weaponAmmo & add WeaponStock at WeaponMenu

This commit is contained in:
Michael
2020-06-08 16:53:48 +02:00
parent 80d59c516c
commit 2cf5d979dc
3 changed files with 118 additions and 9 deletions

View File

@@ -18,10 +18,16 @@ let cancelItem = new UIMenuItem("Abbrechen", "");
cancelItem.BackColor = new Color(213, 0, 0); cancelItem.BackColor = new Color(213, 0, 0);
cancelItem.HighlightedBackColor = new Color(229, 57, 53); cancelItem.HighlightedBackColor = new Color(229, 57, 53);
let WeaponStockItem = new UIMenuItem("Bestand", "Waffenbestand anzeigen");
WeaponStockItem.BackColor = new Color(94, 94, 94);
WeaponStockItem.HighlightedBackColor = new Color(105, 105, 105);
export default function weaponList(globalData: IGlobalData) { export default function weaponList(globalData: IGlobalData) {
var weaponMenu: NativeUI.Menu; var weaponMenu: NativeUI.Menu;
var primaries; var primaries;
var secondaries; var secondaries;
var melees; var melees;
@@ -34,9 +40,10 @@ export default function weaponList(globalData: IGlobalData) {
var specialWep = ""; var specialWep = "";
var timer = ""; var timer = "";
//Weapon Menu //Weapon Menu
mp.events.add('showWeaponMenu', (primariesArr, secondariesArr, meleesArr, specialsArr, jsonTime) => { mp.events.add('showWeaponMenu', (primariesArr, secondariesArr, meleesArr, specialsArr, jsonTime, pistol_Amount, pistol50_Amount, Pistol_mk2_Amount, Combatpistol_Amount, SMG_Amount, Carbinerifle_Amount, Compactrifle_Amount, sniperrifle_Amount, Pumpshotgun_Amount, Schutzweste_Amount, Stungun_Amount) => {
if (!globalData.InMenu) { if (!globalData.InMenu) {
globalData.InMenu = true; globalData.InMenu = true;
@@ -47,6 +54,7 @@ export default function weaponList(globalData: IGlobalData) {
specialsWep = specialsArr; specialsWep = specialsArr;
time = JSON.parse(jsonTime); time = JSON.parse(jsonTime);
let dealItem = new UIMenuListItem("Waffentransport", "", new ItemsCollection(time)); let dealItem = new UIMenuListItem("Waffentransport", "", new ItemsCollection(time));
dealItem.BackColor = new Color(204, 170, 0); dealItem.BackColor = new Color(204, 170, 0);
dealItem.HighlightedBackColor = new Color(255, 213, 0); dealItem.HighlightedBackColor = new Color(255, 213, 0);
@@ -57,6 +65,8 @@ export default function weaponList(globalData: IGlobalData) {
weaponMenu.AddItem(new UIMenuListItem("Sekundäre", "", new ItemsCollection(primaries))); weaponMenu.AddItem(new UIMenuListItem("Sekundäre", "", new ItemsCollection(primaries)));
weaponMenu.AddItem(new UIMenuListItem("Nahkampf", "", new ItemsCollection(melees))); weaponMenu.AddItem(new UIMenuListItem("Nahkampf", "", new ItemsCollection(melees)));
weaponMenu.AddItem(new UIMenuListItem("Spezial", "", new ItemsCollection(specialsWep))); weaponMenu.AddItem(new UIMenuListItem("Spezial", "", new ItemsCollection(specialsWep)));
weaponMenu.AddItem(WeaponStockItem);
weaponMenu.BindMenuToItem(getWeaponStockMenu(weaponMenu), WeaponStockItem);
weaponMenu.AddItem(dealItem); weaponMenu.AddItem(dealItem);
weaponMenu.AddItem(saveItem); weaponMenu.AddItem(saveItem);
weaponMenu.AddItem(cancelItem); weaponMenu.AddItem(cancelItem);
@@ -95,6 +105,48 @@ export default function weaponList(globalData: IGlobalData) {
} }
}); });
function getWeaponStockMenu(parentMenu: NativeUI.Menu, ): NativeUI.Menu {
var weaponStockMenu = new NativeUI.Menu("Bestand","", new Point(50, 50), null, null);
var menuItem = new UIMenuItem("Pistol");
menuItem.SetRightLabel(pistol_Amount);
weaponStockMenu.AddItem(menuItem);
var menuItem = new UIMenuItem("Pistol50");
menuItem.SetRightLabel(pistol50_Amount);
weaponStockMenu.AddItem(menuItem);
var menuItem = new UIMenuItem("Pistol_mk2");
menuItem.SetRightLabel(Pistol_mk2_Amount);
weaponStockMenu.AddItem(menuItem);
var menuItem = new UIMenuItem("Combatpistol");
menuItem.SetRightLabel(Combatpistol_Amount);
weaponStockMenu.AddItem(menuItem);
var menuItem = new UIMenuItem("SMG");
menuItem.SetRightLabel(SMG_Amount);
weaponStockMenu.AddItem(menuItem);
var menuItem = new UIMenuItem("Carbinerifle");
menuItem.SetRightLabel(Carbinerifle_Amount);
weaponStockMenu.AddItem(menuItem);
var menuItem = new UIMenuItem("Compactrifle");
menuItem.SetRightLabel(Compactrifle_Amount);
weaponStockMenu.AddItem(menuItem);
var menuItem = new UIMenuItem("Sniperrifle");
menuItem.SetRightLabel(sniperrifle_Amount);
weaponStockMenu.AddItem(menuItem);
var menuItem = new UIMenuItem("Pumpshotgun");
menuItem.SetRightLabel(Pumpshotgun_Amount);
weaponStockMenu.AddItem(menuItem);
var menuItem = new UIMenuItem("Schutzweste");
menuItem.SetRightLabel(Schutzweste_Amount);
weaponStockMenu.AddItem(menuItem);
var menuItem = new UIMenuItem("Stungun");
menuItem.SetRightLabel(Stungun_Amount);
weaponStockMenu.AddItem(menuItem);
weaponStockMenu.Visible = false;
return weaponStockMenu;
}
weaponMenu.ItemSelect.on((item) => { weaponMenu.ItemSelect.on((item) => {
if (item.Text === "Waffen Nehmen") { if (item.Text === "Waffen Nehmen") {
mp.events.callRemote("saveWeaponSelection", primary, secondary, melee, specialWep); mp.events.callRemote("saveWeaponSelection", primary, secondary, melee, specialWep);

View File

@@ -342,6 +342,17 @@ namespace ReallifeGamemode.Server.Events
List<string> melees = new List<string>(); List<string> melees = new List<string>();
List<string> specials = new List<string>(); List<string> specials = new List<string>();
List<string> timer = new List<string>(); List<string> timer = new List<string>();
int pistol_Amount = 0;
int pistol50_Amount = 0;
int Pistol_mk2_Amount = 0;
int Combatpistol_Amount = 0;
int SMG_Amount = 0;
int Carbinerifle_Amount = 0;
int Compactrifle_Amount = 0;
int sniperrifle_Amount = 0;
int Pumpshotgun_Amount = 0;
int Schutzweste_Amount = 0;
int Stungun_Amount = 0;
string dealTime = "Starten"; string dealTime = "Starten";
primarys.Add("Keine"); primarys.Add("Keine");
secondarys.Add("Keine"); secondarys.Add("Keine");
@@ -418,10 +429,56 @@ namespace ReallifeGamemode.Server.Events
specials.Add(weapon.WeaponModel.ToString()); specials.Add(weapon.WeaponModel.ToString());
break; break;
} }
}
foreach (var weapon in weapons)
{
if (weapon.WeaponModel == "Pistol")
{
pistol_Amount = weapon.Ammount;
}
else if(weapon.WeaponModel == "Pistol50"){
pistol50_Amount = weapon.Ammount;
}
else if(weapon.WeaponModel == "Pistol_MK2") {
Pistol_mk2_Amount = weapon.Ammount;
}
else if (weapon.WeaponModel == "Combatpistol")
{
Combatpistol_Amount = weapon.Ammount;
}
else if (weapon.WeaponModel == "SMG")
{
SMG_Amount = weapon.Ammount;
}
else if (weapon.WeaponModel == "CarbineRifle")
{
Carbinerifle_Amount = weapon.Ammount;
}
else if (weapon.WeaponModel == "CompactRifle")
{
Compactrifle_Amount = weapon.Ammount;
}
else if (weapon.WeaponModel == "sniperrifle")
{
sniperrifle_Amount = weapon.Ammount;
}
else if (weapon.WeaponModel == "PumpShotgun")
{
Pumpshotgun_Amount = weapon.Ammount;
}
else if (weapon.WeaponModel == "Schutzweste")
{
Schutzweste_Amount = weapon.Ammount;
}
else if (weapon.WeaponModel == "Stungun")
{
Stungun_Amount = weapon.Ammount;
}
} }
} }
player.TriggerEvent("showWeaponMenu", primarys.ToArray(), secondarys.ToArray(), melees.ToArray(), specials.ToArray(), JsonConvert.SerializeObject(timer.ToArray())); player.TriggerEvent("showWeaponMenu", primarys.ToArray(), secondarys.ToArray(), melees.ToArray(), specials.ToArray(), JsonConvert.SerializeObject(timer.ToArray()), pistol_Amount.ToString(), pistol50_Amount.ToString(), Pistol_mk2_Amount.ToString(), Combatpistol_Amount.ToString(), SMG_Amount.ToString(), Carbinerifle_Amount.ToString(), Compactrifle_Amount.ToString(), sniperrifle_Amount.ToString(), Pumpshotgun_Amount.ToString(), Schutzweste_Amount.ToString(), Stungun_Amount.ToString());
} }
if (nearestJailReleasePoint != null) if (nearestJailReleasePoint != null)
{ {

View File

@@ -1,4 +1,4 @@
using System.Linq; using System.Linq;
using GTANetworkAPI; using GTANetworkAPI;
using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models; using ReallifeGamemode.Database.Models;
@@ -67,8 +67,8 @@ namespace ReallifeGamemode.Server.Events
melee = NAPI.Util.GetHashKey($"weapon_{meleeModel}"); melee = NAPI.Util.GetHashKey($"weapon_{meleeModel}");
} }
client.GiveWeapon((WeaponHash)primary, 50); client.GiveWeapon((WeaponHash)primary, 300);
client.GiveWeapon((WeaponHash)secondary, 150); client.GiveWeapon((WeaponHash)secondary, 100);
client.GiveWeapon((WeaponHash)melee, 1); client.GiveWeapon((WeaponHash)melee, 1);
if (specialModel != "Schutzweste") if (specialModel != "Schutzweste")
{ {
@@ -78,11 +78,11 @@ namespace ReallifeGamemode.Server.Events
if (specialModel.Contains("mk2") && !specialModel.Contains("_mk2")) specialModel = specialModel.Replace("mk2", "_mk2"); if (specialModel.Contains("mk2") && !specialModel.Contains("_mk2")) specialModel = specialModel.Replace("mk2", "_mk2");
special = NAPI.Util.GetHashKey($"weapon_{specialModel}"); special = NAPI.Util.GetHashKey($"weapon_{specialModel}");
} }
client.GiveWeapon((WeaponHash)special, 50); client.GiveWeapon((WeaponHash)special, 30);
} }
else else
{ {
client.Armor = 50; client.Armor = 100;
} }
using (var context = new DatabaseContext()) using (var context = new DatabaseContext())