AlphaLoot Profile Editor

AlphaLoot Profile Editor 2.0.21

No permission to download
ec5b0063289062a12ee34812878f0063.png

This loot table editor uses the Rust clients bundle files to gather all the items currently in the game, that way as long as you client is up to date you will always have access to all the available items without needing a editor update.

The editor also uses the item icons that are found in your Rust install directory


Common terms you will see throughout this overview;
Loot Table refers to the entire loot table .json file, it contains the loot profiles for all the containers
Loot Profile refers to the individual loot settings for a single container
Node Tree refers to the data tree structure of a advanced definitions



Getting Started (First load of the editor)
The first thing you should do before loading the editor is install the AlphaLoot plugin on your server. It will generate the default loot table which you will need in the editor.
Once the plugin has loaded you can find the loot table in /oxide/data/AlphaLoot/LootTables/default_loottable.json. Find this file and copy it to your PC

Upon first load of the editor you will be prompted to select your Rust client install directory. if you are unsure where this is located on your PC your can open Steam, go to the 'Library' tab, find Rust in your game list, right-click on it and select 'Properties', select the 'Local Files' tab, then click the 'Browse Local Files' button.

Once you have selected your Rust client directory you will be prompted to select a loot table data file (this is the .json file you copied from your server earlier)



Editor Interface
Upon loading a loot table in to the editor you will be presented with the entire editor interface.

In the top left are 3 buttons, Load File, Save File and Save As... These load and save your loot table file.
35ce06b2752f07a4c27620d4660b3abb.png


In the top right are 5 buttons, Help, Minimize and Close, and below them are Display Options and Quick Actions

Display Options opens a menu where you can change the editors window size, and the scale of the interface
Quick Actions is a set of tools that allow you to quickly make changes across the entire loot table (more on that later)
3db1cad15d62b6d1b06865d19754c911.png


On the left hand side of the screen is a list of all the containers in the loot table. You can scroll up and down this list either with the scroll bar on the left, or with your mouse scroll wheel.
The rest of the screen is loot profile window for the currently selected container. This will either be for a advanced profile, or a simple profile depending on what that container is set to
ff3ca1f45a28e244c01dae21f8c869b7.png


At the top of the loot profile window on the left are the various options for the loot profile.
Enabled dictates whether AlphaLoot will use this loot profile, if disabled AlphaLoot won't populate this container and leave the game to do it itself
Destroy container when empty dictates whether the game should destroy the container once all of its contents have been removed

Allow skinned items dictates whether AlphaLoot should apply pre-determined skins to skinnable items as they are created
Refresh contents will regenerate fresh loot for the container randomly in the time frame specified in Seconds between refresh
Profile type lets you specify if you want to use a Simple Profile, or a Advanced Profile for this container
Loot multiplier will multiply all the generated item amounts when the loot spawns by the number specified
Maximum items to spawn will prevent the loot profile from adding more items in the container then specified
Seconds between refresh has a minimum and maximum value field. When refreshing loot contents a random number will be selected between these 2 values
Amount of scrap to spawn also has a minimum and maximum value field. Once loot has been generated a random amount of scrap will be selected between these 2 values and added to the container

On the top right hand side of the loot profile window are 4 buttons. Open, Save, Preview Loot and Store Changes.
7308e2bbb75769f24b0a2dd89cc9e728.png

Open will allow you to replace this loot profile with another that you have saved previously
Save will allow you to save the current loot profile to be used at a later time
Preview Loot will open a window and randomly generate loot from the loot profile so you can see what is coming out of it
Store Changes must be used when you make a change to the loot profile to write your changes back in to the loot table. Note that this does not save the loot table, just updates it in memory



Loot Profiles

AlphaLoot provides 2 loot profile types for generating loot for each container;

Simple Profile
This is your basic RNG loot system. You specify a bunch of items, and the amount of items you wish to spawn, and the plugin will choose from those items randomly when populating a loot container. You can further control the loot chosen by specifying weights for each item.

db11881d132c9d87ec39e2365db6ad19.png


To add items to a simple profile simply press the + button. This will open the item selector for you to choose the item you wish to add.

To remove a item from the simple profile press the
- button on the item.

Once you have added items to the simple profile you can configure the options for each item by clicking on it. In the item editor you can edit the following;

8a97a4e44f07a17d7695c34fce479bdd.png


The minimum and maximum amount of this item to spawn (chosen at random)
The condition percentage you want this item to spawn with (chosen at random)
The percentage chance this item will spawn as a blueprint.
The weight of the item.

