Posted by: Aldershot | November 8, 2009

Make your pwn Custom Weapons in TF2

Plate has posted a very interesting and useful tutorial on the TF2 steam forums on how to create your own fully functional TF2 weapon. Currently, this  only works on your own private server, but it’s still fun to mess around with it.

Full tutorial after the break!

The following is taken from here:


This thread is in beta stage, so it’s not completely done. Grammar, crap, and non-sense things included guarantee!

Chapter 1

Its easy. This tutorial will ensure you the ultimate knowledge of creating your very own WEPON.

Why you should know this? Who the  cares?!

Just give me the darn reputation and it’s a deal!

Oh don’t forget! Every time you ♥♥♥♥♥♥♥♥♥, please use the ♥♥♥♥♥♥ not the ♥♥♥♥♥♥♥♥♥♥ or else you will ♥♥♥♥.


Team Fortress 2




IQ above 5 and the most important thing: PATIENCE

Chapter 2

Making your own achievement weapons

STEP 1= Install GCFScape, open it, then click File -> Open, then go to Steam/steamapps and click on Team Fortress 2 Content.
STEP 2= With GCFScape in content folder, go to tf/scripts/items.
STEP 3= You find two files, “items.ctx and attributes.ctx”right click on them and extract them to desktop in a new folder.
STEP 4= Copy both of the Ctxhack and vice.exe in folder where you placed the files.
STEP 5= Open CTX_HACK_TF2, click on decode, then click execute for every file.
STEP 6 = In the folder should appear again Attributes and Items but in .txt format.
STEP 7= Open both attributes and items with wordpad.
STEP 8= You wonder what those things are? Attributes file contains all attributes for an achievement weaponand Items file, represents all TF2 weapons.
STEP 9= You want Natascha to make look like this, don’t you? .
STEP 10= First go in items.txt, hit CTRL+F, then search for Natascha.
STEP 11= When you find it, it will look like this:


“name” “Unique Achievement Minigun”
“enabled” “1”
“item_class” “tf_weapon_minigun”
“item_type_name” “#TF_Weapon_Minigun
“item_name” “#TF_Unique_Achievement_Minigun
“item_slot” “primary”
“item_logname” “natascha”
“image_inventory” “backpack/weapons/c_models/c_w_ludmila/c_w_ludmila”
“image_inventory_size_w” “128”
“image_inventory_size_h” “82”
“model_player” “models/weapons/w_models/w_minigun.mdl”
“attach_to_hands” “0”
“item_quality” “unique”
“min_ilevel” “5”
“max_ilevel” “5”
“heavy” “1”
“slow enemy on hit”
“attribute_class” “mult_onhit_enemyspeed”
“value” “1.0”
“damage penalty”
“attribute_class” “mult_dmg”
“value” “0.75”

STEP 12 = Look at all highlighted words, we have to change them!
STEP 13= Changing the name of the minigun, both


“item_type_name” “#TF_Weapon_Minigun
“item_name” “#TF_Unique_Achievement_Minigun

change them with the name you want. E.G


“item_type_name” “Example Name Of Minigun
“item_name” “Example Name Of Minigun

STEP 14= Now we have to change minigun’s powers. Open the attribute.txt and there you will have a lot of attributes for weapons. I’ll show you an example, how the attribute for critical boost looks like


“name” “critboost on kill
“attribute_class” “add_onkill_critboost_time
“attribute_name” “Add CritBoost effect on kill”
“min_alevel” “1”
“max_alevel” “50”
“min_value” “2”
“max_value” “3”
“affix_position” “-1”
“affix_text” “#damagedone_neg_1”
“group” “only_on_unique”
“description_string” “#Attrib_CritBoost_OnKill”
“description_format” “value_is_additive”
“hidden” “0”
“effect_type” “positive”
“force_incompatible_with” “or_crit_vs_playercond”

STEP 15 = We don’t need all this crap, just concentrate on this


“name” “critboost on kill
“attribute_class” “add_onkill_critboost_time

STEP 16 = Change the Natascha’s attributes from


slow enemy on hit
“attribute_class” “mult_onhit_enemyspeed
“value” “1.0”
“damage penalty”
“attribute_class” “mult_dmg”
“value” “0.75”

, to


critboost on kill
“attribute_class” “add_onkill_critboost_time
“value” “1.0”
“damage penalty”
“attribute_class” “mult_dmg”
“value” “0.75”

change the value from 1.0 to 7.0 for 7 seconds of criticals.
STEP 17= This should be enough, if you want to edit the second attribute, repeat the previous steps. Also you can add more attributes, but you must be very carefully or you will screw it up
STEP 18= To add more attributes, copy the following


“slow enemy on hit”
“attribute_class” “mult_onhit_enemyspeed”
“value” “1.0”

, and put them UNDER



