Anyone have any details on this feature? Supposedly you can specify what abilities are allowed in a custom game… very handy for competition.
How do you use g_abilitiesGlobal, g_abilitiesSoldier, etc.?
Ok we’ve figured out this much:
listAbilities # (# = client # that shows all abilities for that player, so 0 if localhost)
The values listed there, like “hardened_skin” is what needs to be entered into the
g_abilitiesGlobal “” or g_abilitiesSoldier “”, etc. strings in the server config. Multiple items can be entered in a comma-separated list.
However, we haven’t figured out bound abilities like mine deployment and Metabolism buffs… those don’t seem to be active when listed.
Please update here if you figure out more. We’ll do the same.
The cvars force all clients to have those abilities exactly if the server sets them. You have to be careful to always include some of the core inventory items as well as the ones available in the abilities section in the main menu (like the operatives ability to hack is pretty important).
If you have a clean character and join a game, do “listSelectedAbilities” and you’ll see the what abilities are being used, including core abilities. For abilities that needs to be bound specify the dpad bind direction as well. For the first turret ability it’d be something like “…,turret1 left,…”.
I’m bumping this up because its important, and I haven’t figured it out.
Just a note, there are also g_itemLoadOut and g_unlock cvars.
[QUOTE=AO;307751]The cvars force all clients to have those abilities exactly if the server sets them. You have to be careful to always include some of the core inventory items as well as the ones available in the abilities section in the main menu (like the operatives ability to hack is pretty important).
If you have a clean character and join a game, do “listSelectedAbilities” and you’ll see the what abilities are being used, including core abilities. For abilities that needs to be bound specify the dpad bind direction as well. For the first turret ability it’d be something like “…,turret1 left,…”.[/QUOTE]This doesn’t sound compatible with anything other than default bindings if you have to specify not just which abilities are available but to which buttons/directions they are assigned.
If that is the case then these aren’t currently suitable for competition because the server will force new bindings on non-defaults.
Whatever you do, don’t set cvars on a public server unless you have tested them first. It seems there’s a lot of legacy cvars that can do bad things.
Hence why the developer console is officially unsupported.
I’ve tested this fairly extensively last night, got it working, but there’s one major flaw.
A lot of the abilities are bound to a certain key, basically anything that isn’t passive (mines, turrets, certain buffs, specialty nades, etc). Even if the ability itself is “allowed” through the cvar, it is not re-enabled on the keybind.
I was unable to figure out the exact format I needed to enter to re-allow the item on a certain key… but you mentioned you can just put a space to, say, “left” and that will rebind it?
Thanks for the answer, all I really need is the exact format that the abilities need to be listed in (specifically “bound” abilities).
Not sure what progress, if any you’ve made Matt, but I’ve been trying to figure out this command as well. I dumped the console from when you load into a server and found some info on what happens when abilities get loaded.
sdAbilityManager::OnLocalPlayerClassChanged: 0
Received abilities from client 0
...'grenade_molotov' set as bind 0
...'landmine' set as bind 8
...'extra_plates' set as bind 9
...'turret3' set as bind 11
...'charge' set as bind 16
...'spotting' set as bind 17
...'repairing' set as bind 18
...'disarming' set as bind 19
...'building' set as bind 20
...'revive' set as bind 21
...'hacking' set as bind 22
...'hardened_skin' set as bind 23
...'sprinting_reload' set as bind 24
...'power_maximum_increase' set as bind 25
...'commandpost_upgrade' set as bind 26
...'power_rate_increase' set as bind 27
...'sprinting_grenade' set as bind 28
...'third_person_objectives' set as bind 29
...'gear_head1' set as bind 30
...'extra_mine' set as bind 31
...'silent_movement' set as bind 32
...'increase_power2' set as bind 34
...'give_ammo' set as bind 56
...'life_buff2' set as bind 58
...'weapon_buff2' set as bind 60
...'disguise_self' set as bind 61
26 abilities set
done setting 26 local abilities
Now, when you use the g_abilitiesCLASS commands with the active abilities it doesn’t set them to binds, but it recognizes that you want the ability unlocked and available.
g_abilitiesEngineer building repairing weapon_buff1 disarming landmine dpad_engineer_left turret1 gear_head1 weapon_buff2 turret2 commandpost_upgrade extra_plates dpad_engineer_right turret3 dpad_engineer_down extra_mine
sdAbilityManager::OnLocalPlayerClassChanged: 0
Received abilities from client 0
0 abilities set for 'global'
0 abilities set for 'soldier'
...'building' set as bind 16
...'repairing' set as bind 16
...'weapon_buff1' set as bind 56
...'disarming' set as bind 16
...'weapon_buff2' set as bind 56
...'extra_mine' set as bind 16
11 abilities set for 'engineer'
0 abilities set for 'medic'
0 abilities set for 'operative'
done setting 26 local abilities
It’s saying it set 11 abilities for engineer, but it only binds the passives.
Note, the g_abilities command is what I was testing at the time, the dpad_engineer_direction doesn’t work, but when you use the listAbilities 0, thats what it shows the active abilities bound to, was testing those in a bunch of different manners.
Also, you don’t need commas seperating the abilities when you type it out. It appears that what ever the sdAbilityManager gets passed gets parsed looking for ability name strings.
g_abilitiesEngineer "repairing 'bind_8 landmine'"
sdAbilityManager::OnLocalPlayerClassChanged: 0
Received abilities from client 0
0 abilities set for 'global'
0 abilities set for 'soldier'
...'repairing' set as bind 16
WARNING: ServerSetAbilitiesForString: Unknown token 'bind_8 landmine' while parsing abilities string 'repairing 'bind_8 landmine''
1 abilities set for 'engineer'
0 abilities set for 'medic'
0 abilities set for 'operative'
done setting 26 local abilities
Using "repairing ‘bind_8 landmine’ " gets it to parse ‘bind_8 landmine’ as a whole string and causes it to throw out a warning.
Anyways, not sure if any of this info is helpful or not, but I figured I would share.
[QUOTE=AO;307751]The cvars force all clients to have those abilities exactly if the server sets them. You have to be careful to always include some of the core inventory items as well as the ones available in the abilities section in the main menu (like the operatives ability to hack is pretty important).
If you have a clean character and join a game, do “listSelectedAbilities” and you’ll see the what abilities are being used, including core abilities. For abilities that needs to be bound specify the dpad bind direction as well. For the first turret ability it’d be something like “…,turret1 left,…”.[/QUOTE]
so can you find out exactly what the syntax is to force the abilities to bindings? like to push them onto the _activatecontext1-3 bindings?, because the way you have said ‘turret1 left’ isnt correct and neither are any of the numerous other ways ive tried, would atleast to start with be nice so the competitive community can atleast attempt to adopt a ruleset regarding abilities, and i know it wasnt intended to be used that way but if we can make do with it until the sdk comes out…
im also curious as to what commands the server executes when its given the ‘applyServerConfig Competition’ command since the ‘server_stopwatch_competition_vs.cfg’ file in the /base directory has practically nothing in it and its applying things like no command post buffs etc
Here’s a little compilation I made based on my findings.
List of abilities:
#Soldier
charge // default, not in UI
give_ammo // Standard Soldier Kit (passive default)
grenade_molotov // Molotov Cocktail (default bound)
armor_piercing_rounds // Armor Piercing Ammo (passive)
grenade_flash // Flashbang Grenades (bound)
grenade_mastery // Grenade Mastery (passive)
search_bodies1 // Scavenge (passive)
extra_layers1 // Kevlar Vest (passive)
extra_magazine // Extra Magazine (passive)
grenade_aoe // Frag Blast (passive)
grenade_damage1 // Grenade Damage (passive)
satchel_charge // Satchel Charges (bound)
#Engineer
building // passive default, not in UI
repairing // passive default, not in UI
disarming // passive default, not in UI
weapon_buff1 // Standard Engineer Kit (passive default)
landmine // Landmine (default bound)
extra_plates // Extra Kevlar (bound)
gear_head1 // Gear Head (passive)
magic_fingers // Nerves of Steel (passive)
turret1 // Light Turret (bound)
commandpost_upgrade // Command Post Upgrade (passive)
turret2 // Medium Turret (bound, succeeds turret1)
weapon_buff2 // Improved Weapon Buff (passive, succeeds weapon_buff1)
extra_mine // Extra Landmine (passive)
turret3 // Gatling Turret (bound, succeeds turret1 and turret2)
#Medic
revive // passive default, not in UI
life_buff1 // Standard Medic Kit (passive default)
adrenaline1 // Adrenaline Boost (bound)
increase_power1 // Increase Supplies (passive)
metabolism1 // Metabolism (bound)
restore_power // Transfer Supplies (bound)
increase_power2 // Improved Increase Supplies (passive, succeeds increase_power1)
light_feet1 // Speed Boost (bound)
life_buff2 // Improved Life Buff (passive, succeeds life_buff1)
self_resurrection // Self Resurrection (passive)
aoe_revive // Lazarus Grenade (bound)
#Operative
spotting // passive default, not in UI
hacking // passive default, not in UI
disguise_self // Standard Operative Kit (passive default)
hack_commandpost // Firewall Command Post (passive)
homing_beacon // Homing Beacon (passive)
interrogation1 // Comms Hack (passive)
sticky_bomb // Sticky Bomb (bound)
caltrop_bomb // Caltrop Grenades (bound)
hack_turret // Hack Turret (passive)
control_turret_remotely // Control Turret (passive)
cortex_bomb // Cortex Bomb (passive)
emp_burst // EMP Grenades (bound)
#Global
grenade_shooting // Grenade Shooting (passive)
hardened_skin // Battle Hardened (passive)
power_maximum_increase // Supply Max Increase (passive)
spider_sense // Combat Intuition (passive)
sprinting_grenade // Sprinting Grenade (passive)
sprinting_reload // Sprinting Reload (passive)
third_person_objectives // Sense Of Perspective (passive)
power_rate_increase // Resupply Rate Increase (passive)
silent_movement // Silent Running (passive)
downed_fire // Downed Fire (passive)
You don’t need to include all successive abilities (like buffs and turrets, etc.), only the highest level you wish to enable.
Entries with “bound” needs a specific key bind to work, valid ones are: left, right and down.
left = default key 3 (_activateContext1)
right = default key 4 (_activateContext2)
down = default key 5 (_activateContext3)
Syntax: … < ability > < left/right/down (unless passive); > …
Examples:
Soldier abilities without “Scavenge”:
g_abilitiesSoldier "charge; give_ammo; grenade_molotov left; armor_piercing_rounds; grenade_flash right; grenade_mastery; extra_layers1; extra_magazine; grenade_aoe; grenade_damage1; satchel_charge down"
Engineer abilities:
g_abilitiesEngineer "building; repairing; disarming; weapon_buff1; landmine left; extra_plates down; gear_head1; magic_fingers; commandpost_upgrade; weapon_buff2; extra_mine; turret3 right"
Medic abilities without “Adrenaline Boost” and “Lazarus Grenade”:
g_abilitiesMedic "revive; life_buff1; metabolism1 left; restore_power right; increase_power2; light_feet1 down; life_buff2; self_resurrection"
Operative abilities without “Comms Hack”:
g_abilitiesOperative "spotting; hacking; disguise_self; hack_commandpost; homing_beacon; sticky_bomb left; caltrop_bomb right; hack_turret; control_turret_remotely; cortex_bomb; emp_burst down"
Global abilities without “Downed Fire” and “Sense Of Perspective”:
g_abilitiesGlobal "grenade_shooting; hardened_skin; power_maximum_increase; spider_sense; sprinting_grenade; sprinting_reload; power_rate_increase; silent_movement"
The downside of these commands are that it’s just overrides client choices of abilities and you also need to specify what key to bind the non-passive ones (which isn’t big of a problem since you can re-bind 3, 4 and 5). So remember to disable any ability you leave it out in the cvars. With that said it may work until we get an SDK or if SD can create a better suited command to disable certain abilities much like you can already disable certain weapons.
Please see this post.
edit: Separated abilities with semi-colons for better readability. Also the engineer ability Extra Kevlar (extra_plates) is bound, not passive. Thanks HugePinball for the heads-up.
[QUOTE=Trivve;319514]Here’s a little compilation I made based on my findings.
…
[/QUOTE]
That’s great info Trivve, thanks!
I did find one mistake though. The engineer ability Extra Kevlar (extra_plates) is bound, not passive. This will cause your example g_abilitiesEngineer string to not work as expected.
Also, for the successive abilities (like weapon_buff1/weapon_buff2, life_buff1/life_buff2, turrets, etc.) it doesn’t appear that you need to include all of them, only the highest level you wish to enable.
EDIT:
Another note, you can use semi-colons as separators. Doesn’t change anything, just improves readability a little. For bound abilities, don’t separate the ability name from its bind. For example, the g_abilitiesEngineer string might look like this:
g_abilitiesEngineer "building; repairing; disarming; gear_head1; magic_fingers; commandpost_upgrade; weapon_buff2 extra_mine; landmine left; turret3 right; extra_plates down"
Anyone else having the “feature” that one server gets the same g_abilities* settings as another server that runs out of the same directory?
Like most cvars, these get written into brinkdedconfig.cfg when you modify them, so that’s to be expected.
I’m pretty sure that only gets read by the server at launch, so just run a cfg that clears the ability cvars or whatever you want to do. I use a file named abilities_reset.cfg containing the following:
reset g_abilitiesSoldier
reset g_abilitiesEngineer
reset g_abilitiesMedic
reset g_abilitiesOperative
reset g_abilitiesGlobal
I guess it’s safe to post this now.
Here’s Trivve’s abilities list updated with the new DLC abilities. See his post above for usage.
#Global
grenade_shooting // Grenade Shooting (passive)
hardened_skin // Battle Hardened (passive)
power_maximum_increase // Supply Max Increase (passive)
spider_sense // Combat Intuition (passive)
sprinting_grenade // Sprinting Grenade (passive)
sprinting_reload // Sprinting Reload (passive)
third_person_objectives // Sense Of Perspective (passive)
power_rate_increase // Resupply Rate Increase (passive)
silent_movement // Silent Running (passive)
downed_fire // Downed Fire (passive)
tactical_scanner // Tactical Scanner (passive, dlc_1)
#Soldier
charge // default, not in UI
give_ammo // Standard Soldier Kit (passive default)
grenade_molotov // Molotov Cocktail (default bound)
armor_piercing_rounds // Armor Piercing Ammo (passive)
grenade_flash // Flashbang Grenades (bound)
grenade_mastery // Grenade Mastery (passive)
search_bodies1 // Scavenge (passive)
extra_layers1 // Kevlar Vest (passive)
extra_magazine // Extra Magazine (passive)
grenade_aoe // Frag Blast (passive)
grenade_damage1 // Grenade Damage (passive)
satchel_charge // Satchel Charges (bound)
grenade_napalm // Napalm Grenades (bound, dlc_1)
#Engineer
building // passive default, not in UI
repairing // passive default, not in UI
disarming // passive default, not in UI
weapon_buff1 // Standard Engineer Kit (passive default)
landmine // Landmine (default bound)
extra_plates // Extra Kevlar (bound)
gear_head1 // Gear Head (passive)
magic_fingers // Nerves of Steel (passive)
turret1 // Light Turret (bound)
commandpost_upgrade // Command Post Upgrade (passive)
turret2 // Medium Turret (bound, succeeds turret1)
weapon_buff2 // Improved Weapon Buff (passive)
extra_mine // Extra Landmine (passive)
turret3 // Gatling Turret (bound, succeeds turret 1 and 2)
pyromine // Pyro Mines (bound, dlc_1)
#Medic
revive // Passive default, not in UI
life_buff1 // Standard Medic Kit (passive default)
adrenaline1 // Adrenaline Boost (bound)
increase_power1 // Increase Supplies (passive)
metabolism1 // Metabolism (bound)
restore_power // Transfer Supplies (bound)
increase_power2 // Improved Increase Supplies (passive)
light_feet1 // Speed Boost (bound)
life_buff2 // Improved Life Buff (passive)
self_resurrection // Self Resurrection (passive)
aoe_revive // Lazarus Grenade (bound)
field_gen // Field Regen Unit (bound, dlc_1)
#Operative
spotting // Passive default, not in UI
hacking // Passive default, not in UI
disguise_self // Standard Operative Kit (passive default)
hack_commandpost // Firewall Command Post (passive)
homing_beacon // Homing Beacon (passive)
interrogation1 // Comms Hack (passive)
sticky_bomb // Sticky Bomb (bound)
caltrop_bomb // Caltrop Grenades (bound)
hack_turret // Hack Turret (passive)
control_turret_remotely // Control Turret (passive)
cortex_bomb // Cortex Bomb (passive)
emp_burst // EMP Grenades (bound)
mobile_uav // Micro UAV (bound, dlc_1)
Ok, thanks so far, no another question… With the DLC, new abilities hit the game and the medic is now, for example, left with speed boost, metabolism and lazarus. Those are attached to left, right and down. But what if the medic shall be able to use the new field_gen ability? Is it still possible to put an additional ability up there? Probably with “up” following? Or do I have to sacrifice another ability?
EDIT: Just tried out the new abilities, don’t seem to work. For example, the soldier stuff looks like that:
g_abilitiesSoldier “charge give_ammo armor_piercing_rounds extra_magazine extra_layers1 grenade_mastery grenade_aoe grenade_damage1 search_bodies1 grenade_molotov left grenade_flash right grenade_napalm down”
Before, molotov was on 3 and flash on 4. Normally the napalm grenade should be on 5 now, right? But it isn’t. I still wait for an answer of the admin when he has finished the update, I am not sure if the DLC is already installed, since I can’t even use rcon admin changemap mp/lab or mp/founders. “You can’t change to that map”. But that’s prolly another thing…
Ok, I am a bit pissed now since noone seems to care about this.
I reset all abilities by puttin “” into the cfg. After server restart I had the exact abilities I trained for my character. So far, so good. Afterwards I put the abilities I want to unlock for everyone back into the cfg:
g_abilitiesGlobal “grenade_shooting; hardened_skin; power_maximum_increase; sprinting_grenade; sprinting_reload; power_rate_increase; silent_movement”
g_abilitiesSoldier “charge; give_ammo; armor_piercing_rounds; extra_magazine; extra_layers1; grenade_mastery; grenade_aoe; grenade_damage1; search_bodies1; grenade_molotov left; grenade_flash right; grenade_napalm down”
g_abilitiesEngineer “building; repairing; disarming; weapon_buff1; gear_head1; landmine left; turret2 right; pyromine down”
g_abilitiesMedic “revive life_buff1; increase_power2; life_buff2; metabolism1 left; aoe_revive right; field_gen down”
g_abilitiesOperative “spotting; hacking; disguise_self; hack_commandpost; hack_turret; control_turret_remotely; sticky_bomb left; caltrop_bomb right; mobile_uav down”
I tried it with and without semicolons, no change for the DLC content. What I changed for example, I removed speed boost from the medic abilities, switched metabolism and lazarus grenade one slot to the left and that worked ingame. What didn’t work was the “field_gen” on button 5 (aka “down”).
It’s the same for the rest, e. g. I removed the kevlar from the engineer to provide a slot for the pyromine. Well, the kevlar is gone but there is no pyromine.
So pls, tell me what I have to put into the cfg. Or are those abilities not available for being unlocked in the cfg, because not everyone has the DLC and it would be unfair to unlock them for everyone? If so, pls tell me at least! Although the better alternative would be to unlock it for owners of the DLC and simply don’t display it for people without the DLC but that’s just a suggestion.
I need answers!
I have got the same problem because i run fixed skillsets on my public server and can’t use the g_ settings for the new DLC stuff
