Clientside Ammunation
This commit is contained in:
@@ -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;
|
||||
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user