《暗區突圍:無限》核心主題 快速閱讀精華
🚀 核心重點:
- 最新偏移量: 包含 GWorld、GNames、UWorld 等關鍵記憶體位址,支援最新版本。
- 完整 SDK 結構: 提供 PlayerController、Pawn、Bone 骨架等詳細 C++ 結構定義。
- 開發者專用: 適用於製作透視、自瞄等外部輔助工具的開發參考。
- 懶人下載: 文末附上整理好的完整 SDK Dump 檔案與代碼清單。
前言:解決開發卡關的數據難題
各位熱愛技術鑽研的玩家與開發者們,是不是在製作《暗區突圍:無限》(Arena Breakout: Infinite) 的輔助工具時,經常因為遊戲更新導致 `GWorld` 或 `GNames` 的偏移量失效,程式直接閃退或無法讀取數據?
別擔心,我們深知逆向工程中最花時間的就是找這些基礎地址。為了幫大家節省時間,我們團隊深入分析了遊戲內存,整理出一份針對 **Unreal Engine 4.26 (v4.26.0+++UE4+Release-4.ABInfinite)** 版本的完整數據結構與偏移量對照表。無論你是需要修復骨架透視,還是想更新自瞄邏輯,這篇攻略提供的 C++ 源碼都能讓你直接複製貼上,快速讓工具恢復運作!
⚠️ 重要提醒: 本文涉及遊戲記憶體讀寫與逆向工程技術,僅供學術研究與單機測試使用,請勿用於破壞遊戲平衡。
基礎全域偏移量 (Global Offsets)
首先,我們要把最核心的地基打好。這些全域偏移量是進入遊戲記憶體世界的鑰匙,所有的數據讀取都從這裡開始。
![]()
👉 GM後台版 遊戲 推薦 ⬇️⬇️⬇️ 快速玩各種二次元動漫手遊app