“heavy” “1”
“slow enemy on hit”
“attribute_class” “mult_onhit_enemyspeed”
“value” “1.0”
“damage penalty”
“attribute_class” “mult_dmg”
“value” “0.75”

STEP 19 = If you are done, close items.txt, save it, go to CTX HACK, click on encode all then click for every file.
STEP 20= Both NEW items.ctx and attributes.ctx copy them in steam/steamapps/account-name/teamfortress2/tf/scripts/itemsand your weapon should be done!

Build multiple sentries, dispensers,
and teleporters

STEP 1 = Go to steam/steamapps/Team fortress 2 content
STEP 2 = While in GCFScape go to tf/scripts and extract the objects.txt
STEP 3 = Open it, and you will see this


// Engineer Objects

ClassName obj_sentrygun
StatusName “#TF_Object_Sentry”
BuildTime 10
MaxObjects 1
Cost 130
CostMultiplier 1
UpgradeCost 200
UpgradeDuration 1.5
MaxUpgradeLevel 0
BuilderWeaponName “Sentry Gun”
BuilderPlacementString “Place on ground”
SelectionSlot 5
SelectionPosition 0
SapperAttachTime 0.0
IconActive obj_sentrygun
IconInactive obj_sentrygun
Viewmodel “models/weapons/v_models/v_toolbox_engineer.mdl”
Playermodel “models/weapons/w_models/w_toolbox.mdl”
DisplayPriority 4
HudStatusIcon “obj_status_sentrygun_1”
VisibleInWeaponSelection 0
ExplodeSound “Building_Sentry.Explode”
ExplodeEffect “ExplosionCore_buildings”
MetalToDropInGibs 60
UpgradeSound “Building_Sentrygun.Built”

Modify the highlighted attributes like you wish, doing the same thing with teleporters and dispensers.
STEP 4 = Save the objects.txt, go to steamapps/youraccountname/teamfortress2/tf, create a new folder, called scripts and paste it there.

Useful binds:
bind “1” “buildsentry”
bind “2” “builddispenser”
bind “3” “buildentry”
bind “4” “buildexit”

Changing the damage of weapons

For example, I’ll show you how to make a Revolver which deals 9999 damage, fires like minigun, have the accuracy of a Sniper Rifle, and extended ammo clip

STEP 1 = Open tf_weapon_revolver
STEP 2 = This appeared to you


// Attributes Base.
“printname” “#TF_Weapon_Revolver”
“BuiltRightHanded” “0”
“weight” “3”
“WeaponType” “secondary”

// Attributes TF.
“Damage” “40”
“Range” “4096
“BulletsPerShot” “1
“Spread” “0.025”
“TimeFireDelay” “0.5”
“ProjectileType” “projectile_bullet”
“DoInstantEjectBrass” “0”
“HasTeamSkins_Viewmodel” “1”
“TracerEffect” “bullet_pistol_tracer01”

// Ammo & Clip.
“primary_ammo” “TF_AMMO_SECONDARY”
“secondary_ammo” “None”
clip_size 6
default_clip 6

// Buckets.
“bucket” “0”
“bucket_position” “0”

// Animation.
“viewmodel” “models/weapons/v_models/v_revolver_spy.mdl”
“playermodel” “models/weapons/w_models/w_revolver.mdl”
“anim_prefix” “ac”

STEP 3 = Edit the highlighted values how do you want.
STEP 4= Save the tf_weapon_revolver, encode it back to ctx and place it in steam/steamapps/your-account/teamfortress2/tf/scripts.

Changing the projectile. Make a revolver shoot rockets!

STEP 1= In tf_weapon_revolver you should find something like this :


“ProjectileType” “projectile_bullet”

STEP 2 = Go to a weapon that you want to shoot it like it, example lets take Rocket Launcher projectile:


“ProjectileType” “projectile_rocket

, so replace the


“ProjectileType” “projectile_bullet



“ProjectileType” “projectile_rocket

STEP 3= Save the tf_weapon_revolver, encode it back to ctx and place it in steam/steamapps/your-account/teamfortress2/tf/scripts.
Example of minigun shooting rockets ->

Changing the character’s health and speed

STEP 1= With GCFScape, go to Steam/Steamapps/Team fortress 2 content
STEP 2= Open Team Fortress 2 Content with GCFScape, then tf/scripts/playerclasses and extract them all
STEP 3= Using ctxhack (which you can find it on my previous threads) decode all ctx files.
STEP 4= Let’s make soldier speeds same as scout and his hp 450.
STEP 5 = Open soldier.txt, and it should pop this:


// Team Fortress – Soldier Player Class
// Attributes.
“name” “soldier”
“model” “models/player/soldier.mdl”
“model_hwm” “models/player/hwm/soldier.mdl”
“model_hands” “models/weapons/c_models/c_medic_arms.mdl”
“localize_name” “TF_Class_Name_Soldier”
“speed_max” “240”
// “health_max” “100”
// “armor_max” “250”
“health_max” “200”
“armor_max” “0”

