Progress
This commit is contained in:
@@ -12,17 +12,56 @@ const Color = NativeUI.Color;
|
|||||||
export default function ammunation(globalData: IGlobalData) {
|
export default function ammunation(globalData: IGlobalData) {
|
||||||
|
|
||||||
var screenRes = mp.game.graphics.getScreenResolution(0, 0);
|
var screenRes = mp.game.graphics.getScreenResolution(0, 0);
|
||||||
|
var weapons: Weapon[];
|
||||||
|
|
||||||
class 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++) {
|
||||||
|
switch (c) {
|
||||||
|
case 1: {//Meelee
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case 2: {//Pistolen
|
||||||
|
if (weapons.find(w => w.CategoryId == c)) {
|
||||||
|
var pistolItem = new MenuItem("Pistolen", "",);
|
||||||
|
menu.AddItem(pistolItem);
|
||||||
|
menu.BindMenuToItem(getWeaponsFromCategory(menu, c, "Pistolen"),pistolItem);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
mp.events.add("AmmunationShop:LoadNativeUI", (weapons: Weapon[]) => {
|
|
||||||
mp.gui.chat.activate(false);
|
|
||||||
globalData.InMenu = true;
|
|
||||||
mp.gui.chat.push(weapons.toString());
|
|
||||||
|
|
||||||
var ammunationMenu = new Menu("Ammunation", "", new Point(0, screenRes.y / 3), null, null);
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
};
|
||||||
};
|
};
|
||||||
7
ReallifeGamemode.Client/global.d.ts
vendored
7
ReallifeGamemode.Client/global.d.ts
vendored
@@ -78,8 +78,13 @@ declare type FactionRank = {
|
|||||||
|
|
||||||
declare type Weapon = {
|
declare type Weapon = {
|
||||||
WeaponModel: string;
|
WeaponModel: string;
|
||||||
Category: number;
|
CategoryId: number;
|
||||||
SlotID: number;
|
SlotID: number;
|
||||||
Ammo: number;
|
Ammo: number;
|
||||||
Price: number;
|
Price: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
declare type WeaponCategory = {
|
||||||
|
Category: number;
|
||||||
|
Weapons: Weapon[];
|
||||||
|
}
|
||||||
@@ -258,6 +258,9 @@ animationSync();
|
|||||||
import antiCheat from './admin/anticheat';
|
import antiCheat from './admin/anticheat';
|
||||||
antiCheat(globalData);
|
antiCheat(globalData);
|
||||||
|
|
||||||
|
import ammunation from './Interaction/ammunation/ammunation';
|
||||||
|
ammunation(globalData);
|
||||||
|
|
||||||
require('./Gui/policedepartment');
|
require('./Gui/policedepartment');
|
||||||
require('./Gui/helptext');
|
require('./Gui/helptext');
|
||||||
|
|
||||||
|
|||||||
@@ -519,7 +519,14 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
}
|
}
|
||||||
if (nearestAmmunationPoint != null)
|
if (nearestAmmunationPoint != null)
|
||||||
{
|
{
|
||||||
nearestAmmunationPoint.Ammunation.LoadShopNUI(player);
|
if (!user.WeaponLicense)
|
||||||
|
{
|
||||||
|
player.SendNotification("~r~Du besitzt keinen Waffenschein");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nearestAmmunationPoint.Ammunation.LoadShopNUI(player);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (user.FactionLeader)
|
if (user.FactionLeader)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -283,11 +283,18 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
NAPI.TextLabel.CreateTextLabel("24/7 - Dr\u00fccke ~y~E", s.Position, 7, 1, 0, new Color(255, 255, 255), false, 0);
|
NAPI.TextLabel.CreateTextLabel("24/7 - Dr\u00fccke ~y~E", s.Position, 7, 1, 0, new Color(255, 255, 255), false, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (AmmunationPoint s in AmmunationPoints)
|
foreach (Ammunation s in ShopManager.Ammunations)
|
||||||
{
|
{
|
||||||
NAPI.Marker.CreateMarker(1, new Vector3(s.Position.X, s.Position.Y, s.Position.Z - 2), new Vector3(s.Position.X, s.Position.Y, s.Position.Z + 1),
|
NAPI.Marker.CreateMarker(1, new Vector3(s.vector.X, s.vector.Y, s.vector.Z - 2), new Vector3(s.vector.X, s.vector.Y, s.vector.Z + 1),
|
||||||
new Vector3(0, 0, 0), 2, new Color(255, 255, 255, 50), false, 0);
|
new Vector3(0, 0, 0), 2, new Color(255, 255, 255, 50), false, 0);
|
||||||
NAPI.TextLabel.CreateTextLabel("Ammunation - Dr\u00fccke ~y~E", s.Position, 7, 1, 0, new Color(255, 255, 255), false, 0);
|
NAPI.TextLabel.CreateTextLabel("Ammunation - Dr\u00fccke ~y~E", s.vector, 7, 1, 0, new Color(255, 255, 255), false, 0);
|
||||||
|
|
||||||
|
AmmunationPoint ammuShop = new AmmunationPoint
|
||||||
|
{
|
||||||
|
Position = s.vector,
|
||||||
|
Ammunation = s
|
||||||
|
};
|
||||||
|
AmmunationPoints.Add(ammuShop);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion Shops
|
#endregion Shops
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ namespace ReallifeGamemode.Server.Shop.Ammunation
|
|||||||
|
|
||||||
public Ammunation(Vector3 position)
|
public Ammunation(Vector3 position)
|
||||||
{
|
{
|
||||||
this.vector = vector;
|
this.vector = position;
|
||||||
LoadWeapons();
|
LoadWeapons();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -30,27 +30,8 @@ namespace ReallifeGamemode.Server.Shop.Ammunation
|
|||||||
}
|
}
|
||||||
public void LoadShopNUI(Player client)
|
public void LoadShopNUI(Player client)
|
||||||
{
|
{
|
||||||
User u = client.GetUser();
|
|
||||||
|
|
||||||
if (u == null)
|
List<Weapon> shopWeapons = weaponList.ToList();
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
//List<Weapon> melee = weaponList.ToList().FindAll(w => w.Category == "Nahkampfwaffen"); //1
|
|
||||||
List<Weapon> handguns = weaponList.ToList().FindAll(w => w.CategoryId == 2); //2
|
|
||||||
//List<Weapon> smgs = weaponList.ToList().FindAll(w => w.Category == "Maschinenpistolen"); //3
|
|
||||||
//List<Weapon> shotguns = weaponList.ToList().FindAll(w => w.Category == "Schrotflinten"); //4
|
|
||||||
//List<Weapon> assaultrifles = weaponList.ToList().FindAll(w => w.Category == "Sturmgewehre"); //5
|
|
||||||
//List<Weapon> lmgs = weaponList.ToList().FindAll(w => w.Category == "Leichte Maschinengewehre"); //6
|
|
||||||
//List<Weapon> sniperrifles = weaponList.ToList().FindAll(w => w.Category == "Scharfschützengewehre"); //7
|
|
||||||
//List<Weapon> heavyweapons = weaponList.ToList().FindAll(w => w.Category == "Schwere Waffen"); //8
|
|
||||||
//List<Weapon> throwables = weaponList.ToList().FindAll(w => w.Category == "Werfbare Waffen"); //9
|
|
||||||
|
|
||||||
List<Array> shopWeapons = new List<Array>
|
|
||||||
{
|
|
||||||
handguns.ToArray(),
|
|
||||||
};
|
|
||||||
client.TriggerEvent("AmmunationShop:LoadNativeUI", JsonConvert.SerializeObject(shopWeapons));
|
client.TriggerEvent("AmmunationShop:LoadNativeUI", JsonConvert.SerializeObject(shopWeapons));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user