-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Note for those who want to create addons for Lambda Players, it is prefered you add [LambdaPlayers] as the first thing in your addon name just so it's easy to search for addons that add stuff to Lambda Players.
Custom Profile Pictures can be added by putting .png and .jpg images in this folder, 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
Note that you can create sub folders in custom_profilepictures containing images to be able to organize your image files.
Addons that add profile pictures should have this file path: ADDONNAME/materials/lambdaplayers/custom_profilepictures/( Any .png/.jpg image files)
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
Files you want to import should go in, C:\Program Files (x86)\Steam\steamapps\common\GarrysMod\garrysmod\data\lambdaplayers\nameimport
Addons that add custom names should have this file path: ADDONNAME/materials/lambdaplayers/data/customnames/( Any exported nameexport.json or .txt files here)
Custom Voice lines can be used by simply defining a directory relative to GarrysMod/sourceengine/sound
folder in Directories in Voice Options as shown below.
For example, if I wanted to use voicelines from C:/Program Files (x86)/Steam/steamapps/common/GarrysMod/sourceengine/sound/somefolder/vo/(Imagine sounds files here)
as idle lines, I would input somefolder/vo
in Idle Directory. Any folders after the directory you inputted will be included so try it out for organization of your sound files.
Addons that add voice lines should have this file path: ADDONNAME/sound/lambdaplayers/vo/custom/(possible folders are, death, taunt, idle, kill, laugh)/( Any sound files here. Preferably MP3 for storage reasons)
See Voice Profiles to see a explanation of each voice line type
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.
Voice Profiles can be added by creating folders here C:\Program Files (x86)\Steam\steamapps\common\GarrysMod\sourceengine\sound\lambdaplayers\voiceprofiles\( Names of the Voice Profiles )
Inside your Custom Voice Profile, you can add the following folders relating to a Voice Type
- 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
Example of a Voice Profile:
To use Voice Profiles in-game, either turn up the VP Use Chance or manually select a Voice Profile.
Addons that add Voice Profiles follow the same general process but will have this file path: ADDONNAME/sound/lambdaplayers/voiceprofiles/( Voice 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 use the Female Metro Cop model by simply scrolling through the list of playermodels
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? For singleplayer, both buttons will save your profile to your computer, however, 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
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 make a return from Zeta Players with minor changes to how they are loaded. .VTFs, .PNGs, and .JPGs are put in this folder: C:\Program Files (x86)\Steam\steamapps\common\GarrysMod\sourceengine\materials\lambdaplayers\sprays
. Remember you have to create the folders as they are not automatically created for you. Note you can add sub folders in the sprays
folder if you want to organize your sprays
Addons that add sprays should have this file path: ADDONNAME/materials/lambdaplayers/sprays/(Any .VTF, .PNG, .JPG image files here)
These are all the hooks you can use in hook.Add()
to extend upon Lambda's features
Called when all default convars have been created. Use this hook if you want use the CreateLambdaConvar()
function to create custom convars for Lambda Players externally. See lambdaplayers/autorun_includes/shared/convars.lua
Called when all default console commands have been created. Use this hook if you want use the CreateLambdaConsoleCommand()
function to create custom console commands for Lambda Players externally See lambdaplayers/autorun_includes/shared/d_consolecommands.lua
Called when the Profile Panel has been loaded. Use this hook if you want to add more settings to the Profile Panel using LambdaCreateProfileSetting()
See lambdaplayers/autorun_includes/shared/z_z_lambda_profilepanelextras.lua
Called when a Lambda Player wants to know if they can attack someone. Return true to make them not attack the target
Pickup functions are the functions called when a Lambda Player wants to "pickup" a entity. For example, healing with a medkit and gaining armor by armor battery
Called when all default pickup functions have been loaded. Use this hook if you want to add pickup support for a specific entity using LambdaPlayers_AddItemPickup()
See lambdaplayers/autorun_includes/server/globals.lua
Called when all default voice types ( idle, kill, death, ect ) have been registered and before the file system has loaded them. Use this hook if you want to create custom voice types using LambdaRegisterVoiceType()
. See lambdaplayers/autorun_includes/shared/d_registervoicetypes.lua
Called when a Lambda Profile is applied onto a Lambda Player. See function :ExportLambdaInfo()
for profileinfo table structure
The hooks below can be used to add onto certain features of the lambdas
Universal Actions or UActions are functions that randomly get called during a Lambda's life. Example of a UAction being weapon switching.
Called when all default UActions have been made. Use this hook if you want add a function to the UActions with AddUActionToLambdaUA()
See lambdaplayers/lambda/sv_x_universalactions.lua
Called when all default tools are loaded. Use this hook if you want to add custom tools with AddToolFunctionToLambdaTools()
See lambdaplayers/autorun_includes/shared/lambda_toolguntools.lua
Entity limits can help limit a certain type of entity or range of entities. This should be used in conjunction with Tool gun tools that spawn entities or Build functions that spawn untracked entities
Called when all default Entity Limits have been created. Use this hook if you want to make custom entity limits with CreateLambdaEntLimit()
See lambdaplayers/autorun_includes/shared/lambda_entitylimits AND lambdaplayers/lambda/sv_entitylimits.lua
Build functions are functions that are called when a lambda player wants to build/spawn something. For example, prop spawning is used by this
Called when all default Building Functions have been loaded. Use this hook if you want to add custom building functions with AddBuildFunctionToLambdaBuildingFunctions()
See lambdaplayers/autorun_includes/shared/lambda_x_buildingfunctions.lua
"Personalities" are functions that have chances ordered from highest to lowest applied to them. When a Lambda Player is in the idle state, each chance will be tested and if it succeeds, the function will run. Personalities are responsible for the decisions on building stuff or fighting
Called when all default Personality types have been loaded. Use this hook if you want to create custom personality types with LambdaCreatePersonalityType() See lambdaplayers/autorun_includes/shared/lambda_personalityfuncs.lua
Called when a Lambda Player is killed. This hook can be used to add onto the ENT:OnKilled() hook each Lambda Player has
Called when a Lambda Player takes damage. This hook can be used to add onto the ENT:OnInjured() hook each Lambda Player has
Called when a someone that is not the Lambda Player dies. This hook can be used to add onto the ENT:OnOtherKilled() hook each Lambda Player has
Called when a Lambda's ENT:Think() hook runs. This hook can be used to add onto the ENT:Think() hook each Lambda Player has
Called when a Lambda Player initializes. This hook can be used to add onto the ENT:Initialize() hook each Lambda Player has
stucktimes is a variable that holds how many times the Lambda Player got stuck within the last 10 seconds + now
Called when a Lambda Player gets stuck. This hook can be used to make a custom unstuck function. Return "stop" to make the Lambda Player give up in their path or return "continue" to make the Lambda Player continue down their path
Called when a Lambda Player wants to change their NoClip state. If DesiredState = true, the Lambda Player wants to noclip. If false, the Lambda Player wants to exit noclip. Return true to completely block the event
Called when a Lambda Player is removed from the game.