Help! How to use SDK UE4 To LGL Menu

it should be just like adding a normal file, drop the sdk to the project structure and import all the hpp to the main code. UE SDK is usually heavy cause too many files. you can probably just add in the essentials like engine structs, gworld, actor, movement component, and stuff like that.


:gif08:
 
it should be just like adding a normal file, drop the sdk to the project structure and import all the hpp to the main code. UE SDK is usually heavy cause too many files. you can probably just add in the essentials like engine structs, gworld, actor, movement component, and stuff like that.


:gif08:
I tried adding all sdk but got error, I tried external imgui version but it doesn't work to access GWorld, GName, GEngine, GUObjects offset

My structure like this :
C++:
void InitGlobalPointers() {
     if (IsPackageRunning("com.garena.game.lmjx")) {
         ProcessID = GetProcessID("com.garena.game.lmjx");
         if (ProcessID <= 0) return;
        
         BaseAddress = GetBaseAddress(ProcessID, "libUE4.so");
         if (!IsValidAddress(BaseAddress)) return;
         GWorld = Read<long>(BaseAddress + 0x0123456);
         if (!IsValidAddress(GWorld)) return;
         GEngine = Read<long>(BaseAddress + 0x0123456);
         if (!IsValidAddress(GEngine)) return;
         GName = Read<long>(BaseAddress + 0x0123456);
     }
     return;
}

// UE4.23+
std::string GetObjectName(long ObjectPointer) {
    std::string StrBuffer = "";   
    int32_t NameID = Read<uint32_t>(ObjectPointer + 0x18);
    long FNamePointer = Read<long>(GName + int(NameID / 0x4000) * 0x8);
    if (!IsValidAddress(FNamePointer)) return "";
    long FName = Read<long>(FNamePointer + int(NameID % 0x4000) * 0x8);
    if (!IsValidAddress(FName)) return "";
    ObjectName pBuffer = Read<ObjectName>(FName + 0x18);
    StrBuffer = pBuffer.Data;
    return StrBuffer;
}

void Parameter() {
    long Level = Read<long>(GWorld + 0x30); if (!IsValidAddress(Level)) return;
    long WorldSettings = Read<long>(Level + 0x250); if (!IsValidAddress(WorldSettings)) return;
    Write<float>(WorldSettings + 0x510, Speed);
}
 
Back
Top Bottom