67 lines
2.4 KiB
TypeScript
67 lines
2.4 KiB
TypeScript
import { Menu, Point, UIMenuSliderItem, UIMenuItem, Color, UIMenuListItem, ItemsCollection } from "../libs/NativeUI";
|
|
import { createMenuItem } from "../util";
|
|
import moneyformat from "../moneyformat";
|
|
import { getAnimFromId } from "../util/animationSync";
|
|
import { getCreatedPedByName } from "../Ped/PedCreator";
|
|
|
|
export default function hanfSystem(globalData: IGlobalData) {
|
|
mp.events.add("SERVER:Hanf_BuySeed", price => {
|
|
if (globalData.InMenu || globalData.InChat) {
|
|
return;
|
|
}
|
|
|
|
globalData.InMenu = true;
|
|
|
|
var menu = new Menu("Samen kaufen", "Kaufe dir Hanfsamen", new Point(50, 50));
|
|
|
|
var seedsToBuy = 0;
|
|
|
|
var countItems = [...Array(50).keys()].map(x => x + 1);
|
|
|
|
var soloPriceItem = createMenuItem("Einzelpreis", "Preis pro Samen", item => {
|
|
item.SetRightLabel("$" + moneyformat(price));
|
|
});
|
|
menu.AddItem(soloPriceItem);
|
|
|
|
var countItem = new UIMenuListItem("Anzahl", "Wähle die Anzahl der Samen aus", new ItemsCollection(countItems), 0);
|
|
menu.AddItem(countItem);
|
|
|
|
var buyItem = new UIMenuItem("Kaufen", "Kaufe die Samen");
|
|
buyItem.BackColor = new Color(0, 100, 0);
|
|
buyItem.HighlightedBackColor = new Color(0, 150, 0);
|
|
menu.AddItem(buyItem);
|
|
|
|
var completePriceItem = new UIMenuItem("Gesamtpreis", "Preis für alle Samen");
|
|
menu.AddItem(completePriceItem);
|
|
|
|
menu.ListChange.on((item, index) => {
|
|
if (item === countItem) {
|
|
seedsToBuy = Number(countItem.SelectedValue);
|
|
completePriceItem.SetRightLabel("$" + moneyformat(seedsToBuy * price));
|
|
}
|
|
});
|
|
|
|
menu.ItemSelect.on((item, index) => {
|
|
if (item === buyItem) {
|
|
mp.events.callRemote("CLIENT:Hanf_BuySeeds", seedsToBuy);
|
|
menu.Close();
|
|
}
|
|
});
|
|
|
|
menu.MenuClose.on(() => {
|
|
globalData.InMenu = false;
|
|
});
|
|
|
|
menu.Open();
|
|
});
|
|
|
|
mp.events.add("SERVER:Hanf_PlayManufacturerAnim", animId => {
|
|
var anim = getAnimFromId(animId);
|
|
var npc = getCreatedPedByName("hanf_verarbeiter_typ");
|
|
npc.taskPlayAnim(anim.dict, anim.name, 1, 0, 1000 * 10, 1, 0, !1, !1, !1);
|
|
setTimeout(() => {
|
|
npc.stopAnim(anim.name, anim.dict, 3);
|
|
npc.stopAnimTask(anim.dict, anim.name, 3);
|
|
}, 1000 * 10);
|
|
});
|
|
} |