I've been scouring the internet on this one, can't seem to find a solution.
I copied some weapon LTX files to make new weapons - a .50 AE UMP that was in older versions of Arsenal Overhaul, and later a 5.56 AK12 as a test for what I found.
I would make a new .LTX file for my weapon, copy the code from the original weapon [The UMP or the AK12] and then simply change the caliber, adjust the power, recoil, accuracy values, and rename the appropriate values so that I could have the same attachments on these guns as their 'base' counterparts, add the necessary descriptions to the weapons xml file, add the weapons to the weapons.ltx file, and I was good to go, or so I thought. That's how all the text and video tutorials online show it happening, should work fine.
The first issue I ran into was adding to Nimble's inventory. I initially gave him the UMP .50 as that's who sold it in older versions of AO where I fell in love with the high-recoil high-powered shooter. Using a long-played save I already had, I noticed that Nimble seemed to have his regular inventory in the trader menu, but he also had some new stuff - a PDA, medkits, some food.. Stuff normal Stalkers carry. Funny, since these weren't added to his file. I double-checked I put the weapons under the Nimble_Supplies section, and they were where they should of been.
Testing on a new game showed that, using the same file, nimble had NO inventory but these consumables and the PDA and some extra ammo, none of which was for the weapons he normally carried. He could be seen carrying one of the weapons he used to sell, however; the wood furniture G3 rifle. I even added weapons and ammo that existed in the game already instead of my custom stuff and those modifications had the same effect as before. Even simply modifying the quantities of what he already sells did this.
I fell back onto an unmodified Nimble trader file and decided to add my weapon to other traders, namely Sid and the Mercenary trader in Dead City. They carried and sold the weapon when I added it to their files with no problems, so I was able to at least make sure they worked as I wished. After making sure my recoil values were where I wanted them to be, I headed over to the Mercenary Technician to upgrade them and noticed my second issue.
The weapons didn't show any upgrades. The upgrade screen was totally blank for them, showing no options for either my UMP 50 or 5.56 AK12. I thought that perhaps I made a typo in the upgrade section, but it wasn't obvious. I recopied the upgrade section from the original weapons just to ensure I hadn't accidentally added a character. Both the ump .45 and the 5.45 AK12 that I copied originally still functioned fine and were able to be upgraded so I knew that this section of their .ltx files was 'good'. I also ensured I had no scopes or silencers on the weapons, as I have seen with some other 'vanilla' weapons that if they had attachments the trader wouldn't touch them. I equipped both and used the multitool just to 'double check' that I hadn't put on an attachment, and that the game didn't think one was on it.
I even quickly made a .50 AE glock [it was kinda fun tbh] and added it to the existing Glock file like all the other glock variants, and that couldn't be upgraded either.
Given I'm working off of known 'functional' files, I thought maybe there was another file somewhere else that dictated what weapons could be upgraded, but couldn't find anything obvious even after tearing open the db files. I also tested this in just regular Call of Pripyat with Arsenal, and had the same trouble. This leads me to believe that it's Arsenal Overhaul more than Call of Chernobyl, but I'm posting here anyway out of desperation.
Here's the .ltx files if anyone would like to look to see if I did anything obvious to prevent them from being modded.
UMP 50 ltx - http://pastebin.com/RA2RtySr
AK12 5.56 ltx - http://pastebin.com/mG1rcXVn
Glock 50 - http://pastebin.com/sUb2E3jt
TL;DR - Technicians won't touch custom weapons, Nimble shuts down shop if you modify his trader file, what do?