Raised This Month: $51 Target: $400
 12% 

TF2 Get weapon generic name


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Cieniu97
Junior Member
Join Date: Sep 2021
Location: Poland
Old 10-05-2021 , 04:31   TF2 Get weapon generic name
Reply With Quote #1

Intro:
Hello there!
Still working on Advanced Logger Plugin. I am getting to the finish line

Context:
Ingame tf2 events provide a ton of useful information, but they are inconsistent.
I've already wrote some functions that unify output from entindex, for example tf_objects (enige buildings and sapper).
I am really struggling with weapons tho. In some events weapon class is returned, sometimes its item definition index.

Question:
Is there a function that converts item definition index to a name?
Example:
defindex = 796
return Silver Botkiller Medi Gun Mk.I

Is there a simillar function that would return only generic name?
Example:
defindex = 796
return Medi Gun

If there is no function that does that from item def index, then maybe there is something I could do having player ent index instead?

Thanks for help!
Cieniu97 is offline
nosoop
Veteran Member
Join Date: Aug 2014
Old 10-05-2021 , 06:17   Re: TF2 Get weapon generic name
Reply With Quote #2

1. You can use Econ Data to translate an item definition index to its schema-defined name. Stock items and a few others do not match the name you normally see them as (you can see the difference on this page - the "internal name" is the one you'd see in Econ Data, while the "localized name" is the one you'd see in-game with the interface in English).

Code:
char itemName[128];
TF2Econ_GetItemName(itemdef, itemName, sizeof(itemName));
2. There is not. You could write some logic to check item definitions for that, but defining a mapping manually is probably your best bet.

(Full disclosure: I made the plugin and the linked page.)
__________________
I do TF2, TF2 servers, and TF2 plugins.
I don't do DMs over Discord -- PM me on the forums regarding inquiries.
AlliedModders Releases / Github / TF2 Server / Donate (BTC / BCH / coffee)

Last edited by nosoop; 10-05-2021 at 06:25.
nosoop is offline
Cieniu97
Junior Member
Join Date: Sep 2021
Location: Poland
Old 10-05-2021 , 07:14   Re: TF2 Get weapon generic name
Reply With Quote #3

How do I include that?

PHP Code:
#include <tf_econ_data> 
This does not appear to work.

I get "cannot read from file "tf_econ_data"

EDIT/SOLUTION:
Had to paste tf_econ_data.inc into spEdit include folder as well

Last edited by Cieniu97; 10-05-2021 at 07:33.
Cieniu97 is offline
Cieniu97
Junior Member
Join Date: Sep 2021
Location: Poland
Old 10-05-2021 , 12:04   Re: TF2 Get weapon generic name
Reply With Quote #4

Awesome plugin. That works perefctly for me. Thank you!

Do I need those files if I am gonna only use TF2Econ_GetItemName?
:tf_econ_data.smx
:tf2.econ_data.txt
Cieniu97 is offline
nosoop
Veteran Member
Join Date: Aug 2014
Old 10-05-2021 , 18:58   Re: TF2 Get weapon generic name
Reply With Quote #5

Quote:
Originally Posted by Cieniu97 View Post
Awesome plugin. That works perefctly for me. Thank you!

Do I need those files if I am gonna only use TF2Econ_GetItemName?
:tf_econ_data.smx
:tf2.econ_data.txt
Server operators that use your plugin will need to have those two files installed, yes.
__________________
I do TF2, TF2 servers, and TF2 plugins.
I don't do DMs over Discord -- PM me on the forums regarding inquiries.
AlliedModders Releases / Github / TF2 Server / Donate (BTC / BCH / coffee)
nosoop is offline
PC Gamer
Veteran Member
Join Date: Mar 2014
Old 10-08-2021 , 06:57   Re: TF2 Get weapon generic name
Reply With Quote #6

Quote:
Originally Posted by Cieniu97 View Post
Question:
Is there a function that converts item definition index to a name?
Example:
defindex = 796
return Silver Botkiller Medi Gun Mk.I
You may also want to check out the TF2_GetWeaponNameFromIndex function found in Drixevel's misc-tf.inc file. Here's a link: https://github.com/Drixevel-zz/SM-Re...es/misc-tf.inc
PC Gamer is offline
Cieniu97
Junior Member
Join Date: Sep 2021
Location: Poland
Old 10-12-2021 , 06:26   Re: TF2 Get weapon generic name
Reply With Quote #7

I spent whole yesterday trying to convert items_game into json. But it turned out that Valve data structure has duplicated keys so its basically useless.

I settled on this solution.
I webscraped this website with python and filtered for only weapons.
https://csrd.science/misc/econ-tf/items.html

