This was a little something I had made one night about 3 weeks back. Basically the title says what it is, but here's how it works:
By default any ammo creator item is blank when you first get it. When you activate it a conversation is started which explains the whole process as well. Your able to go from there and choose to right-click target a missile or throwing weapon ammunition that is -IN- your inventory and store the stack size, name/ResRef/value/ect of it persistently as local variables on that ammunition creator. Once you select the desired ammo then it stores the information, destroys the original stack you had targetted, and reimburses you with an identicle stack that's cursed (basically so you can't go and swap stacks with everyone, was a big issue with ammo creators back on nwn1 in my experience). After that the next time you activate the ammo creator it will start up the conversation again with whatever ammo you chose displayed in stack size (and by default 1x stack) and show the options to make the ammo or go for configuration options (which will also allow you the option of choosing a new ammunition wiping all the preview settings clean and starting from the beginning).
By default the ammo creators are all cursed so you can't just go and trade them off to someone else too. And like the initial ammunition selection, any ammo created will similarly be cursed and unable to be dropped/transferred (outside of something that the more devious bug exploiters can probably think of which I won't mention here, if you catch them just nuke their vaults I say...). Also for the convenience of this compared to making shop runs the gold value is 2.5x the base item cost, so if someone wanted to change that they'd need to base conversation, UAC item description, and the uac_makeammo script (under the listed variables as "int nTotalAmmoCost") to whatever they wanted.
---|Bugs|---
Haven't really noticed any bugs per say, and about the only one I can think of is if someone were to have several of these ammo creators on their person and the data retrieval via GetItemPossessedBy() function was to select the info from whatever creator they nabbed first maybe.
---|Installation|---
Just import the erf into your module, it contains the conversation, item, and associated scripts for the Universal Ammo Creator (UAC). These can either be added directly into a shop (plot set so will sell for 1 gold), or more appropriately can be added as a conversation given item and/or first-time entry into the module item.
10 - A Masterpiece, Genuinely Groundbreaking 9 - Outstanding, a Must Have 8 - Excellent, Recommended to Anyone 7 - Very Good, Deserves a Look 6 - Good, Qualified Recommendation 5 - Fair, Solid yet Unremarkable 4 - Some Merit, Requires Improvements 3 - Poor Execution, Potential Unrealized 2 - Very Little Appeal 1 - Not Recommended to Anyone