User:SofiPandaRights/Custom Weapons
“ | Yes. I like this new weapon.
Click to listen
— The Heavy.
|
” |
Custom Weapons 2 is the name of a SourceMod server plugin which adds additional weapons to Team Fortress 2. It was developed by MasterOfTheXP, and is currently at version beta 2 since 03/12/14.
Currently maintained by Chdata, 404 and Theray070696.
Unlike Advanced Weaponiser, there is no loadout viewer nor a drop system because all weapons are available to the public.
Contents
Commands / Cvar
All players can equip custom weapons by saying !custom, !cus, or !c.
- Admin commands
- custom_addattribute <client> <slot> <"attribute name"> <"value"> <"plugin"> - Adds a custom attribute onto any weapon.
- Want your melee weapon to ignite whoever it crits on? custom_addattribute @me 2 "crits ignite" "1" "basic-attributes"
- custom_addattribute <client> <slot> <"attribute name"> <"value"> <"plugin"> - Adds a custom attribute onto any weapon.
- Cvars
- sm_customweapons_enable (1/0, def. 1) Enables the plugin, of course! Set to 0 to remove all active custom weapons.
- sm_customweapons_onlyinspawn (1/0, def. 1) Only allow /custom to be used inside of a spawn room.
- sm_customweapons_arena_time (def. 20) Time, in seconds, to allow /custom after spawning in Arena.
- sm_customweapons_bots (def. 0.15) Percent chance, per slot, that bots will equip a random custom weapon.
- sm_customweapons_menu (1/0, def. 1) Clients are allowed to say /custom to equip weapons manually. Set to 0 to disable manual weapon selection without disabling the entire plugin.
- sm_customweapons_killwearablesondeath (1/0, def. 1) Removes custom weapon models when the user dies. Recommended unless bad things start happening.
- sm_customweapons_sethealth (1/0, def. 1) When a custom weapon is equipped, the user's health will be set to their maximum.
- sm_customweapons_onlyteam (def. 0) If non-zero, custom weapons can only be equipped by one team; 2 = RED, 3 = BLU.
How to make custom weapons
Creating a new custom weapon is plain easy. Simply duplicate a custom weapon's config file, and fill out its info with your own.
- The weapon's name goes right at the top, in "quotes".
- "classes" is the array of player classes the weapon should be available for; the number next to each class is the weapon slot (0 = Primary, 1 = Secondary, 2 = Melee)
- "baseclass" is the classname of the weapon, without "tf_weapon_".
- "baseindex" is the item index of the base weapon, see above classname link. If unsure, stick within the 0-30s.
- If it uses ammo (i.e. most non-melee weapons) it should have "mag" and "ammo" keys with the intended starting ammo.
- "logname" will be displayed in client consoles when a kill is made with the weapon. Not currently implemented.
- "killicon", also not implemented yet, will be able to change the weapon's icon in the kill feed.
- "description" is the stat list that players will see when selecting the weapon. \n = Newline. "\n \n" will skip an entire line.
- "attributes"; the bread-n-butter. Each attribute has:
- An identifier, to set what attribute it is. This will either be a case-sensitive name (Custom Weapons, TF2Attributes) or an attribute index (TF2Items).
- "plugin": Who will provide the attribute's functionality?
- For official Valve attributes, you'll usually want to use TF2Attributes, so put "tf2attributes". A select few attributes require "tf2attributes.int" instead.
- If TF2Attributes doesn't work for said attribute (so far I've only seen "alt-fire is vampire" not work with TF2Att) then try "tf2items" instead, with the identifier being the number beside the attribute's name. (e.g. "move speed penalty" should instead be "54")
- Or, of course, a custom attribute! In which case, "plugin" should be set to the name of the attributes plugin, minus ".smx". The starter pack includes "basic-attributes" and "custom-attributes".
- And of course, a value. Most attributes are multipliers; with "damage bonus/penalty", "2.0" is double (+100%), and "0.5" is halved (-50%). With time-based attributes such as "Reload time increased/decreased", "0.5" is half time (good), whereas "2.0" makes it take twice as long (bad). And some attributes are simply "1.0 = on, 0.0 = off".
- If you're unsure about values, check out a weapon that already has that attribute (Ctrl+F the official weapon's name in tf/scripts/items_game.txt, or just look at the custom weapon's config)
How to make custom attributes
To be able to make custom attributes, all you need to know are the basics of SourcePawn. That's it! (Also, you need customweaponstf.inc from the bottom of this post)
Take a look at basic-attributes.sp in the Starter Weapons Pack; it's fairly simple, and has some comments here, there, and everywhere to explain things. Think of it as somewhat of a template for attributes plugins.
Q&A
How is this different from Advanced Weaponiser? You (who runs the game server) can change around the weapons in whatever ways you'd like. The weapons are always equippable, and not tied to any "master server". Also, this plugin isn't abandoned, private, or what have you.
I gave my custom weapon a model, can other players besides the user see it? Nope. The player will be able to see it in both first and third person, though.
<weapon name> is overpowered/underpowered! Fix it! No u! Change its stats, or disable it (after all, that's the point of this plugin!) and perhaps suggest a tweak to its stats once you've done so.
Was there a Custom Weapons 1? Yes. It was 100% hard coded, and terrible. Thankfully, it was private.
Why is it called "customweaponstf.smx"?
I actually, for some reason, originally made this for CS:GO; as a proof of concept, and because bot matches were getting a bit stale with CS:GO's plain, realistic weapons.
So, this is the "TF2 edition" of Custom Weapons.
Installation
Your server needs both TF2Items and TF2Attributes loaded.
- 1. Install customweaponstf.smx into your sourcemod/plugins/ directory.
- 2. Install tf2items.randomizer.txt into your sourcemod/gamedata/ directory.
- 3. Install whatever custom weapons/attributes/packs you'd like. You need at least one custom weapon for this to work, and most likely, that weapon will require an attributes plugin.
- 4. sm plugins load customweaponstf, or sm plugins reload customweaponstf when you install more.
- 5. Done!
List of weapons
Active weapons
The following weapons are currently available to be downloaded and used.
Active Weapons | ||||
---|---|---|---|---|
Class | Weapon | Authors | Attributes/Notes | |
Scout |
Melee |
MasterOfTheXP (Weapon) |
Max health increased by +25 | |
Soldier |
Primary |
MasterOfTheXP (Weapon) |
Weapon switch +45% faster | |
Melee |
MasterOfTheXP (Weapon) |
Damage increased by +50% | ||
Pyro |
Primary |
MasterOfTheXP (Weapon) |
Ignite enmies | |
Heavy |
Primary |
Alt-fire makes you shoot and restore 3 health points per hit | ||
Secondary |
VALVE™ |
Exact same attributes as the Shortstop. | ||
Primary |
MasterOfTheXP (Weapon) |
On kill : restores 150 health points | ||
Engineer |
Secondary |
MasterOfTheXP (Weapon) |
Can destroy sappers | |
PDA |
MasterOfTheXP (Weapon) |
Provide on active | ||
Medic |
Primary |
MasterOfTheXP (Weapon) |
Looking down and attacking will push the user into the air | |
Primary |
MasterOfTheXP (Weapon) |
Press alt-fire to use 20% of your Übercharge to give yourself a mini-crit and speed boost | ||
Secondary |
MasterOfTheXP (Weapon) |
Übercharge rate increased by +25% | ||
Secondary |
MasterOfTheXP (Weapon) |
Healing a teammate restore 2% of their offhand ammo every second | ||
Secondary |
MasterOfTheXP (Weapon) |
Übercharge rate increased by +75% | ||
Sniper |
Melee |
MasterOfTheXP (Weapon) |
On kill : Increases the minimum charge of your primary weapon by 50% | |
Spy |
Primary |
MasterOfTheXP (Weapon) |
Only holds 8 bullets but they can be used over and over again as long as you don't miss | |
Sapper |
MasterOfTheXP (Weapon) |
Sapper damage increased by +80% | ||
Cloak |
MasterOfTheXP (Weapon) |
Unlimited cloak | ||
Soldier, Pyro, Heavy and Engineer |
MasterOfTheXP (Weapon) |
Infinite ammo | ||
Pyro and Medic | Melee |
MasterOfTheXP (Weapon) |
Damage decreased by -25% |
Development team
MasterOfTheXP - Author and Main Developer.
Chdata - Main Developer.
404 - Main Developer.
Theray070696 - Creator of the (WIP)Advanced Weaponiser 2 Attributes Pack and main developer.
Nergal - Creator of the Nergalpak Attributes Pack.
Orion™ - Creator of the Orion's Attributes Pack, More Advanced Weaponiser 2 Attributes Pack and Dota 2 Attributes Pack.
KarmaCharger - Team Fortress 2 Wiki Contributor and Weapon Demonstrator.
Update history
- Added support for Arena
- Added 9 natives for other plugins to use
- Added 3 more cvars to configure the plugin
- Added error message for when there are no custom weapons for the player's class
- Added warning message to server console for when there are no custom weapons installed at all
- Added simple output for typing "custom" into the server console
- Added version cvar (whoops!)
- "nobots" "1" may now be placed in weapon configs to prevent bots from equipping them
- Fixed weapons that changed maximum health not having health updated upon equip
- Fixed being able to equip weapons that players already had equipped
- Released the WIP Weapons Pack! Contains a few unbalanced/unfinished weapons. Try 'em, and see if you can get them working/balanced!
- Starter Weapons Pack
- Hell-Sap
- Increased damage bonus to 80% (up from 65%)
- Decreased length of both effects (cooldown and rage) to 10 seconds (was 20 seconds)
- Hell-Sap
- HL2 Weapons
- Annabelle
- Reversed self-aimpunch (now recoils upwards instead of downwards)
- Annabelle
- Custom Attributes
- Fixed the effects of "sapper causes rage" never ending (the user would take crits from the victim for the rest of the match)
- "fires lasers" now accepts a value, which will set the base damage of the laser (formerly always 25)
- Added missing documentation for a few attributes to the top of the .sp
External links
|