public List <MenuItem> GetRecentSkinMenu() { var menu = new List <MenuItem>(); var actionPrefix = "playerskin"; if (Config.ContainsKey("RecentSkins")) { List <int> recentSkins = PlayerSection.ParseRecentSkins(Config["RecentSkins"]); foreach (var modelHash in recentSkins) { PedModelListItem info = PedModelList.GetItemByHash(modelHash); if (info != null) { menu.Add(new MenuItem() { text = info.Name, key = info.ModelHash.ToString(), action = $"{actionPrefix} {info.Model}", }); } } } if (menu.Count == 0) { menu.Add(new MenuItem() { text = "No recent skins yet!", }); } return(menu); }
private List <MenuItem> GetAnimalBombMenu() { var actionPrefix = "anibomb"; var menu = new List <MenuItem>(); IEnumerable <PedModelListItem> animalModelInfo = PedModelList.GetByType(PedModelType.Animal); foreach (var info in animalModelInfo) { menu.Add(new MenuItem() { text = info.Name, action = $"{actionPrefix} {info.Model}", key = info.Model, }); } return(menu); }
public void UpdateRecentSkinsList(Model model) { var modelInfo = PedModelList.GetItemByHash(model.Hash); if (modelInfo == null) { return; } RecentSkins.Insert(0, model.Hash); // Remove duplicates RecentSkins = RecentSkins.Union(RecentSkins).ToList(); if (RecentSkins.Count > maxRecentSkins) { RecentSkins.RemoveRange(maxRecentSkins, RecentSkins.Count - maxRecentSkins); } Config["RecentSkins"] = string.Join(",", RecentSkins); }
public override Dictionary <string, List <MenuItem> > AddMenus(Dictionary <string, List <MenuItem> > menus) { menus["player"] = new List <MenuItem>() { new MenuItem() { text = "Change Skin", sub = "player.skin" }, new MenuItem() { text = "Godmode", action = "player god", state = "ON", configkey = "GodMode" }, new MenuItem() { text = "Unlimited Stamina", action = "player stamina", state = "ON", configkey = "InfiniteStamina" }, new MenuItem() { text = "Heal Player", action = "player heal" }, new MenuItem() { text = "Add Armor", action = "player armor" }, new MenuItem() { text = "Suicide", action = "player suicide" }, new MenuItem() { text = "Auto Plane Parachute", action = "player autochute", state = "ON", configkey = "AutoGiveParachute" }, new MenuItem() { text = "Give Parachute", action = "wepgive GADGET_PARACHUTE" }, }; menus["player.skin"] = new List <MenuItem>() { new MenuItem() { text = "Recent", sub = "player.skin.recent" }, new MenuItem() { text = "Animals", sub = "player.skin.animals" }, new MenuItem() { text = "Main Characters", sub = "player.skin.mainCharacters" }, new MenuItem() { text = "Pedestrians", sub = "player.skin.pedestrians" }, new MenuItem() { text = "Custom", sub = "player.skin.custom" }, new MenuItem() { text = "Save Current Skin as Default", action = "savedefaultskin" }, new MenuItem() { text = "Change to Default Skin", action = "loaddefaultskin" }, new MenuItem() { text = "Autoload Default Skin", action = "autoloaddefaultskin", state = "ON", configkey = "AutoLoadDefaultSkin" }, }; menus["player.skin.recent"] = GetRecentSkinMenu(); menus["player.skin.animals"] = ToMenuItems(PedModelList.GetByType(PedModelType.Animal)); menus["player.skin.mainCharacters"] = ToMenuItems(PedModelList.GetByType(PedModelType.MainCharacter)); menus["player.skin.pedestrians"] = ToMenuItems(PedModelList.GetByType(PedModelType.Human)); menus["player.skin.custom"] = ToMenuItems(PedModelList.GetByType(PedModelType.Custom)); return(menus); }