[Project] Third Person Shooter System I have developed a third person shooter system for other people to use for their own projects. Obviously it is still a Work in Progress, so don't expect anything too fancy! Also, I'm designing this system for use with models in the future that enable custom items, attachments, and perhaps marines that can crouch, so the current stand-ins are more for testing the triggers than actually looking good. I will continue working on this and uploading my progress regularly to show how I'm doing. Please try the map and leave feedback or make suggestions. Please be aware that this map contains cartoon violence and lots of gore Not that I think a warning like that will actually put anybody off... Version Seven Has Been Uploaded! Please leave feedback or suggestions! I've noticed a lot of people are viewing the attachment without giving any feedback. Simply use WASD to move and R to reload (your character will reload on his own if you run out of ammo), left click fires, right click zooms in a bit. Right click + W allows you to sprint. Q is used to get into nearby cover. Space bar is used to pick up different weaponry (they look like floating balls until I can get a decent custom model or two in there). 1 and 2 switch between sticky grenades and your primary weapon. 5 is used to switch between squadmates. Use E to use your melee attack. Check out this page for more information on progress, known bugs, etc: http://forums.sc2mapster.com/development/project-workplace/4393-third-person-shooter-system/#p2 Please feel free to request new functions, actions, weapon options, or anything else. Version 8 and onwards will be too big to post here, so I will be migrating nearly everything over to the link above. List of Functions and Actions in Version 7: Functions Weapon Functions Weapon Being Used: Returns the identifier of the weapon used by a specific unit Firing Style of Weapon: Returns the firing style of a weapon via its identifier Rate of Fire of Weapon: Returns the cooldown time on a weapon Recoil on Weapon: Returns the recoil (angle change for player) of a weapon via its identifier Bullet Variation of Weapon: Returns the bullet variation assigned to a weapon Weapon's Clip Size: Returns the clip size of a weapon via its identifier Weapon's Maximum Ammo: Returns the maximum amount of ammunition held for a weapon via its identifier Scope Distance: Returns the amount of camera zoom associated with each weapon Weapon Launch Sound: Returns the sound link associated with a weapon Missile Number: Returns the Identifier associated with a missile unit Other Functions Squad Number of Unit: Returns the squad number assigned to a specified unit Unit is a Squad Member: Returns true if the specified unit is part of a player's squad Entire Squad is Dead: Returns true if a specified player has lost their entire squad Loadout Status: Returns true if a player is still in their loadout screen Specific Player is Moving: Returns true if a player is currently moving their controlled unit Any Player is Moving: Returns true if any player is currently moving their controlled unit Next Living Squad Member: Returns the number of a specified player's next living squad member Squad Member: Returns a specified squad member for a player Controlled Member: Returns the unit currently controlled for player Highest Identifier In Use: Returns the highest weapon Identifier used so far Total Identifiers In Use: Returns the number of Identifiers being used Next Identifier In Use: Returns the next Identifier in use after an integer Last Identifier In Use: Returns the last Identifier in use after an integer Equipment Being Used: Returns the weapon currently in use for a unit Unit is out of Ammo: Returns true if the specified unit has no ammo remaining in his current weapon. Only works for squad members Current Bullet Variation: Returns the user's current bullet variaiton. Bullet variation changes from time to time. The base value the user sets is alterred quite a bit depending on who's using the weapon and how Detect Collision At Point: Returns potential targets for a missile to hit Actions Change X Control: Every control I have in place can be customized. Each control has its own action Set Enemy Weapon: Sets an enemy to use a custom weapon via its Identifier Set Enemy Accuracy: Allows you to set all enemies on the map to have an accuracy of 1-20 with custom weapons. The higher the value the better their aim Create Weapon: Allows you to create a brand new custom weapon form scratch Set Weapon Images: Sets the icon and scope image of a custom weapon via its Identifier Set Weapon Behavior: Allows you to change the behavior behind a weapon's bullets. Please note that Instant and Instant Trail do nothing for the time being Set Controlled Unit: Sets the controlled unit for a player. Only use this at map initialization Set Squad Member: Sets a specified unit to be in a player's squad. Squads can only have up to four units Turn off Loadout: Turns off the Loadout Dialog at the start of the game for a specified player. Again, this should only be run at Map Initializaiton Switch to Squad Member: Switches control for a player to a specified squad mate Set Weapon Slots: Sets the number of weapon types than can be held. The default is four Order AI Controlled Unit to Reload: Orders a computerized player to reload Order Controlled Unit to Reload: Orders the unit under contorl of a user to reload Blast Pistol Explosion: Calls for the detonation of all blast pistol shots that made contact with targets for a specified player Set Ammo Box Respawn Rate: Alters the length of time it takes for a specific ammo box to respawn Create Equipment: Allows you to create new forms of equipment. At the moment this is a very simple, but limited process Change Unit's Extra Ammunition: Changes a unit's spare ammunition to a value. Only works with squad members Fire Missile Instantly: Fires an instant missile at a specified pitch in a specified direction ----------------------------------------------------------------------- Version History Code: [U][Version 1][/U] -Sound added while shooting weapons -Hipfire accuracy reduced and aiming accuracy increased -Altered aiming slightly [U][Version 2][/U] -Fixed a load of bugs -Added in a secondary weapon for people to pick up. The flamethrowers actual effect looks kinda bad right now, but I'm more interested in getting the triggers working than altering cosmetic stuff. You will notice that the flamethrower is almost entirely different from the standard assault rifle in terms or ammo speed, attack look, sound, etc; -Added some more triggers that will memorize the ammo on each weapon that is dropped. (Example: you drop a weapon that has 15/50 ammo. It will still have 13/50 if you pick it back up.) This will work for an infinite number of weapons. [U][Version 3][/U] -Fixed Bugs [COLOR="Green"]-IMPLEMENTED COVER![/COLOR] [U][Version 4][/U] -Latching onto walls was improved in every way, from functionality to camera and sidling angles -Reloading was optimized slightly -Projectiles now look the correct way upon creation -Bullet trajectory now compensates for cliffs -Target added to the center of the screen to help with aiming while zoomed in -Doubled recoil when firing without holding the right mouse button down -Bullets can finally go over objects and cover! [U]Version 5[/U] -Bullet Yaw overlaps the aiming target earlier. This means bullets cross the center of the screen at mid-range and overlap it significantly by the end of their life -Movement has been adjusted to better suit terrain -Cover has been improved yet again -Bug Fixes -A third weapon: the Scoped Precision Rifle -Better projectile checks to make bullet fire more pinpoint -A cliff was added so people can try shooting down at enemies. Keep in mind the cliff cannot be used as cover, but the obstacle on top of it can -Sticky grenades are now accessible. Because the Marine is so limited on animations, his attack animation makes it seem more like he's got a grenade launcher attached to his gun than a grenade in his hand, but the firing should be working. Sticky grenades cling to any surface they encounter, including cliffs, units, and cover -Naturally, with sticky grenades comes the ability to switch weapons with 1, 2, 3, and 4. At the moment, only 1 and 2 are in use, but I've designed the weapon switching appearance to work for up to four different types of weaponry -Skybox added -Fog added -Battlecruiser added so players can try shooting at flying targets -Custom death animations based on killing blows -Adjusted bullet fire to prevent cliffs from messing up their points of origin -Slightly smoother camera movement -Proper impact effects. You will notice that organic units bleed, while synthetic enemies get covered in sparks -Bullet travel, damage, collision, and shooting have all been altered for up to 14 players rather than 1 [U]Version 6[/U] -Fourth, Fifth, Sixth, and Seventh weapon added: Burst Rifle, WC-13 (Shotgun), Blast Pistol, Plasma Turret respectively -Explosion Effects were added to grenades -Bug Fixes -[COLOR="Green"]Aggresive enemies![/COLOR] -Added a proper condition to bullets as they travel to stop them from damaging units off to the side of their present course. I have also added two priority checks while detecting collision. Basically this makes cover more effective if a unit is behind it, but less effective if the unit is between the bullet and the cover -Health and Shields added to the Marine. The custom UI has been adjusted to show health and shields respectively. For the moment, shields regenerate, but health does not to encourage defensive gameplay -Impact effects now play their non-biological effect when damaging shields -Battlecruiser removed and terrain reformed to be a little more interesting and make testing easier -Spawns added to give some actual gameplay to test -Added in height and width checks to allow users to create enemies of varying sizes (ghosts and ultralisks for example). From now on the 'Radius' field in the Data Editor determines bullet collision in terms of width. I had to get a little more creative for height. The supplies used/10 equals the height of your unit. So if you're using a unit that is 0.9 tall, their supplies field needs to be -9 -[COLOR="Green"]Squad based gameplay[/COLOR]. You will be able to switch between four different soldiers at any time -You can now select loadouts for your squad. Since little is actually in the game so far, this is limited to choosing what weapon they each start with -Bullet pitch has been adjusted to better match your camera pitch -Basic enemy AI has been put in place -Bullet travel/collision/detection/creation now works for up to 14 user controlled characters and an infinite number of computer controlled enemies and allies -Improved impact effect accuracy -Added in a not-so-subtle distinction between bolt-action weapons and semi-automatic. Bolt-action weapons now have their accuracy significantly reduced when not scoped in. Since there are no Bolt-actions currently in the game, this is not something you will be able to see yet, unless you add in some wepaons of your own -Added a new style of weapon: Scattered. It works more or less the same as Semi-Automatic, but Scattered fires a whole burst in one bullet, like a shotgun -Implemented my triggers into a new library. This should make editing much easier for other people [U][Version 7][/U] -New Weapon Added: Inhibitor Shotgun -Bug Fixes -Removed the library's dependancy on Vespene and Minerals. This means that users can now use minerals/vespene values however they choose -Implementation of Tall Cover (things you can hide behind but cannot shoot over) -"Impales Targets" has been altered slightly. In verison 6, weapons that impaled targets could go through cover as well as enemies -The Scattered firing style has been altered in terms of bullet variation. It will no longer be affected by aiming vs hipfire -Explosive Ammunition added -The ability to customize your scope when aiming has been added. The customization options allow any texture you wish, with custom colouring recoil variation, transparency, and size -Creating weapons has been broken into several steps now. Base values like bullet variaton, missile type, etc are all in one line, but images and advanced attributes each have their own now -Bullets are now created at the correct height. Impact effects also have had their heights adjusted to better match the bullet's trajectory -The Marine turns much faster -A ton of new functions and actions have been added. Look below for more information -Users can now customize controls however they wish. Any control you don't want (like getting into cover or switching between squad mates) can now be disabled -Identifiers no longer need to be in order -Four sets of health/shields have been put at the side of the screen to represent your squad mates. Any Squad Mates not in use will have their bars hidden -Added an icon beside the life and shield dialogs of your squad mates when they run out of ammo -Squad units go through proper ammo now and no longer use custom values for anything, due to their unreliability -Users can now change the length of the weapon swapping dialog. This means you can competely eliminate switches in equipment if you wish -Users can now customize the type of equipment at their disposal. You could give one squad member four different types of grenades and another four different primary weapons. Still another could have one primary weapon and three different grenades (note that version 7 does not actually give AI controlled units the ability to use grenades yet) -The ability to create customized equipment has been put in place, but at the moment it is limited to ammo, an icon, and a choice between grenades, primary weapons, or ammo -Burst Delay added to list of weapon behaviors -Recoil has been adjusted to better alter the user's shooting. Before now, all the 'camera recoil' variable did was change the user's camera pitch slightly with each shot. Now, a circle will expand around the aiming recticle and bullet variation will increase dramatically with continual shooting. Firing in bursts helps to prevent bullet variation from getting out of hand. This option can be toggled on or off via a boolean variable when creating weapons -Instant bullets have been added. Instant bullets also finally enable beam models as missiles! -Melee Attack added -Explosions now shake your camera if you are in close vicinity Special thanks to anybody who posted with feedback or answers to problems I was having, Onisagi especially. For a guy with only 14 posts, he sure knows his stuff .