コード例 #1
0
ファイル: UIHelper.cs プロジェクト: jackabean123/GTA-Kingpin
 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();
 }
コード例 #2
0
ファイル: ModClass.cs プロジェクト: FBonini22/Fuel-Mod
        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();
        }
コード例 #3
0
ファイル: ModClass.cs プロジェクト: FBonini22/Fuel-Mod
        //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();
        }
コード例 #4
0
ファイル: UIHelper.cs プロジェクト: jackabean123/GTA-Kingpin
 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();
 }
コード例 #5
0
ファイル: UIHelper.cs プロジェクト: jackabean123/GTA-Kingpin
 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();
 }
コード例 #6
0
        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);
        }