Additionaly converted this into json, so here u go. You just have to change extention from txt to json. AlliedMoods dont allow json as attachments

EDIT: This will probably be not up to date if items schema changes :/

PHP Code:
char[] GetNameFronDefIndex(int itemdef)
{
    
char weapon[64];
    
    switch (
itemdef)
    {
        case 
0: { weapon "Bat";} 
        case 
1: { weapon "Bottle";} 
        case 
2: { weapon "Fire Axe";} 
        case 
3: { weapon "Kukri";} 
        case 
4: { weapon "Knife";} 
        case 
5: { weapon "Fists";} 
        case 
6: { weapon "Shovel";} 
        case 
7: { weapon "Wrench";} 
        case 
8: { weapon "Bonesaw";} 
        case 
9: { weapon "Shotgun";} 
        case 
10: { weapon "Shotgun";} 
        case 
11: { weapon "Shotgun";} 
        case 
12: { weapon "Shotgun";} 
        case 
13: { weapon "Scattergun";} 
        case 
14: { weapon "Sniper Rifle";} 
        case 
15: { weapon "Minigun";} 
        case 
16: { weapon "SMG";} 
        case 
17: { weapon "Syringe Gun";} 
        case 
18: { weapon "Rocket Launcher";} 
        case 
19: { weapon "Grenade Launcher";} 
        case 
20: { weapon "Stickybomb Launcher";} 
        case 
21: { weapon "Flame Thrower";} 
        case 
22: { weapon "Pistol";} 
        case 
23: { weapon "Pistol";} 
        case 
24: { weapon "Revolver";} 
        case 
25: { weapon "Construction PDA";} 
        case 
26: { weapon "Destruction PDA";} 
        case 
27: { weapon "Disguise Kit";} 
        case 
28: { weapon "PDA";} 
        case 
29: { weapon "Medi Gun";} 
        case 
30: { weapon "Invis Watch";} 
        case 
35: { weapon "Kritzkrieg";} 
        case 
36: { weapon "Blutsauger";} 
        case 
37: { weapon "Ubersaw";} 
        case 
38: { weapon "Axtinguisher";} 
        case 
39: { weapon "Flare Gun";} 
        case 
40: { weapon "Backburner";} 
        case 
41: { weapon "Natascha";} 
        case 
42: { weapon "Sandvich";} 
        case 
43: { weapon "Killing Gloves of Boxing";} 
        case 
44: { weapon "Sandman";} 
        case 
45: { weapon "Force-A-Nature";} 
        case 
46: { weapon "Bonk! Atomic Punch";} 
        case 
56: { weapon "Huntsman";} 
        case 
58: { weapon "Jarate";} 
        case 
59: { weapon "Dead Ringer";} 
        case 
60: { weapon "Cloak and Dagger";} 
        case 
61: { weapon "Ambassador";} 
        case 
127: { weapon "Direct Hit";} 
        case 
128: { weapon "Equalizer";} 
        case 
129: { weapon "Buff Banner";} 
        case 
130: { weapon "Scottish Resistance";} 
        case 
132: { weapon "Eyelander";} 
        case 
140: { weapon "Wrangler";} 
        case 
141: { weapon "Frontier Justice";} 
        case 
142: { weapon "Gunslinger";} 
        case 
153: { weapon "Homewrecker";} 
        case 
154: { weapon "Pain Train";} 
        case 
155: { weapon "Southern Hospitality";} 
        case 
159: { weapon "Dalokohs Bar";} 
        case 
160: { weapon "Lugermorph";} 
        case 
161: { weapon "Big Kill";} 
        case 
163: { weapon "Crit-a-Cola";} 
        case 
169: { weapon "Golden Wrench";} 
        case 
171: { weapon "Tribalman's Shiv";} 
        case 
172: { weapon "Scotsman's Skullcutter";} 
        case 
173: { weapon "Vita-Saw";} 
        case 
190: { weapon "Bat";} 
        case 
191: { weapon "Bottle";} 
        case 
192: { weapon "Fire Axe";} 
        case 
193: { weapon "Kukri";} 
        case 
194: { weapon "Knife";} 
        case 
195: { weapon "Fists";} 
        case 
196: { weapon "Shovel";} 
        case 
197: { weapon "Wrench";} 
        case 
198: { weapon "Bonesaw";} 
        case 
199: { weapon "Shotgun";} 
        case 
200: { weapon "Scattergun";} 
        case 
201: { weapon "Sniper Rifle";} 
        case 
202: { weapon "Minigun";} 
        case 
203: { weapon "SMG";} 
        case 
204: { weapon "Syringe Gun";} 
        case 
205: { weapon "Rocket Launcher";} 
        case 
206: { weapon "Grenade Launcher";} 
        case 
207: { weapon "Stickybomb Launcher";} 
        case 
208: { weapon "Flame Thrower";} 
        case 
209: { weapon "Pistol";} 
        case 
210: { weapon "Revolver";} 
        case 
211: { weapon "Medi Gun";} 
        case 
212: { weapon "Invis Watch";} 
        case 
214: { weapon "Powerjack";} 
        case 
215: { weapon "Degreaser";} 
        case 
220: { weapon "Shortstop";} 
        case 
221: { weapon "Holy Mackerel";} 
        case 
222: { weapon "Mad Milk";} 
        case 
224: { weapon "L'Etranger";} 
        case 
225: { weapon "Your Eternal Reward";} 
        case 
226: { weapon "Battalion's Backup";} 
        case 
228: { weapon "Black Box";} 
        case 
230: { weapon "Sydney Sleeper";} 
        case 
232: { weapon "Bushwacka";} 
        case 
237: { weapon "Rocket Jumper";} 
        case 
239: { weapon "Gloves of Running Urgently";} 
        case 
265: { weapon "Sticky Jumper";} 
        case 
266: { weapon "Horseless Headless Horsemann's Headtaker";} 
        case 
294: { weapon "Lugermorph";} 
        case 
297: { weapon "Enthusiast's Timepiece";} 
        case 
298: { weapon "Iron Curtain";} 
        case 
304: { weapon "Amputator";} 
        case 
305: { weapon "Crusader's Crossbow";} 
        case 
307: { weapon "Ullapool Caber";} 
        case 
308: { weapon "Loch-n-Load";} 
        case 
310: { weapon "Warrior's Spirit";} 
        case 
311: { weapon "Buffalo Steak Sandvich";} 
        case 
312: { weapon "Brass Beast";} 
        case 
317: { weapon "Candy Cane";} 
        case 
325: { weapon "Boston Basher";} 
        case 
326: { weapon "Back Scratcher";} 
        case 
327: { weapon "Claidheamh Mòr";} 
        case 
329: { weapon "Jag";} 
        case 
331: { weapon "Fists of Steel";} 
        case 
348: { weapon "Sharpened Volcano Fragment";} 
        case 
349: { weapon "Sun-on-a-Stick";} 
        case 
351: { weapon "Detonator";} 
        case 
354: { weapon "Concheror";} 
        case 
355: { weapon "Fan O'War";} 
        case 
356: { weapon "Conniver's Kunai";} 
        case 
357: { weapon "Half-Zatoichi";} 
        case 
401: { weapon "Shahanshah";} 
        case 
402: { weapon "Bazaar Bargain";} 
        case 
404: { weapon "Persian Persuader";} 
        case 
411: { weapon "Quick-Fix";} 
        case 
412: { weapon "Overdose";} 
        case 
413: { weapon "Solemn Vow";} 
        case 
414: { weapon "Liberty Launcher";} 
        case 
415: { weapon "Reserve Shooter";} 
        case 
416: { weapon "Market Gardener";} 
        case 
424: { weapon "Tomislav";} 
        case 
425: { weapon "Family Business";} 
        case 
426: { weapon "Eviction Notice";} 
        case 
433: { weapon "Fishcake";} 
        case 
441: { weapon "Cow Mangler 5000";} 
        case 
442: { weapon "Righteous Bison";} 
        case 
447: { weapon "Disciplinary Action";} 
        case 
448: { weapon "Soda Popper";} 
        case 
449: { weapon "Winger";} 
        case 
450: { weapon "Atomizer";} 
        case 
452: { weapon "Three-Rune Blade";} 
        case 
457: { weapon "Postal Pummeler";} 
        case 
460: { weapon "Enforcer";} 
        case 
461: { weapon "Big Earner";} 
        case 
466: { weapon "Maul";} 
        case 
482: { weapon "Nessie's Nine Iron";} 
        case 
513: { weapon "Original";} 
        case 
525: { weapon "Diamondback";} 
        case 
526: { weapon "Machina";} 
        case 
527: { weapon "Widowmaker";} 
        case 
528: { weapon "Short Circuit";} 
        case 
572: { weapon "Unarmed Combat";} 
        case 
574: { weapon "Wanga Prick";} 
        case 
587: { weapon "Apoco-Fists";} 
        case 
588: { weapon "Pomson 6000";} 
        case 
589: { weapon "Eureka Effect";} 
        case 
593: { weapon "Third Degree";} 
        case 
594: { weapon "Phlogistinator";} 
        case 
595: { weapon "Manmelter";} 
        case 
609: { weapon "Scottish Handshake";} 
        case 
638: { weapon "Sharp Dresser";} 
        case 
648: { weapon "Wrap Assassin";} 
        case 
649: { weapon "Spy-cicle";} 
        case 
654: { weapon "Festive Minigun";} 
        case 
656: { weapon "Holiday Punch";} 
        case 
658: { weapon "Festive Rocket Launcher";} 
        case 
659: { weapon "Festive Flame Thrower";} 
        case 
660: { weapon "Festive Bat";} 
        case 
661: { weapon "Festive Stickybomb Launcher";} 
        case 
662: { weapon "Festive Wrench";} 
        case 
663: { weapon "Festive Medi Gun";} 
        case 
664: { weapon "Festive Sniper Rifle";} 
        case 
665: { weapon "Festive Knife";} 
        case 
669: { weapon "Festive Scattergun";} 
        case 
727: { weapon "Black Rose";} 
        case 
730: { weapon "Beggar's Bazooka";} 
        case 
735: { weapon "Sapper";} 
        case 
736: { weapon "Sapper";} 
        case 
737: { weapon "Construction PDA";} 
        case 
739: { weapon "Lollichop";} 
        case 
740: { weapon "Scorch Shot";} 
        case 
741: { weapon "Rainblower";} 
        case 
751: { weapon "Cleaner's Carbine";} 
        case 
752: { weapon "Hitman's Heatmaker";} 
        case 
772: { weapon "Baby Face's Blaster";} 
        case 
773: { weapon "Pretty Boy's Pocket Pistol";} 
        case 
775: { weapon "Escape Plan";} 
        case 
792: { weapon "Silver Botkiller Sniper Rifle Mk.I";} 
        case 
793: { weapon "Silver Botkiller Minigun Mk.I";} 
        case 
794: { weapon "Silver Botkiller Knife Mk.I";} 
        case 
795: { weapon "Silver Botkiller Wrench Mk.I";} 
        case 
796: { weapon "Silver Botkiller Medi Gun Mk.I";} 
        case 
797: { weapon "Silver Botkiller Stickybomb Launcher Mk.I";} 
        case 
798: { weapon "Silver Botkiller Flame Thrower Mk.I";} 
        case 
799: { weapon "Silver Botkiller Scattergun Mk.I";} 
        case 
800: { weapon "Silver Botkiller Rocket Launcher Mk.I";} 
        case 
801: { weapon "Gold Botkiller Sniper Rifle Mk.I";} 
        case 
802: { weapon "Gold Botkiller Minigun Mk.I";} 
        case 
803: { weapon "Gold Botkiller Knife Mk.I";} 
        case 
804: { weapon "Gold Botkiller Wrench Mk.I";} 
        case 
805: { weapon "Gold Botkiller Medi Gun Mk.I";} 
        case 
806: { weapon "Gold Botkiller Stickybomb Launcher Mk.I";} 
        case 
807: { weapon "Gold Botkiller Flame Thrower Mk.I";} 
        case 
808: { weapon "Gold Botkiller Scattergun Mk.I";} 
        case 
809: { weapon "Gold Botkiller Rocket Launcher Mk.I";} 
        case 
810: { weapon "Red-Tape Recorder";} 
        case 
811: { weapon "Huo-Long Heater";} 
        case 
812: { weapon "Flying Guillotine";} 
        case 
813: { weapon "Neon Annihilator";} 
        case 
831: { weapon "Red-Tape Recorder";} 
        case 
832: { weapon "Huo-Long Heater";} 
        case 
833: { weapon "Flying Guillotine";} 
        case 
834: { weapon "Neon Annihilator";} 
        case 
850: { weapon "Deflector";} 
        case 
851: { weapon "AWPer Hand";} 
        case 
863: { weapon "Robo-Sandvich";} 
        case 
881: { weapon "Rust Botkiller Sniper Rifle Mk.I";} 
        case 
882: { weapon "Rust Botkiller Minigun Mk.I";} 
        case 
883: { weapon "Rust Botkiller Knife Mk.I";} 
        case 
884: { weapon "Rust Botkiller Wrench Mk.I";} 
        case 
885: { weapon "Rust Botkiller Medi Gun Mk.I";} 
        case 
886: { weapon "Rust Botkiller Stickybomb Launcher Mk.I";} 
        case 
887: { weapon "Rust Botkiller Flame Thrower Mk.I";} 
        case 
888: { weapon "Rust Botkiller Scattergun Mk.I";} 
        case 
889: { weapon "Rust Botkiller Rocket Launcher Mk.I";} 
        case 
890: { weapon "Blood Botkiller Sniper Rifle Mk.I";} 
        case 
891: { weapon "Blood Botkiller Minigun Mk.I";} 
        case 
892: { weapon "Blood Botkiller Knife Mk.I";} 
        case 
893: { weapon "Blood Botkiller Wrench Mk.I";} 
        case 
894: { weapon "Blood Botkiller Medi Gun Mk.I";} 
        case 
895: { weapon "Blood Botkiller Stickybomb Launcher Mk.I";} 
        case 
896: { weapon "Blood Botkiller Flame Thrower Mk.I";} 
        case 
897: { weapon "Blood Botkiller Scattergun Mk.I";} 
        case 
898: { weapon "Blood Botkiller Rocket Launcher Mk.I";} 
        case 
899: { weapon "Carbonado Botkiller Sniper Rifle Mk.I";} 
        case 
900: { weapon "Carbonado Botkiller Minigun Mk.I";} 
        case 
901: { weapon "Carbonado Botkiller Knife Mk.I";} 
        case 
902: { weapon "Carbonado Botkiller Wrench Mk.I";} 
        case 
903: { weapon "Carbonado Botkiller Medi Gun Mk.I";} 
        case 
904: { weapon "Carbonado Botkiller Stickybomb Launcher Mk.I";} 
        case 
905: { weapon "Carbonado Botkiller Flame Thrower Mk.I";} 
        case 
906: { weapon "Carbonado Botkiller Scattergun Mk.I";} 
        case 
907: { weapon "Carbonado Botkiller Rocket Launcher Mk.I";} 
        case 
908: { weapon "Diamond Botkiller Sniper Rifle Mk.I";} 
        case 
909: { weapon "Diamond Botkiller Minigun Mk.I";} 
        case 
910: { weapon "Diamond Botkiller Knife Mk.I";} 
        case 
911: { weapon "Diamond Botkiller Wrench Mk.I";} 
        case 
912: { weapon "Diamond Botkiller Medi Gun Mk.I";} 
        case 
913: { weapon "Diamond Botkiller Stickybomb Launcher Mk.I";} 
        case 
914: { weapon "Diamond Botkiller Flame Thrower Mk.I";} 
        case 
915: { weapon "Diamond Botkiller Scattergun Mk.I";} 
        case 
916: { weapon "Diamond Botkiller Rocket Launcher Mk.I";} 
        case 
933: { weapon "Ap-Sap";} 
        case 
947: { weapon "Quäckenbirdt";} 
        case 
957: { weapon "Silver Botkiller Sniper Rifle Mk.II";} 
        case 
958: { weapon "Silver Botkiller Minigun Mk.II";} 
        case 
959: { weapon "Silver Botkiller Knife Mk.II";} 
        case 
960: { weapon "Silver Botkiller Wrench Mk.II";} 
        case 
961: { weapon "Silver Botkiller Medi Gun Mk.II";} 
        case 
962: { weapon "Silver Botkiller Stickybomb Launcher Mk.II";} 
        case 
963: { weapon "Silver Botkiller Flame Thrower Mk.II";} 
        case 
964: { weapon "Silver Botkiller Scattergun Mk.II";} 
        case 
965: { weapon "Silver Botkiller Rocket Launcher Mk.II";} 
        case 
966: { weapon "Gold Botkiller Sniper Rifle Mk.II";} 
        case 
967: { weapon "Gold Botkiller Minigun Mk.II";} 
        case 
968: { weapon "Gold Botkiller Knife Mk.II";} 
        case 
969: { weapon "Gold Botkiller Wrench Mk.II";} 
        case 
970: { weapon "Gold Botkiller Medi Gun Mk.II";} 
        case 
971: { weapon "Gold Botkiller Stickybomb Launcher Mk.II";} 
        case 
972: { weapon "Gold Botkiller Flame Thrower Mk.II";} 
        case 
973: { weapon "Gold Botkiller Scattergun Mk.II";} 
        case 
974: { weapon "Gold Botkiller Rocket Launcher Mk.II";} 
        case 
996: { weapon "Loose Cannon";} 
        case 
997: { weapon "Rescue Ranger";} 
        case 
998: { weapon "Vaccinator";} 
        case 
999: { weapon "Festive Holy Mackerel";} 
        case 
1000: { weapon "Festive Axtinguisher";} 
        case 
1001: { weapon "Festive Buff Banner";} 
        case 
1002: { weapon "Festive Sandvich";} 
        case 
1003: { weapon "Festive Ubersaw";} 
        case 
1004: { weapon "Festive Frontier Justice";} 
        case 
1005: { weapon "Festive Huntsman";} 
        case 
1006: { weapon "Festive Ambassador";} 
        case 
1007: { weapon "Festive Grenade Launcher";} 
        case 
1069: { weapon "Fancy Spellbook";} 
        case 
1070: { weapon "Spellbook Magazine";} 
        case 
1078: { weapon "Festive Force-A-Nature";} 
        case 
1079: { weapon "Festive Crusader's Crossbow";} 
        case 
1080: { weapon "Festive Sapper";} 
        case 
1081: { weapon "Festive Flare Gun";} 
        case 
1082: { weapon "Festive Eyelander";} 
        case 
1083: { weapon "Festive Jarate";} 
        case 
1084: { weapon "Festive Gloves of Running Urgently";} 
        case 
1085: { weapon "Festive Black Box";} 
        case 
1086: { weapon "Festive Wrangler";} 
        case 
1092: { weapon "Fortified Compound";} 
        case 
1098: { weapon "Classic";} 
        case 
1100: { weapon "Bread Bite";} 
        case 
1101: { weapon "B.A.S.E. Jumper";} 
        case 
1102: { weapon "Snack Attack";} 
        case 
1103: { weapon "Back Scatter";} 
        case 
1104: { weapon "Air Strike";} 
        case 
1105: { weapon "Self-Aware Beauty Mark";} 
        case 
1121: { weapon "Mutated Milk";} 
        case 
1132: { weapon "Spellbook Magazine";} 
        case 
1141: { weapon "Festive Shotgun";} 
        case 
1142: { weapon "Festive Revolver";} 
        case 
1143: { weapon "Festive Bonesaw";} 
        case 
1145: { weapon "Festive Bonk! Atomic Punch";} 
        case 
1146: { weapon "Festive Backburner";} 
        case 
1149: { weapon "Festive SMG";} 
        case 
1150: { weapon "Quickiebomb Launcher";} 
        case 
1151: { weapon "Iron Bomber";} 
        case 
1152: { weapon "Grappling Hook";} 
        case 
1153: { weapon "Panic Attack";} 
        case 
1155: { weapon "Weapon_Passtime_Gun";} 
        case 
1178: { weapon "Dragon's Fury";} 
        case 
1179: { weapon "Thermal Thruster";} 
        case 
1180: { weapon "Gas Passer";} 
        case 
1181: { weapon "Hot Hand";} 
        case 
1184: { weapon "Gloves of Running Urgently";} 
        case 
1190: { weapon "Second Banana";} 
        case 
5605: { weapon "Fireproof Secret Diary";} 
        case 
15000: { weapon "Sniper Rifle";} 
        case 
15001: { weapon "SMG";} 
        case 
15002: { weapon "Scattergun";} 
        case 
15003: { weapon "Shotgun";} 
        case 
15004: { weapon "Minigun";} 
        case 
15005: { weapon "Flame Thrower";} 
        case 
15006: { weapon "Rocket Launcher";} 
        case 
15007: { weapon "Sniper Rifle";} 
        case 
15008: { weapon "Medi Gun";} 
        case 
15009: { weapon "Stickybomb Launcher";} 
        case 
15010: { weapon "Medi Gun";} 
        case 
15011: { weapon "Revolver";} 
        case 
15012: { weapon "Stickybomb Launcher";} 
        case 
15013: { weapon "Pistol";} 
        case 
15014: { weapon "Rocket Launcher";} 
        case 
15015: { weapon "Scattergun";} 
        case 
15016: { weapon "Shotgun";} 
        case 
15017: { weapon "Flame Thrower";} 
        case 
15018: { weapon "Pistol";} 
        case 
15019: { weapon "Sniper Rifle";} 
        case 
15020: { weapon "Minigun";} 
        case 
15021: { weapon "Scattergun";} 
        case 
15022: { weapon "SMG";} 
        case 
15023: { weapon "Sniper Rifle";} 
        case 
15024: { weapon "Stickybomb Launcher";} 
        case 
15025: { weapon "Medi Gun";} 
        case 
15026: { weapon "Minigun";} 
        case 
15027: { weapon "Revolver";} 
        case 
15028: { weapon "Rocket Launcher";} 
        case 
15029: { weapon "Scattergun";} 
        case 
15030: { weapon "Flame Thrower";} 
        case 
15031: { weapon "Minigun";} 
        case 
15032: { weapon "SMG";} 
        case 
15033: { weapon "Sniper Rifle";} 
        case 
15034: { weapon "Flame Thrower";} 
        case 
15035: { weapon "Pistol";} 
        case 
15036: { weapon "Scattergun";} 
        case 
15037: { weapon "SMG";} 
        case 
15038: { weapon "Stickybomb Launcher";} 
        case 
15039: { weapon "Medi Gun";} 
        case 
15040: { weapon "Minigun";} 
        case 
15041: { weapon "Pistol";} 
        case 
15042: { weapon "Revolver";} 
        case 
15043: { weapon "Rocket Launcher";} 
        case 
15044: { weapon "Shotgun";} 
        case 
15045: { weapon "Stickybomb Launcher";} 
        case 
15046: { weapon "Pistol";} 
        case 
15047: { weapon "Shotgun";} 
        case 
15048: { weapon "Stickybomb Launcher";} 
        case 
15049: { weapon "Flame Thrower";} 
        case 
15050: { weapon "Medi Gun";} 
        case 
15051: { weapon "Revolver";} 
        case 
15052: { weapon "Rocket Launcher";} 
        case 
15053: { weapon "Scattergun";} 
        case 
15054: { weapon "Flame Thrower";} 
        case 
15055: { weapon "Minigun";} 
        case 
15056: { weapon "Pistol";} 
        case 
15057: { weapon "Rocket Launcher";} 
        case 
15058: { weapon "SMG";} 
        case 
15059: { weapon "Sniper Rifle";} 
        case 
15060: { weapon "Pistol";} 
        case 
15061: { weapon "Pistol";} 
        case 
15062: { weapon "Revolver";} 
        case 
15063: { weapon "Revolver";} 
        case 
15064: { weapon "Revolver";} 
        case 
15065: { weapon "Scattergun";} 
        case 
15066: { weapon "Flame Thrower";} 
        case 
15067: { weapon "Flame Thrower";} 
        case 
15068: { weapon "Flame Thrower";} 
        case 
15069: { weapon "Scattergun";} 
        case 
15070: { weapon "Sniper Rifle";} 
        case 
15071: { weapon "Sniper Rifle";} 
        case 
15072: { weapon "Sniper Rifle";} 
        case 
15073: { weapon "Wrench";} 
        case 
15074: { weapon "Wrench";} 
        case 
15075: { weapon "Wrench";} 
        case 
15076: { weapon "SMG";} 
        case 
15077: { weapon "Grenade Launcher";} 
        case 
15078: { weapon "Medi Gun";} 
        case 
15079: { weapon "Grenade Launcher";} 
        case 
15080: { weapon "Knife";} 
        case 
15081: { weapon "Rocket Launcher";} 
        case 
15082: { weapon "Stickybomb Launcher";} 
        case 
15083: { weapon "Stickybomb Launcher";} 
        case 
15084: { weapon "Stickybomb Launcher";} 
        case 
15085: { weapon "Shotgun";} 
        case 
15086: { weapon "Minigun";} 
        case 
15087: { weapon "Minigun";} 
        case 
15088: { weapon "Minigun";} 
        case 
15089: { weapon "Flame Thrower";} 
        case 
15090: { weapon "Flame Thrower";} 
        case 
15091: { weapon "Grenade Launcher";} 
        case 
15092: { weapon "Grenade Launcher";} 
        case 
15094: { weapon "Knife";} 
        case 
15095: { weapon "Knife";} 
        case 
15096: { weapon "Knife";} 
        case 
15097: { weapon "Medi Gun";} 
        case 
15098: { weapon "Minigun";} 
        case 
15099: { weapon "Minigun";} 
        case 
15100: { weapon "Pistol";} 
        case 
15101: { weapon "Pistol";} 
        case 
15102: { weapon "Pistol";} 
        case 
15103: { weapon "Revolver";} 
        case 
15104: { weapon "Rocket Launcher";} 
        case 
15105: { weapon "Rocket Launcher";} 
        case 
15106: { weapon "Scattergun";} 
        case 
15107: { weapon "Scattergun";} 
        case 
15108: { weapon "Scattergun";} 
        case 
15109: { weapon "Shotgun";} 
        case 
15110: { weapon "SMG";} 
        case 
15111: { weapon "Sniper Rifle";} 
        case 
15112: { weapon "Sniper Rifle";} 
        case 
15113: { weapon "Stickybomb Launcher";} 
        case 
15114: { weapon "Wrench";} 
        case 
15115: { weapon "Flame Thrower";} 
        case 
15116: { weapon "Grenade Launcher";} 
        case 
15117: { weapon "Grenade Launcher";} 
        case 
15118: { weapon "Knife";} 
        case 
15119: { weapon "Knife";} 
        case 
15120: { weapon "Medi Gun";} 
        case 
15121: { weapon "Medi Gun";} 
        case 
15122: { weapon "Medi Gun";} 
        case 
15123: { weapon "Minigun";} 
        case 
15124: { weapon "Minigun";} 
        case 
15125: { weapon "Minigun";} 
        case 
15126: { weapon "Pistol";} 
        case 
15127: { weapon "Revolver";} 
        case 
15128: { weapon "Revolver";} 
        case 
15129: { weapon "Rocket Launcher";} 
        case 
15130: { weapon "Rocket Launcher";} 
        case 
15131: { weapon "Scattergun";} 
        case 
15132: { weapon "Shotgun";} 
        case 
15133: { weapon "Shotgun";} 
        case 
15134: { weapon "SMG";} 
        case 
15135: { weapon "Sniper Rifle";} 
        case 
15136: { weapon "Sniper Rifle";} 
        case 
15137: { weapon "Stickybomb Launcher";} 
        case 
15138: { weapon "Stickybomb Launcher";} 
        case 
15139: { weapon "Wrench";} 
        case 
15140: { weapon "Wrench";} 
        case 
15141: { weapon "Flame Thrower";} 
        case 
15142: { weapon "Grenade Launcher";} 
        case 
15143: { weapon "Knife";} 
        case 
15144: { weapon "Knife";} 
        case 
15145: { weapon "Medi Gun";} 
        case 
15146: { weapon "Medi Gun";} 
        case 
15147: { weapon "Minigun";} 
        case 
15148: { weapon "Pistol";} 
        case 
15149: { weapon "Revolver";} 
        case 
15150: { weapon "Rocket Launcher";} 
        case 
15151: { weapon "Scattergun";} 
        case 
15152: { weapon "Shotgun";} 
        case 
15153: { weapon "SMG";} 
        case 
15154: { weapon "Sniper Rifle";} 
        case 
15155: { weapon "Stickybomb Launcher";} 
        case 
15156: { weapon "Wrench";} 
        case 
15157: { weapon "Scattergun";} 
        case 
15158: { weapon "Grenade Launcher";} 
        case 
30474: { weapon "Nostromo Napalmer";} 
        case 
30665: { weapon "Shooting Star";} 
        case 
30666: { weapon "C.A.P.P.E.R";} 
        case 
30667: { weapon "Batsaber";} 
        case 
30668: { weapon "Giger Counter";} 


    }

Attached Files
File Type: txt scpraped_items.txt (20.4 KB, 59 views)

Last edited by Cieniu97; 10-12-2021 at 06:29.
Cieniu97 is offline
nosoop
Veteran Member
Join Date: Aug 2014
Old 10-13-2021 , 03:33   Re: TF2 Get weapon generic name
Reply With Quote #8

Quote:
Originally Posted by Cieniu97 View Post
I spent whole yesterday trying to convert items_game into json. But it turned out that Valve data structure has duplicated keys so its basically useless.

I settled on this solution.
I webscraped this website with python and filtered for only weapons.
https://csrd.science/misc/econ-tf/items.html

[...]

EDIT: This will probably be not up to date if items schema changes :/
You're going to need to introduce dependencies one way or another if you want things to stay up-to-date; that's just how it is.

The page itself is generated based on the result of the IEconItems_440/GetSchemaItems API call, so it's probably better if you manipulate the nice JSON result of that instead of scraping my page (which doesn't automatically update at this time).
__________________
I do TF2, TF2 servers, and TF2 plugins.
I don't do DMs over Discord -- PM me on the forums regarding inquiries.
AlliedModders Releases / Github / TF2 Server / Donate (BTC / BCH / coffee)
nosoop is offline
Bacardi
Veteran Member
Join Date: Jan 2010
Location: mom's basement
Old 10-13-2021 , 05:47   Re: TF2 Get weapon generic name
Reply With Quote #9

Code:
...tf\scripts\items\items_game.txt
Why not look from keyvalue file ?
__________________
Do not Private Message @me
Bacardi is offline
Cieniu97
Junior Member
Join Date: Sep 2021
Location: Poland
Old 10-13-2021 , 05:55   Re: TF2 Get weapon generic name
Reply With Quote #10

Quote:
Originally Posted by nosoop View Post
You're going to need to introduce dependencies one way or another if you want things to stay up-to-date; that's just how it is.

The page itself is generated based on the result of the IEconItems_440/GetSchemaItems API call, so it's probably better if you manipulate the nice JSON result of that instead of scraping my page (which doesn't automatically update at this time).
You are absolutely correct. I am aware of this, but working on source has taken huge toll on my mental stability already xD. I have tried using econItemName and econLocalizedName. No mather what I used there were inconsistencies for example while trying to get name of Vaccinator it returned tf_unique_achivement_medigun ( or something like this ), there were other scenarios where weapon name returned was vague. I understand that it can change, that's why I put backup info into logs in the form of item def index, which can be later used to determine weapon name with updated item schema.

If you have any suggestions how to convert valve data structure to some workable data structure (doesnt have to be in source) then I am all ears and after finishing I will happily post it on github
Cieniu97 is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 13:30.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode