oh. well uh, you should probably read the official torquescript syntax guide before attempting any sort of add-on development beyond editing fields.
anyways if your new to add-on development, all object instances use Datablocks which store data that the object will inherit. When you spawn an item in-game, you are creating an instance of the weapon object, which contains data from whatever Datablock its attached to. Example, spawning a gun on a brick creates a Gun object at that exact location, but its data, like model information and ui name information, is stored on the GunItem datablock. or when you plant a 2x2 brick, you create a 2x2 brick object in the world space, with all its data inherited from the FxDts2x2BrickData datablock
All this is fundamental to understanding how add-ons work, but you dont have to understand it in order to make add-ons. A good start is to edit fields of pre-made add-ons and see how they change in-game. Keep in mind that you dont have to restart your server to test add-ons. You can change parts of the code while running a server, then use exec("Add-ons/Weapon_YourAddon/server.cs"); coupled with TransmitDatablocks();. these will update your changes so they are reflected on the server.
Its good to make the general architecture of your add-on outside the server and then change values like bullet damage and emitter size inside the server, where you can see how your changes are reflected.