private static string GetModName(Vehicle vehicle, VehicleModType modtype, int index) { switch (modtype) { case VehicleModType.Armor: return("CMOD_ARM_" + (index + 1)); case VehicleModType.Brakes: return("CMOD_BRA_" + (index + 1)); case VehicleModType.Engine: if (index == -1) { return("CMOD_ARM_0"); } return("CMOD_ENG_" + (index + 2)); case VehicleModType.Suspension: return("CMOD_SUS_" + (index + 1)); case VehicleModType.Transmission: return("CMOD_GBX_" + (index + 1)); case VehicleModType.Horns: if (VehicleHorns.HornNames.ContainsKey(index)) { return(VehicleHorns.HornNames[index].Item1); } return(""); default: return(Function.Call <string>(Hash.GET_MOD_TEXT_LABEL, vehicle, (int)modtype, index)); } }
public VehicleMod this[VehicleModType modType] { get { if (!_vehicleMods.TryGetValue(modType, out VehicleMod vehicleMod)) { vehicleMod = new VehicleMod(_owner, modType); _vehicleMods.Add(modType, vehicleMod); } return(vehicleMod); } }
public VehicleMod this[VehicleModType modType] { get { VehicleMod mod = null; if (!this._vehicleMods.TryGetValue(modType, out mod)) { mod = new VehicleMod(this._owner, modType); this._vehicleMods.Add(modType, mod); } return(mod); } }
private static void ApplyFlags(ModData mod, VehicleModType modtype, int count, int index) { //if(index == -1) mod.flags.Add("stock"); switch (modtype) { case VehicleModType.FrontWheel: case VehicleModType.RearWheel: if (index >= count / 2) { mod.flags.Add("chrome"); } break; } }
private static void CreateModTypeMenu(Menu modMenu, VehicleModType modType, Vehicle veh) { for (int i = 0; i <= veh.Mods[modType].ModCount - 1; i++) { MenuItem modTypeMenuItem = null; if (veh.Mods[modType].Index == i) { modTypeMenuItem = new MenuItem(i.ToString(), i.ToString()) { RightIcon = MenuItem.Icon.TICK }; } else { modTypeMenuItem = new MenuItem(i.ToString(), i.ToString()) { }; } modTypeMenuItem.ItemData = i; modMenu.AddMenuItem(modTypeMenuItem); } modMenu.OnMenuClose += (_menu) => { foreach (MenuItem item in modMenu.GetMenuItems()) { if (item.RightIcon.Equals(MenuItem.Icon.TICK)) { veh.Mods[modType].Index = item.ItemData; } } }; modMenu.OnIndexChange += (_menu, _oldItem, _newItem, _oldIndex, _newIndex) => { veh.Mods[modType].Index = _newItem.ItemData; }; modMenu.OnItemSelect += (_menu, _item, _index) => { foreach (MenuItem item in modMenu.GetMenuItems()) { item.RightIcon = MenuItem.Icon.NONE; } _item.RightIcon = MenuItem.Icon.TICK; veh.Mods[modType].Index = _item.ItemData; }; }
public static void ToggleMod(this Vehicle vehicle, VehicleModType mod, bool toggle) { NativeFunction.CallByName <uint>("TOGGLE_VEHICLE_MOD", vehicle, (int)mod, toggle); }
internal VehicleMod(Vehicle owner, VehicleModType modType) { _owner = owner; ModType = modType; }
public void SetVehicleMod(Client sender, VehicleModType slot, int value) { API.shared.setVehicleMod(sender.vehicle, (int)slot, value); }
public bool HasVehicleMod(VehicleModType type) { return(API.GetNumVehicleMods(_owner.Handle, (int)type) > 0); }
/// <summary> /// Sets a vehicles mod into a category /// </summary> /// <param name="vehicle">The vehicle</param> /// <param name="category">The mod category</param> /// <param name="id">The mod id</param> /// <returns></returns> public static bool SetMod(this IVehicle vehicle, VehicleModType category, byte id) => vehicle.SetMod((byte)category, id);
/// <summary> /// Returns the amount of mods available in a category /// </summary> /// <param name="vehicle">The vehicle</param> /// <param name="category">The mod type</param> /// <returns></returns> public static byte GetModsCount(this IVehicle vehicle, VehicleModType category) => vehicle.GetModsCount((byte)category);
internal VehicleMod(Vehicle owner, VehicleModType modType) { this._owner = owner; this.ModType = modType; }
internal VehicleMod(Vehicle owner, VehicleModType modType) { Vehicle = owner; Type = modType; }
public string GetLocalizedModName(int index) { if (this.ModCount == 0) { return(""); } if ((index < -1) || (index >= this.ModCount)) { return(""); } InputArgument[] arguments = new InputArgument[] { "mod_mnu", 10 }; if (!Function.Call <bool>(Hash.HAS_THIS_ADDITIONAL_TEXT_LOADED, arguments)) { InputArgument[] argumentArray2 = new InputArgument[] { 10, true }; Function.Call(Hash.CLEAR_ADDITIONAL_TEXT, argumentArray2); InputArgument[] argumentArray3 = new InputArgument[] { "mod_mnu", 10 }; Function.Call(Hash.REQUEST_ADDITIONAL_TEXT, argumentArray3); } if (this.ModType == VehicleModType.Horns) { return(!_hornNames.ContainsKey(index) ? "" : (!Game.DoesGXTEntryExist(_hornNames[index].Item1) ? _hornNames[index].Item2 : Game.GetGXTEntry(_hornNames[index].Item1))); } if ((this.ModType == VehicleModType.FrontWheel) || (this.ModType == VehicleModType.RearWheel)) { if (index == -1) { return((this._owner.Model.IsBike || !this._owner.Model.IsBicycle) ? Game.GetGXTEntry("CMOD_WHE_B_0") : Game.GetGXTEntry("CMOD_WHE_0")); } if (index >= (this.ModCount / 2)) { InputArgument[] argumentArray4 = new InputArgument[] { this._owner.Handle, this.ModType, index }; return(Game.GetGXTEntry("CHROME") + " " + Game.GetGXTEntry(Function.Call <string>(Hash.GET_MOD_TEXT_LABEL, argumentArray4))); } InputArgument[] argumentArray5 = new InputArgument[] { this._owner.Handle, this.ModType, index }; return(Game.GetGXTEntry(Function.Call <string>(Hash.GET_MOD_TEXT_LABEL, argumentArray5))); } switch (this.ModType) { case VehicleModType.Engine: return((index != -1) ? Game.GetGXTEntry("CMOD_ENG_" + (index + 2).ToString()) : Game.GetGXTEntry("CMOD_ARM_0")); case VehicleModType.Brakes: return(Game.GetGXTEntry("CMOD_BRA_" + (index + 1).ToString())); case VehicleModType.Transmission: return(Game.GetGXTEntry("CMOD_GBX_" + (index + 1).ToString())); case VehicleModType.Suspension: return(Game.GetGXTEntry("CMOD_SUS_" + (index + 1).ToString())); case VehicleModType.Armor: return(Game.GetGXTEntry("CMOD_ARM_" + (index + 1).ToString())); } if (index > -1) { InputArgument[] argumentArray6 = new InputArgument[] { this._owner.Handle, this.ModType, index }; string entry = Function.Call <string>(Hash.GET_MOD_TEXT_LABEL, argumentArray6); if (!Game.DoesGXTEntryExist(entry)) { return(this.LocalizedModTypeName + " " + (index + 1).ToString()); } entry = Game.GetGXTEntry(entry); return(((entry == "") || (entry == "NULL")) ? (this.LocalizedModTypeName + " " + (index + 1).ToString()) : entry); } VehicleModType modType = this.ModType; if (modType == VehicleModType.AirFilter) { if (this._owner.Model == 0x1bb290bc) { } } else if (modType == VehicleModType.Struts) { VehicleHash model = (VehicleHash)this._owner.Model; if ((model == VehicleHash.Banshee2) || ((model == ((VehicleHash)(-1041692462))) || (model == ((VehicleHash)(-295689028))))) { return(Game.GetGXTEntry("CMOD_COL5_41")); } } return(Game.GetGXTEntry("CMOD_DEF_0")); }
public bool HasVehicleMod(VehicleModType type) { InputArgument[] arguments = new InputArgument[] { this._owner.Handle, type }; return(Function.Call <int>(Hash.GET_NUM_VEHICLE_MODS, arguments) > 0); }
public bool HasVehicleMod(VehicleModType type) { return(Function.Call <int>(Hash.GET_NUM_VEHICLE_MODS, _owner.Handle, type) > 0); }
public static void ToggleMod(this Vehicle vehicle, VehicleModType mod, bool toggle) { NativeFunction.Natives.TOGGLE_VEHICLE_MOD(vehicle, (int)mod, toggle); }