I don't know how many of you have been keeping up to date with my coding progress or any of my armaments, (HK Being a good example); but I've been working on and refining some codes I call my "
AdvGuns Support". The premise behind them is simple: To allow for the most advanced and well integrated armament features that any up and coming weapon designer would be at a loss without. The codes themselves are (Hopefully) well written, easy to understand, and implementation is as easy as adding the:
RYG_Support =1;
Into your guns, among a few other interesting values, allowing for maximum customization.
As this is strictly a code project, there are no real pictures I can show, just feature listings, and a few interesting points worth noting.
Features Included:- Adaptive ammo system: Different from Space Guy's version, featuring a setItem fix for events that force items into the player's inventory.
- Includes dryfire support: AKA Firing without any bullets in the mag. (Can Be Toggled Via RTB)
- Extra round support: Allows for there to be an extra round in a mag if you reload it without emptying the clip, for example: 15/30 goes to 31/30 bullets. (Can Be Toggled Via RTB)
- Advanced Recoil Codes and Falloff Functions: Functions included to allow weapons a wide variety of spread and damage features.
- Movement Modifiers: These are significantly more dynamic than the simple "IF VELOCITY > 1" codes. These will take into account the player's velocity, and how long since the user stopped moving, so accuracy will not return to flawless when the player isn't moving, and moving faster will cause recoil to increase.
- SpamFire Support: These recoil codes require a user to have short controlled bursts for more accuracy, as spamming the trigger or firing often will cause the weapon's recoil to skyrocket, allowing for interesting burst requirements if the user wishes to retain accuracy.
- Damage Falloff: Weapon damage falls off with range, further the bullet travels, the less damage it deals. (Can Be Toggled Via RTB)
- Bipod Support: Weapons can implement a Bipod to correct accuracy, The bipod works by requiring players to find the TOP OF A BRICK and right click. This will stabilize the gun and greatly reduce recoil. It also has crouching protect, which says that if you deploy your bipod while crouching, and then uncrouch, you will also undeploy your bipod.
- Supports both Raycasting and Non Raycasting: The codes have been written with support functions that can be implemented by old-school weapon developers who still feel the need to use non raycasting weapons, although at the moment, more support exists for raycasting.
- Simple & Elegant implementation: Because understanding giant functions is a hard thing to do, and copy-pasting them is even more annoying (See T+T if you don't know what I'm talking about) I have developed all of these codes to be as easy to implement as adding a new variable to your datablock. So even complete weapon designer novices can use these advanced features in their weapons, and make top notch designs.
The features listed above are 100% completed and function as intended.
Intended/Upcoming Features:- Backwards compatibility: Since these codes use advanced versions of all currently known weapon support codes, compatibility may be in question, I intend to iron this out, unless someone can convince all weapon designers using ammo to switch over to this system.
- Guns that level up through use: Self explanatory I hope, increase things like reload speed, fire rate, damage, etc.
- Minigun/Vulcan spinup code: Raiden Spinnaz, no but seriously, shoot more, fire faster, yay.
At the moment, I am in need of weapon designers that wish to test the use of my codes with their weaponsets, so I can get proper feedback on any glitches or problems they are having, and resolve them before the official release of the codes. Just shoot me a PM if you are interested in using them.
SEE EARLY VERSIONS OF THESE CODES IN ACTION!
Feedback? Suggestions for editions to the code before release? Desire to use/test? Post away!
FAQ:Q: Do you plan on releasing these for public use?
A: Yes, when I have people actually using them, because a support script on it's own is useless without implementers
Q: How can I use these for my weapons?
A: PM or Email me, I'll send back information regarding how you can be a part of the testing crew.
UPDATE: 2/21/13Hello all! Just wanted to tell you that the code has been updated. I am pleased to announce that I have added limited ammunition into the mix as requested, as well as the famous ammobox, sadly you cannot throw it at enemies to kill them. (However funny that would be)
The ammo box comes in two forms, the (Item) and the (Droppable) (Both can be spawned from bricks.) The item form is the one you walk over and pick up ammo from, the droppable one is the one players actually add to their inventory, so they can drop the box on their own.
The limited ammunition script includes support for both special ammotypes, as well as one per gun. By default it uses a per-gun basis, but if you want to make your weapons more like T+T (IE, 9mm rounds, RPG rounds, etc) instructions have been included, and support exists for these to work as well. Read the readme, ask me questions, and read the server.cs
Next things on my Agenda:
- Proper non-raycasting weapon support (The functions I have in place for these are rather cumbersome, more so than necessary, since I want my system to be usable by all types of weapons, I'll need to adjust these)
- Other random/interesting features. (I AM ACCEPTING SUGGESTIONS/REQUESTS!)
- Proper ADS support. (Suggested by Khain, apparently people actually like ironsights (?) however, the current means of going about adding ADS to weaponry in blockland is about as inefficient and cumbersome as far as the code is concerned. It will double the datablock count of any weaponset, as well as looking fairly clunkyfull.