Added two more scripts:
- Destroy Terrain Blocks Of Any Type In 1 Hit
The script will disable the check for TerrainType in AManualMiningItem::AnimationNotify1 function. What that means is you will be able to dig any type of terrain: rock, dirt, resources, etc. in 1 hit. Happy mining!
- Increase Pickaxe Speed
The script will allow adjustment of the pickaxe hit speed, as well as skipping a check that jumped over the UAnimInstance::Montage_SetPlayRate when the pickaxe is doing damage. Once enabled, you will see beneath it an address called "fAnimSpeed". I set it to 2 by default, you can increase the value if you want. Values >=4 will trigger screen shaking, which might be unpleasant for you. Happy mining/killing!
BR,
Sun
[ 02 Apr 20 - First Release ]
Game Name: Deep Rock Galactic
Game Vendor: Steam
Game Version: 0.29.38896.0 [ you can see this in the menu, bottom-left ]
Game Process: FSD-Win64-Shipping.exe
Game File Version: 4.22.3.0
Hello folks.
Attached below is a DLL that will do the following:
- Run threaded UE4 code to create the UConsole UObject, member of GameViewportClient; you may then use Tilde (~) key to open up the console. As far as what you can or can't do with the console, well.. I'm not the game developer You'll have to google around for commands, test stuff out and return with feedback. As opposed to just asking "what are the commands?" and doing shit about it, waiting to be spoon-fed.
- Will dump the UE4 FNameArray and UObjectArray, along with their addresses. What this means is you can then know what the fuck you're looking at in memory, when debugging/tracing or mapping structures, and come up with your own conclusions. Just like I did with my table below.
Instructions:
- Download the archive; extract content to a folder of your choice.
- Run the game, get to main menu.
- Run IGCSInjector.exe. You can close it when asked.
- Takes 1-2 seconds for the DLL to find the stuff, StaticCreate the Console UObject and dump Names/Objects to disk in the Win64 folder.
- You may then use Tilde (~) key to open up the console in-game.
Notes:
- The dump location is your game folder (e.g.: C:\SteamLibrary\steamapps\common\Deep Rock Galactic\FSD\Binaries\Win64). You will find 2 files there: NamesDump.txt and ObjectsDump.txt. You'll be very interested in the 2nd one
- The .txt files are generated at "run-time". What this means is if you transition in-game from one map to another or from main menu to game world and backwards, you need to re-dump them. Why? UE4 destroys and recreates UObjects; re-initialization. To re-dump the .txt files press Numpad / (no, key can't be changed).
Commands:
- god
Makes you invulnerable. You'll need to re-enable it if you exit to main menu, then back in-game, load a save/quicksave or transition in any other way that makes the loading screen show up. Why; re-initialization. The god flag is a BOOL within your Character structure. When you reload the game, all structure are re-initialized by the Engine and their default statuses set in place. Which means your god bool will be reset. NOTE that if you enable god and save your game with it enabled, the next time you reload, it will be enabled State seems to be saved in the save file.
- slomo <float>
Slows down, accelerates or sets game speed back to normal, depending on the value you give it. (e.g.: slomo 0.5; slomo 1; slomo 1.5)
- teleport
Will teleport your character to the location appointed by your mouse pointer. Simply aim some spot, then ~ and teleport [Enter]. You'll instantly get to your targeted location.
- playersonly
Currently is designed to freeze any AI in place, including yourself. In older versions of the Engine, this was freezing everything but you. Guess Epic changed their mind. Could probably be tweaked through code hooks to exclude the player Character from the list of frozen entities.
- toggledebugcamera
This will detach current camera from the player (in reality, it changes controller to the newly created camera UObject) letting you fly around and explore the area. You can use it together with 'teleport', for example, to move your player to the location where the camera is pointing. Just type it in the console once you've decided for the spot.
- summon <blueprint_name>
Probably the most powerful command one can use. It's designed to spawn/generate in front of your view an UObject defined by the Blueprint's name you've typed in. What you can do with this is simply use it in conjunction with either extracting the game's .pak archive (\Deep Rock Galactic\FSD\Content\Paks\FSD-WindowsNoEditor.pak) or with the ObjectsDump.txt file (\Deep Rock Galactic\FSD\Binaries\Win64\ObjectsDump.txt). I'll describe the 2nd one, as it's faster:
- get in-game, inject the DLL
- hit Numpad / just to make sure you have the latest .txt dumps
- open ObjectsDump.txt in Notepad++ and search for "Package BP_"
- everything that you see now can be summoned in-game, condition being you suffix them with a "_C"
Apart from the above, here's also a cheat table for the game, which I've put several hours into, as not all things are simple as they seem (fly, ghost, walk). The table contains the following features:
- Create & Initialize FSDCheatManager
The script will swap the AllowCheats function pointer in all 5 member-functions virtual tables, found at offset 0x770, in all Level-typed UObjects. After that, it will run APlayerController::AddCheats function which will create and initialize the CheatManager UObject for you. You need this to exist if you plan to use cheats (console commands). So enable this script to begin with.
- Hook UCheatManager execs (execFly, execGhost, execWalk)
The script hooks the CheatManager wrappers calling the UCheatManager::Fly, UCheatManager::Ghost and UCheatManager::Walk function, replacing them with the ones I've rebuilt. Why rebuilt? Because Shipping releases by design come with the core code not compiled. Thus it needs restoration.
- Hijack MoveForward/MoveRight
Now, even with the above script active and functions restored, you still can't fly properly. That's because the Z-axis is not processed in the mouse orientation + movement. As such, I had to find the movement functions (APlayerCharacter::MoveForward, APlayerCharacter::MoveRight) and hook them, conditioning that when UCharacterMovementComponent::IsFlying is happening, that's when the ripped-and-restored code would execute, thus allowing you free movement on all axis. In short, you get fly and ghost working (aka noclip). To turn them off, type 'walk' in the console.
- Set All CheatManager UFunctions Executable (on console use)
You will need this script active if you want to execute all of the juicy cheats I've pasted below. Activate the script and, assuming you've already activated the "Create & Initialize FSDCheatManager" script, you can now type them in the console.
Juicy Cheats List
C_AddForgingXP
C_AddUncappedXP
C_AddXP
C_ArmorMat_GiveAll
C_Campaign_Advance
C_Campaign_ResetCompleted
C_Campaign_ResetProgress
C_ChangeIntoxication
C_ClearAllMilestones
C_ClearAllMissionStats
C_CompleteMission
C_CompleteObjectives
C_FadeFromBlack
C_FailMission
C_FixedMissionSeed
C_FixedPLSSeed
C_GenerateNewMissions
C_GiveAll
C_GodMode
C_IncrementAllMissionStats
C_JumpToNextRoom
C_KillAll
C_LevelUpCharacter
C_MachineEvents_FinishCurrent
C_MachineEvents_Track
C_Promotion_ClearRewardsSeen
C_Promotion_SetCampaignComplete
C_Promotion_SetLevel
C_RecordMode
C_RefreshDeepDives
C_RemoveAllWidgets
C_RemovePlayerRanks
C_Reset_PickaxeParts
C_ResetAchievements
C_ResetActivePerks
C_ResetAllDrinks
C_ResetCheatedResources
C_ResetDeepDives
C_ResetForgingXP
C_ResetMinersManual
C_ResetSkinsAndUpgrades
C_ResetSteamAchievementStats
C_ResetYearTwoGifts
C_Resupply
C_Revive
C_Schematic_GiveRandom
C_Schematics_ClearHasSeenFirstMessage
C_Schematics_ForgeAll
C_Schematics_ResetAll
C_Schematics_UnlockAll
C_ScoutFlareInfiniteDuration
C_SetAmmoCostEnabled
C_SetEnglish
C_SetFastFlares
C_SetHealth
C_SetPlayers
C_SetTestMission
C_Skin_GiveAll
C_Skin_ResetAll
C_SpawnBarrelOnPlayer
C_SpawnEvenRewarder
C_SpawnNormalWave
C_SpawnScriptedWave
C_SpawnScriptedWaveIndex
C_ToggleCanShowBlood
C_ToggleFadingDebug
C_ToggleFadingEnabled
C_ToggleHoopGameMovement
C_Treasures_Reward
C_Treasures_Track
C_Unlock_PickaxeParts
C_UnlockAll
C_UnlockAll_Beers
C_UnlockAll_Perks
C_UnlockAll_Poses
C_UnlockAllDeepDives
C_UnlockAllDrinks
C_UnlockAllUpgrades
C_UnlockAllWeapons
C_UnlockOverclocking
Cheat_AddCredits
Cheat_AddPerkPoints
Cheat_AddXP
Cheat_Campaign_Advance
Cheat_ForceLostPack
Cheat_ForceTreasure
Cheat_GenerateNewMissionSeed
Cheat_PickAxeVanity_ResetAll
Cheat_PickAxeVanity_UnlockAll
Cheat_RemoveResources
Cheat_ResetEquippedUpgrades
Cheat_Resources
Cheat_Schematic_ForgeAll
Cheat_Schematic_GiveRandom
Cheat_Schematic_ResetAll
Cheat_Schematic_UnlockAll
Cheat_SetHealth
Cheat_SetSpawnPosMarker
Cheat_UnlockAll_Beers
Cheat_UnlockAll_Poses
Cheat_UnlockAllUpgrades
Cheat_UnlockAllWeapons
DestroyAllInstances
GetListOfRoomNames
IsInGodMode
R_Add_Aquarq
R_Add_BitterGem
R_Add_Jadiz
R_AddCraftingResource
R_AddCredits
R_AddGold
R_AddMatrixCores
R_AddMOM
R_AddNitra
R_AddPerkPoints
R_AddResources
R_RemoveCredits
R_RemoveResources
ResetSpacerigIntroMessage
ResetTutorials
SetFastMovement
SetGodMode
SetHUDVisible
SetQuadPickAxe
SetSpawnEnemies
SetStandingDown
ShowTutorialDebug
SpawnBosco
SpawnCritters
SpawnEnemies
SwitchCharacter
BR,
Sun
How to use this cheat table?
- Install Cheat Engine
- Double-click the .CT file in order to open it.
- Click the PC icon in Cheat Engine in order to select the game process.
- Keep the list.
- Activate the trainer options by checking boxes or setting values from 0 to 1