Esempio n. 1
0
 public void Restore(BackupVehicleHandling backup)
 {
     Acceleration      = backup.Acceleration;
     BrakeForce        = backup.BrakeForce;
     TractionCurveMin  = backup.TractionCurveMin;
     CollisionDamage   = backup.CollisionDamage;
     WeaponDamage      = backup.WeaponDamage;
     EngineDamage      = backup.EngineDamage;
     DeformationDamage = backup.DeformationDamage;
     UpShift           = backup.UpShift;
     HandBrakeForce    = backup.HandBrakeForce;
     SuspensionForce   = backup.SuspensionForce;
 }
Esempio n. 2
0
        internal static void Main(string[] args)
        {
            Console.SetWindowSize(Console.WindowWidth, 35);
            Console.Title           = $"BlyadTheftAuto@{System.Environment.UserName}";
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteWatermark();
            Console.CursorVisible = false;

            Features.Add(new BoolFeature("Master Toggle", Keys.MButton));
            Features.Add(new BoolFeature("God Mode", Keys.NumPad0));
            Features.Add(new BoolFeature("Super Bullets", Keys.NumPad1));             //damage, bullet damage, bullet amount, range, no spinup, muzzle velocity
            Features.Add(new BoolFeature("Never Wanted", Keys.NumPad2));
            Features.Add(new BoolFeature("Car God Mode", Keys.NumPad3));
            Features.Add(new BoolFeature("Rank Boost", Keys.NumPad4));

            Features.Add(new EventFeature("Teleport", Teleport, Keys.NumPad5));

            Features.Add(new BoolFeature("Anti NPC", Keys.NumPad6));
            Features.Add(new BoolFeature("No Spread", Keys.NumPad7));
            Features.Add(new BoolFeature("No Recoil", Keys.NumPad8));
            Features.Add(new BoolFeature("Fast Reload", Keys.NumPad9));

            Features.Add(new BoolFeature("Super Jump", Keys.F5));
            Features.Add(new BoolFeature("Explosive Melee", Keys.F6));
            Features.Add(new BoolFeature("Explosive Ammo", Keys.F7));
            Features.Add(new BoolFeature("Fire Ammo", Keys.F8));

            Features.Add(new EventFeature("Teleport High", Teleport2, Keys.F9));

            Features.Add(new BoolFeature("Rainbow Vehicle", Keys.F11));
            Features.Add(new EventFeature("Suicide", Suicide, Keys.F12));
            Features.Add(new EventFeature("Stop Boost", StopBoost, Keys.E));

            Features.Add(new IntFeature("Acceleration", Keys.Up, Keys.Down, 1, 1, 10));
            Features.Add(new IntFeature("Brake Force", Keys.Right, Keys.Left, 1, 1, 10));
            Features.Add(new IntFeature("Traction Curve", Keys.Add, Keys.Subtract, 1, 1, 5));
            Features.Add(new IntFeature("Suspension Force", Keys.Multiply, Keys.Divide, 1, 0, 2));
            Features.Add(new IntFeature("Shift Rate", Keys.Home, Keys.End, 1, 1, 25));
            Features.Add(new IntFeature("Run/Swim Speed", Keys.Insert, Keys.Delete, 1, 1, 5));
            Features.Add(new IntFeature("Wanted Level", Keys.F3, Keys.F4, 1, 0, 5, ChangeWantedLevel));
            Features.Add(new EventFeature("Save Position", SavePosition, Keys.XButton1));
            Features.Add(new EventFeature("Set Preset", SetPreset, Keys.XButton2));

            TeleportPresets = Settings.GetTeleportPresets();
            _teleportPreset = new IntFeature("Teleport Preset", Keys.OemPeriod, Keys.Oemcomma, 1, 0, TeleportPresets.Count - 1);

            while (BlyadTheftAuto.Memory is null)
            {
                Thread.Sleep(100);
                Process process;
                try
                {
                    process = Process.GetProcessesByName(BlyadTheftAuto.ProcessName).FirstOrDefault();
                    if (process == null)
                    {
                        continue;
                    }
                }
                catch
                {
                    continue;
                }

                BlyadTheftAuto.Memory = new ProcessMemory(process);
                //BlyadTheftAuto.Game = new PatternScan(BlyadTheftAuto.Memory, "GTA5.exe");
            }

            Console.WriteLine("\n  Offsets:");
            Console.WriteOffset("World", SignatureManager.GetWorld().Subtract(BlyadTheftAuto.Memory.MainModule.BaseAddress));
            //Console.WriteOffset("Ammo", AmmoPtr = new System.IntPtr(0x0F71C38));
            //Console.WriteOffset("Reload", ReloadPtr = new System.IntPtr(0x0F71C7D));

            World = new World(SignatureManager.GetWorld());

            KeyThread.Start();
            InfoThread.Start();

            Console.WriteNotification("\n  ");

            double rainbow = 0;

            while (Memory.IsProcessRunning)
            {
                rainbow += 0.01;
                if (rainbow >= 1)
                {
                    rainbow = 0;
                }

                var localPlayer     = World.GetLocalPlayer();
                var info            = localPlayer.GetPlayerInfo();
                var weapon          = localPlayer.GetWeapon();
                var vehicle         = localPlayer.GetVehicle();
                var vehicleColors   = vehicle.GetColors();
                var vehicleHandling = vehicle.GetHandling();

                if (Features.ByName <BoolFeature>("Rainbow Vehicle").Value)
                {
                    var clr = GetRainbow(rainbow);
                    vehicleColors.PrimaryRed     = clr.R;
                    vehicleColors.PrimaryGreen   = clr.G;
                    vehicleColors.PrimaryBlue    = clr.B;
                    vehicleColors.SecondaryRed   = clr.R;
                    vehicleColors.SecondaryGreen = clr.G;
                    vehicleColors.SecondaryBlue  = clr.B;
                }

                if (_currentWeapon == null)
                {
                    _currentWeapon = weapon;
                }
                if (_backupWeapon == null)
                {
                    _backupWeapon = new BackupWeapon(_currentWeapon);
                }
                if (_currentVehicleHandling == null)
                {
                    _currentVehicleHandling = vehicleHandling;
                }
                if (_backupVehicleHandling == null)
                {
                    _backupVehicleHandling = new BackupVehicleHandling(_currentVehicleHandling);
                }

                if (_backupWeapon.NameHash != weapon.NameHash)
                {
                    _currentWeapon.Restore(_backupWeapon);
                    _currentWeapon = weapon;
                    _backupWeapon  = new BackupWeapon(_currentWeapon);
                }

                if (_backupVehicleHandling.Address != vehicleHandling.Address)
                {
                    _currentVehicleHandling.Restore(_backupVehicleHandling);
                    _currentVehicleHandling = vehicleHandling;
                    _backupVehicleHandling  = new BackupVehicleHandling(_currentVehicleHandling);
                }

                localPlayer.GodMode        = Features.ByName <BoolFeature>("God Mode").Value;
                localPlayer.CanBeRagdolled = !Features.ByName <BoolFeature>("God Mode").Value;
                localPlayer.HasSeatBelt    = Features.ByName <BoolFeature>("God Mode").Value;
                if (Features.ByName <BoolFeature>("Never Wanted").Value)
                {
                    info.WantedLevel = 0;
                }

                var carGodMode = Features.ByName <BoolFeature>("Car God Mode").Value;
                vehicle.GodMode = carGodMode;
                vehicleHandling.CollisionDamage   = carGodMode ? 0.0f : 1;
                vehicleHandling.EngineDamage      = carGodMode ? 0.0f : 1;
                vehicleHandling.WeaponDamage      = carGodMode ? 0.0f : 1;
                vehicleHandling.DeformationDamage = carGodMode ? 0.0f : 1;
                if (carGodMode)
                {
                    vehicle.BulletproofTires = true;
                }

                weapon.BatchSpread = Features.ByName <BoolFeature>("No Spread").Value ? 0.0f : _backupWeapon.BatchSpread;
                weapon.Spread      = Features.ByName <BoolFeature>("No Spread").Value ? 0.0f : _backupWeapon.Spread;

                weapon.Recoil = Features.ByName <BoolFeature>("No Recoil").Value ? 0.0f : _backupWeapon.Recoil;

                info.RunSpeed  = Features.ByName <IntFeature>("Run/Swim Speed").Value;
                info.SwimSpeed = Features.ByName <IntFeature>("Run/Swim Speed").Value;

                vehicleHandling.Acceleration     = Features.ByName <IntFeature>("Acceleration").Value *_backupVehicleHandling.Acceleration;
                vehicleHandling.BrakeForce       = Features.ByName <IntFeature>("Brake Force").Value *_backupVehicleHandling.BrakeForce;
                vehicleHandling.HandBrakeForce   = Features.ByName <IntFeature>("Brake Force").Value *_backupVehicleHandling.HandBrakeForce;
                vehicleHandling.TractionCurveMin = Features.ByName <IntFeature>("Traction Curve").Value *_backupVehicleHandling.TractionCurveMin;
                vehicleHandling.SuspensionForce  = Features.ByName <IntFeature>("Suspension Force").Value *_backupVehicleHandling.SuspensionForce;

                var frameFlags = info.FrameFlags;
                if (Features.ByName <BoolFeature>("Super Jump").Value)
                {
                    frameFlags |= 1 << 14;
                }
                if (Features.ByName <BoolFeature>("Explosive Melee").Value)
                {
                    frameFlags |= 1 << 13;
                }
                if (Features.ByName <BoolFeature>("Fire Ammo").Value)
                {
                    frameFlags |= 1 << 12;
                }
                if (Features.ByName <BoolFeature>("Explosive Ammo").Value)
                {
                    frameFlags |= 1 << 11;
                }

                info.FrameFlags = frameFlags;

                if (Features.ByName <BoolFeature>("Rank Boost").Value&& !Features.ByName <BoolFeature>("Never Wanted").Value)
                {
                    if (info.WantedLevel >= 5)
                    {
                        info.WantedLevel = 0;
                    }
                    else
                    {
                        info.WantedLevel = 5;
                    }
                    Thread.Sleep(10);
                }

                if (Features.ByName <BoolFeature>("Anti NPC").Value)
                {
                    var attackers = localPlayer.GetAttackers();
                    foreach (var ped in attackers)
                    {
                        ped.Health         = 0;
                        localPlayer.Health = localPlayer.MaxHealth;
                    }
                }

                vehicleHandling.UpShift = _backupVehicleHandling.UpShift * Features.ByName <IntFeature>("Shift Rate").Value;

                //weapon.ReloadTime =  _backupWeapon.ReloadTime * (Features.ByName<BoolFeature>("Fast Reload").Value ? 10 : 1);

                var superBullets = Features.ByName <BoolFeature>("Super Bullets").Value;
                weapon.Damage         = _backupWeapon.Damage * (superBullets ? 10 : 1);
                weapon.BulletBatch    = _backupWeapon.BulletBatch * (superBullets ? 25 : 1);
                weapon.MuzzleVelocity = _backupWeapon.MuzzleVelocity * (superBullets ? 10 : 1);
                weapon.Range          = _backupWeapon.Range * (superBullets ? 10 : 1);
                weapon.SpinUp         = superBullets ? 0 : _backupWeapon.SpinUp;
                weapon.Spin           = superBullets ? 0 : _backupWeapon.Spin;

                //if (Features.ByName<BoolFeature>("No Reload").Value)
                //	Memory.WriteByteArray(ReloadPtr, three_nops);
                //else
                //	Memory.WriteByteArray(ReloadPtr, reload_backup);

                //if (Features.ByName<BoolFeature>("Infinite Ammo").Value)
                //	Memory.WriteByteArray(AmmoPtr, three_nops);
                //else
                //	Memory.WriteByteArray(AmmoPtr, ammo_backup);

                Thread.Sleep(10);
            }
        }