From b7b7a109a6f4eebf8c269c6692f74cc030f00cd2 Mon Sep 17 00:00:00 2001 From: andrei <89693837+andreiBe@users.noreply.github.com> Date: Tue, 17 Mar 2026 17:45:26 +0200 Subject: [PATCH] Improved modding guides --- .vitepress/sidebar.ts | 14 ++++++++++ src/udk/decompilation.md | 15 +++++++++++ src/udk/hello-world.md | 56 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 85 insertions(+) create mode 100644 src/udk/decompilation.md create mode 100644 src/udk/hello-world.md diff --git a/.vitepress/sidebar.ts b/.vitepress/sidebar.ts index 9ab5918..8210f27 100644 --- a/.vitepress/sidebar.ts +++ b/.vitepress/sidebar.ts @@ -68,8 +68,22 @@ export const sidebar: DefaultTheme.SidebarMulti = { text: "Installation", link: "/udk/installation", }, + { + text: "Hello World", + link: "/udk/hello-world" + } ], }, + { + text: "Topics", + collapsed: false, + items: [ + { + text: "Decompiling scripts", + link: "/udk/decompilation" + } + ] + }, { text: "UnrealScript", collapsed: false, diff --git a/src/udk/decompilation.md b/src/udk/decompilation.md new file mode 100644 index 0000000..346e986 --- /dev/null +++ b/src/udk/decompilation.md @@ -0,0 +1,15 @@ +--- +description: Instructions on how to decompile scripts inside Paladins .upk files in order to make dummy files. +--- + +# Decompiling scripts inside .upk files + +The folder `/ChaosGame/CookedPCConsole` contains compressed .upk files. Some of the .upk files contain scripts. For this guide, we will use `TgGame.upk`. + +## Decompressing + +Install the "Unreal Package Decompressor" from https://www.gildor.org/downloads. Run it like this: `decompress.exe -game=smite TgGame.upk`. It will generate a new folder `unpacked` that contains the decompressed files. + +## Opening .upk files and decompiling the scripts + +Install UE Explorer from https://github.com/UE-Explorer/UE-Explorer/releases. Open the decompressed files with it. It will automatically decompile the scripts. diff --git a/src/udk/hello-world.md b/src/udk/hello-world.md new file mode 100644 index 0000000..341c340 --- /dev/null +++ b/src/udk/hello-world.md @@ -0,0 +1,56 @@ +--- +description: Step-by-step instructions for building your first mod +--- + +# Hello World example + +This is a step by step guide to create a simple mod that prints "Hello World" on the screen. +These instructions are based on this [video](https://www.youtube.com/watch?v=RP9UjC4o2nU). You can follow either the video or the written steps below. This tutorial is created for the OB57 version of the game. + +## Dummy source files + +Parts of Paladins are written in UnrealScript. When making mods, your code may reference classes and functions from the base game. These scripts are stored inside .upk packages located in `/ChaosGame/CookedPCConsole`. Examples include "PlatformCommon.upk" and "TgGame.upk". + +However, you **do not need to have the real source code** to compile your mod. You only need to have dummy (stub) source files that only contain class and function definitions. These files are only used during the compilation and do not contain any real implementations. + +You can download the OB57 dummy files [from here](https://mega.nz/file/tiAnBJbR#kEWerIEFWajTIzNVhAkmS24Nezccpx9c8f8lbojktlw). Extract and place them into the `Developement\Src` folder and replace any existing files if prompted. + +The dummy files need to also be included in the file: `C:\UDK\\UDKGame\Config\DefaultEngine.ini`. Open the file and find the section `[UnrealEd.EditorEngine]`. Add lines to make it look like below: + +[UnrealEd.EditorEngine]\ ++EditPackages=CustomGame\ ++EditPackages=AkAudio\ ++EditPackages=PlatformCommon\ ++EditPackages=TgGame\ ++EditPackages=TgClient + +The scripts are compiled in the order that they are listed here. + +## Modifying the code to print Hello World + +1. Create a folder with your mod name and a Classes folder inside it if you haven't already. +2. Copy files from the TgMod folder into your folder. We'll use them as a starting point. +3. Open `TgMutator.uc` with any text editor +4. Find the Init() function and modify the messages to your liking. For example: +``` +m_TgPC.ClientMessage(">> HELLO WORLD! <<", , 30.0); +``` +5. Save the file + +## Compiling and testing + +The easiest way to compile is using [Tempest](/tempest/introduction): +1. Open the settings menu where you have your builds +2. Enable Developer Mode +3. Under "Projects" add your UDK project folder (for example `C:\UDK\Paladins`) +4. Under "Scripts" add the folder off your mod (for example `C:\UDK\Paladins\Development\Src\MyMod`) +5. Click "Compile" +6. Close the terminal when it finishes +7. Click Ok in the dialog that opens +8. Tempest automatically adds the mod to your game +8. Launch the game +9. Run the console command `switchlevel BMM_P_v01?game=siege?mutator=MyMod.TgMutator`, replace MyMod with your mod's name. +10. You should see the custom message + + +The generated mod upk is in the folder `C:\UDK\\UDKGame\Script` \ No newline at end of file