Adding Custom Content - IcyStarFrost/Lambda-Players GitHub Wiki
Introduction
Here you can find sections about adding your own custom content to Lambda Players
$\textsf{\LARGE⚠\kern{0.2cm}\Large Important}$
You must go into Utilities and click Update Lambda Data
after any changes related to adding new things to the Lambda Players (names, profiles, props, sprays, etc) for it to take effect.
Profile Pictures
By default, each Lambda's profile picture is the spawnicon of their playermodel. This will show you how to add custom profile picture images to the Lambdas
Profile Pictures can be seen via the default Garry's Mod Scoreboard, Voice Chat Popups, or by whatever other way.
Custom Profile Pictures can be added by putting .png, .vtf, and .jpg images in either of these folders;
DRIVE:\Program Files (x86)\Steam\steamapps\common\GarrysMod\garrysmod\materials\lambdaplayers\custom_profilepictures
or
DRIVE:\Program Files (x86)\Steam\steamapps\common\GarrysMod\sourceengine\materials\lambdaplayers\custom_profilepictures
$\textsf{\Largeⓘ\kern{0.2cm}\normalsize Note}$ You can create sub folders in
custom_profilepictures
containing images to be able to organize your image files.
Names
Custom names can be added in the in game Name Panel found in the Spawnmenu at Lambda Players>Panels. The panel allows you to export your names to share with others. The panel is also capable of importing nameexport.json files full of names or txt files full of names formatted like
Garry
Sora
Breen
$\textsf{\Large⚠\kern{0.2cm}\normalsize Warning}$ Due to a issue with JSON to Table conversion in GLua, you can only have a total of 15,000 names! Issues may occur if you go above that limit
Files you want to import should go in:
DRIVE:\Program Files (x86)\Steam\steamapps\common\GarrysMod\garrysmod\data\lambdaplayers\nameimport
Preview of the name panel.
$\textsf{\Large⚠\kern{0.2cm}\normalsize Warning}$ Remember to Update Lambda Data or newly added names wont be registered.
Custom Voice lines
You can add custom voice lines that will be collectively used amongst every Lambda that doesn't have a Voice Profile
Custom Voice lines can be used by creating folders containing specific voices in either of these folders;
DRIVE:\Program Files (x86)\Steam\steamapps\common\GarrysMod\sourceengine\sound
or
DRIVE:\Program Files (x86)\Steam\steamapps\common\GarrysMod\garrysmod\sound
You can then define which directory to use relative to the "sound" folder.
For example, if your idle voices lines are located in
DRIVE:\Program Files (x86)\Steam\steamapps\common\GarrysMod\sourceengine\sound\somefolder\vo\(sounds files here)
You would input somefolder/vo
in the Idle Directory path. You can find all the Voice Type Directory Settings in Voice Options
Example of taunt directory being in DRIVE:\Program Files (x86)\Steam\steamapps\common\GarrysMod\garrysmod\sound\lambdaplayers\vo\taunt
$\textsf{\Largeⓘ\kern{0.2cm}\normalsize Note}$ Any folders inside the directory will also be included so take advantage of this for better organization of your sound files.
See the Voice Profile section to learn about what each voice type is used for. Note that this will not include any module's voice types. You will have to refer the module's description
Voice Profiles
Similar to Voice Packs for Zeta Players, Voice Profiles is a pack of voice lines that a individual Lambda can use. Think of it as a way of making specific voices instead of a massive mix of random voicelines. Unlike Custom Voice Lines, Voice Profiles will not be added to the list of Voice Lines.
$\textsf{\Largeⓘ\kern{0.2cm}\normalsize Note}$ Lambda Players have backwards compatibility for Zeta Voice Packs. This means you can install Zeta VPs on the workshop and be able to use them for Lambda Players
Voice Profiles can be added by creating folders in either of the following folders;
DRIVE:\Program Files (x86)\Steam\steamapps\common\GarrysMod\sourceengine\sound\lambdaplayers\voiceprofiles\( Names of the Voice Profiles )
or
DRIVE:\Program Files (x86)\Steam\steamapps\common\GarrysMod\garrysmod\sound\lambdaplayers\voiceprofiles\( Names of the Voice Profiles )
Inside your Custom Voice Profile, you can add the following folders relating to a Voice Type. This includes any module's Voice Types
assist | Voice lines that are used when a different entity kills a Lambda's enemy
fall | Voice lines that are used when a Lambda is falling from a high height
panic | Voice lines that are used when a Lambda "panics"
idle | Voice lines that are used randomly
death | Voice lines that are used when the Lambda Player is killed
kill | Voice lines that are used when the Lambda Player kills someone
taunt | Voice lines that are used when a Lambda Player is about to attack someone
laugh | Voice lines that are used when a Lambda Player laughs at someone
witness | Voice lines that are used when a Lambda Player witnesses someone die
Example of a Voice Profile
There are a few ways to make use of Voice Profiles.
- Turn up Voice Profile Chance in
Lambda Server Settings.
This will be the chance a Lambda Player will spawn with a random Voice Profile
- Manually select a Voice Profile in
Lambda Player Settings
- Assign a Voice Profile to a Lambda Profile
Lambda Profiles
Specific Lambda Players can be made through the Profile Panel. For example, you create a Profile that will use the name Breen and have that Profile use the Breen model, have a certain personality, a certain voice, ect.
To start making a profile, go to Panels and press Open Profile Panel
You should see something like this
Let's start with navigating the panel before doing any profile creations. First, Put your cursor to the bottom right corner of the panel and resize if you want. Second, the panel will have arrows on each bottom corner which will scroll left or right.
Third, each pillar of settings will have a scroll bar as well that will scroll vertically. That's pretty much it for navigating this panel. Let's begin to create a Profile. For this guide I will make a Profile named Eve.
Normally this is the name that a Lambda Player has to spawn with in order to use this profile but Profile Use Chance
in Lambda Server Settings
can force a Profile Lambda to spawn.
For Eve, I think I will select the Female Metro Cop model by simply scrolling through the list of playermodels and clicking on it.
You can scroll to the far right to find the Bodygroups and Skins section. However since our model doesn't have skins nor bodygroups we will not worry about that.
Next I need to give "her" a profile picture. If you don't know how to add Profile Pictures, please scroll up to the Profile Picture section. I'm gonna look through the Profile Pictures and find one that I want to use
In my case, I already have a Profile Picture ready for use. Since Profile Pictures are relative to the lambdaplayers\custom_profilepictures
folder, I can input this file path.
Notice that there is now a image under the text box. This means we inputted the path correctly
The rest in this pillar of settings is pretty much self explanatory
Next, let's tweak the personality settings. These are the default personality sliders.
Eve to me isn't the type that would really fight people so I'll make her favor building and stuff over combat
After that, let's move onto the colors. I want the colors to sorta match the colors in the Profile Picture so I'll choose them according to that. In regards of the use check boxes, turning those off make whichever color to be random
Notice the Playermodel Preview changes as you change the playermodel color
And that's it! That's all you really have to do to make a profile. Now what's left is to save it. To the right of the panel, you will see a List Panel and 3 buttons.
The list will show all your saved profiles which you can load by double clicking them or remove them by right clicking them. The panel will ask you if you are sure you want to delete whatever profile as added security. At the top of the list is a search bar where you can search for specific profiles.
Anyway, there are two buttons we want to look at. Save Profile
and Save To Server
.
What's the difference?
In singleplayer, both buttons will save your profile to your computer.
In multiplayer, the Save To Server
will save the Profile to the Server's files only if you are the host or are a Super Admin. This would be your files if you are the host of the multiplayer server. Save Profile
will always save the profile to your own Profiles.
For the last button, Request Server Profiles
will send a request to the Server to send its Profiles to you so you can edit it. This will only work for Super Admins that are not the host because the host already has the Server's Profiles
I will now press Save Profile
and there it is! It is now saved
$\textsf{\Large⚠\kern{0.2cm}\normalsize Warning}$ Remember to Update Lambda Data or newly added profiles wont be registered.
My Profile Chance is to 100% so this means profiles will always spawn as long as they don't already exist. Here we can see Eve in game now. That's all you have to do. Happy Profile Making!
Sprays
Sprays are images that Lambdas can place in-game like in Team Fortress 2.
Example of a Spray on a wall
To add sprays, place the following image files to the directory below: .VTFs, .PNGs, and .JPGs (DON'T CONFUSE .JPG with .JPEG! .JPEG WILL NOT WORK!)
DRIVE:\Program Files (x86)\Steam\steamapps\common\GarrysMod\sourceengine\materials\lambdaplayers\sprays
You have to create the folders as they are not automatically created for you and can't be.
$\textsf{\Largeⓘ\kern{0.2cm}\normalsize Note}$ You can add sub-folders in the
sprays
folder for better organization of your sprays.
Text Chat
Text chat returns with a highly more flexible system for both users and developers.
Let's start with adding your own custom text lines.
In the Panels category, you will find the Text Panel
Press the button and you'll see something like this
At the bottom of each Text Type you'll see a text box you can use to add text lines with. Simply just type in a line and press enter
That's literally it.
You are able to import text lines as well when you press the import button. Just follow the instructions the import panel gives you.
To learn more about Text Types and others, visit the Text Chat page of this wiki
Text Profiles
Similar to Voice Profiles except for Text Chat Lines. Text Profiles allows you to make a specific set of text lines to fit whatever goal you want. For example, making a Text Profile for someone that is usually toxic or a Text Profile for someone who is chill.
To create a Text Profile, start by creating the Text Profile folder in either of these directories;
DRIVE:\Program Files (x86)\Steam\steamapps\common\GarrysMod\sourceengine\materials\lambdaplayers\textprofiles
or
DRIVE:\Program Files (x86)\Steam\steamapps\common\GarrysMod\garrysmod\materials\lambdaplayers\textprofiles
After that, create a folder with whatever name you want your Text Profile to have. For example,
DRIVE:\Program Files (x86)\Steam\steamapps\common\GarrysMod\sourceengine\materials\lambdaplayers\textprofiles\shane
Lastly, put any JSON formatted or newline formatted text files into your Text Profile.
Newline format looks like this
$\textsf{\Large⚠\kern{0.2cm}\normalsize Warning}$ Your text file names must be the exact same as a existing Text Type!
If you don't know any of the default Text Types please read here https://github.com/IcyStarFrost/Lambda-Players/wiki/Text-Chat#text-types If you are adding to a Text Type added by an addon, either see if the addon documented the new Text Types or visit the Text Panel in game and it will show you the exact Text Type names like:
Examples:
DRIVE:\Program Files (x86)\Steam\steamapps\common\GarrysMod\sourceengine\materials\lambdaplayers\textprofiles\shane\idle.txt
Lambdas using this Text Profile will now use whatever is in the idle text file
DRIVE:\Program Files (x86)\Steam\steamapps\common\GarrysMod\sourceengine\materials\lambdaplayers\textprofiles\shane\deathbyplayer.txt
Lambdas using this Text Profile will now use whatever is in the deathbyplayer text file when they are killed by a player
That is all that's to Text Profiles. It's that simple!
$\textsf{\LARGE⚠\kern{0.2cm}\Large Important}$
You must go into Utilities and click Update Lambda Data
after any changes related to adding new things to the Lambda Players (names, profiles, props, sprays, etc) for it to take effect.