Jump to content
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. Los Santos Drug Wars
      2. Updates
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Red Dead Online

      1. Blood Money
      2. Frontier Pursuits
      3. Find Lobbies & Outlaws
      4. Help & Support
    3. Crews

    1. Grand Theft Auto Series

      1. Bugs*
      2. St. Andrews Cathedral
    2. GTA VI

    3. GTA V

      1. Guides & Strategies
      2. Help & Support
    4. GTA IV

      1. The Lost and Damned
      2. The Ballad of Gay Tony
      3. Guides & Strategies
      4. Help & Support
    5. GTA San Andreas

      1. Classic GTA SA
      2. Guides & Strategies
      3. Help & Support
    6. GTA Vice City

      1. Classic GTA VC
      2. Guides & Strategies
      3. Help & Support
    7. GTA III

      1. Classic GTA III
      2. Guides & Strategies
      3. Help & Support
    8. Portable Games

      1. GTA Chinatown Wars
      2. GTA Vice City Stories
      3. GTA Liberty City Stories
    9. Top-Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. Red Dead Redemption 2

      1. PC
      2. Help & Support
    2. Red Dead Redemption

    1. GTA Mods

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Red Dead Mods

      1. Documentation
    3. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    4. Featured Mods

      1. Design Your Own Mission
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Rockstar Games

    2. Rockstar Collectors

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Movies & TV
      5. Music
      6. Sports
      7. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. Announcements

    2. Support

    3. Suggestions

Happy Holidays from the GTANet team!

Get if deluxo is currently in hover mode


XXDestroyer89
 Share

Recommended Posts

XXDestroyer89

Hello


I am want to determine how to do this? could someone help? I cant find native

Link to comment
Share on other sites

It's also possible in C#, here's a stripped and modified version of my VehicleExtensions class with only GetHoverTransformRatio. Initialize the offset at your script start and call it with myVehicle.GetHoverTransformRatio.

 

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;
using System.Xml;
using GTA;

namespace YourModNamespace
{
    static class VehicleExtensions
    {
        private static SerializableDictionary<string, uint> Offsets = 
            new SerializableDictionary<string, uint>();

        public static unsafe int GetHoverTransformRatio(this Vehicle v)
        {
            return *(int*)((ulong)v.MemoryAddress + Offsets["HoverTransformRatioOffset"]);
        }

        static unsafe ulong FindPattern(string pattern, string mask)
        {
            ProcessModule module = Process.GetCurrentProcess().MainModule;

            ulong address = (ulong)module.BaseAddress.ToInt64();
            ulong endAddress = address + (ulong)module.ModuleMemorySize;

            for (; address < endAddress; address++)
            {
                for (int i = 0; i < pattern.Length; i++)
                {
                    if (mask[i] != '?' && ((byte*)address)[i] != pattern[i])
                        break;
                    else if (i + 1 == pattern.Length)
                        return address;
                }
            }

            return 0;
        }

        private static unsafe void GetAndSetOffset(string field, 
            string pattern, string mask, long off1, long off2)
        {
            ulong addr = FindPattern(pattern, mask);
            Offsets[field] = addr == 0 ? 0 : (uint)(*(uint*)((long)addr + off1) + off2);
        }

        public static void InitializeOffsets()
        {
            GetAndSetOffset("HoverTransformRatioOffset",
                "\xF3\x0F\x11\xB3\x00\x00\x00\x00\x44\x88\x00\x00\x00\x00\x00\x48\x85\xC9", "xxxx????xx?????xxx",
                4, 0);
        }
    }
}

 

  • Like 4
Link to comment
Share on other sites

XXDestroyer89

Thank you this is really cool but I get the following error:

The type or namespace name 'SerializableDictionary<,>' could not be found (are you missing a using directive or an assembly reference?)

I have tried searching for it but I found:

Namespace:   Microsoft.WindowsServerSolutions.Administration.ObjectModel

But I can not access this in my project. It does not exist..

Link to comment
Share on other sites

You can also use a map, I just took it from code where I deserialized stuff.

 

If you want to keep it simple, you can hardcode the offset, but it will break if Rockstar updates the vehicle class.

 

        public static unsafe int GetHoverTransformRatio(this Vehicle v)
        {
            return *(int*)((ulong)v.MemoryAddress + 0x36C);
        }

(For future reference: This probably works for 1604+, currently works for 1868)

Edited by ikt
  • Like 3
Link to comment
Share on other sites

  • 5 months later...

Hi @ikt,

It seems that 0x36 does no longer work and I also have the  

The type or namespace name 'SerializableDictionary<,>' could not be found (are you missing a using directive or an assembly reference?)

issue. Is it possible for you to explain how the SerializableDictionary works so that we don't need 0x36 anymore and that we can continue to use this in the future.

 

Edit:

It seems that 

private static Dictionary<string, uint> Offsets = new Dictionary<string, uint>();

Might fix the issue.

Edited by stef538
Link to comment
Share on other sites

2060:

 

[12:13:01.647] [ DEBUG ] Hover Transform Active Offset: 0x358
[12:13:01.650] [ DEBUG ] Hover Transform Ratio Offset: 0x380

  • Like 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.