add armor as lonley item

This commit is contained in:
Michael
2020-06-08 18:07:36 +02:00
parent 2cf5d979dc
commit ee90e85ebd
3 changed files with 34 additions and 12 deletions

View File

@@ -33,6 +33,7 @@ export default function weaponList(globalData: IGlobalData) {
var melees;
var specialsWep;
var time;
var armor;
var primary = "";
var secondary = "";
@@ -43,7 +44,7 @@ export default function weaponList(globalData: IGlobalData) {
//Weapon Menu
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) => {
mp.events.add('showWeaponMenu', (primariesArr, secondariesArr, meleesArr, specialsArr, armorArr, 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) {
globalData.InMenu = true;
@@ -53,7 +54,7 @@ export default function weaponList(globalData: IGlobalData) {
melees = meleesArr;
specialsWep = specialsArr;
time = JSON.parse(jsonTime);
armor = armorArr;
let dealItem = new UIMenuListItem("Waffentransport", "", new ItemsCollection(time));
dealItem.BackColor = new Color(204, 170, 0);
@@ -65,10 +66,11 @@ export default function weaponList(globalData: IGlobalData) {
weaponMenu.AddItem(new UIMenuListItem("Sekundäre", "", new ItemsCollection(primaries)));
weaponMenu.AddItem(new UIMenuListItem("Nahkampf", "", new ItemsCollection(melees)));
weaponMenu.AddItem(new UIMenuListItem("Spezial", "", new ItemsCollection(specialsWep)));
weaponMenu.AddItem(new UIMenuListItem("Schutzweste", "", new ItemsCollection(armor)));
weaponMenu.AddItem(saveItem);
weaponMenu.AddItem(WeaponStockItem);
weaponMenu.BindMenuToItem(getWeaponStockMenu(weaponMenu), WeaponStockItem);
weaponMenu.AddItem(dealItem);
weaponMenu.AddItem(saveItem);
weaponMenu.AddItem(cancelItem);
weaponMenu.Visible = true;
@@ -102,6 +104,13 @@ export default function weaponList(globalData: IGlobalData) {
specialWep = String(item.SelectedItem.DisplayText);
}
break;
case "Schutzweste":
if (item.SelectedItem.DisplayText === "Keine") {
armor = "";
} else {
armor = String(item.SelectedItem.DisplayText);
}
break;
}
});
@@ -149,7 +158,7 @@ export default function weaponList(globalData: IGlobalData) {
weaponMenu.ItemSelect.on((item) => {
if (item.Text === "Waffen Nehmen") {
mp.events.callRemote("saveWeaponSelection", primary, secondary, melee, specialWep);
mp.events.callRemote("saveWeaponSelection", primary, secondary, melee, specialWep, armor);
weaponMenu.Close();
globalData.InMenu = false;
} else if (item.Text === "Abbrechen") {

View File

@@ -341,6 +341,7 @@ namespace ReallifeGamemode.Server.Events
List<string> secondarys = new List<string>();
List<string> melees = new List<string>();
List<string> specials = new List<string>();
List<string> armor = new List<string>();
List<string> timer = new List<string>();
int pistol_Amount = 0;
int pistol50_Amount = 0;
@@ -358,6 +359,7 @@ namespace ReallifeGamemode.Server.Events
secondarys.Add("Keine");
melees.Add("Keine");
specials.Add("Keine");
armor.Add("Keine");
using (var context = new DatabaseContext())
{
@@ -428,6 +430,11 @@ namespace ReallifeGamemode.Server.Events
if (user.FactionRank.Order >= weapon.Rank)
specials.Add(weapon.WeaponModel.ToString());
break;
case 5:
if (user.FactionRank.Order >= weapon.Rank)
armor.Add(weapon.WeaponModel.ToString());
break;
}
}
@@ -478,7 +485,7 @@ namespace ReallifeGamemode.Server.Events
}
}
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());
player.TriggerEvent("showWeaponMenu", primarys.ToArray(), secondarys.ToArray(), melees.ToArray(), specials.ToArray(), armor.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)
{

View File

@@ -39,6 +39,10 @@ namespace ReallifeGamemode.Server.Events
client.RemoveAllWeapons();
client.GiveWeapon(weaponHash, 0);
}
if (slot == 5)
{
client.Armor = 100;
}
}
[RemoteEvent("cancelWeaponSelection")]
@@ -48,7 +52,7 @@ namespace ReallifeGamemode.Server.Events
}
[RemoteEvent("saveWeaponSelection")]
public void SaveWeaponSelection(Player client, string primaryModel, string secondaryModel, string meleeModel, string specialModel)
public void SaveWeaponSelection(Player client, string primaryModel, string secondaryModel, string meleeModel, string specialModel, string armor)
{
client.RemoveAllWeapons();
if (!uint.TryParse(primaryModel, out uint primary))
@@ -70,17 +74,16 @@ namespace ReallifeGamemode.Server.Events
client.GiveWeapon((WeaponHash)primary, 300);
client.GiveWeapon((WeaponHash)secondary, 100);
client.GiveWeapon((WeaponHash)melee, 1);
if (specialModel != "Schutzweste")
{
client.Armor = 0;
if (!uint.TryParse(specialModel, out uint special))
{
if (specialModel.Contains("mk2") && !specialModel.Contains("_mk2")) specialModel = specialModel.Replace("mk2", "_mk2");
special = NAPI.Util.GetHashKey($"weapon_{specialModel}");
}
client.GiveWeapon((WeaponHash)special, 30);
}
else
if(armor == "Schutzweste")
{
client.Armor = 100;
}
@@ -100,6 +103,9 @@ namespace ReallifeGamemode.Server.Events
FactionWeapon slot4 = context.FactionWeapons.Where(w => w.FactionId == user.FactionId && w.WeaponModel == specialModel).FirstOrDefault();
if (slot4 != null)
slot4.Ammount -= 1;
FactionWeapon slot5 = context.FactionWeapons.Where(w => w.FactionId == user.FactionId && w.WeaponModel == armor).FirstOrDefault();
if (slot5 != null)
slot5.Ammount -= 1;
context.SaveChanges();
}
}