The weight of each item is important, the higher the weight the more likely this item will be chosen. If all items have the same weight then they all have the same chance of being chosen so you would set rarer items with a lower weight, and more common items with a higher weight.
The weight is relative to all the other items in this loot profile. For example if you only had 2 items in the loot profile, say a stack of wood with a weight of 100, and a bolty with a weight of 1, then there would only be a 1% chance the bolty would be selected.
However if the wood had a weight of 5 and the bolty has a weight of 1 then there would be a 20% chance the bolty would be selected.



Advanced Profile
This is more advanced than the
simple profile in that it gives you a lot more control over what loot is likely to spawn and allows you to spawn multiple items at once (a rifle with ammo for example).
This is the same loot system that Rust uses and by default AlphaLoot will generate your loot table by making an exact clone of Rusts default loot table


A advanced profile has 3 different elements, or with the way the editor displays this data we will call them nodes;

Advanced Definition Node will always be the root node at the start of the node tree. It contains 2 values which determine whether this tree should be processed, and connection points for sub-definition nodes and item nodes.
Every Advanced Definition Node in the loot profile will be processed when generating loot, whether it progress past that node is determined by the 2 values associated with the node.

The 2 values of a Advanced Definition Node are;
Loops which determines how many times the plugin will attempt to process this node tree. For example, if you set this number to 2 the plugin will try and process this node tree 2 times.
Probability is the chance that this Advanced Definition Node will be processed. This is a value between 0.0 and 1.0 (0 being a 0% chance, and 1 being a 100% chance).

For every loop the plugin will generate a random number between 0.0 and 1.0, if the probability is greater than or equal to this randomly generated number then the node tree will be processed and will result in one or more items being added to the loot container. If it is less then it will do nothing.

c741f5ddfe0afedeb8a957c0a8dfd8c1.png



Sub-Definition Node
contains 1 value and can either split the node tree in to more sub-definitions, or can contain a item node.
The 1 value for a sub-definition node is Weight.
The weight values work for sub-definitions work in a similar way to the weight of items in a Simple Profile.

When the plugin comes to a point where there are multiple sub-definition nodes to choose from it will calculate the total weight of all the sub-definition nodes (which we will call V), then it will generate a random number between 0 and V (which we will call R).
V = the sum of all the nodes
R = a random number chosen between 0 and V
It will then loop over each sub-definition node and subtract the nodes weight from V until the random number R is greater than or equal to the current value of V.

Once that happens the tree will proceed down the path of the sub-definition node that the loop is currently sitting on
773348cfee586cf31a9410d41f6046a5.png


Item Node is simply a container for the items that should spawn if the tree has proceeded down this path. Every branch of the node tree must have a item node at the end of it.
5fca2fd4f5c4bd12fb967b9d833f0d42.png


Breaking down the logic of an advanced profile
For a bit more clarity we will take a look the following rather basic node tree, and work through it.
2970d89f8db69c57a2178777e154a6d8.png

So we have a Advanced Definition Node, it loops twice and has a probability of 0.75. Being that it loops twice it is going to attempt to process this node 2 times.,

Loop # 1:
1) Generate a random number between 0.0 and 1.0. (Let's say it generated a number of 0.55)
2) The generated number is less than the probability so nothing will happen

Loop #2:

