Wow... you rock! Although I did write the original post kinda funny, the .45 was referencing adding another whole caliber (as a copy of the 9mm) for another gun option.... the ammo box was for the .357 ammo which is for a revolver. the .45 uses magazines. So I did adapt the .45 box for .357 use, and I'm gonna update all the other files and I'll get them to you... maybe I can save you a little work.
I'm also working on adapting the pistol.c file to allow for different caliber revolvers, as right now it recognizes one revolver (.357) and different calibers for the automatics. right now I have .9mm and .45 ACP, gonna add in a .22LR to the autos, and I'm working on revolvers in .44 mag and .454 casull. Three different semi autos and 3 different revolvers total.
OMG
I'm just...staggered at this code. The problem is most definitely not you.
This is code from years ago, back before I was leet in any way, and now
looking at it fills me with horror and embarrassment.
But hey, obviously my heart was in the right place.
Rather than try to fix the code you've shared (which is, to reiterate,
broken because of my errors), I've created a new set of ammo and
a new box for it, in code that actually works:
[snip]
Also, this is plain unappetizing:
SetKeyName("357round");
because it means that when the thing is addressed by name by the mud,
it may use "357round" in output to the player, which looks crude and
ungrammatical. Instead, this is better:
SetKeyName(".357 round");
This leads us to a peculiar quirk in the parser. If a thing has a caliber
as a SetAdjective, it winds up not getting recognized as a proper adjective.
You need to drop the decimal point, and then you can use the adjective
either with or without the decimal. Yes, weird, but at least it works,
even if it works weirdly.
I am actually using the keynames as round
caldescription such as round357mag, round9mm, round 45acp, and have not run into the key name being displayed yet. But I was loking at it as for keeping track of them easier.
So, there you have it. You ran into some old, borken code of mine and
that was the problem. I'd like to say that'll never happen again, but,
well, probably it will. Just let me know and I'll make sure it gets
added to my to-do list, like this ammo now is.
In my defense I can only say that I wrote this under an older MudOS driver,
and maybe it worked then. Really can't say, because I'm not planning
on tracking down that old driver and testing. I'm just going to
fix the errors.
no defense needed. I really appreciate your updating the files
Incidentally, now the ammo box will not only say "This cardboard case is for .45 acp ammunition only.",
It also adds "There is not enough room in there!" because the CanReceive()
returns a 0. I don't like this behavior, and will be playing around with
CanReceive() so that it behaves a little less rigidly.
Man. I need a beer after that.
also, what happened to the code for the rifles? M16 and 50 cal?
As I recall, it was even buggier than the code we just dissected, so I
just pulled it, intending to re-add it at some point, and just haven't
got around to it. If you'd like, I can bump it up on the to-do list,
since it's not as major a project to me as it once was.
Really the whole firearms/gunshot wounds system needs a good working
over. I came up with it so long ago that it's just disharmonious to me now.
Well, I'll be happy to test anything you got, I'm putting together a zombie-themed MUD, so I'll have lots of blunt and sharp weapons, but want to throw a few firearms in the mix. I'm not close to going public, so I'd be great for testing code for you
I also hate the term "clip" in referring to magazines, so I'm changing all that as well.
I've been out of BDU's long enough now that it doesn't hurt to hear "clip"
for "magazine" or "gun" for small arms. 
-Crat
Well, as a weapons enthusiast..."clip" has always bugged me... <g> Now if we add an M1 Garand into the game, I'll use clip.
thanks again
Kalixt