public static void ShowNearDealer(Dealer dealer) { GTA.UI.TextElement elmnt = new GTA.UI.TextElement("~w~Press ~g~E ~w~to talk to " + dealer.Name, new PointF(GTA.UI.Screen.Width - (GTA.UI.Screen.Width - 20), GTA.UI.Screen.Height - (GTA.UI.Screen.Height - 20)), 0.4f, Color.White, GTA.UI.Font.ChaletLondon) { Outline = true }; elmnt.Draw(); }
private void DrawDebugInfo() { var spMPG = new GTA.UI.TextElement("Speed: " + currentCar.GetVehicleInstance().Speed.ToString() + "\nMPG: " + currentCar.GetCurrentFuelConsumption() + "\nFuel Level: " + currentCar.GetFuelLevel() + "\nAverage MPG: " + currentCar.GetAverageFuelConsumption(), new Point(500, 500), 1f); spMPG.Draw(); }
//GUI METHODS /// <summary> /// Method to draw the fuel gauge every refresh /// </summary> private void DrawFuelGauge() { //UI Rectangles no longer function correctly. Until these are fixed, rely on in-vehicle gauge and debugging text. /* * gaugeBackground = new UIRectangle( * Visuals.FUEL_BAR_COORDINATES, * Visuals.FUEL_BAR_SIZE, * (currentCar.GetFuelLevelPercent() > 0.15f) * ? Visuals.FUEL_BAR_BACKGROUND_COLOR * : Visuals.FUEL_BAR_WARNING_COLOR); * * int gaugeWidth = (int)((float)Visuals.FUEL_BAR_SIZE.Width * currentCar.GetFuelLevelPercent()); * Size gaugeSize = new Size(gaugeWidth, Visuals.FUEL_BAR_SIZE.Height); * * gauge = new UIRectangle( * Visuals.FUEL_BAR_COORDINATES, gaugeSize, Visuals.FUEL_BAR_COLOR); * * gaugeText = new GTA.UI.TextElement((currentCar.GetFuelLevelPercent() * 100).ToString("F0") + * "%\n Current MPG: " + currentCar.GetCurrentFuelConsumption().ToString("F2") + * "\n Average MPG: " + currentCar.GetAverageFuelConsumption().ToString("F2") + * "\n Acceleration: " + currentCar.GetVehicleInstance().Acceleration.ToString("F6"), * new Point(Visuals.FUEL_BAR_COORDINATES.X, Visuals.FUEL_BAR_COORDINATES.Y - 120), * 0.5f, (lowFuelLevel) ? Visuals.FUEL_BAR_WARNING_COLOR : Color.White); * */ //gaugeBackground.Draw(); //gauge.Draw(); gaugeText = new GTA.UI.TextElement((currentCar.GetFuelLevelPercent() * 100).ToString("F0") + "%\n Current MPG: " + currentCar.GetCurrentFuelConsumption().ToString("F2") + "\n Average MPG: " + currentCar.GetAverageFuelConsumption().ToString("F2") + "\n Acceleration: " + currentCar.GetVehicleInstance().Acceleration.ToString("F6"), new Point(Visuals.FUEL_BAR_COORDINATES.X, Visuals.FUEL_BAR_COORDINATES.Y - 120), 0.5f, (lowFuelLevel) ? Visuals.FUEL_BAR_WARNING_COLOR : Color.White); gaugeText.Draw(); }
public static void Show(string value) { GTA.UI.TextElement elmnt = new GTA.UI.TextElement(value, new PointF(GTA.UI.Screen.Width - 250, GTA.UI.Screen.Height + 700), 0.4f, Color.White, GTA.UI.Font.ChaletLondon); elmnt.Draw(); }
public static void ShowStats(Character character) { GTA.UI.TextElement elmnt = new GTA.UI.TextElement("~w~Level: ~g~" + LevelCalculator.GetPlayerLevel(character.Xp) + " ~b~\\|/ ~w~XP to next level: ~g~" + LevelCalculator.GetXpToNextLevel(character.Xp), new PointF(GTA.UI.Screen.Width - 250, GTA.UI.Screen.Height - 20), 0.4f, Color.White, GTA.UI.Font.ChaletLondon); elmnt.Draw(); }
private void OnTick(object sender, EventArgs e) { //System.Diagnostics.Stopwatch Stopwatch = System.Diagnostics.Stopwatch.StartNew(); //Stopwatch.Start(); if (Function.Call <bool>(Hash.IS_HUD_HIDDEN) || Function.Call <bool>(Hash.IS_PLAYER_SWITCH_IN_PROGRESS)) { return; } Ped Character = Game.Player.Character; int WantedLevel = Game.Player.WantedLevel; // Option Offsets if ((Config.Options.BetterChases.IconOffsetX != 0 && Config.Options.BetterChases.IconOffsetX != BetterChasesIconOffsetX) || (Config.Options.BetterChases.IconOffsetY != 0 && Config.Options.BetterChases.IconOffsetY != BetterChasesIconOffsetY)) { CopsRamSprite.Position = new PointF(GTA.UI.Screen.Width - 265 + Config.Options.BetterChases.IconOffsetX, 5 + Config.Options.BetterChases.IconOffsetY); CopsShootSprite.Position = new PointF(GTA.UI.Screen.Width - 280 + Config.Options.BetterChases.IconOffsetX, 5 + Config.Options.BetterChases.IconOffsetY); ShowBetterChasesHUDUntil = Game.GameTime; BetterChasesIconOffsetX = Config.Options.BetterChases.IconOffsetX; BetterChasesIconOffsetY = Config.Options.BetterChases.IconOffsetY; } else if ((Config.Options.ArrestWarrants.IconOffsetX != 0 && Config.Options.ArrestWarrants.IconOffsetX != ArrestWarrantsIconOffsetX) || (Config.Options.ArrestWarrants.IconOffsetY != 0 && Config.Options.ArrestWarrants.IconOffsetY != ArrestWarrantsIconOffsetY)) { PedWantedSprite.Position = new PointF(GTA.UI.Screen.Width - 130 + Config.Options.ArrestWarrants.IconOffsetX, GTA.UI.Screen.Height - 19 + Config.Options.ArrestWarrants.IconOffsetY); CarWantedSprite.Position = new PointF(GTA.UI.Screen.Width - 144 + Config.Options.ArrestWarrants.IconOffsetX, GTA.UI.Screen.Height - 19 + Config.Options.ArrestWarrants.IconOffsetY); PlaneWantedSprite.Position = new PointF(GTA.UI.Screen.Width - 144 + Config.Options.ArrestWarrants.IconOffsetX, GTA.UI.Screen.Height - 19 + Config.Options.ArrestWarrants.IconOffsetY); HeliWantedSprite.Position = new PointF(GTA.UI.Screen.Width - 144 + Config.Options.ArrestWarrants.IconOffsetX, GTA.UI.Screen.Height - 19 + Config.Options.ArrestWarrants.IconOffsetY); BoatWantedSprite.Position = new PointF(GTA.UI.Screen.Width - 144 + Config.Options.ArrestWarrants.IconOffsetX, GTA.UI.Screen.Height - 19 + Config.Options.ArrestWarrants.IconOffsetY); BikeWantedSprite.Position = new PointF(GTA.UI.Screen.Width - 144 + Config.Options.ArrestWarrants.IconOffsetX, GTA.UI.Screen.Height - 19 + Config.Options.ArrestWarrants.IconOffsetY); ShowArrestWarrantsHUDUntil = Game.GameTime; ArrestWarrantsIconOffsetX = Config.Options.ArrestWarrants.IconOffsetX; ArrestWarrantsIconOffsetY = Config.Options.ArrestWarrants.IconOffsetY; } else if ((Config.Options.ArrestWarrants.TextOffsetX != 0 && Config.Options.ArrestWarrants.TextOffsetX != ArrestWarrantsTextOffsetX) || (Config.Options.ArrestWarrants.TextOffsetY != 0 && Config.Options.ArrestWarrants.TextOffsetY != ArrestWarrantsTextOffsetY)) { SuspectWanted = new GTA.UI.TextElement("~w~SUSPECT WANTED", new PointF(GTA.UI.Screen.Width - 150 + Config.Options.ArrestWarrants.TextOffsetX, GTA.UI.Screen.Height - 20 + Config.Options.ArrestWarrants.TextOffsetY), 0.4f, Color.White, GTA.UI.Font.ChaletLondon); WarrantActive = new GTA.UI.TextElement("~w~WARRANT ACTIVE", new PointF(GTA.UI.Screen.Width - 150 + Config.Options.ArrestWarrants.TextOffsetX, GTA.UI.Screen.Height - 20 + Config.Options.ArrestWarrants.TextOffsetY), 0.4f, Color.White, GTA.UI.Font.ChaletLondon); ShowArrestWarrantsHUDUntil = Game.GameTime; ArrestWarrantsTextOffsetX = Config.Options.ArrestWarrants.TextOffsetX; ArrestWarrantsTextOffsetY = Config.Options.ArrestWarrants.TextOffsetY; } else if ((Config.Options.ArrestWarrants.GradientOffsetX != 0 && Config.Options.ArrestWarrants.GradientOffsetX != ArrestWarrantsGradientOffsetX) || (Config.Options.ArrestWarrants.GradientOffsetY != 0 && Config.Options.ArrestWarrants.GradientOffsetY != ArrestWarrantsGradientOffsetY)) { WantedGradient.Position = new PointF(GTA.UI.Screen.Width - 490 + Config.Options.ArrestWarrants.GradientOffsetX, GTA.UI.Screen.Height - 22 + Config.Options.ArrestWarrants.GradientOffsetY); MichaelGradient.Position = new PointF(GTA.UI.Screen.Width - 490 + Config.Options.ArrestWarrants.GradientOffsetX, GTA.UI.Screen.Height - 22 + Config.Options.ArrestWarrants.GradientOffsetY); FranklinGradient.Position = new PointF(GTA.UI.Screen.Width - 490 + Config.Options.ArrestWarrants.GradientOffsetX, GTA.UI.Screen.Height - 22 + Config.Options.ArrestWarrants.GradientOffsetY); TrevorGradient.Position = new PointF(GTA.UI.Screen.Width - 490 + Config.Options.ArrestWarrants.GradientOffsetX, GTA.UI.Screen.Height - 22 + Config.Options.ArrestWarrants.GradientOffsetY); DimGradient.Position = new PointF(GTA.UI.Screen.Width - 490 + Config.Options.ArrestWarrants.GradientOffsetX, GTA.UI.Screen.Height - 22 + Config.Options.ArrestWarrants.GradientOffsetY); ShowArrestWarrantsHUDUntil = Game.GameTime; ArrestWarrantsGradientOffsetX = Config.Options.ArrestWarrants.GradientOffsetX; ArrestWarrantsGradientOffsetY = Config.Options.ArrestWarrants.GradientOffsetY; } if (Config.IsMenuOpen && ShowBetterChasesHUDUntil != 0 && ShowBetterChasesHUDUntil + OffsetChangeDisplayLength > Game.GameTime) { CopsRamSprite.Draw(); CopsShootSprite.Draw(); } else if (Config.IsMenuOpen && ShowArrestWarrantsHUDUntil != 0 && ShowArrestWarrantsHUDUntil + OffsetChangeDisplayLength > Game.GameTime) { WantedGradient.Draw(); PedWantedSprite.Draw(); CarWantedSprite.Draw(); SuspectWanted.Draw(); } else { if (Config.Options.BetterChases.ShowHUD && BetterChases.ActiveChase.PITAuthorized && WantedLevel > 0) { CopsRamSprite.Draw(); } if (Config.Options.BetterChases.ShowHUD && BetterChases.ActiveChase.DeadlyForce && WantedLevel > 0) { CopsShootSprite.Draw(); } if (Config.Options.ArrestWarrants.ShowHUD && (ArrestWarrants.PedWarrant.pedHash != 0 || (ArrestWarrants.VehicleWarrant.vehicleHash != 0 && Helpers.IsValid(Character.CurrentVehicle) && Character.CurrentVehicle.Model.Hash == ArrestWarrants.VehicleWarrant.vehicleHash))) { if (WantedLevel > 0 || Function.Call <bool>(Hash.ARE_PLAYER_STARS_GREYED_OUT, Game.Player)) { SuspectWanted.Draw(); WantedGradient.Draw(); } else { WarrantActive.Draw(); if (Character.Model == PedHash.Michael) { MichaelGradient.Draw(); } else if (Character.Model == PedHash.Franklin) { FranklinGradient.Draw(); } else if (Character.Model == PedHash.Trevor) { TrevorGradient.Draw(); } else { DimGradient.Draw(); } } if (ArrestWarrants.PedWarrant.pedHash != 0) { PedWantedSprite.Draw(); } if (ArrestWarrants.VehicleWarrant.vehicleHash != 0 && Helpers.IsValid(Character.CurrentVehicle) && Character.CurrentVehicle.Model.Hash == ArrestWarrants.VehicleWarrant.vehicleHash) { if (Helpers.GetModel(ArrestWarrants.VehicleWarrant.vehicleHash).IsCar) { CarWantedSprite.Draw(); } else if (Helpers.GetModel(ArrestWarrants.VehicleWarrant.vehicleHash).IsBicycle || Helpers.GetModel(ArrestWarrants.VehicleWarrant.vehicleHash).IsBike) { BikeWantedSprite.Draw(); } else if (Helpers.GetModel(ArrestWarrants.VehicleWarrant.vehicleHash).IsBoat) { BoatWantedSprite.Draw(); } else if (Helpers.GetModel(ArrestWarrants.VehicleWarrant.vehicleHash).IsPlane) { PlaneWantedSprite.Draw(); } else if (Helpers.GetModel(ArrestWarrants.VehicleWarrant.vehicleHash).IsHelicopter) { HeliWantedSprite.Draw(); } } } } // Recognition Markers if (Config.Options.ArrestWarrants.ShowSpottedIndicators && Markers.Count > 0) { foreach (UIMarker marker in Markers) { World.DrawMarker(marker.Type, marker.Entity.Position + new Vector3(0f, 0f, 1.5f), new Vector3(0, 0, 0), new Vector3(0f, 180f, 0f), new Vector3(0.5f, 0.5f, 0.5f), marker.Color, true, false, true, "", "", false); } } // Recognition meter if (Config.Options.ArrestWarrants.ShowSpottedMeter && Markers.Count > 0 && ArrestWarrants.ShowSpottedMeter) { SpottedMeterBG.Draw(); SpottedMeterText.Caption = "A cop is watching you.~n~~y~Recognition process: ~r~" + Math.Round(ArrestWarrants.SpottedMeter, 0) + "%"; SpottedMeterText.Draw(); } // Display Help Messages if (HelpMessages.Count > 0 && Game.GameTime > HelpMessageTime + HelpMessageInterval) { Function.Call(Hash.BEGIN_TEXT_COMMAND_DISPLAY_HELP, "STRING"); Function.Call(Hash.ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME, HelpMessages[0]); Function.Call(Hash.END_TEXT_COMMAND_DISPLAY_HELP, 0, 0, 0, HelpMessageInterval); HelpMessageTime = Game.GameTime; HelpMessages.RemoveAt(0); } // Display Big Messages if (BigMessages.Count > 0 && BigMessageTime == 0 && Game.GameTime > BigMessageTime + BigMessageInterval) { BigMessage message = BigMessages[0]; Scaleform.CallFunction("SHOW_SHARD_CENTERED_MP_MESSAGE", message.text, message.description, (int)message.color, (int)message.background); Function.Call(Hash.PLAY_SOUND_FRONTEND, 0, "CHECKPOINT_NORMAL", "HUD_MINI_GAME_SOUNDSET"); BigMessageTime = Game.GameTime; BigMessageInterval = message.duration; } else if (BigMessageTime > 0 && Game.GameTime < BigMessageTime + BigMessageInterval) { Scaleform.Render2D(); } else if (BigMessageTime > 0 && Game.GameTime > BigMessageTime + BigMessageInterval) { Scaleform.CallFunction("TRANSITION_OUT"); BigMessageTime = 0; BigMessages.RemoveAt(0); } //Stopwatch.Stop(); //UI.ShowSubtitle("Debug: " + "" + " CPU: " + Stopwatch.Elapsed); }