// Grenades.

// Weapons.
“weapon1” “TF_WEAPON_SHOVEL”

//”DontDoNewJump” “1”

“tf_ammo_primary” “20”
“tf_ammo_secondary” “32”

“tf_ammo_metal” “100”
“tf_ammo_grenades1” “0”
“tf_ammo_grenades2” “0”

STEP 6 = Modify



to 450 (is scout’s speed, you should try higher value, I don’t often test in TF2 because my crappy laptop) and for HP



to 450, and your done!

Original Poster: Plate

Visit the original thread for more details:




  1. weapon of mass destuction gets another meaning!

    • Weapon of Math Disruption

    • I am in scripts, but there is no folders, just text documents the documents are itemtest_manifest. And itemtest_qc_template

      • Me too…

  2. Awesome, thanks for posting this!

  3. Jarate Rockets.

    I want to see a revolver that shoots backstabs too.

    • Yeah, wut does it shoot butterfly knives? lol


  4. all there is in mine is items_game.ctx

    • items_game is a replacement of items.ctx and attributes.ctx
      they are now both in items_game

  5. How do you move the edited files back to the GCF?

    • You don’t.You place it in tf2 folder where it was in gfc-scape

  6. Sorry, scratch that.

  7. It seems that I can even edit the file from GCF, but I can’t save the changes in the script. And following your tutorial, I dont have this path fully created:
    steam/steamapps/account-name/teamfortress2/tf/scripts/items. The “/scripts/items” is missing. How can save the changes?

    • *facepalm* Create /scripts/items and put items_game in.

  8. In Chapter 2, it describes going to TF/Scripts/Items and finding items.ctx and attributes.ctx

    I can’t find either. I find items_game.txt

    • Same here

  9. Create the folder

    • dude…. i have that name on steam. o_o

  10. i cant find /scripts/items what i do?

    • Create /scipts/items

      • Well it bugs almost all of your weapons

  11. i wont to make a wepon i i dont kknow how

  12. i have changes the things, but when i start TF2 it goes to the menu, but then crash.
    Plsss help

    • You have added attributes to items that cant support them, such as attributes on hats, and serten attributes on serten items, this can be fixed by changing the allow attributes on said item.

  13. do you have to have the wepon your making it out of?

  14. I wonder – how i can make a new weapon?

    • You can, but your need to find via item drop offline or on your own server with it in, if you use that custom made item in any server that dosent have it in there files then your get VAC banned from TF2 with in seconds.

  15. Is this tutorial outdated?
    Is anyone reading this?
    I don’t have a attributes file, but the weapons are kinda scattered around in there encoded, but I decode them and they aren’t in the format that the natascha up there is…

  16. It wont let me actually make the doesnt show up

  17. i have three things, in downloads i have TF2 complete and Team Fortress 2
    nothing in them.
    then on desktop i have Team fortress 2
    Team Fortress 2
    File not found.
    please check your spelling and try again.

    • Don’t try to make your own weapons. After the Uber update it no longer works.

  18. man i do exactly like you but when i start the game are the same things unchanged why plz tell me

  19. Do you think I could trouble you for a complete list of attributes and their values?

  20. i cant seem to find the file tf2 content in my files
    can someone help me

  21. Who the **** use rar format for such a small program?!!

    And it doesnMt work with wobzip.

  22. Why in scripts missing “tf_weapon_grenadelauncher.ctx” and “tf_weapon_pipebomblauncher.ctx”? I wanna change them but the file are missing! where they are?

  23. Thanks for the amazingly helpful guide! Now sentries cost 0 metal to build, upgrade instantly, and the default minigun shoots crit rockets 😀

  24. Weapon of mass reproduction!

  25. I cant find items.ctx and attributes.ctx these 2 files waht shud i do help me

  26. […] […]

  27. It says the folder isn’t found when i try downloading CTXHACK

  28. Dosent work i dont have an item_game.ctx file its a text file and it has a bunch of fuckin random ass giberish in it so yea.

  29. The engineer edit is not working my sentry gun quantity doesn’t change

  30. how can you get your gun back to normal

  31. if i mod a wep and put it in scripts to make the wep back to normal what to i do?

  32. Wonderful work! This is the kind of info that should be shared around the net. Disgrace on Google for no longer positioning this publish upper! Come on over and consult with my web site . Thank you =)

  33. Oh my god, about 90% people in here are noobs, and their grammar suck too! Lol…

  34. This is a proper thing I could give to this site, list of all attributes:

    Hope this useful.

  35. Amazing blog! Is your theme custom made or did you download it from somewhere?
    A design like yours with a few simple adjustements would really make my
    blog shine. Please let me know where you got
    your design. Thanks

  36. Doesn’t work, all CTX Hack downloads are gone, and it stopped supporting Tf2 when Source 2009 came out. Too bad, though ;(

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s


%d bloggers like this: