shlifedev/among-us-memory

Doesnt Work With Recent Version?

Charlotte-Stuff opened this issue · 18 comments

How do I set it up? in the Guide, it says to find PlayerControl but it doesn't exist.

New offsets are in #52

Latest update broke it again

@112batman Check #60 and follow the offset guide!

@112batman Check #60 and follow the offset guide!

The latest version is 11.17, the classes you found for 11.4 have changed names so they would need to be found again.

Class names for 11.17:

PlayerControl: JENJGDMOEOC
ShipStatus: EIEMHBCHLNI

Edit: shipStatus was wrong (I should have paid more attention)

Where/How do apply those values in EngineOffset.cs?

public static string PlayerControl_Pointer = "GameAssembly.dll+144BB70";
public static string ShipStatus_Pointer = "GameAssembly.dll+144BB58";
public static string AmongusClient_Pointer = "GameAssembly.dll+1468840";
public static string PlayerControl_GetData = "55 8B EC 80 3D FA 1B ??";

Where/How do apply those values in EngineOffset.cs?


public static string PlayerControl_Pointer = "GameAssembly.dll+144BB70";

public static string ShipStatus_Pointer = "GameAssembly.dll+144BB58";

public static string AmongusClient_Pointer = "GameAssembly.dll+1468840";

public static string PlayerControl_GetData = "55 8B EC 80 3D FA 1B ??";

Follow the offset guide, the "PlayerControl" and "ShipStatus" classe names wont show up in mono because they have been obfuscated so you have to look for the names I put in that reply instead. Everything else in the guide is the same.

Edit: clarified what to do with the offset guide

    //12.3s
    public static string PlayerControl_Pointer = "GameAssembly.dll+193C4B4";
    public static string ShipStatus_Pointer = "GameAssembly.dll+193BE9C";
    public static string PlayerControl_GetData = "55 8B EC 80 3D EC C8 ??";
    //12.3s
    public static string PlayerControl_Pointer = "GameAssembly.dll+193C4B4";
    public static string ShipStatus_Pointer = "GameAssembly.dll+193BE9C";
    public static string PlayerControl_GetData = "55 8B EC 80 3D EC C8 ??";

Game literally just updated, lol

I will look and update here.

PlayerControl = 0x1BE11CC
ShipStatus = 0x0x1BE114C
AmongUsClient = 0x1BE1074
var aobScan = Functions.mem.AoBScan("55 8B EC 80 3D 12 40 ??");

ShipStatus = 0x1C56C38 //KHNHJFFECBP
AmongUsClient = 0x1C57F54 //FMLLKEACGIO
PlayerControl = 0x1C57F7C //FFGALNAPKCD
var aobScan = Functions.mem.AoBScan("55 8B EC 80 3D A9 D1 ??");

You're doing a great job! Thank you~

You're doing a great job! Thank you~

Thx

@shlifedev I no longer use your source in my source but if you want, I will keep creating pull requests when I remember and posting new offsets in a commit.

    public static string PlayerControl_Pointer = "GameAssembly.dll+1C57F7C"; 
    public static string ShipStatus_Pointer = "GameAssembly.dll+1C56C38";
    public static string AmongusClient_Pointer = "GameAssembly.dll+1C57F54";
    public static string PlayerControl_GetData = "55 8B EC 80 3D A9 D1 ??";

I have that offsets, but Cheese.GetShipStatus(); return 0 value for all ShipStatus Properties..

It happens because resultInst.MapScale > 0.1f from Cheese.GetShipStatus(); is always false.

Do you have any ideas ?

    public static string PlayerControl_Pointer = "GameAssembly.dll+1C57F7C"; 
    public static string ShipStatus_Pointer = "GameAssembly.dll+1C56C38";
    public static string AmongusClient_Pointer = "GameAssembly.dll+1C57F54";
    public static string PlayerControl_GetData = "55 8B EC 80 3D A9 D1 ??";

I have that offsets, but Cheese.GetShipStatus(); return 0 value for all ShipStatus Properties..

It happens because resultInst.MapScale > 0.1f from Cheese.GetShipStatus(); is always false.

Do you have any ideas ?

Try using 1C57F54 for ShipStatus?

    public static string PlayerControl_Pointer = "GameAssembly.dll+1C57F7C"; 
    public static string ShipStatus_Pointer = "GameAssembly.dll+1C56C38";
    public static string AmongusClient_Pointer = "GameAssembly.dll+1C57F54";
    public static string PlayerControl_GetData = "55 8B EC 80 3D A9 D1 ??";

I have that offsets, but Cheese.GetShipStatus(); return 0 value for all ShipStatus Properties..
It happens because resultInst.MapScale > 0.1f from Cheese.GetShipStatus(); is always false.
Do you have any ideas ?

Try using 1C57F54 for ShipStatus?

It doesn't work.

I have a quick fix (it's clearly not the best way).

In Cheese.GetShipStatus()

                if (resultInst.MapScale < 6470545000000 && resultInst.MapScale >= 0f)
                {  
                    shipStatus = resultInst;  
                }

In Cheese._ObserveShipStatus()

            if (prevShipStatus.OwnerId != shipStatus.OwnerId || (prevShipStatus.OwnerId == shipStatus.OwnerId && shipStatus.Timer > 0f))
            {
                prevShipStatus = shipStatus;
                onChangeShipStatus?.Invoke(shipStatus.Type);
            }