以下是我們測試後確認可用的基礎命名空間設定,包含了世界指針 (GWorld) 與物件名稱池 (GNames):
// 這段代碼定義了遊戲最基礎的進入點,請確保你的驅動程式能正確讀取這些地址
namespace offsets {
namespace game {
constexpr auto OFFSET_GWORLD = 0x0A0417A8; // 世界指針
constexpr auto OFFSET_GOBJECTS = 0xb031548; // 物件池
constexpr auto OFFSET_GNAMES = 0x0A573E00; // 名稱池
constexpr auto OFFSET_FNAME_ENCRYPTION_KEY = 0xB016D88; // 加密金鑰
}
}
完整 SDK 結構定義 (Structs)
有了入口後,接下來就是重頭戲了。我們需要知道遊戲中的「玩家」、「相機」、「骨架」在記憶體中長什麼樣子。底下這段是我們整理出的超完整 SDK 結構定義。
【小知識】為什麼需要這些結構?
想像遊戲記憶體是一個巨大的倉庫,而這些 `Struct` 就像是貨架地圖。如果沒有這張地圖,你讀出來的數據就只是一堆無意義的亂碼;有了它,你就能精準知道「血量放在第幾排」、「頭部座標在第幾層」。
這段代碼非常長,但非常詳細,涵蓋了從 `UWorld` 到 `ASGCharacter` (角色屬性) 的所有細節:
// Inheritance: UObject
namespace UWorld {
constexpr auto PersistentLevel = 0x30; // ULevel*
constexpr auto NetDriver = 0x38; // UNetDriver*
constexpr auto LineBatcher = 0x40; // ULineBatchComponent*
constexpr auto PersistentLineBatcher = 0x48; // ULineBatchComponent*
constexpr auto ForegroundLineBatcher = 0x50; // ULineBatchComponent*
constexpr auto NetworkManager = 0x58; // AGameNetworkManager*
constexpr auto PhysicsCollisionHandler = 0x60; // UPhysicsCollisionHandler*
constexpr auto ExtraReferencedObjects = 0x68; // TArray<UObject*>
constexpr auto PerModuleDataObjects = 0x78; // TArray<UObject*>
constexpr auto StreamingLevels = 0x88; // TArray<ULevelStreaming*>
constexpr auto StreamingLevelsToConsider = 0x98; // FStreamingLevelsToConsider
constexpr auto StreamingLevelsPrefix = 0xc0; // FString
constexpr auto CurrentLevelPendingVisibility = 0xd0; // ULevel*
constexpr auto CurrentLevelPendingInvisibility = 0xd8; // ULevel*
constexpr auto DemoNetDriver = 0xe0; // UDemoNetDriver*
constexpr auto MyParticleEventManager = 0xe8; // AParticleEventManager*
constexpr auto DefaultPhysicsVolume = 0xf0; // APhysicsVolume*
constexpr auto bAreConstraintsDirty = 0x10e; // uint8
constexpr auto NavigationSystem = 0x110; // UNavigationSystemBase*
constexpr auto AuthorityGameMode = 0x118; // AGameModeBase*
constexpr auto GameState = 0x120; // AGameStateBase*
constexpr auto AISystem = 0x128; // UAISystemBase*
constexpr auto AvoidanceManager = 0x130; // UAvoidanceManager*
constexpr auto Levels = 0x138; // TArray<ULevel*>
constexpr auto LevelCollections = 0x148; // TArray<FLevelCollection>
constexpr auto OwningGameInstance = 0x180; // UGameInstance*
constexpr auto ParameterCollectionInstances = 0x188; // TArray<UMaterialParameterCollectionInstance*>
constexpr auto CanvasForRenderingToTarget = 0x198; // UCanvas*
constexpr auto CanvasForDrawMaterialToRenderTarget = 0x1a0; // UCanvas*
constexpr auto VolumeCacheComponents = 0x1f8; // TArray<UPrimitiveComponent*>
constexpr auto ComponentsThatNeedPreEndOfFrameSync = 0x208; // TSet<UActorComponent*>
constexpr auto ComponentsThatNeedEndOfFrameUpdate = 0x258; // TArray<UActorComponent*>
constexpr auto ComponentsThatNeedEndOfFrameUpdate_OnGameThread = 0x268; // TArray<UActorComponent*>
constexpr auto WorldComposition = 0x650; // UWorldComposition*
constexpr auto PSCPool = 0x6f0; // FWorldPSCPool
}
// Inheritance: UObject
namespace ULevel {
constexpr auto OwningWorld = 0xb8; // UWorld*
constexpr auto Model = 0xc0; // UModel*
constexpr auto ModelComponents = 0xc8; // TArray<UModelComponent*>
constexpr auto ActorCluster = 0xd8; // ULevelActorContainer*
constexpr auto NumTextureStreamingUnbuiltComponents = 0xe0; // int32
constexpr auto NumTextureStreamingDirtyResources = 0xe4; // int32
constexpr auto LevelScriptActor = 0xe8; // ALevelScriptActor*
constexpr auto NavListStart = 0xf0; // ANavigationObjectBase*
constexpr auto NavListEnd = 0xf8; // ANavigationObjectBase*
constexpr auto NavDataChunks = 0x100; // TArray<UNavigationDataChunk*>
constexpr auto LightmapTotalSize = 0x110; // float
constexpr auto ShadowmapTotalSize = 0x114; // float
constexpr auto StaticNavigableGeometry = 0x118; // TArray<FVector>
constexpr auto StreamingTextureGuids = 0x128; // TArray<FGuid>
constexpr auto LevelBuildDataId = 0x3a8; // FGuid
constexpr auto MapBuildData = 0x3b8; // UMapBuildDataRegistry*
constexpr auto LightBuildLevelOffset = 0x3c0; // FIntVector
constexpr auto bIsLightingScenario = 0x3cc; // uint8
constexpr auto bTextureStreamingRotationChanged = 0x3cc; // uint8
constexpr auto bStaticComponentsRegisteredInStreamingManager = 0x3cc; // uint8
constexpr auto bIsVisible = 0x3cc; // uint8
constexpr auto WorldSettings = 0x440; // AWorldSettings*
constexpr auto AssetUserData = 0x450; // TArray<UAssetUserData*>
constexpr auto DestroyedReplicatedStaticActors = 0x470; // TArray<FReplicatedStaticActorDestructionInfo>
constexpr auto ActorArray = 0x98;//0xd8
}
// Inheritance: UObject
namespace UGameInstance {
constexpr auto LocalPlayers = 0x38; // TArray<ULocalPlayer*>
constexpr auto OnlineSession = 0x48; // UOnlineSession*
constexpr auto ReferencedObjects = 0x50; // TArray<UObject*>
constexpr auto OnPawnControllerChangedDelegates = 0x78; // FMulticastInlineDelegateProperty_
}
// Inheritance: UObject
namespace UPlayer {
constexpr auto PlayerController = 0x30; // APlayerController*
constexpr auto CurrentNetSpeed = 0x38; // int32
constexpr auto ConfiguredInternetSpeed = 0x3c; // int32
constexpr auto ConfiguredLanSpeed = 0x40; // int32
}
// Inheritance: UPlayer > UObject
namespace ULocalPlayer {
constexpr auto ViewportClient = 0x70; // UGameViewportClient*
constexpr auto AspectRatioAxisConstraint = 0x94; // EAspectRatioAxisConstraint
constexpr auto PendingLevelPlayerControllerClass = 0x98; // TSubclassOf<APlayerController*>
constexpr auto bSentSplitJoin = 0xa0; // uint8
constexpr auto ControllerId = 0xb8; // int32
}
// Inheritance: AController > AActor > UObject
namespace APlayerController {
constexpr auto Player = 0x30; // UPlayer*
constexpr auto AcknowledgedPawn = 0x390; // APawn*
constexpr auto ControllingDirTrackInst = 0x398; // UInterpTrackInstDirector*
constexpr auto MyHUD = 0x3a0; // AHUD*
constexpr auto PlayerCameraManager = 0x03A8; // APlayerCameraManager*
constexpr auto PlayerCameraManagerClass = 0x3b0; // TSubclassOf<APlayerCameraManager*>
constexpr auto bAutoManageActiveCameraTarget = 0x3b8; // bool
constexpr auto TargetViewRotation = 0x3bc; // FRotator
constexpr auto SmoothTargetViewRotationSpeed = 0x3d4; // float
constexpr auto HiddenActors = 0x3e0; // TArray<AActor*>
constexpr auto HiddenPrimitiveComponents = 0x3f0; // TArray<TWeakObjectPtr<UPrimitiveComponent*>>
constexpr auto LastSpectatorStateSynchTime = 0x404; // float
constexpr auto LastSpectatorSyncLocation = 0x408; // FVector
constexpr auto LastSpectatorSyncRotation = 0x414; // FRotator
constexpr auto ClientCap = 0x420; // int32
constexpr auto CheatManager = 0x428; // UCheatManager*
constexpr auto CheatClass = 0x430; // TSubclassOf<UCheatManager*>
constexpr auto PlayerInput = 0x438; // UPlayerInput*
constexpr auto ActiveForceFeedbackEffects = 0x440; // TArray<FActiveForceFeedbackEffect>
constexpr auto bSlateForceFeedbackEnable = 0x450; // bool
constexpr auto bProcessDynamicFeedbackEnable = 0x451; // bool
constexpr auto bPlayerIsWaiting = 0x4c8; // uint8
constexpr auto NetPlayerIndex = 0x4cc; // uint8
constexpr auto PendingSwapConnection = 0x508; // UNetConnection*
constexpr auto NetConnection = 0x510; // UNetConnection*
constexpr auto InputYawScale = 0x524; // float
constexpr auto InputPitchScale = 0x528; // float
constexpr auto InputRollScale = 0x52c; // float
constexpr auto bShowMouseCursor = 0x530; // uint8
constexpr auto bEnableClickEvents = 0x530; // uint8
constexpr auto bEnableTouchEvents = 0x530; // uint8
constexpr auto bEnableMouseOverEvents = 0x530; // uint8
constexpr auto bEnableTouchOverEvents = 0x530; // uint8
constexpr auto bForceFeedbackEnabled = 0x530; // uint8
constexpr auto ForceFeedbackScale = 0x534; // float
constexpr auto ClickEventKeys = 0x538; // TArray<FKey>
constexpr auto DefaultMouseCursor = 0x548; // EMouseCursor
constexpr auto CurrentMouseCursor = 0x549; // EMouseCursor
constexpr auto DefaultClickTraceChannel = 0x54a; // ECollisionChannel
constexpr auto CurrentClickTraceChannel = 0x54b; // ECollisionChannel
constexpr auto HitResultTraceDistance = 0x54c; // float
constexpr auto SeamlessTravelCount = 0x550; // uint16
constexpr auto LastCompletedSeamlessTravelCount = 0x552; // uint16
constexpr auto InactiveStateInputComponent = 0x5c8; // UInputComponent*
constexpr auto bShouldPerformFullTickWhenPaused = 0x5d0; // uint8
constexpr auto CurrentTouchInterface = 0x5e8; // UTouchInterface*
constexpr auto SpectatorPawn = 0x640; // ASpectatorPawn*
constexpr auto bIsLocalPlayerController = 0x64c; // bool
constexpr auto SpawnLocation = 0x650; // FVector
}
// Inheritance: AInfo > AActor > UObject
namespace AGameStateBase {
constexpr auto GameModeClass = 0x310; // TSubclassOf<AGameModeBase*>
constexpr auto AuthorityGameMode = 0x318; // AGameModeBase*
constexpr auto SpectatorClass = 0x320; // TSubclassOf<ASpectatorPawn*>
constexpr auto PlayerArray = 0x0328; // TArray<APlayerState*>
constexpr auto bReplicatedHasBegunPlay = 0x338; // bool
constexpr auto ReplicatedWorldTimeSeconds = 0x33c; // float
constexpr auto ServerWorldTimeSecondsDelta = 0x340; // float
constexpr auto ServerWorldTimeSecondsUpdateFrequency = 0x344; // float
}
// Inheritance: UObject
namespace AActor {
constexpr auto PrimaryActorTick = 0x28; // FActorTickFunction
constexpr auto bNetTemporary = 0x68; // uint8
constexpr auto bNetStartup = 0x68; // uint8
constexpr auto bOnlyRelevantToOwner = 0x68; // uint8
constexpr auto bAlwaysRelevant = 0x68; // uint8
constexpr auto bReplicateMovement = 0x68; // uint8
constexpr auto bHidden = 0x68; // uint8
constexpr auto bTearOff = 0x68; // uint8
constexpr auto bExchangedRoles = 0x68; // uint8
constexpr auto bNetLoadOnClient = 0x69; // uint8
constexpr auto bNetUseOwnerRelevancy = 0x69; // uint8
constexpr auto bRelevantForNetworkReplays = 0x69; // uint8
constexpr auto bRelevantForLevelBounds = 0x69; // uint8
constexpr auto bReplayRewindable = 0x69; // uint8
constexpr auto bAllowTickBeforeBeginPlay = 0x69; // uint8
constexpr auto bAutoDestroyWhenFinished = 0x69; // uint8
constexpr auto bCanBeDamaged = 0x69; // uint8
constexpr auto bBlockInput = 0x6a; // uint8
constexpr auto bCollideWhenPlacing = 0x6a; // uint8
constexpr auto bFindCameraComponentWhenViewTarget = 0x6a; // uint8
constexpr auto bGenerateOverlapEventsDuringLevelStreaming = 0x6a; // uint8
constexpr auto bIgnoresOriginShifting = 0x6a; // uint8
constexpr auto bEnableAutoLODGeneration = 0x6a; // uint8
constexpr auto bIsEditorOnlyActor = 0x6a; // uint8
constexpr auto bActorSeamlessTraveled = 0x6a; // uint8
constexpr auto bForceInCookedBuildActor = 0x6b; // uint8
constexpr auto bForceNotInCookedBuildActor = 0x6b; // uint8
constexpr auto bNoHLODInOptProcess = 0x6b; // uint8
constexpr auto bReplicates = 0x6b; // uint8
constexpr auto bCanBeInCluster = 0x6b; // uint8
constexpr auto bAllowReceiveTickEventOnDedicatedServer = 0x6b; // uint8
constexpr auto bActorEnableCollision = 0x6c; // uint8
constexpr auto bActorIsBeingDestroyed = 0x6c; // uint8
constexpr auto UpdateOverlapsMethodDuringLevelStreaming = 0x6e; // EActorUpdateOverlapsMethod
constexpr auto DefaultUpdateOverlapsMethodDuringLevelStreaming = 0x6f; // EActorUpdateOverlapsMethod
constexpr auto RemoteRole = 0x70; // ENetRole
constexpr auto bManualReplicates = 0x88; // uint8
constexpr auto bSubobjectsManualReplicates = 0x88; // uint8
constexpr auto bIgnoreAttachmentTranform = 0x88; // uint8
constexpr auto ReplicatedMovement = 0x8c; // FRepMovement
constexpr auto InitialLifeSpan = 0xc0; // float
constexpr auto CustomTimeDilation = 0xc4; // float
constexpr auto AttachmentReplication = 0xd0; // FRepAttachment
constexpr auto Owner = 0x110; // AActor*
constexpr auto NetDriverName = 0x118; // FName
constexpr auto Role = 0x120; // ENetRole
constexpr auto NetDormancy = 0x121; // ENetDormancy
constexpr auto SpawnCollisionHandlingMethod = 0x122; // ESpawnActorCollisionHandlingMethod
constexpr auto AutoReceiveInput = 0x123; // EAutoReceiveInput
constexpr auto InputPriority = 0x124; // int32
constexpr auto InputComponent = 0x128; // UInputComponent*
constexpr auto NetCullDistanceSquared = 0x130; // float
constexpr auto NetTag = 0x134; // int32
constexpr auto NetUpdateFrequency = 0x138; // float
constexpr auto MinNetUpdateFrequency = 0x13c; // float
constexpr auto NetPriority = 0x140; // float
constexpr auto Instigator = 0x150; // APawn*
constexpr auto Children = 0x158; // TArray<AActor*>
constexpr auto RootComponent = 0x168; // USceneComponent*
constexpr auto ControllingMatineeActors = 0x170; // TArray<AMatineeActor*>
constexpr auto Layers = 0x188; // TArray<FName>
constexpr auto ParentComponent = 0x198; // TWeakObjectPtr<UChildActorComponent*>
constexpr auto Tags = 0x1a8; // TArray<FName>
constexpr auto OnTakeAnyDamage = 0x1b8; // FMulticastSparseDelegateProperty_
constexpr auto OnTakePointDamage = 0x1b9; // FMulticastSparseDelegateProperty_
constexpr auto OnTakeRadialDamage = 0x1ba; // FMulticastSparseDelegateProperty_
constexpr auto OnActorBeginOverlap = 0x1bb; // FMulticastSparseDelegateProperty_
constexpr auto OnActorEndOverlap = 0x1bc; // FMulticastSparseDelegateProperty_
constexpr auto OnBeginCursorOver = 0x1bd; // FMulticastSparseDelegateProperty_
constexpr auto OnEndCursorOver = 0x1be; // FMulticastSparseDelegateProperty_
constexpr auto OnClicked = 0x1bf; // FMulticastSparseDelegateProperty_
constexpr auto OnReleased = 0x1c0; // FMulticastSparseDelegateProperty_
constexpr auto OnInputTouchBegin = 0x1c1; // FMulticastSparseDelegateProperty_
constexpr auto OnInputTouchEnd = 0x1c2; // FMulticastSparseDelegateProperty_
constexpr auto OnInputTouchEnter = 0x1c3; // FMulticastSparseDelegateProperty_
constexpr auto OnInputTouchLeave = 0x1c4; // FMulticastSparseDelegateProperty_
constexpr auto OnActorHit = 0x1c5; // FMulticastSparseDelegateProperty_
constexpr auto OnDestroyed = 0x1c6; // FMulticastSparseDelegateProperty_
constexpr auto OnEndPlay = 0x1c7; // FMulticastSparseDelegateProperty_
constexpr auto InstanceComponents = 0x2e0; // TArray<UActorComponent*>
constexpr auto BlueprintCreatedComponents = 0x2f0; // TArray<UActorComponent*>
}
// Inheritance: AActor > UObject
namespace APawn {
constexpr auto bUseControllerRotationPitch = 0x370; // uint8
constexpr auto bUseControllerRotationYaw = 0x370; // uint8
constexpr auto bUseControllerRotationRoll = 0x370; // uint8
constexpr auto bCanAffectNavigationGeneration = 0x370; // uint8
constexpr auto BaseEyeHeight = 0x31c; // float
constexpr auto AutoPossessPlayer = 0x320; // EAutoReceiveInput
constexpr auto AutoPossessAI = 0x321; // EAutoPossessAI
constexpr auto RemoteViewPitch = 0x322; // uint8
constexpr auto AIControllerClass = 0x328; // TSubclassOf<AController*>
constexpr auto OnReceivePhysicsEvent = 0x330; // FMulticastInlineDelegateProperty_
constexpr auto PlayerState = 0x340; // APlayerState*
constexpr auto LastHitBy = 0x350; // AController*
constexpr auto Controller = 0x358; // AController*
constexpr auto ControlInputVector = 0x364; // FVector
constexpr auto LastControlInputVector = 0x370; // FVector
}
// Inheritance: UActorComponent > UObject
namespace USceneComponent {
constexpr auto PhysicsVolume = 0x100; // TWeakObjectPtr<APhysicsVolume*>
constexpr auto AttachParent = 0x0108; // USceneComponent*
constexpr auto AttachSocketName = 0x110; // FName
constexpr auto AttachChildren = 0x118; // TArray<USceneComponent*>
constexpr auto ClientAttachedChildren = 0x128; // TArray<USceneComponent*>
constexpr auto RelativeLocation = 0x016C; // FVector
constexpr auto RelativeRotation = 0x178; // FRotator
constexpr auto RelativeScale3D = 0x184; // FVector
constexpr auto ComponentVelocity = 0x190; // FVector
constexpr auto bComponentToWorldUpdated = 0x19c; // uint8
constexpr auto bAbsoluteLocation = 0x19c; // uint8
constexpr auto bAbsoluteRotation = 0x19c; // uint8
constexpr auto bAbsoluteScale = 0x19c; // uint8
constexpr auto bVisible = 0x19c; // uint8
constexpr auto bShouldBeAttached = 0x19c; // uint8
constexpr auto bShouldSnapLocationWhenAttached = 0x19c; // uint8
constexpr auto bShouldSnapRotationWhenAttached = 0x19d; // uint8
constexpr auto bShouldUpdatePhysicsVolume = 0x19d; // uint8
constexpr auto bHiddenInGame = 0x19d; // uint8
constexpr auto bBoundsChangeTriggersStreamingDataRebuild = 0x19d; // uint8
constexpr auto bUseAttachParentBound = 0x19d; // uint8
constexpr auto Mobility = 0x19f; // EComponentMobility
constexpr auto DetailMode = 0x1a0; // EDetailMode
constexpr auto PhysicsVolumeChangedDelegate = 0x1a1; // FMulticastSparseDelegateProperty_
}
// Inheritance: AActor > UObject
namespace APlayerCameraManager {
constexpr auto PCOwner = 0x310; // APlayerController*
constexpr auto TransformComponent = 0x318; // USceneComponent*
constexpr auto DefaultFOV = 0x328; // float
constexpr auto DefaultOrthoWidth = 0x330; // float
constexpr auto DefaultAspectRatio = 0x338; // float
constexpr auto CameraCache = 0x380; // FCameraCacheEntry
constexpr auto LastFrameCameraCache = 0xab0; // FCameraCacheEntry
constexpr auto ViewTarget = 0x11e0; // FTViewTarget
constexpr auto PendingViewTarget = 0x1920; // FTViewTarget
constexpr auto CameraCachePrivate = 0x2090; // FCameraCacheEntry
constexpr auto LastFrameCameraCachePrivate = 0x27c0; // FCameraCacheEntry
constexpr auto ModifierList = 0x2ef0; // TArray<UCameraModifier*>
constexpr auto DefaultModifiers = 0x2f00; // TArray<TSubclassOf<UCameraModifier*>>
constexpr auto FreeCamDistance = 0x2f10; // float
constexpr auto FreeCamOffset = 0x2f14; // FVector
constexpr auto ViewTargetOffset = 0x2f20; // FVector
constexpr auto OnAudioFadeChangeEvent = 0x2f30; // FMulticastInlineDelegateProperty_
constexpr auto CameraLensEffects = 0x2f50; // TArray<AEmitterCameraLensEffectBase*>
constexpr auto CachedCameraShakeMod = 0x2f60; // UCameraModifier_CameraShake*
constexpr auto AnimInstPool = 0x2f68; // UCameraAnimInst*
constexpr auto PostProcessBlendCache = 0x2fa8; // TArray<FPostProcessSettings>
constexpr auto ActiveAnims = 0x2fc8; // TArray<UCameraAnimInst*>
constexpr auto FreeAnims = 0x2fd8; // TArray<UCameraAnimInst*>
constexpr auto AnimCameraActor = 0x2fe8; // ACameraActor*
constexpr auto bIsOrthographic = 0x2ff0; // uint8
constexpr auto bDefaultConstrainAspectRatio = 0x2ff0; // uint8
constexpr auto bClientSimulatingViewTarget = 0x2ff0; // uint8
constexpr auto bUseClientSideCameraUpdates = 0x2ff0; // uint8
constexpr auto bGameCameraCutThisFrame = 0x2ff1; // uint8
constexpr auto ViewPitchMin = 0x2ff4; // float
constexpr auto ViewPitchMax = 0x2ff8; // float
constexpr auto ViewYawMin = 0x2ffc; // float
constexpr auto ViewYawMax = 0x3000; // float
constexpr auto ViewRollMin = 0x3004; // float
constexpr auto ViewRollMax = 0x3008; // float
constexpr auto ServerUpdateCameraTimeout = 0x3010; // float
}
// Inheritance: USkinnedMeshComponent > UMeshComponent > UPrimitiveComponent > USceneComponent > UActorComponent > UObject
namespace USkeletalMeshComponent {
constexpr auto AnimBlueprintGeneratedClass = 0x868; // UClass*
constexpr auto AnimClass = 0x870; // TSubclassOf<UAnimInstance*>
constexpr auto AnimScriptInstance = 0x878; // UAnimInstance*
constexpr auto PostProcessAnimInstance = 0x880; // UAnimInstance*
constexpr auto AnimationData = 0x888; // FSingleAnimationPlayData
constexpr auto RootBoneTranslation = 0x8b0; // FVector
constexpr auto LineCheckBoundsScale = 0x8bc; // FVector
constexpr auto LinkedInstances = 0x8f8; // TArray<UAnimInstance*>
constexpr auto CachedBoneSpaceTransforms = 0x08E8; // TArray<FTransform>
constexpr auto CachedComponentSpaceTransforms = 0x918; // TArray<FTransform>
constexpr auto GlobalAnimRateScale = 0xa78; // float
constexpr auto KinematicBonesUpdateType = 0xa7c; // EKinematicBonesUpdateToPhysics
constexpr auto PhysicsTransformUpdateMode = 0xa7d; // EPhysicsTransformUpdateMode
constexpr auto AnimationMode = 0xa7f; // EAnimationMode
constexpr auto bDisablePostProcessBlueprint = 0xa81; // uint8
constexpr auto bUpdateOverlapsOnAnimationFinalize = 0xa81; // uint8
constexpr auto bHasValidBodies = 0xa81; // uint8
constexpr auto bBlendPhysics = 0xa81; // uint8
constexpr auto bEnablePhysicsOnDedicatedServer = 0xa81; // uint8
constexpr auto bUpdateMeshWhenKinematic = 0xa81; // uint8
constexpr auto bUpdateJointsFromAnimation = 0xa82; // uint8
constexpr auto bDisableClothSimulation = 0xa82; // uint8
constexpr auto bDisableRigidBodyAnimNode = 0xa88; // uint8
constexpr auto bAllowAnimCurveEvaluation = 0xa88; // uint8
constexpr auto bDisableAnimCurves = 0xa88; // uint8
constexpr auto bCollideWithEnvironment = 0xa88; // uint8
constexpr auto bCollideWithAttachedChildren = 0xa89; // uint8
constexpr auto bLocalSpaceSimulation = 0xa89; // uint8
constexpr auto bResetAfterTeleport = 0xa89; // uint8
constexpr auto bDeferKinematicBoneUpdate = 0xa89; // uint8
constexpr auto bNoSkeletonUpdate = 0xa89; // uint8
constexpr auto bPauseAnims = 0xa89; // uint8
constexpr auto bUseRefPoseOnInitAnim = 0xa89; // uint8
constexpr auto bEnablePerPolyCollision = 0xa8a; // uint8
constexpr auto bForceRefpose = 0xa8a; // uint8
constexpr auto bOnlyAllowAutonomousTickPose = 0xa8a; // uint8
constexpr auto bIsAutonomousTickPose = 0xa8a; // uint8
constexpr auto bOldForceRefPose = 0xa8a; // uint8
constexpr auto bShowPrePhysBones = 0xa8a; // uint8
constexpr auto bRequiredBonesUpToDate = 0xa8a; // uint8
constexpr auto bAnimTreeInitialised = 0xa8a; // uint8
constexpr auto bIncludeComponentLocationIntoBounds = 0xa8b; // uint8
constexpr auto bEnableLineCheckWithBounds = 0xa8b; // uint8
constexpr auto bUseBendingElements = 0xa8b; // uint8
constexpr auto bUseTetrahedralConstraints = 0xa8b; // uint8
constexpr auto bUseThinShellVolumeConstraints = 0xa8b; // uint8
constexpr auto bUseSelfCollisions = 0xa8b; // uint8
constexpr auto bUseContinuousCollisionDetection = 0xa8b; // uint8
constexpr auto bPropagateCurvesToSlaves = 0xa8b; // uint8
constexpr auto bSkipKinematicUpdateWhenInterpolating = 0xa8c; // uint8
constexpr auto bSkipBoundsUpdateWhenInterpolating = 0xa8c; // uint8
constexpr auto bNeedsQueuedAnimEventsDispatched = 0xa8c; // uint8
constexpr auto CachedAnimCurveUidVersion = 0xa8e; // uint16
constexpr auto MassMode = 0xa90; // EClothMassMode
constexpr auto UniformMass = 0xa94; // float
constexpr auto TotalMass = 0xa98; // float
constexpr auto Density = 0xa9c; // float
constexpr auto MinPerParticleMass = 0xaa0; // float
constexpr auto ClothBlendWeight = 0xaa4; // float
constexpr auto EdgeStiffness = 0xaa8; // float
constexpr auto BendingStiffness = 0xaac; // float
constexpr auto AreaStiffness = 0xab0; // float
constexpr auto VolumeStiffness = 0xab4; // float
constexpr auto StrainLimitingStiffness = 0xab8; // float
constexpr auto ShapeTargetStiffness = 0xabc; // float
constexpr auto bWaitForParallelClothTask = 0xac0; // bool
constexpr auto DisallowedAnimCurves = 0xac8; // TArray<FName>
constexpr auto BodySetup = 0xad8; // UBodySetup*
constexpr auto OnConstraintBroken = 0xae8; // FMulticastInlineDelegateProperty_
constexpr auto ClothingSimulationFactory = 0xaf8; // TSubclassOf<UClothingSimulationFactory*>
constexpr auto TeleportDistanceThreShold = 0xbe8; // float
constexpr auto TeleportRotationThreShold = 0xbec; // float
constexpr auto LastPoseTickFrame = 0xbf8; // uint32
constexpr auto ClothingInteractor = 0xc50; // UClothingSimulationInteractor*
constexpr auto OnAnimInitialized = 0xd20; // FMulticastInlineDelegateProperty_
constexpr auto bEnablePhysicsConstraintDeferredCreate = 0xf80; // bool
constexpr auto bReceiveNotifiesFromMontageInstances = 0xf81; // bool
constexpr auto bEnableUpdateChildTransformsOptimization = 0x10d8; // uint8
constexpr auto BoundsChangeThresholdToUpdateChildTransforms = 0x10e0; // float
constexpr auto bEnableTickAnimationOnSkeletalMeshInit = 0x1104; // bool
constexpr auto ComponentToWorld = 0x190;//0x220; // Bruteforce it, a ptr that contains a fvector
}
// Inheritance: APawn > AActor > UObject
namespace ACharacter {
constexpr auto Mesh = 0x318; // USkeletalMeshComponent*
constexpr auto CharacterMovement = 0x388; // UCharacterMovementComponent*
constexpr auto CapsuleComponent = 0x390; // UCapsuleComponent*
constexpr auto BasedMovement = 0x398; // FBasedMovementInfo
constexpr auto ReplicatedBasedMovement = 0x3d0; // FBasedMovementInfo
constexpr auto AnimRootMotionTranslationScale = 0x408; // float
constexpr auto BaseTranslationOffset = 0x40c; // FVector
constexpr auto BaseRotationOffset = 0x420; // FQuat
constexpr auto ReplicatedServerLastTransformUpdateTimeStamp = 0x430; // float
constexpr auto ReplayLastTransformUpdateTimeStamp = 0x434; // float
constexpr auto ReplicatedMovementMode = 0x438; // uint8
constexpr auto bInBaseReplication = 0x439; // bool
constexpr auto CrouchedEyeHeight = 0x43c; // float
constexpr auto bIsCrouched = 0x440; // uint8
constexpr auto bProxyIsJumpForceApplied = 0x440; // uint8
constexpr auto bPressedJump = 0x440; // uint8
constexpr auto bClientUpdating = 0x440; // uint8
constexpr auto bClientWasFalling = 0x440; // uint8
constexpr auto bClientResimulateRootMotion = 0x440; // uint8
constexpr auto bClientResimulateRootMotionSources = 0x440; // uint8
constexpr auto bSimGravityDisabled = 0x440; // uint8
constexpr auto bClientCheckEncroachmentOnNetUpdate = 0x441; // uint8
constexpr auto bServerMoveIgnoreRootMotion = 0x441; // uint8
constexpr auto bWasJumping = 0x441; // uint8
constexpr auto JumpKeyHoldTime = 0x444; // float
constexpr auto JumpForceTimeRemaining = 0x448; // float
constexpr auto ProxyJumpForceStartedTime = 0x44c; // float
constexpr auto JumpMaxHoldTime = 0x450; // float
constexpr auto JumpMaxCount = 0x454; // int32
constexpr auto JumpCurrentCount = 0x458; // int32
constexpr auto JumpCurrentCountPreJump = 0x45c; // int32
constexpr auto OnReachedJumpApex = 0x468; // FMulticastInlineDelegateProperty_
constexpr auto MovementModeChangedDelegate = 0x488; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterMovementUpdated = 0x498; // FMulticastInlineDelegateProperty_
constexpr auto SavedRootMotion = 0x4a8; // FRootMotionSourceGroup
constexpr auto ClientRootMotionParams = 0x4e0; // FRootMotionMovementParams
constexpr auto RootMotionRepMoves = 0x520; // TArray<FSimulatedRootMotionReplicatedMove>
constexpr auto RepRootMotion = 0x530; // FRepRootMotionMontage
}
// Inheritance: AActor > UObject
namespace AController {
constexpr auto PlayerState = 0x0340; // APlayerState*
constexpr auto OnInstigatedAnyDamage = 0x328; // FMulticastInlineDelegateProperty_
constexpr auto StateName = 0x338; // FName
constexpr auto Pawn = 0x340; // APawn*
constexpr auto Character = 0x350; // ACharacter*
constexpr auto TransformComponent = 0x358; // USceneComponent*
constexpr auto ControlRotation = 0x378; // FRotator
constexpr auto bAttachToPawn = 0x384; // uint8
}
// Inheritance: ACharacter > APawn > AActor > UObject
namespace ASGCharacter {
constexpr auto LandedEvent = 0x5f8; // FMulticastInlineDelegateProperty_
constexpr auto MoveBlockedByEvent = 0x608; // FMulticastInlineDelegateProperty_
constexpr auto ContinuallyMoveBlockedByEvent = 0x618; // FMulticastInlineDelegateProperty_
constexpr auto DeafEvent = 0x628; // FMulticastInlineDelegateProperty_
constexpr auto LackInMoistureEvent = 0x638; // FMulticastInlineDelegateProperty_
constexpr auto LackInFoodEvent = 0x648; // FMulticastInlineDelegateProperty_
constexpr auto EnduranceChangedEvent = 0x658; // FMulticastInlineDelegateProperty_
constexpr auto GameplayEffectExecuted = 0x668; // FMulticastInlineDelegateProperty_
constexpr auto HealthConditionChangedEvent = 0x678; // FMulticastInlineDelegateProperty_
constexpr auto HealthChangedEvent = 0x688; // FMulticastInlineDelegateProperty_
constexpr auto EnergyChangeEvent = 0x698; // FMulticastInlineDelegateProperty_
constexpr auto EnergyRecoverScaleEvent = 0x6a8; // FMulticastInlineDelegateProperty_
constexpr auto EnergyLowExhaustedChangedEvent = 0x6b8; // FMulticastInlineDelegateProperty_
constexpr auto MoistureChangeEvent = 0x6c8; // FMulticastInlineDelegateProperty_
constexpr auto FoodChangeEvent = 0x6d8; // FMulticastInlineDelegateProperty_
constexpr auto HearingChangedEvent = 0x6e8; // FMulticastInlineDelegateProperty_
constexpr auto ReloadEvent = 0x6f8; // FMulticastInlineDelegateProperty_
constexpr auto OutOfEnduranceEvent = 0x708; // FMulticastInlineDelegateProperty_
constexpr auto DamageSpreadingRoundFinishEvent = 0x718; // FMulticastInlineDelegateProperty_
constexpr auto RecoverFromEnduranceEvent = 0x728; // FMulticastInlineDelegateProperty_
constexpr auto PreTakeDamageEvent = 0x738; // FMulticastInlineDelegateProperty_
constexpr auto TakeDamageEvent = 0x748; // FMulticastInlineDelegateProperty_
constexpr auto PostTakeDamageEvent = 0x758; // FMulticastInlineDelegateProperty_
constexpr auto TakeRealDamageEvent = 0x768; // FMulticastInlineDelegateProperty_
constexpr auto TakeDamageByDebuffEvent = 0x778; // FMulticastInlineDelegateProperty_
constexpr auto FFPTakeHitEvent = 0x788; // FMulticastInlineDelegateProperty_
constexpr auto CauseDamageEvent = 0x7c8; // FMulticastInlineDelegateProperty_
constexpr auto CauseRealDamageEvent = 0x7d8; // FMulticastInlineDelegateProperty_
constexpr auto ArmorTakeDamageEvent = 0x7e8; // FMulticastInlineDelegateProperty_
constexpr auto CauseDebuffEvent = 0x7f8; // FMulticastInlineDelegateProperty_
constexpr auto CauseArmorDurabilityReduce = 0x808; // FMulticastInlineDelegateProperty_
constexpr auto PreDiedEvent = 0x818; // FMulticastInlineDelegateProperty_
constexpr auto PostDiedEvent = 0x828; // FMulticastInlineDelegateProperty_
constexpr auto InteractFultonEvent = 0x838; // FMulticastInlineDelegateProperty_
constexpr auto OnDeathAnimationEndedEvent = 0x848; // FMulticastInlineDelegateProperty_
constexpr auto OnDoJumpFailed = 0x858; // FMulticastInlineDelegateProperty_
constexpr auto KillEvent = 0x868; // FMulticastInlineDelegateProperty_
constexpr auto AssistKillEvent = 0x878; // FMulticastInlineDelegateProperty_
constexpr auto BeKilledEvent = 0x888; // FMulticastInlineDelegateProperty_
constexpr auto BeKilledEquipmentEvent = 0x898; // FMulticastInlineDelegateProperty_
constexpr auto PoseChangedEvent = 0x8a8; // FMulticastInlineDelegateProperty_
constexpr auto LeanTypeChangedEvent = 0x8b8; // FMulticastInlineDelegateProperty_
constexpr auto LeanRatioChangedEvent = 0x8c8; // FMulticastInlineDelegateProperty_
constexpr auto OnWeaponFireEvent = 0x8d8; // FMulticastInlineDelegateProperty_
constexpr auto OnWeaponHitEvent = 0x8e8; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterHoldingWeaponExtraMeshLoadCompleted = 0x8f8; // FMulticastInlineDelegateProperty_
constexpr auto DamageBlackborad = 0x908; // FDamageBlackborad
constexpr auto TornOffEvent = 0x9b0; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterEnterTearGas = 0x9c0; // FMulticastInlineDelegateProperty_
constexpr auto IsTouchGrassEvent = 0x9d0; // FMulticastInlineDelegateProperty_
constexpr auto OnPickUpPullBolt = 0x9e0; // FMulticastInlineDelegateProperty_
constexpr auto OnDoPullBoltNotify = 0x9f0; // FMulticastInlineDelegateProperty_
constexpr auto OnOperationResultOpen = 0xa00; // FMulticastInlineDelegateProperty_
constexpr auto StartInteractBoxInventoryEvent = 0xa10; // FMulticastInlineDelegateProperty_
constexpr auto FinishGameEvent = 0xa20; // FMulticastInlineDelegateProperty_
constexpr auto RotaterEvent = 0xa30; // FMulticastInlineDelegateProperty_
constexpr auto OpenContextMenuEvent = 0xa40; // FMulticastInlineDelegateProperty_
constexpr auto OpenContextMenuDTEvent = 0xa50; // FMulticastInlineDelegateProperty_
constexpr auto BoxInventoryOpenedEvent = 0xa60; // FMulticastInlineDelegateProperty_
constexpr auto DoorEvent = 0xa70; // FMulticastInlineDelegateProperty_
constexpr auto LootContainerEvent = 0xa80; // FMulticastInlineDelegateProperty_
constexpr auto LootItemEvent = 0xa90; // FMulticastInlineDelegateProperty_
constexpr auto LootCorpseOrDeathBoxEvent = 0xaa0; // FMulticastInlineDelegateProperty_
constexpr auto LootItemEventOnClient = 0xab0; // FMulticastInlineDelegateProperty_
constexpr auto WalkEvent = 0xac0; // FMulticastInlineDelegateProperty_
constexpr auto LocationReport = 0xad0; // FMulticastInlineDelegateProperty_
constexpr auto StuckLocationReport = 0xae0; // FMulticastInlineDelegateProperty_
constexpr auto LastLocation = 0xaf0; // FVector
constexpr auto StartUsingRecoveryItemEvent = 0xb38; // FMulticastInlineDelegateProperty_
constexpr auto RecoveryItemActivatedEvent = 0xb48; // FMulticastInlineDelegateProperty_
constexpr auto ReceiveRecoveryEffectEvent = 0xb58; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterInvEquipPositionChangedEvent = 0xb68; // FMulticastInlineDelegateProperty_
constexpr auto SwitchWeaponEvent = 0xb78; // FMulticastInlineDelegateProperty_
constexpr auto SwitchWeaponCompletedEvent = 0xb88; // FMulticastInlineDelegateProperty_
constexpr auto UseInventoryFlashEvent = 0xb98; // FMulticastInlineDelegateProperty_
constexpr auto InventoryFlashDebuffEvent = 0xba8; // FMulticastInlineDelegateProperty_
constexpr auto OnSetCurrentWeaponEvent = 0xbb8; // FMulticastInlineDelegateProperty_
constexpr auto OnSetCurrentWeaponAfterMontageEvent = 0xbc8; // FMulticastInlineDelegateProperty_
constexpr auto OnCurrentWeaponChange = 0xbd8; // FMulticastInlineDelegateProperty_
constexpr auto OnUpdateWeaponAnimationSetsEvent = 0xbe8; // FMulticastInlineDelegateProperty_
constexpr auto UnProne = 0xbf8; // FMulticastInlineDelegateProperty_
constexpr auto ProneToCrouch = 0xc08; // FMulticastInlineDelegateProperty_
constexpr auto CrouchToProne = 0xc18; // FMulticastInlineDelegateProperty_
constexpr auto StandToProne = 0xc28; // FMulticastInlineDelegateProperty_
constexpr auto EnterDBNOStatusEvent = 0xc38; // FMulticastInlineDelegateProperty_
constexpr auto ExitDBNOStatusEvent = 0xc48; // FMulticastInlineDelegateProperty_
constexpr auto AbortRescueTeammateEvent = 0xc58; // FMulticastInlineDelegateProperty_
constexpr auto OnClickAtk = 0xc68; // FMulticastInlineDelegateProperty_
constexpr auto OnClickStopAtk = 0xc78; // FMulticastInlineDelegateProperty_
constexpr auto PreAddInventoryEvent = 0xc88; // FMulticastInlineDelegateProperty_
constexpr auto OnPeriodicGameplayEffectExecuteEvent = 0xc98; // FMulticastInlineDelegateProperty_
constexpr auto OnGameplayEffectAppliedEvent = 0xca8; // FMulticastInlineDelegateProperty_
constexpr auto OnAnyGameplayEffectRemovedEvent = 0xcb8; // FMulticastInlineDelegateProperty_
constexpr auto OnGameplayDebuffStatusChangedEvent = 0xcc8; // FMulticastInlineDelegateProperty_
constexpr auto OnStartSearchingContainerEvent = 0xcd8; // FMulticastInlineDelegateProperty_
constexpr auto OnContainerRoughSearchEndEvent = 0xce8; // FMulticastInlineDelegateProperty_
constexpr auto OnContainerSearchEnd = 0xcf8; // FMulticastInlineDelegateProperty_
constexpr auto OnRecvMsg = 0xd08; // FMulticastInlineDelegateProperty_
constexpr auto OnAvatarAddedEvent = 0xd18; // FMulticastInlineDelegateProperty_
constexpr auto OnNativeAvatarAddedEvent = 0xd28; // FMulticastInlineDelegateProperty_
constexpr auto OnAvatarRemovedEvent = 0xd38; // FMulticastInlineDelegateProperty_
constexpr auto OnNativeAvatarRemovedEvent = 0xd48; // FMulticastInlineDelegateProperty_
constexpr auto OnBadgeUpdateEvent = 0xd58; // FMulticastInlineDelegateProperty_
constexpr auto OnEnterCheckVolumeEvent = 0xd68; // FMulticastInlineDelegateProperty_
constexpr auto OnBecomeViewTarget = 0xd78; // FMulticastInlineDelegateProperty_
constexpr auto OnEndViewTarget = 0xd88; // FMulticastInlineDelegateProperty_
constexpr auto OnPossessedByController = 0xd98; // FMulticastInlineDelegateProperty_
constexpr auto OnUnPossessedByController = 0xda8; // FMulticastInlineDelegateProperty_
constexpr auto OnStartSpectatedByController = 0xdb8; // FMulticastInlineDelegateProperty_
constexpr auto OnStopSpectatedByController = 0xdc8; // FMulticastInlineDelegateProperty_
constexpr auto OnUpdateOnBackWeaponVisibility = 0xdd8; // FMulticastInlineDelegateProperty_
constexpr auto OnGetViewedByController = 0xde8; // FMulticastInlineDelegateProperty_
constexpr auto OnLockInventoriesInContainer = 0xdf8; // FMulticastInlineDelegateProperty_
constexpr auto OnUsingInventoryChanged = 0xe08; // FMulticastInlineDelegateProperty_
constexpr auto EnterDSSendWeaponAttri = 0xe18; // FMulticastInlineDelegateProperty_
constexpr auto OnKillQuestProgressAdd = 0xe28; // FMulticastInlineDelegateProperty_
constexpr auto OnCollectQuestProgressChanged = 0xe38; // FMulticastInlineDelegateProperty_
constexpr auto OnKillMissionProgressAdd = 0xe48; // FMulticastInlineDelegateProperty_
constexpr auto OnCollectMissionProgressChanged = 0xe58; // FMulticastInlineDelegateProperty_
constexpr auto ClientLocationCorrectionEvent = 0xe68; // FMulticastInlineDelegateProperty_
constexpr auto FrameRateJitterEvent = 0xe78; // FMulticastInlineDelegateProperty_
constexpr auto ThermalViewHackEvent = 0xe88; // FMulticastInlineDelegateProperty_
constexpr auto CharacterPreAddInventoryEvent = 0xe98; // FMulticastInlineDelegateProperty_
constexpr auto CharacterAddInventoryEvent = 0xea8; // FMulticastInlineDelegateProperty_
constexpr auto CharacterRemoveInventoryEvent = 0xeb8; // FMulticastInlineDelegateProperty_
constexpr auto ActivityInventoryAddedEvent = 0xec8; // FMulticastInlineDelegateProperty_
constexpr auto ActivityInventoryRemovedEvent = 0xed8; // FMulticastInlineDelegateProperty_
constexpr auto CharacterRemoveWeaponEvent = 0xee8; // FMulticastInlineDelegateProperty_
constexpr auto CharacterInventoryMovedEvent = 0xef8; // FMulticastInlineDelegateProperty_
constexpr auto Client_InventoryGridInfoChangedEvent = 0xf08; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterSexChanged = 0xf18; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterAvatarDataChanged = 0xf28; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterRagdollPoseFinished = 0xf38; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterMeshChanged = 0xf48; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterAvatarMeshLoaded = 0xf58; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterAvatarMeshDressed = 0xf68; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterAvatarMeshUnDressed = 0xf78; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterAllAvatarMeshLoaded = 0xf88; // FMulticastInlineDelegateProperty_
constexpr auto OnPrimaryWeaponAllMeshLoaded = 0xf98; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterAvatarListChanged = 0xfa8; // FMulticastInlineDelegateProperty_
constexpr auto OnShowMergedAvatar = 0xfb8; // FMulticastInlineDelegateProperty_
constexpr auto OnSetNewOwner = 0xfc8; // FMulticastInlineDelegateProperty_
constexpr auto OnOwnerOrRoleChanged = 0xfd8; // FMulticastInlineDelegateProperty_
constexpr auto OnRepControllerEvent = 0xfe8; // FMulticastInlineDelegateProperty_
constexpr auto OnSetNewPlayerState = 0xff8; // FMulticastInlineDelegateProperty_
constexpr auto OnChangeCustomFOV = 0x1008; // FMulticastInlineDelegateProperty_
constexpr auto OnEnableCustomFOV = 0x1018; // FMulticastInlineDelegateProperty_
constexpr auto OnSprintRequest = 0x1028; // FMulticastInlineDelegateProperty_
constexpr auto OnSprintingChanged = 0x1038; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterScopeSceneCaptureStatusChanged = 0x1048; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterZoomChanged = 0x1058; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterSwitchScope = 0x1068; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterSwitchZoom = 0x1078; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterEnterSmoke = 0x1088; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterFlashed = 0x1098; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterStuned = 0x10a8; // FMulticastInlineDelegateProperty_
constexpr auto MedicineRoulette = 0x10b8; // FMulticastInlineDelegateProperty_
constexpr auto OnIsBleed = 0x10c8; // FMulticastInlineDelegateProperty_
constexpr auto OnAbilityActivated = 0x10d8; // FMulticastInlineDelegateProperty_
constexpr auto DBNOEndReport = 0x10e8; // FMulticastInlineDelegateProperty_
constexpr auto InventoryGiveComplete = 0x10f8; // FMulticastInlineDelegateProperty_
constexpr auto InventoryLoadComplete = 0x1108; // FMulticastInlineDelegateProperty_
constexpr auto DressInventoryLoadComplete = 0x1118; // FMulticastInlineDelegateProperty_
constexpr auto OnInventorySkeletalMeshLoadComplete = 0x1128; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterSkeletalMeshLoadComplete = 0x1138; // FMulticastInlineDelegateProperty_
constexpr auto OnInventoryStaticMeshLoadComplete = 0x1148; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterStaticMeshLoadComplete = 0x1158; // FMulticastInlineDelegateProperty_
constexpr auto OnBeforeCharacterUpdateAvatarLayers = 0x1168; // FMulticastInlineDelegateProperty_
constexpr auto OnAfterCharacterUpdateAvatarLayers = 0x1178; // FMulticastInlineDelegateProperty_
constexpr auto OnEnableHighPowerScope = 0x1188; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterBecomeCorpse = 0x1198; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterLoadProtectStateChanged = 0x11a8; // FMulticastInlineDelegateProperty_
constexpr auto OnAutoAimAntiHackStatisReceived = 0x11b8; // FMulticastInlineDelegateProperty_
constexpr auto OnCarriedFaceShieldActivated = 0x11c8; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterCastShadow = 0x11d8; // FMulticastInlineDelegateProperty_
constexpr auto OnWeaponHarmVerifyFail = 0x11e8; // FMulticastInlineDelegateProperty_
constexpr auto OnPickUpInventory = 0x11f8; // FMulticastInlineDelegateProperty_
constexpr auto OnActivateInteract = 0x1208; // FMulticastInlineDelegateProperty_
constexpr auto OnSoundLevelInfluenceFactorChanged = 0x1218; // FMulticastInlineDelegateProperty_
constexpr auto OnSoundMaxDistanceInfluenceFactorChanged = 0x1228; // FMulticastInlineDelegateProperty_
constexpr auto TinnitusDelegate = 0x1238; // FDelegateProperty_
constexpr auto FullBodyGestureDelegate = 0x1248; // FDelegateProperty_
constexpr auto OnDestroyActor = 0x1258; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterPreDestroyed = 0x1268; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterDestroyed = 0x1278; // FMulticastInlineDelegateProperty_
constexpr auto OnFSMEscapeStateChange = 0x1288; // FMulticastInlineDelegateProperty_
constexpr auto OnWeaponListChange = 0x1298; // FMulticastInlineDelegateProperty_
constexpr auto OnCharacterResetToLastSavedState = 0x12a8; // FMulticastInlineDelegateProperty_
constexpr auto OnActiveLongDistanceTacticalInv = 0x12b8; // FMulticastInlineDelegateProperty_
constexpr auto OnEquipSkeletalMeshLoadCompleted = 0x12c8; // FMulticastInlineDelegateProperty_
constexpr auto OnEquipSkeletalMeshAvatarLoadCompleted = 0x12d8; // FMulticastInlineDelegateProperty_
constexpr auto OnPrePlayAdapterMontage = 0x12e8; // FMulticastInlineDelegateProperty_
constexpr auto OnInventoryEquipped = 0x12f8; // FMulticastInlineDelegateProperty_
constexpr auto OnInventoryUnequipped = 0x1308; // FMulticastInlineDelegateProperty_
constexpr auto OnEquipStaticMeshLoadCompleted = 0x1318; // FMulticastInlineDelegateProperty_
constexpr auto OnPreUpdateAvatars = 0x1328; // FMulticastInlineDelegateProperty_
constexpr auto OnUpdateAvatarsAddInventory = 0x1338; // FMulticastInlineDelegateProperty_
constexpr auto OnUpdateAvatarsAfterAddInventory = 0x1348; // FMulticastInlineDelegateProperty_
constexpr auto OnEquipMeshDecideLoadSkeletalMeshInLobby = 0x1358; // FMulticastInlineDelegateProperty_
constexpr auto OnInvMeshDecideLoadSkeletalMeshInLobby = 0x1368; // FMulticastInlineDelegateProperty_
constexpr auto OnInvAnimInstanceLoad = 0x1378; // FMulticastInlineDelegateProperty_
constexpr auto OnUpdateAvatarsFinish = 0x1388; // FMulticastInlineDelegateProperty_
constexpr auto OnGrenadeKillMulti = 0x1398; // FMulticastInlineDelegateProperty_
constexpr auto OnHarmTeammate = 0x13a8; // FMulticastInlineDelegateProperty_
constexpr auto ASCRepPlayMontage = 0x13d0; // FMulticastInlineDelegateProperty_
constexpr auto OnUpdateAvatarsAddConfData = 0x13e0; // FMulticastInlineDelegateProperty_
constexpr auto OnUpdateAvatarsAfterAddConfData = 0x13f0; // FMulticastInlineDelegateProperty_
constexpr auto AnnihilateBeginSuitSelect = 0x1400; // FMulticastInlineDelegateProperty_
constexpr auto AnnihilateBattleResult = 0x1410; // FMulticastInlineDelegateProperty_
constexpr auto TDMTypeGameResult = 0x1420; // FMulticastInlineDelegateProperty_
constexpr auto OnRebornSaftyStateChanged = 0x1430; // FMulticastInlineDelegateProperty_
constexpr auto OnBulletOperation = 0x1440; // FMulticastInlineDelegateProperty_
constexpr auto OnWalkCameraSpringIntensitySettingChanged = 0x1480; // FMulticastInlineDelegateProperty_
constexpr auto TestDamageComponent = 0x14b8; // USGCharacterTestDamageComponent*
constexpr auto bShouldDeferConstructionAIC = 0x14c0; // bool
constexpr auto LocalDataComponent = 0x14c8; // USGCharacterLocalDataComponent*
constexpr auto CharacterCameraComponent = 0x14d0; // UCameraComponent*
constexpr auto SoundVolumeOverlapComponent = 0x14d8; // UShapeComponent*
constexpr auto FPPCameraComponent = 0x14e0; // UCameraComponent*
constexpr auto SmoothTargetViewRotationSpeed = 0x1500; // float
constexpr auto CurrentViewerPC = 0x1508; // ASGPlayerController*
constexpr auto bIsTurning = 0x1510; // bool
constexpr auto bEnableBeAutoAimed = 0x1511; // bool
constexpr auto bEnableViewSignificance = 0x151d; // bool
constexpr auto PlayerViewInfo = 0x1520; // uint32
constexpr auto PlayerViewPitch = 0x1524; // float
constexpr auto PlayerViewYaw = 0x1528; // float
constexpr auto PlayerTurnInfo = 0x152c; // ETurnInfo
constexpr auto CachedCharacterType = 0x152d; // ECharacterType
constexpr auto GID = 0x1530; // uint64
constexpr auto FactionType = 0x1538; // EFactionType
constexpr auto CharacterSex = 0x1539; // ECharacterSex
constexpr auto LastPossessedController = 0x1540; // AController*
constexpr auto bMeshTickThisFrame = 0x1548; // bool
constexpr auto bEnterSmoke = 0x1560; // bool
constexpr auto UROLoadBalanceBudget = 0x1584; // int32
constexpr auto SGCharacterMovement = 0x1588; // USGCharacterMovementComponent*
constexpr auto ProxyCharacterCounter = 0x15b8; // int64
constexpr auto OnReadyToPlay = 0x15d0; // FMulticastInlineDelegateProperty_
constexpr auto AbilitySystemComponent = 0x15e0; // UAbilitySystemComponent*
constexpr auto Menu = 0x15e8; // USGContextMenu*
constexpr auto LocationReportHandle = 0x15f0; // FTimerHandle
constexpr auto CharacterMeshLocationOffset = 0x1600; // FVector
constexpr auto bReadyToPlay = 0x160c; // bool
constexpr auto WaitingForInitComponents = 0x1610; // TSet<UActorComponent*>
constexpr auto ActiveLongDistanceTacticalInvs = 0x1660; // TSet<ASGInventory*>
constexpr auto bTickingOnDeath = 0x16b0; // bool
constexpr auto LastHitByDamageCauser = 0x16b8; // AActor*
constexpr auto LastHitByOtherInfo = 0x16c0; // FSGLastHitByInfo
constexpr auto Acceleration = 0x16f4; // FVector_NetQuantize
constexpr auto PredictStopLocation = 0x1700; // FVector_NetQuantize
constexpr auto bIsReplayViewTarget = 0x1710; // bool
constexpr auto bSimulateNavWalkSnapFloor = 0x1711; // bool
constexpr auto LaserTraceCollisionChannel = 0x1712; // ECollisionChannel
constexpr auto CharacterSpawnTime = 0x1714; // float
constexpr auto bRestarting = 0x1718; // bool
constexpr auto WeaponManagerComponent = 0x1720; // USGCharacterWeaponManagerComponent*
constexpr auto DeathComponent = 0x1728; // USGCharacterDeathComponent*
constexpr auto CorpseBeUsedComponent = 0x1730; // USGCharacterBeUsedCorpseComponent*
constexpr auto MovementAbilityComponent = 0x1738; // USGCharacterMovementAbilityComponent*
constexpr auto TurnComponent = 0x1740; // USGCharacterBaseTurnComponent*
constexpr auto InputProcessComponent = 0x1748; // USGCharacterInputProcessComponent*
constexpr auto MovementProneComponent = 0x1750; // USGCharacterMovementProneComponent*
constexpr auto MovementDBNOComponent = 0x1758; // USGCharacterMovementDBNOComponent*
constexpr auto MovementVaultComponent = 0x1760; // USGCharacterMovementVaultComponent*
constexpr auto DBNOComponent = 0x1768; // USGCharacterDBNOComponent*
constexpr auto CharacterFallComponent = 0x1770; // USGCharacterFallComponent*
constexpr auto LeanComponent = 0x1778; // USGCharacterLeanWallComponent*
constexpr auto RagdollComponent = 0x1780; // USGCharacterRagdollNewComponent*
constexpr auto AIComponent = 0x1788; // USGCharacterAIComponent*
constexpr auto AIPoseComponent = 0x1790; // USGCharacterAIPoseComponent*
constexpr auto WeaponSwayComponent = 0x1798; // USGCharacterWeaponSwayComponent*
constexpr auto PoseCacheComponent = 0x17a0; // USGUAMCharacterPoseCacheComponent*
constexpr auto WetnessComponent = 0x17a8; // UMFClimateMovableRainWetnessComponent*
constexpr auto EnergyComponent = 0x17b0; // USGCharacterEnergyComponent*
constexpr auto SprintComponent = 0x17b8; // USGCharacterSprintComponent*
constexpr auto UseComponent = 0x17c0; // USGActorUseComponent*
constexpr auto AnimationComponent = 0x17c8; // USGCharacterAnimationComponent*
constexpr auto PreviewComponent = 0x17d0; // USGCharacterPreviewComponent*
constexpr auto WeaponTraceComponent = 0x17d8; // USGCharacterWeaponTraceComponent*
constexpr auto CurveBreathComponent = 0x17e0; // USGCharacterCurveBreathComponent*
constexpr auto TakeHitEffectComponent = 0x17e8; // USGCharacterTakeHitEffectComponent*
constexpr auto TakeCoverComponent = 0x17f0; // USGCharacterTakeCoverComponent*
constexpr auto MovementLadderClimbComponent = 0x17f8; // USGCharacterMovementLadderClimbComponent*
constexpr auto InteractionComponent = 0x1800; // USGCharacterInteractionComponent*
constexpr auto TeamRescueComponent = 0x1808; // USGCharacterTeamRescueComponent*
constexpr auto IKComponent = 0x1810; // USGCharacterIKComponent*
constexpr auto StunGrenadeEffectComponent = 0x1818; // USGCharacterStunGrenadeEffectComponent*
constexpr auto WeightComponent = 0x1820; // USGCharacterWeightComponent*
constexpr auto SenseAbilityComponent = 0x1828; // USGCharacterSenseAbilityComponent*
constexpr auto CastShadowComp = 0x1830; // USGCharacterCastShadowComponent*
constexpr auto AvatarComp = 0x1838; // USGCharacterAvatarComponent*
constexpr auto AvatarManagerComp = 0x1840; // USGCharacterAvatarManagerComponent*
constexpr auto CharacterMeshComp = 0x1848; // USGCharacterMeshComponent*
constexpr auto AvatarMergeComp = 0x1850; // USGCharacterAvatarMergeComponent*
constexpr auto CharacterBoneBreakComponent = 0x1858; // USGCharacterBoneBreakComponent*
constexpr auto FootEffectComponent = 0x1860; // USGCharacterFootEffectComponent*
constexpr auto FragEffectComponent = 0x1868; // USGCharacterFragGrenadeEffectComponent*
constexpr auto CharacterDebugMovementComponent = 0x1870; // USGCharacterDebugMovementComponent*
constexpr auto CharacterWeaponManagerComponent = 0x1878; // USGCharacterWeaponManagerComponent*
constexpr auto CharacterLoadProtectComponent = 0x1880; // USGCharacterLoadProtectComponent*
constexpr auto CharacterTLogComponent = 0x1888; // USGCharacterTLogComponent*
constexpr auto CharacterInventoryManagerComponent = 0x1890; // USGCharacterInventoryManagerComponent*
constexpr auto MotionWarpingComponent = 0x1898; // USGMotionWarpingComponent*
constexpr auto CharacterInventoryComponent = 0x18a0; // USGCharacterInventoryComponent*
constexpr auto MoveBlockedAvoidanceComponent = 0x18a8; // USGCharacterMoveBlockedAvoidanceComponent*
constexpr auto CharacterSoundComponent = 0x18b0; // USGCharacterSoundComponent*
constexpr auto CharacterArmorManagerComponent = 0x18b8; // USGCharacterArmorManagerComponent*
constexpr auto CharacterWeaponAttachComponent = 0x18c0; // USGCharacterWeaponAttachComponent*
constexpr auto CharacterInventoryGiveComponent = 0x18c8; // USGCharacterInventoryGiveComponent*
constexpr auto CharacterDeliverCargoComponent = 0x18d0; // USGCharacterDeliverCargoComponent*
constexpr auto CharacterTacticalPistolComponent = 0x18d8; // USGCharacterTacticalPistolComponent*
constexpr auto VehicleComponent = 0x18e0; // USGCharacterVehicleComponent*
constexpr auto LagCompensationComp = 0x18e8; // USGCharacterLagCompensationComponent*
constexpr auto CharacterSwimComponent = 0x18f0; // USGCharacterSwimComponent*
constexpr auto CharacterHealthComponent = 0x18f8; // USGCharacterHealthComponent*
constexpr auto CharacterFOVComponent = 0x1900; // USGCharacterFOVComponent*
constexpr auto CharacterTakeDamageComponent = 0x1908; // USGCharacterTakeDamageComponent*
constexpr auto CharacterLookAroundComponent = 0x1910; // USGCharacterLookAroundComponent*
constexpr auto MovingDirAngleCrossTolerance = 0x1970; // float
constexpr auto ViewPointOffset = 0x1974; // FVector
constexpr auto DesiredFOV = 0x1980; // float
constexpr auto HeadLocation = 0x1984; // FVector
constexpr auto CameraLocation = 0x1990; // FVector
constexpr auto Health = 0x199c; // float
constexpr auto GameDuration = 0x19a0; // float
constexpr auto CurrentTotalValue = 0x19a4; // int32
constexpr auto BodyBounds = 0x19a8; // FBodyBounds
constexpr auto UsingHDMesh = 0x1a20; // bool
constexpr auto LocalCapture = 0x1a21; // bool
constexpr auto PhysicalAnimationComponent = 0x1a50; // UPhysicalAnimationComponent*
constexpr auto RandomSeed = 0x1a58; // uint32
constexpr auto bIsContinuousWeaponChange = 0x1a5c; // bool
}
優化版外部調用代碼
如果你覺得上面的代碼太過龐大,這裡有一份經過我們整理優化、更適合外部輔助(External Cheat)直接調用的精簡版代碼。這份代碼加上了詳細的註解,並針對外部讀取進行了結構優化。
// 這份代碼適合直接用於外部輔助開發,清晰列出了各個關鍵組件的指針偏移
namespace Offsets
{
// ==========================================================
// GLOBAIS (全域變數)
// ==========================================================
inline uint64_t UWorld = 0x0A0417A8; // 加密過的世界位址
inline uint64_t GNames = 0x0A573E00; // 加密過的名稱池
inline uint64_t DecryptBuffer = 0xA52C35C; // 解密緩衝區
```
// ==========================================================
// UObject (基礎物件)
// ==========================================================
inline uint64_t ActorID = 0x18; // UObject::NamePrivate
// ==========================================================
// UWorld (世界)
// ==========================================================
inline uint64_t PersistentLevel = 0x30; // UWorld: ersistentLevel (ULevel*)
inline uint64_t GameState = 0x120; // UWorld::GameState (AGameStateBase*)
inline uint64_t GameInstance = 0x180; // UWorld::OwningGameInstance (UGameInstance*)
// ==========================================================
// ULevel (關卡)
// ==========================================================
inline uint64_t Actors = 0x28; // 加密過的 Actors 陣列
inline uint64_t Actors_Fallback = 0x98; // 備用加密地址
inline uint64_t ActorArray = 0xd8; // ULevel::ActorCluster
// ==========================================================
// UGameInstance (遊戲實例)
// ==========================================================
inline uint64_t LocalPlayerArray = 0x38; // UGameInstance: ocalPlayers (TArray<ULocalPlayer*>)
// ==========================================================
// UPlayer (玩家)
// ==========================================================
inline uint64_t PlayerController = 0x30; // UPlayer: layerController (APlayerController*)
// ==========================================================
// AGameStateBase (遊戲狀態)
// ==========================================================
inline uint64_t PlayerArray = 0x328; // AGameStateBase: layerArray (TArray<APlayerState*>)
// ==========================================================
// AActor (角色/物件)
// ==========================================================
inline uint64_t RootComponent = 0x168; // AActor::RootComponent (USceneComponent*)
inline uint64_t Owner = 0x110; // AActor::Owner (AActor*)
inline uint64_t bHidden = 0x68; // AActor::bHidden (Bitfield - 是否隱藏)
// ==========================================================
// APawn (棋子)
// ==========================================================
inline uint64_t PlayerState = 0x0340; // APawn: layerState (APlayerState*)
// ==========================================================
// ACharacter (角色)
// ==========================================================
inline uint64_t Mesh = 0x380; // ACharacter::Mesh (USkeletalMeshComponent*)
// ==========================================================
// APlayerController (玩家控制器)
// ==========================================================
inline uint64_t AcknowledgedPawn = 0x390; // APlayerController::AcknowledgedPawn (APawn*)
inline uint64_t CameraManager = 0x3A8; // APlayerController: layerCameraManager (APlayerCameraManager*)
// ==========================================================
// AController (控制器)
// ==========================================================
inline uint64_t ControlRotation = 0x378; // AController::ControlRotation (FRotator - 視角旋轉)
// ==========================================================
// APlayerState (玩家狀態)
// ==========================================================
inline uint64_t PawnPrivate = 0x370; // APlayerState: awnPrivate (APawn*)
inline uint64_t PlayerNamePrivate = 0x3f0; // APlayerState: layerNamePrivate (FString - 玩家名稱)
// ==========================================================
// ASGPlayerState (SG玩家狀態)
// ==========================================================
inline uint64_t SquadID = 0x520; // ASGPlayerState::TeamIndex / SquadID (int32 - 隊伍ID)
// ==========================================================
// APlayerCameraManager (相機管理)
// ==========================================================
inline uint64_t CameraCachePrivate = 0x2090; // APlayerCameraManager::CameraCachePrivate (FCameraCacheEntry - 相機緩存)
// ==========================================================
// USceneComponent (場景組件)
// ==========================================================
inline uint64_t AttachParent = 0x108; // USceneComponent::AttachParent (USceneComponent*)
inline uint64_t RelativeLocation = 0x16C; // USceneComponent::RelativeLocation (FVector)
inline uint64_t RelativeRotation = 0x178; // USceneComponent::RelativeRotation (FRotator)
inline uint64_t ComponentVelocity = 0x190; // USceneComponent::ComponentVelocity (FVector)
inline uint64_t Root_bVisible = 0x19C; // USceneComponent::bVisible (Bitfield)
// ==========================================================
// Runtime (運行時)
// ==========================================================
inline uint64_t ComponentToWorld = 0x210; // 加密過的座標轉換矩陣
// ==========================================================
// USkeletalMeshComponent (骨架網格組件)
// ==========================================================
inline uint64_t CachedBoneSpaceTransforms = 0x8e8; // USkeletalMeshComponent::CachedBoneSpaceTransforms (TArray<FTransform> - 骨骼數據)
// ==========================================================
// ABP_ItemBase_C (物品基類)
// ==========================================================
inline uint64_t Ptr_InventoryCommonData = 0x8A0; // ABP_ItemBase_C::SGInventoryCommonData (USGInventoryCommonDataComponent*)
// ==========================================================
// USGInventoryCommonDataComponent (庫存數據組件)
// ==========================================================
inline uint64_t Comp_StandardPrice = 0x10C; // USGInventoryCommonDataComponent::StandardPrice (int32 - 標準價格)
inline uint64_t Comp_Rarity = 0x110; // USGInventoryCommonDataComponent::Rarity (int32 - 稀有度)
inline uint64_t Comp_SellPrice = 0x134; // USGInventoryCommonDataComponent::SellPrice (int32 - 販售價格)
inline uint64_t Comp_DisplayName = 0x140; // USGInventoryCommonDataComponent: isplayName (FText - 顯示名稱)
```
}
SDK Dump 檔案下載 🔽
為了方便大家深入研究,我們準備了完整的 SDK Dump 檔案。這份檔案包含了遊戲內所有的類別與結構定義,對於想要自己尋找新偏移量的開發者來說,是不可或缺的資源。
所有站內附件皆會附上安全掃描報告 請會員查看純淨度百分比後判斷使用
相關檔案須知: 取得檔案前,請先詳細閱讀文章內容 避免不必要錯誤與誤會發生。 也可多參考文章討論樓層內容 了解附件檔案相關討論資訊。
《暗區突圍:無限》開發常見問題Q&A
Q:這些偏移量是針對哪個版本的?
這些數據是針對 `4.26.0+++UE4+Release-4.ABInfinite` 版本的。如果遊戲進行了版本更新(例如從小版本號 .0 升級到 .1),這些偏移量可能會失效,你需要重新抓取 GWorld。
Q:為什麼讀取到的 ActorArray 是空的?
請檢查你是否正確解密了 `ULevel` 中的指針。注意代碼中的 `Actors` 和 `Actors_Fallback` 是有加密保護的,直接讀取會得到錯誤的記憶體地址。
Q:外部輔助 (External) 和內部輔助 (Internal) 哪個適合這份代碼?
這份代碼提供了完整的結構定義,因此兩者都適用。如果你是寫 External,請參考「優化版外部調用代碼」章節;如果是 Internal DLL 注入,可以直接使用完整的 SDK Structs。
Q:如何獲取玩家的骨架數據?
你需要通過 `Mesh` (USkeletalMeshComponent) 找到 `CachedBoneSpaceTransforms` 陣列,這裡面存放了所有骨骼的轉換矩陣 (FTransform)。
Q:偏移量失效了怎麼辦?
可以使用我們提供的 SDK Dump 檔案作為參考,利用 IDA 或 Cheat Engine 對比新舊版本的二進制文件,通常偏移量的變化是有規律的。
|