1) Generate a random number between 0.0 and 1.0. (Let's say it generated a number of 0.95)
2) The generated number of 0.95 is greater than or equal to the probability of 0.75 so we can continue.
3) Calculate the sum of all the sub-definition node weights that are directly descendent from the advanced definition node, which is 150
4) Generate a random number between 0 and the weight sum of 150 (Let's say it generated a number of 45)
5) Loop over all the sub-definition nodes and subtract its weight from the sum
-- 150 - 30 (Weight of Sub-Definition #1) = 120. This is greater then the random number of 45, so continue to the next sub-definition node
-- 120 - 20 (Weight of Sub-Definition #2) = 100. This is greater then the random number of 45, so continue to the next sub-definition node
-- 100 - 50 (Weight of Sub-Definition #3) = 50. This is greater then the random number of 45, so continue to the next sub-definition node
-- 50 - 50 (Weight of Sub-Definition #4) = 0. This is less then the random number of 45, so we will process this sub-definition node.

The selected sub-definition node has more sub-definition nodes, so the process will repeat.
1) Calculate the sum of all the sub-definition node weights that are direct descendants of the sub-definition node we previously selected, which is 3
4) Generate a random number between 0 and the weight sum of 3 (Let's say it generated a number of 1)
5) Loop over all the sub-definition nodes and subtract its weight from the sum
-- 3 - 1 (Weight of Sub-Definition #1) = 2. This is greater then the random number of 1, so continue to the next sub-definition node
-- 2 - 1 (Weight of Sub-Definition #2) = 1. This is less than or equal to the random number of 1, so will process this node.

The selected node happens to contain a item node, which means this is the item chosen (Heavy Plate Jacket). Now the plugin will spawn this item in the container, and then continue on to the next advanced definition node. If the item node contains multiple items they will all be spawned in to the container

Controls for editing Advanced Profiles
There are various controls for editing with nodes.
Grid:
- Middle click and drag on the grid to scroll around. Alternatively you can move the window around with the arrow keys. You can also increase the movement speed by holding CTRL
- Right click on the grid to open a menu to add new nodes or import previously saved node data
- Left click and drag on the grid to use drag selection to select multiple nodes at once
- Mouse scroll wheel zooms in and out of the grid. Alternatively the + and - keys on the keypad can be used to zoom in and out
Nodes:
- Left click and drag to move a node around the grid, supports multiple selected nodes
- Left click and drag the input connection on nodes to make a connection
- Hold CTRL + click on a node adds it to your selection
- Hold ALT + click on a node removes it from your selection
- Right click on a node to open node menu with the following;
-- 'Select node and children' selects the node you clicked on, plus all child nodes connected to it
-- 'Select node tree' selects the entire tree going back to the definition node
-- 'Delete node' deletes the node you clicked on
-- 'Delete selected nodes' deletes all the nodes currently selected
-- 'Delete node and children' deletes the node you clicked on and all of its children
-- 'Duplicate node' duplicates the node you clicked on
-- 'Duplicate node and children' duplicates the node you click on and all of its children
-- 'Disconnect node' disconnects all the nodes connected to it
-- 'Export node' exports the node you clicked on and any of its children to a file you can import at a later date

Undo System
There is a basic undo/redo system implemented for node editing. This includes undo steps for position manipulation, node selection, creation, deletion, duplication, node connections
You can use this with Ctrl+Z and Ctrl+Y, or the undo/redo buttons in the grid window


The Quick Action Menu
The quick action menu contains some helpful tools for mass manipulation of your loot table. They are as follows;
Remove Items allows you to select items to remove from the entire loot table.
Multiply Amounts allows you select items and multiply their minimum and maximum values across the entire loot table
Set Amounts allows you to select items and set their minimum and maximum values across the entire loot table
Remove empty definitions will remove any definition nodes and sub-definition nodes from the loot table that do not have a item node on the end of them, or have a empty item node on the end of them
Set Weight allows you to select items and set their weight across the entire loot table
Import Old Loot Table will allow you to convert a AlphaLoot v2.x.x loot table in to the v3.x.x data structure. This will import the old loot tables as Simple Profiles and that is basically what the older AlphaLoot version was using[/size]
  • Like
Reactions: mythzeko

Information

Author
k1lly0u
First release
Last update
Rating
4.75 star(s) 20 ratings

Latest Release v2.0.21

Released
Sep 29, 2024 at 11:04 PM
Rating
0.00 star(s) 0 ratings


More resources from k1lly0u

  • PilotEject
    PilotEject
    A mini event where a helicopter malfunctions and the pilot has to eject
  • HeliRefuel
    HeliRefuel
    A mini-event where a helicopter populated with NPCs needs to land to refuel
  • ZombieHorde
    ZombieHorde
    Create hordes of zombies that roam around your server looking for brains
  • Admin Menu
    Admin Menu
    Manage groups, permissions, commands and convars from a GUI menu
  • TeleportGUI
    TeleportGUI
    Teleport, home and warp with a easy to use UI

AlphaLoot Profile Editor by k1lly0u
© chaoscode.io May 10, 2020

Latest reviews

Visualizes loot tables and probabilities very well.
Great features! Only one thing, what about ammo and attachments inside weapons?
A literal dream come true for me. What a great way to edit loot tables! My only complaint is that for whatever reason the editor lags sometimes. But damn I love it.
Very easy to use and awesome editor
Amazing. The profile editor is a godsend. What makes this stand out the MOST though is being able to generate random loot a few times to help in fine-tuning values. A process that could've taken days to weeks or more now takes WAY less time. Thanks so much.
Great work as usual.
This new version of the profile editor is simply an act of genius. It has never been easier to edit loot while seeing what you're doing and what the output container would be, and it's all finally come of age thanks to k1lly0u. If you're not using AlphaLoot and this profile editor, you're making life really hard for yourself. Kudos.
im having an issue with a dual monitor setup it wont let me put it on my 2nd monitor and also while this is open the game itself acts crazy when i move the mouse, it minimizes the game
Just when i think it couldn't possibly get any better and you show me more. Keep up the Great Work! Big fan
The new update is amazing. Its much quicker than before and works great. Thank you.