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!
[ 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: 22.214.171.124
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.
- 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.
- 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).
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)
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.
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.
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 ListC_AddForgingXP
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