Garry's Mod

Garry's Mod

645 ratings
[ArcCW] Gun Workbench
   
Award
Favorite
Favorited
Unfavorite
Content Type: Addon
Addon Type: Weapon
Addon Tags: Roleplay, Realism
File Size
Posted
Updated
18.552 MB
7 Oct, 2021 @ 6:39pm
9 May, 2022 @ 5:42pm
4 Change Notes ( view )

Subscribe to download
[ArcCW] Gun Workbench

Description
"I think the human race made a big mistake at the beginning of the Industrial Revolution: we leaped for the mechanical things. People need the use of their hands to feel creative."
– Andre Norton



Have you ever found it weird that you can casually swap barrel assemblies and receivers in the thick of action? This roleplay-focused add-on for the whole ArcCW base adds a niche from iconic series such as Fallout and The Last of Us which makes the customization process special again: in order to change most of your weapon's attachments, you must be next to a special entity called a Gun Workbench.

Is it a bit extreme to have everything fall under this rule? No problem! There is a whitelist system in place that allows you to change what types of attachments require a Gun Workbench. If you want to, for example, slide on optics freely, but still need a work surface for a full auto conversion, then there's more power to you.

Let's Get These Out Of the Way
  • The whitelist requires you to use the technical name of the subject attachments and slot types, not their print names you see in the customization menu. There is a command you can execute in console (arccw_workbench_getwepslots) or under Options > ArcCW > Workbench that allows you to view these technical names based on the weapon you're holding. By default, Muzzle and Charm attachments are whitelisted.
  • Saved loadouts will still load if you have autosaving enabled. However, getting this to work involved some creatively ghetto workarounds, so don't expect it to work every time.
  • I can only create workbenches for other bases if they have sufficient developer support to allow seamless modification of the entire attachment system. ArcCW is currently the only base to my knowledge that has this level of open-endedness.
  • The weapons in the screenshots are from the Black Ops Pack.
  • The workbench itself can be found under ArcCW - Miscellaneous in the Entities tab.



Credits
  • Sninctbur: Programming and texture modifications
  • Bethesda: Workbench model from Fallout 4
  • dickmosi: Model port to Garry's Mod
  • Arctic: His kickass weapon base
124 Comments
ZombieLegion 22 Sep, 2024 @ 9:50am 
ARC9 support would be seriously awesome
stevensky 7 Sep, 2024 @ 7:33am 
great addon!
Kerk 6 Sep, 2024 @ 10:32pm 
ARC9???
wasp with a gun 20 Aug, 2024 @ 9:19am 
how do i use this for the attachments
GaussTheWizard  [author] 5 Jul, 2024 @ 6:58pm 
Mid-string wildcards are not supported.
hl267 5 Jul, 2024 @ 6:53pm 
slot is not friendly with magazine. I have to input each weapon's magazine slot into white list. Does it support adding wildcard in the middle of the string (e.g. arccw_*_mag) in the white list slot?
NGDL Media 9 Jun, 2024 @ 7:45pm 
(Found out that this is ArcCW's hook). ARC9 has no such alternative, only self.CanAttach as a function or whatever it's called.
NGDL Media 9 Jun, 2024 @ 7:38pm 
I've thrown fixing debugging tool idea away, so after hour of searching ArcCW.STATE_CUSTOMIZE alternative I've found ARC9.IN_CUSTOMIZE which works and does not throw an error. I still can put attachments on my gun. I've found "ArcCW_PlayerCanAttach" hook in your addon, but I can't find what use does it have to rewrite it to any ARC9 function. I'm not even sure if it works.
GaussTheWizard  [author] 9 Jun, 2024 @ 12:40pm 
It's possible that ARC9's slot architecture is different from ArcCW's. Simply changing all of the mentions of ArcCW to ARC9 in the code wouldn't work in that case. ARC9 is open source, so I'd recommend starting there.
NGDL Media 9 Jun, 2024 @ 5:40am 
Hello. I'm trying to port your addon to ARC9 without general lua knowledge except "ply:ChatSay()" and I have a problem with getting your debug tool (show attachments' classname) working. It shows slots (except subslots), but any table I tried to put in there throws nil. I need help. Or do it by yourself, that option would be better.