I can't really make a video, but I will write a text guide:
Programs you will need:
-BSPSource - Used to decompile maps:
http://www.ata4.info/bspsrc/downloads.html
-Any Text Editor - I recommend NP++:
http://notepad-plus-plus.org/download/v6.4.2.html
-Hammer - If you have CS:S installed, it will be found at: C:\Program Files (x86)\Steam\SteamApps\common\Counter-Strike Source\bin (or if you are running x32: C:\Program Files\Steam\SteamApps\common\Counter-Strike Source\bin
Decompiling the Map:
After you have BSPSource, open bspsrc.jar
Click Add, then navigate to where the map you want to decompile is. Select it, and click decompile.
(you may have some errors, don't worry about them)
Finding the Special Weapons:
Open the map with Hammer, and then in the selection bar at the top, choose Map -> Entity Report to open the Entity Report window:
From here, scroll down to the bottom where you will find a lot of Entities using names such as weapon_elite. These are the weapons that will generally contain the items. Just double click on one to go to the weapon.
<in some case, the weapon will be surrounded by triggers and other annoying things. You should be fine to delete most of these>
You should have something that looks like this:
Go ahead and double click on the weapon_elite / weapon_deagle / weapon_knife / whatever it is using. You should have a window that looks like this:
Now open up a new text document and paste this:
Code:
"entities"
{
"0"
{
"desc" ""
"short_desc" ""
"color" ""
"name" ""
"exactname" "true"
"singleactivator" "true"
"type" "weapon_elite"
"button_type" "func_button"
"chat" "true"
"hud" "true"
"cooldown" ""
"cooldown_hud" "false"
"maxuses" ""
}
}
Fill in "name" "" with the name of the weapon, in this case "Staff_Wind_Pistol".
Code:
"entities"
{
"0"
{
"desc" ""
"short_desc" ""
"color" ""
"name" "Staff_Wind_Pistol"
"exactname" "true"
"singleactivator" "true"
"type" "weapon_elite"
"button_type" "func_button"
"chat" "true"
"hud" "true"
"cooldown" ""
"cooldown_hud" "false"
"maxuses" ""
}
}
If you want, you can set the name to a partial part of the name (such as Staff_Wind_) but if you do this, be sure to set "exactname" to "false".
Next click on the outputs tab. Here you will be looking for a line where the "Target Entity" is !activator.
If there is none, don't worry. If it
is there, make sure "singleactivator" is "true". If it is not, set it to "false".
Code:
"entities"
{
"0"
{
"desc" ""
"short_desc" ""
"color" ""
"name" "Staff_Wind_Pistol"
"exactname" "true"
"singleactivator" "true"
"type" "weapon_elite"
"button_type" "func_button"
"chat" "true"
"hud" "true"
"cooldown" ""
"cooldown_hud" "false"
"maxuses" ""
}
}
Also set "type" to whatever the weapon_ is, in this case "weapon_elite".
Set the "desc" as what you want to show up in chat. In this case I will use "Wind Staff".
Set the "short_desc" as what you want to show up on the HUD. In this case I will use "Wind".
Choose a color you want the text to show in chat. I will use a very light grey.
Code:
"entities"
{
"0"
{
"desc" "Wind Staff"
"short_desc" "Wind"
"color" "333333"
"name" "Staff_Wind_Pistol"
"exactname" "true"
"singleactivator" "true"
"type" "weapon_elite"
"button_type" "func_button"
"chat" "true"
"hud" "true"
"cooldown" ""
"cooldown_hud" "false"
"maxuses" ""
}
}
Right in front of the weapon_ should be a small block (if you must press +USE to use the item). Every mapper uses a different texture, so don't worry if yours isn't the same as mine. It can be seen in a picture above. Click on that block and go to Class Info.
Have a look at what the class is. In this case, it is a func_button. It will sometimes be something else, such as a func_door, but in most cases it is a func_button. Make sure "type" is the same as this:
Code:
"entities"
{
"0"
{
"desc" "Wind Staff"
"short_desc" "Wind"
"color" "333333"
"name" "Staff_Wind_Pistol"
"exactname" "true"
"singleactivator" "true"
"type" "weapon_elite"
"button_type" "func_button"
"chat" "true"
"hud" "true"
"cooldown" ""
"cooldown_hud" "false"
"maxuses" ""
}
}
The next two are quite straight forward. They are if you want to display the item in the chat and in the HUD. Just set to false if you don't want them to be shown.
Code:
"entities"
{
"0"
{
"desc" "Wind Staff"
"short_desc" "Wind"
"color" "333333"
"name" "Staff_Wind_Pistol"
"exactname" "true"
"singleactivator" "true"
"type" "weapon_elite"
"button_type" "func_button"
"chat" "true"
"hud" "true"
"cooldown" ""
"cooldown_hud" "false"
"maxuses" ""
}
}
Now go back to the Outputs tab on the button. Check if there are any "Target Input" listings that have "TestActivator". In my case there is. If there is, double click on it.
If there isn't, there will be a whole lot of listings instead. Just follow the next step.
Make sure you click back onto Outputs. There should be a whole lot of listings. If there is only one, again just double click on it. You will be looking for something along the lines of:
"OnPass" "(name of weapon)" "Unlock" "50" "no"
It may differ from map to map, but this is generally how it is done. In the case there is only a Lock and no Unlock, the item is a single use item. "cooldown_hud" should be set to false if the item only has one single use. If the item has multiple uses, you can remove the line completely.
Code:
"entities"
{
"0"
{
"desc" "Wind Staff"
"short_desc" "Wind"
"color" "333333"
"name" "Staff_Wind_Pistol"
"exactname" "true"
"singleactivator" "true"
"type" "weapon_elite"
"button_type" "func_button"
"chat" "true"
"hud" "true"
"cooldown" "60"
"maxuses" ""
}
}
Finally "maxuses". Some items have a maximum number of uses before you can no longer use these. If the item has one use, set this to "1". If it has 3, set it to "3". If it has unlimited uses, just make it something that will never run out. This item has a 60 second cooldown, and rounds never go for longer than 10 minutes. Therefore, it is safe to set it to 10.
Code:
"entities"
{
"0"
{
"desc" "Wind Staff"
"short_desc" "Wind"
"color" "333333"
"name" "Staff_Wind_Pistol"
"exactname" "true"
"singleactivator" "true"
"type" "weapon_elite"
"button_type" "func_button"
"chat" "true"
"hud" "true"
"cooldown" "60"
"maxuses" "10"
}
}
For more items, just add this:
Code:
"1"
{
"desc" ""
"short_desc" ""
"color" ""
"name" ""
"exactname" "true"
"singleactivator" "true"
"type" "weapon_elite"
"button_type" "func_button"
"chat" "true"
"hud" "true"
"cooldown" ""
"cooldown_hud" "false"
"maxuses" ""
}
Notice how there is now a "1" at the start instead of "0"? This must go up for every item. Now your config will look like this:
Code:
"entities"
{
"0"
{
"desc" "Wind Staff"
"short_desc" "Wind"
"color" "333333"
"name" "Staff_Wind_Pistol"
"exactname" "true"
"singleactivator" "true"
"type" "weapon_elite"
"button_type" "func_button"
"chat" "true"
"hud" "true"
"cooldown" "60"
"maxuses" "10"
}
"1"
{
"desc" ""
"short_desc" ""
"color" ""
"name" ""
"exactname" "true"
"singleactivator" "true"
"type" "weapon_elite"
"button_type" "func_button"
"chat" "true"
"hud" "true"
"cooldown" ""
"cooldown_hud" "false"
"maxuses" ""
}
}
Since this may be a bit confusing, feel free to add me on steam if you have any questions.
http://steamcommunity.com/id/likeabauxe