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.
THIS PROJECT WILL NOT BE CONTINUED ANYMORE. PLEASE FEEL FREE TO USE THE EXISTING SYSTEM AT YOUR LIESURE.
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 Nine Has Been Uploaded!
Version Eight is the first version to be designed and altered specifically for the retail version of the Galaxy Editor. If you haven't tried this system out yet, I suggest you do so now.
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. The weird ball that's halfway into the ground is an ammo box). 1, 2, 3, and 4 all switch weapons/equipment. 5 is used to switch between squadmates. Use E to use your melee attack.
The default controls can be found in the Help tab in-game.
What Will Change In Version 10:
Read the Important Note below
I am still anxious to receive feedback, hear about bugs that need to be fixed, or helpful features you guys think will make your project easier. If there's a function you would like, for instance, please post it or pm me. I will check my messages and this thread regularly, but version 10 will be a long time coming, since I am now taking on a second project at the same time. Don't worry though, Version 10, is in the works!
Known Bugs:
The Blast Pistol shots can detonate when an ally reloads. This is intentional and will not be changed. It isn't actually a bug, but I thought I would put it here anyway in case somebody thinks it is
Shooting downwards over cover is often impossible due to the collision detection triggers. I am constantly altering collision as I see necessary, but I don't know when this will be fixed. Shooting on even ground or upwards from behind cover works fine
Quite often switching squad mates after your controlled shooter has died returns errors and fails to give you control of a new unit. Version 9 has lessened the chance of this happening, but it is still prevalent
Objects with Pathing Footprints often have their Radius statistic altered beyond the user's control. This results in destructible objects absorbing bullets that would normally be out of their range. I am working on a fix for this, but this may just be a shortcoming of the SC2 engine that can't be fixed. For the time being, use unit footprints instead of destructible ones
When picking up an alternate weapon, it's ammunition is somehow affected by the shots fired on your current weapon. This can result in negative ammunition. I believe I fixed this in version 9, but I'm not sure since it was difficult to reproduce.
Please feel free to report more!
What I Could Use Some Help On:
Locking the mouse scroll pitch change
Preventing the space bar from trying to move the camera to a recent event
Please let me know if you experience any significant slowdowns. I have an above average computer (finally upgraded...yay!) and run everything on the highest settings without a hitch. I am quite aware that some people on lower end systems may have difficulty.
I would also like to make a small request: It would be AMAZING if somebody could rig up a very simple model (based off the Marine) that could crouch behind cover and aim over cover. Also, removing his weapons to allow for an attached weapon would be good too.
Editing
Version 7 made editing unbelievably easy for users that don't want to delve into my library.
Check out the second post for more information on creating custom Terrain, Weapons, and Enemies.
Please feel free to request new functions, actions, weapon options, or anything else.
List of Functions and Actions in Version 8:
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
Determine Lob Pitch: Calculates the angle of attack required for a lobbed weapon to make contact with an enemy
Distance to Edge of Map: determines the distance to the edge of the map (real)
Grenade Number: Returns the identifier associated with a grenade
Nearby Cover: Returns a unit group of all nearby cover units
Nearby Short Cover: Returns a unit group of all nearby short cover
Nearby Tall Cover: Returns a unit group of all nearby short cover
Distance between XYZ points: Calculates the distance between two three dimensional ponts
Angle Between Points on Z Axis: Returns the pitch form one point to another
Point with XYZ Offset: Works the same as the "Point with Polar Offset" but uses three dimesnional points
Player is on Turret: Returns true if a player's controlled unit is using a turret
Unit is a Vehicle: Returns true if the specified unit is a vehicle
Identifier of Vehicle: Returns the identifier associated with a vehicle
Missile Belongs to Vehicle: Returns true if the missile is unique to a vehicle weapon
Identifier of Vehicle Data Weapon: Returns the identifier of a data editor weapon used by vehicles
Vehicle is Boardable: Returns true if a vehicle may be boarded.
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
Lob Missile: Lobs a missile in an arc
Set Cover Unit: Assign units to represent Short Cover and Tall Cover for your own game
Assign Abilities: Creates an ability for use within the system
Assign Grenades: Creates a grenade for use within the system
Slow Instant Bullets: Slows instant bullets slightly to increase game performance
Increase Game Performance: Adds a Falloff for the camera and Slows Instant Bullets
Infinite Ammo On/Off: Turn infiinite ammunition on or off for a unit
Lock Movement: Prevents players from moving their controlled unit/vehicle
Create Vehicle: Creates a vehicle and assigns it to an identifier
Set Vehicle Images: Assigns images to a vehicle identifier
Set Vehicle Weapon Properties (Simple): Allows you to assign basic values to a vehicle weapon
Set Vehicle Weapon Properties (Advanced): Allows you to assign advanced values to a vehicle weapon
Order Controlled Vehicle to Reload: Orders a vehicle under direct control of a player to reload whatever weapons it can
Order AI Controlled Vehicle to Reload: Orders a unit that is not under direct user control to reload
Alter/Flash Dialog Item Size: Alters a dialog item over time. It can flash colours, change colours for a duration or simply change size
Turn On/Off Boarding for a Vehicle: Turns on or off the option to board a vehicle
Assign Turret: Identifies a unit as a turret that can be mounted
I could really use some feedback about features/actions/functions you'd like to have added in. I'm open to suggestions, so don't be afraid to ask!
Important Note:
This system is designed for other people's use, but it has come to my attention that it will struggle with online play. The system is designed for up to fourteen players and will work fine offline, but through experimentation in the data editor and reading these forums, I believe I can reduce any/all lag online. Version 10 will focus heavily on this. It seems the most significant problem is Battle.net's poor WASD movement detection.
For the time being I recommend focusing on campaigns that only have one or two players. As I said, I will be implementing as much as I can in version 10 to resolve these issues, but I am currently working on a second project, so it may take some time.
Another very important thing to remember is that bullets with travel times struggle in an online environment. Blizzard's servers are incapable of handlign a large number of periodic events, so my recommendation would be to make as many weapons as possible Instant. By making your weapons shoot Instant bullets, you will find a huge improvement in online play.
In the unit category, you should see two custom units. One will be named Assault Rifle, the other Assault Rifle Missile.
Make a copy of each. For the Assault Rifle unit, you can create a custom actor or model if you wish, but since they're all just balls for the time being anyway, you could leave all that the same. Simply rename Assault Rifle to the name of your new weapon and proceed to the Missile.
The missile is a little more difficult. For each new missile, you need to change a) the name of the missile and all child data editor information (actors, models, etc; ) b) the model file that the model uses, c) the time a model lasts for before it disappears, assuming it hasn't hit anything, and d) the missile's movement speed.
The a, b, and d should be easy enough to figure out, but c (length of existence) is dictated by its behavior. In the case of the assault rifle, this behavior is called Assault Rifle MD. Within this behavior, you should see a value (assuming you aren't displaying things in table mode) called "Stats - Duration". Change that to the time (in seconds) you want the missile to last for.
Next, open up the Effects tab. Search for "Assault" again. You should see an effect named Assault Rifle (Damage). Duplicate it. There are only two values here that you need to change. First, change "Combat - Amount" to your desired damage per bullet. Second, change "Effect - Death" to your desired type. Note that in the beta most of these death animations don't work, but some (like fire or blast) are functioning fine. You may also want to change the Area of Effect Radius and Maximum Count fields for explosive weaponry.
After that, open up your Actor tab. Search for TPS Shield Impact and duplicate it. Change the model and names to match the effect you want to see when your weapon hits an enemies' shields. Do the exact same thing for "Generic Blood Splatter" and Geenric TPS Impact". Generic Blood Splatter will change the effect of a direct hit against an opponent. Generic TPS Impact changes ground/destructible hit effects.
Finally, open the Weapons tab. Search for "Cooldown". Copy/paste any of the custom weapons you see. Change the name and range to suit your liking.
Whew. As always, the Data editor section seemed a little long-winded, but it's really simple to do again once you've gone through that whole ordeal once. Now, we're moving on to triggers.
Step 2: The Trigger Editor
I've tried to make the triggering portion as simple as possible and will continue to make things easier over time. There are only two real things to keep in mind while triggering.
Go to the "Create Weapons" trigger. Add in a new action. Search for "Create Weapon" in the list of custom actions.
You should see a custom action that comes from the source TPSLib. Select it. Once it's added to the trigger, you will notice a ton of values that need to be filled in. After each value has been filled (many will need to reference your data editor work), your weapon should be working! Congratulations!
However, that is just the beginning. I would recommend adding these two actions as well: Set Weapon Images and Set Weapon Behavior. Like the first action, these come with a wide variety of parameters for you to fill in, each allowing for more customization for more unique weapons.
Creating Your Own Enemies
Step 1: The Data Editor
Create your enemy as you would any unit. This probably means you'll need a custom unit, actor, and model. Do NOT create a weapon for the unit (you can if you wish, but you'll see my reasoning later).
In order for my code to properly detect the height and width of each unit, you need to make a few alterations to your unit.
1. Go to the unit tab and select the enemy you've made for yourself.
2. Use the field search tab to find Radius. You should see several radius fields, but you want the one that is simply titled "Radius". (Not inner radius or anything like that). Change the Radius to the width of your unit. To put things in perspective, marines, ghosts, and zerglings are all 0.375.
3. Search for the "Supplies" field. Set the supplies to -10 times the height of your unit. As an example, marines are 0.9 tall, so their supplies are set to -9.
4. Give your unit the weapon you created earlier when making your own custom weaponry. My triggers will automatically detect your setting and give him the same weapon you would be using when selecting your weapon. You may give him a 'real' weapon if you wish.
Step 2: The Trigger Editor
Once again, the trigger editor really only requires one line. My custom action titled "Set Unit's Weapon" allows you to pick a unit of your choice (or unitS via unit groups) and assign them one of your custom made weapons. The Identifier you used when creating your weapon is all you need to set. To see an example of what you need to do, go to the "Weaponry" folder. Select the "Set Enemy Info" trigger. You will see multiple comments and a couple of if/then/else statements. Copy/paste an if/then/else statement. Change the condition to match your new enemy. Next, go down to the action within your new if statement. Change the action to match the identifier of the weapon you wish to see them use.
You may be wondering what the "Wepaon Slot" parameter does. This changes a unit's 1st, 2nd, 3rd, or 4th weapon. At the moment only Squad Units can have more than one weapon, so when creating enemies, simply stick to 1.
Never change the custom value 1 or 2 on a custom enemy. The library makes use of these.
That's how my starting triggers have it set up, but you can use that custom action anywhere you please.
Creating Custom Terrain
This is fairly straight forward, but I feel I should cover it anyway. Terrainers need to keep two things in mind while creating terrain:
1. In order for players to be able to use cover, you MUST place "Short Cover" boxes (search among the destructibles) around the object you wish to use. You can see how they're placed in my sample map. Please bear in mind that anything the user can take cover on, they should also be able to shoot over. If you want to add in objects that can be used as cover, but cannot be shot over, place "Tall Cover" boxes instead.
2. All destrucibles that you don't want players to shoot through need to have their Radius and Supplies assigned. See "Creating your own enemy" for more information on that.
Importing the System Into Another Map
Obviously, a system is useless if it can't be transferred. To transfer my system to your own project, simply copy paste the Library TPSLib.
Please note that many of the instructions above require you to duplicate my work in the Data Editor. This is not necessarily required (you could make your own effects from scratch), but I recommend copy/pasting at least some of the main weapon creation elements form my map's Data editor as well as Tall Cover and Short Cover.
Troubleshooting/FAQ
Question: I am able to use the loadout screen and rotate the camera with my mouse, but there is no unit on the map. My camera seems to be nowhere near my unit!
Answer: The most common reason for this is that there is no Controlled Shooter set. Create a map initialization trigger and give it the custom action "Set Controlled Unit" to your unit. This unit MUST be a part of your player's squad. To do this use '"Set Squad Member".
Question: I've created a new weapon but now an exsting weapon seems to be missing.
Answer: Every weapon must have a different Identifier. If you have two weapons with the same identifier, the second will overwrite the first. Also keep in mind that Identifiers cannot go over 50 for the time being.
Question: What do some of these Weapon Behaviour parameters actually do?
Answer: Weapon Behaviours allow you to customize weapons further, but they can be a bit confusing.
-Burst Amount and Burst Delay work hand in hand. Burst amount determines the number of missiles created each time a shot is fired. Burst Delay staggers these missiles slightly when set to true so they don't all fire at once
-Instant and Instant Trail are also paired. Instant Trail will not do anything and can be left blank if Instant is set to false. Instant missiles nearly eliminate travel time and leave an angled trail where the bullet would have travelled. This must be enabled if you intend to use beam models as trails (the Ghost's snipe ability model is a good example of these beam models)
-Exlosive Ammunition is definitely the most fun option. By setting this to true, you allow weapon damage to hit an area upon contact with the ground instead of exclusively on units. Explosion Shakes Camera is tied to the Explosive Ammunition option the same way Instant Trail is only enabled if Instant is set to true. Explosion Shakes Camera does exactly what it suggests. Anybody within range of your explosive weaponry will have their camera angle/pitch disrupted for about 1 second.
-Impales Targets is pretty straightforward. If enabled, missiles continue through enemies (but not destructibles) and continue on until they time out or hit the ground. Basically, if you have five enemies in a line, enabling this will make one bullet hit all five. Add Explosive ammuntion to an Impale Targets weapon and you have a VERY deadly combination...
-Recoil Affects Accuracy and Aiming Recoil are yet another pair. Aiming Recoil should be set to 0 if Recoil Affects Accuracy is False. If Recoil Affects Accuracy is enabled, repeated fire and movement considerably lower the accuracy of your weapon. This encourages quick, controlled burst fire instead of spraying an area randomly. Aiming Recoil dictates how much your accuracy is decreased by with each shot.
-Camera Recoil affects how much the pitch of your camera is increased with each shot fired.
-Missile Lobs and Arc also go hand in hand. Keep in mind that Lob and Instant are NOT compatible. Only one may be set to true. If Lob is set to true, then the missile will have an arc implemented in its trajectory. The degree of the arc is controlled by the Arc value. The higher the value, the larger the arc. It can mean the difference between a slight drop versus a grenade throw.
Question: Custom Equipment seems very limited. How can I create my own grenades, abilities, etc;
Answer: For the moment, you can't. I apologize for Equipment being so useless at the moment, but in future versions I will be adding more customization options to allow for different grenades, explosions, abilities, etc;
Question: I found a bug. How can I tell you about it?
Answer: Right here! Or you could PM me if you prefer. I will be checking this at least once a day to keep tabs on any problems that arrive.
Question: I hate your control scheme. Can you make some alterations for me?
Answer: First off, if you have a suggestion, don't hesitate to post it. Second, any controls you wish to change can be done via custom actions. The Actions below allow you to customize controls. Keep in mind that the run control will always be the aim and forward movement controls together. And Keyboard/Mouse events can not be interchanged. If one of my controls requires pressing a button on a keyboard it MUST remain a button on the keyboard, I could change this to be interchangable if enough people ask for it, but I think it would just be confusing and I can't imagine people wanting to shoot with the keyboard or move with the mouse. You can have anywhere between 1 and 4 squad units, so if you dislike having allies or it doesn't fit with your map's theme, you can only assign one unit to a squad. Finally, the Action "Set available equipment slots" can lessen the number of weapons/pieces of equipment you can have on each unit.
Change Forward Control
Change Backward Control
Change Left Movement Control
Change Right Movement Control
Change Squad Switch Control
Change Switch Weapon 1 Control
Change Switch Weapon 2 Control
Change Switch Weapon 3 Control
Change Switch Weapon 4 Control
Change Pick Up Control
Change Into Cover Control
Change Reload Control
Change Melee Control
Change Shoot Control
Change Aim Control
Question: I like your system, but I don't want users to switch between squad mates or use cover. Is there any way to disable these features?
Answer: Nearly everything can be enabled/disabled through my custom actions. The Actions above alter controls, but they can also DISABLE controls if you set them to the "None" key. You can also disable the Loadout screen by using the custom action "Turn Off Loadout".
Question: I set squad members and a controlled unit and created some weapons, but my unit doesn't fire anything. What did I do wrong?
OR
How can I change my unit's starting weapon? I'm tired of the Assault Rifle being the default.**
Answer: Set your unit's starting weapon with this action at map initialization: "Assign Weapon"
Question: Can I alter your library to better suit my map?
Answer: You may, but it is not recommended. In fact, I would prefer it if you avoided using the library's variables altogether. Any number of things could go wrong with even the slightest change and chances are I won't be able to locate the problem and help you revert it to a usable state.
Question: I gave my squad members four weapons, but I want them to automatically start the game with their third weapon out. How can I do this?
Answer: Use the custom action: "Set Starting Equipment"
Question: Your TPS system runs incredibly poorly on my computer. It's almost unplayable and my framerate drops off.
Answer: The slowdowns you are experiencing can come from two different sources. One is Instant Bullets, the other is your computer struggling to display such a massive map. There are steps you can take to prevent this:
1. Add Farclip to your game. In Version 8, you can simply use the custom action "Increase Game Performance". In version seven, you will have to do this manually. Create a new trigger that runs at 1 second of game time (or something low like that...map init might work, I'm not sure). Then use this action "Apply Camera Object Property". Select Farclip and set it to 60 or so.
2. Refrain from using Instant Bullets. By default, the SPR (scoped precision rifle) and Flamethrower both make use of Instants. Alternatively, you can simply slow down Instant Bullets by using this function in version 8 or later: "Speed Up Instant Bullets" and set it to False. It will be False by default, so you can skip this step if you never set it to True.
Question: My enemies or squad mates aren't firing the weapons I want them to. Why is this happening and how can I fix it?
Answer: There are two possible reasons for this. Either you have altered an enemy's custom value 1 (which you cannot do with my system) or you have given it an incorrect weapon. You must give your enemy unit the custom weapon assigned with your triggered weapon.
Question: Why are my squad mates or enemies are reloading at strange times?
Answer: If units are reloading when they shouldn't be, chances are you altered their custom value 2. Again, custom values 1 and 2 should not be altered.
WOW will be using be using it. But this game lags my cpu i can usaly play on high with no fps lag even with 200 suplie worth of stalkers. Yah your system is a bit computer heavy. Try to reduce lag and yah great for all tps and fps usageses like ctf, dm, tdm, ect.
"hi i want to play your map so badly but when i load map it appears a black screen and i can only move the mouse ...i happens at all maps ...pls help"
How are you using the map? Are you loading my library into another map or are you testing my existing map? The most likely cause of the camera not working correctly would be you not having a controlled shooter. Make sure you have a map initzialization trigger that sets a controlled unit for Player 1. There is a custom action for this. Look above at the list of actions. If that is not the issue please let me know and I'll resolve it with you.
I knew I should hgave made a FAQ for common problems that may arise.
"WOW will be using be using it. But this game lags my cpu i can usaly play on high with no fps lag even with 200 suplie worth of stalkers. Yah your system is a bit computer heavy. Try to reduce lag and yah great for all tps and fps usageses like ctf, dm, tdm, ect."
Thanks for letting me know. I hate to ask, but could you help me narrow down what part of it is lagging? All you'll need to do is go into the Trigger Editor and look at the trigger "Create Weapons". Every fourth line or so should have the parameter "Instant:" Followed by a boolean value. Please set these all to false and try again. Only the Scoped Precision Rifle and Flamethrower should be instant by default. See if it still lags or not. Instant bullets are a fairly recent addition and I suspected they might cause issues for certain systems.
"That's a really great project :)
I took the liberty to edit your first post using the Markup to make it looks nicer :)"
Hmmm. Try opening it via the Galaxy Editor and testing it through that. See if it has the same result or not. Do you receive any error messages? Do you see even a corner of the map or is everything pure black? Are you playing as player 1?
If the problem persists, the only other thing I can think to try would be attaching the full map instead of a compressed file. It's possible the RAR file is corrupting it somehow.
I'll try downloading Mapcraft and see if I have the same problem that way.
[Edit]: I just tried Mapcraft (second most recent version...the last Windows one) and the map seems to run fine.
If this is happening to every map you try, I'm afraid there's nothing I can do. That's probably a compatability error between either your computer and Mapcraft or your computer and SCII. The only thing I could recommend for that is making sure you have the latest combatible version of SC2, Mapcraft and all drivers for your computer's hardware.
That means you've downloaded the latest version. Have you checked to make sure you don't have the editor? It came with the 9th beta patch. Check in your SC2 beta directory.
could you try to make a multi level system so people could be on stair ect and places above eachother that way it wont have to be a single level map and we could have caves ect. For basic pysics for grenades simply check when it hits the ground and how high it is so if your going straight and hit a cliff it detectes the cliff at the way it is moving and bounces of removing %30 speed and increases speed while dropping i will post my fail attempt at using these basic princibles ( was going to rework triggering to make things slow down when going uphill but i was 2 laze :3 )
I would LOVE to include grenades that can actually bounce, but let's just say I fail horrendously at physics, so somebody else will have to come up with the formula. I'll take a look at your map anyways though and see if it gives me a push in the right direction.
As for multi-level...what do you mean exactly? You can already shoot up and down hills, cliffs, etc; It even takes flying units into account and the cliff level beneath them. Have you found a bug that prevents things from working at certain heights?
[Edit]: It's kinda hard to understand your map since all the values have been replaced with "No Value". I have no idea which variables have been called or why.
i am loading your map with mapcraft but when it opens the screen is black and i can move only mouse ....it hapens to all maps
Might be a problem with your drivers if it's not the Starcraft 2 version, make sure your graphic card drivers are up to date.
Comments about the map: I didn't play this extensively but this has a large amount of lag on lower-end machines, such as mine. (Even on low shader settings.) I would recommend either adding a far clip to the camera plus fog to make it fade away (However this would remove your sky), or making the map smaller so that slower computers don't have to render all of that unused terrain, which quickly bogs down their system.
Edit: Or at least add an option that enables a far clip for the lower-end systems.
I think what you are asking for is an entire project in itself. A map where people can be on multiple levels on top of each other is a pretty huge task. I think it would also require a complete reworking of his shooter system.
@ Sephiex. Like I mentioned above, it is quite possible the culprit behind the lag are the instant bullets. I would appreciate it if you could perform the check I mentioned above and give it another try. It may lessen or completely remove the slowdowns you're experiencing.
i just need the galaxy editor or a launcher that run custom maps ....with some launchers i can run only normal maps but it gives error to custom maps ....i downloaded starcraft 2 again but the same problem ...it says that it is patch 15 but i dont have the editor
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
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.
THIS PROJECT WILL NOT BE CONTINUED ANYMORE. PLEASE FEEL FREE TO USE THE EXISTING SYSTEM AT YOUR LIESURE.
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 Nine Has Been Uploaded!
Version Eight is the first version to be designed and altered specifically for the retail version of the Galaxy Editor. If you haven't tried this system out yet, I suggest you do so now.
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. The weird ball that's halfway into the ground is an ammo box). 1, 2, 3, and 4 all switch weapons/equipment. 5 is used to switch between squadmates. Use E to use your melee attack.
The default controls can be found in the Help tab in-game.
What Will Change In Version 10:
I am still anxious to receive feedback, hear about bugs that need to be fixed, or helpful features you guys think will make your project easier. If there's a function you would like, for instance, please post it or pm me. I will check my messages and this thread regularly, but version 10 will be a long time coming, since I am now taking on a second project at the same time. Don't worry though, Version 10, is in the works!
Known Bugs:
Please feel free to report more!
What I Could Use Some Help On:
Please let me know if you experience any significant slowdowns. I have an above average computer (finally upgraded...yay!) and run everything on the highest settings without a hitch. I am quite aware that some people on lower end systems may have difficulty.
I would also like to make a small request: It would be AMAZING if somebody could rig up a very simple model (based off the Marine) that could crouch behind cover and aim over cover. Also, removing his weapons to allow for an attached weapon would be good too.
Editing
Version 7 made editing unbelievably easy for users that don't want to delve into my library.
Check out the second post for more information on creating custom Terrain, Weapons, and Enemies.
Please feel free to request new functions, actions, weapon options, or anything else.
List of Functions and Actions in Version 8:
Weapon Functions
Other Functions
Actions
I could really use some feedback about features/actions/functions you'd like to have added in. I'm open to suggestions, so don't be afraid to ask!
Important Note:
This system is designed for other people's use, but it has come to my attention that it will struggle with online play. The system is designed for up to fourteen players and will work fine offline, but through experimentation in the data editor and reading these forums, I believe I can reduce any/all lag online. Version 10 will focus heavily on this. It seems the most significant problem is Battle.net's poor WASD movement detection.
For the time being I recommend focusing on campaigns that only have one or two players. As I said, I will be implementing as much as I can in version 10 to resolve these issues, but I am currently working on a second project, so it may take some time.
Another very important thing to remember is that bullets with travel times struggle in an online environment. Blizzard's servers are incapable of handlign a large number of periodic events, so my recommendation would be to make as many weapons as possible Instant. By making your weapons shoot Instant bullets, you will find a huge improvement in online play.
Creating Your Own Weaponry
Step 1: The Data Editor
Search the data editor for "Assault"
In the unit category, you should see two custom units. One will be named Assault Rifle, the other Assault Rifle Missile.
Make a copy of each. For the Assault Rifle unit, you can create a custom actor or model if you wish, but since they're all just balls for the time being anyway, you could leave all that the same. Simply rename Assault Rifle to the name of your new weapon and proceed to the Missile.
The missile is a little more difficult. For each new missile, you need to change a) the name of the missile and all child data editor information (actors, models, etc; ) b) the model file that the model uses, c) the time a model lasts for before it disappears, assuming it hasn't hit anything, and d) the missile's movement speed.
The a, b, and d should be easy enough to figure out, but c (length of existence) is dictated by its behavior. In the case of the assault rifle, this behavior is called Assault Rifle MD. Within this behavior, you should see a value (assuming you aren't displaying things in table mode) called "Stats - Duration". Change that to the time (in seconds) you want the missile to last for.
Next, open up the Effects tab. Search for "Assault" again. You should see an effect named Assault Rifle (Damage). Duplicate it. There are only two values here that you need to change. First, change "Combat - Amount" to your desired damage per bullet. Second, change "Effect - Death" to your desired type. Note that in the beta most of these death animations don't work, but some (like fire or blast) are functioning fine. You may also want to change the Area of Effect Radius and Maximum Count fields for explosive weaponry.
After that, open up your Actor tab. Search for TPS Shield Impact and duplicate it. Change the model and names to match the effect you want to see when your weapon hits an enemies' shields. Do the exact same thing for "Generic Blood Splatter" and Geenric TPS Impact". Generic Blood Splatter will change the effect of a direct hit against an opponent. Generic TPS Impact changes ground/destructible hit effects.
Finally, open the Weapons tab. Search for "Cooldown". Copy/paste any of the custom weapons you see. Change the name and range to suit your liking.
Whew. As always, the Data editor section seemed a little long-winded, but it's really simple to do again once you've gone through that whole ordeal once. Now, we're moving on to triggers.
Step 2: The Trigger Editor
I've tried to make the triggering portion as simple as possible and will continue to make things easier over time. There are only two real things to keep in mind while triggering.
Go to the "Create Weapons" trigger. Add in a new action. Search for "Create Weapon" in the list of custom actions.
You should see a custom action that comes from the source TPSLib. Select it. Once it's added to the trigger, you will notice a ton of values that need to be filled in. After each value has been filled (many will need to reference your data editor work), your weapon should be working! Congratulations!
However, that is just the beginning. I would recommend adding these two actions as well: Set Weapon Images and Set Weapon Behavior. Like the first action, these come with a wide variety of parameters for you to fill in, each allowing for more customization for more unique weapons.
Creating Your Own Enemies
Step 1: The Data Editor
Create your enemy as you would any unit. This probably means you'll need a custom unit, actor, and model. Do NOT create a weapon for the unit (you can if you wish, but you'll see my reasoning later).
In order for my code to properly detect the height and width of each unit, you need to make a few alterations to your unit.
1. Go to the unit tab and select the enemy you've made for yourself.
2. Use the field search tab to find Radius. You should see several radius fields, but you want the one that is simply titled "Radius". (Not inner radius or anything like that). Change the Radius to the width of your unit. To put things in perspective, marines, ghosts, and zerglings are all 0.375.
3. Search for the "Supplies" field. Set the supplies to -10 times the height of your unit. As an example, marines are 0.9 tall, so their supplies are set to -9.
4. Give your unit the weapon you created earlier when making your own custom weaponry. My triggers will automatically detect your setting and give him the same weapon you would be using when selecting your weapon. You may give him a 'real' weapon if you wish.
Step 2: The Trigger Editor
Once again, the trigger editor really only requires one line. My custom action titled "Set Unit's Weapon" allows you to pick a unit of your choice (or unitS via unit groups) and assign them one of your custom made weapons. The Identifier you used when creating your weapon is all you need to set. To see an example of what you need to do, go to the "Weaponry" folder. Select the "Set Enemy Info" trigger. You will see multiple comments and a couple of if/then/else statements. Copy/paste an if/then/else statement. Change the condition to match your new enemy. Next, go down to the action within your new if statement. Change the action to match the identifier of the weapon you wish to see them use.
You may be wondering what the "Wepaon Slot" parameter does. This changes a unit's 1st, 2nd, 3rd, or 4th weapon. At the moment only Squad Units can have more than one weapon, so when creating enemies, simply stick to 1.
Never change the custom value 1 or 2 on a custom enemy. The library makes use of these.
That's how my starting triggers have it set up, but you can use that custom action anywhere you please.
Creating Custom Terrain
This is fairly straight forward, but I feel I should cover it anyway. Terrainers need to keep two things in mind while creating terrain:
1. In order for players to be able to use cover, you MUST place "Short Cover" boxes (search among the destructibles) around the object you wish to use. You can see how they're placed in my sample map. Please bear in mind that anything the user can take cover on, they should also be able to shoot over. If you want to add in objects that can be used as cover, but cannot be shot over, place "Tall Cover" boxes instead.
2. All destrucibles that you don't want players to shoot through need to have their Radius and Supplies assigned. See "Creating your own enemy" for more information on that.
Importing the System Into Another Map
Obviously, a system is useless if it can't be transferred. To transfer my system to your own project, simply copy paste the Library TPSLib.
Please note that many of the instructions above require you to duplicate my work in the Data Editor. This is not necessarily required (you could make your own effects from scratch), but I recommend copy/pasting at least some of the main weapon creation elements form my map's Data editor as well as Tall Cover and Short Cover.
Troubleshooting/FAQ
Question: I am able to use the loadout screen and rotate the camera with my mouse, but there is no unit on the map. My camera seems to be nowhere near my unit!
Answer: The most common reason for this is that there is no Controlled Shooter set. Create a map initialization trigger and give it the custom action "Set Controlled Unit" to your unit. This unit MUST be a part of your player's squad. To do this use '"Set Squad Member".
Question: I've created a new weapon but now an exsting weapon seems to be missing.
Answer: Every weapon must have a different Identifier. If you have two weapons with the same identifier, the second will overwrite the first. Also keep in mind that Identifiers cannot go over 50 for the time being.
Question: What do some of these Weapon Behaviour parameters actually do?
Answer: Weapon Behaviours allow you to customize weapons further, but they can be a bit confusing.
-Burst Amount and Burst Delay work hand in hand. Burst amount determines the number of missiles created each time a shot is fired. Burst Delay staggers these missiles slightly when set to true so they don't all fire at once
-Instant and Instant Trail are also paired. Instant Trail will not do anything and can be left blank if Instant is set to false. Instant missiles nearly eliminate travel time and leave an angled trail where the bullet would have travelled. This must be enabled if you intend to use beam models as trails (the Ghost's snipe ability model is a good example of these beam models)
-Exlosive Ammunition is definitely the most fun option. By setting this to true, you allow weapon damage to hit an area upon contact with the ground instead of exclusively on units. Explosion Shakes Camera is tied to the Explosive Ammunition option the same way Instant Trail is only enabled if Instant is set to true. Explosion Shakes Camera does exactly what it suggests. Anybody within range of your explosive weaponry will have their camera angle/pitch disrupted for about 1 second.
-Impales Targets is pretty straightforward. If enabled, missiles continue through enemies (but not destructibles) and continue on until they time out or hit the ground. Basically, if you have five enemies in a line, enabling this will make one bullet hit all five. Add Explosive ammuntion to an Impale Targets weapon and you have a VERY deadly combination...
-Recoil Affects Accuracy and Aiming Recoil are yet another pair. Aiming Recoil should be set to 0 if Recoil Affects Accuracy is False. If Recoil Affects Accuracy is enabled, repeated fire and movement considerably lower the accuracy of your weapon. This encourages quick, controlled burst fire instead of spraying an area randomly. Aiming Recoil dictates how much your accuracy is decreased by with each shot.
-Camera Recoil affects how much the pitch of your camera is increased with each shot fired.
-Missile Lobs and Arc also go hand in hand. Keep in mind that Lob and Instant are NOT compatible. Only one may be set to true. If Lob is set to true, then the missile will have an arc implemented in its trajectory. The degree of the arc is controlled by the Arc value. The higher the value, the larger the arc. It can mean the difference between a slight drop versus a grenade throw.
Question: Custom Equipment seems very limited. How can I create my own grenades, abilities, etc;
Answer: For the moment, you can't. I apologize for Equipment being so useless at the moment, but in future versions I will be adding more customization options to allow for different grenades, explosions, abilities, etc;
Question: I found a bug. How can I tell you about it?
Answer: Right here! Or you could PM me if you prefer. I will be checking this at least once a day to keep tabs on any problems that arrive.
Question: I hate your control scheme. Can you make some alterations for me?
Answer: First off, if you have a suggestion, don't hesitate to post it. Second, any controls you wish to change can be done via custom actions. The Actions below allow you to customize controls. Keep in mind that the run control will always be the aim and forward movement controls together. And Keyboard/Mouse events can not be interchanged. If one of my controls requires pressing a button on a keyboard it MUST remain a button on the keyboard, I could change this to be interchangable if enough people ask for it, but I think it would just be confusing and I can't imagine people wanting to shoot with the keyboard or move with the mouse. You can have anywhere between 1 and 4 squad units, so if you dislike having allies or it doesn't fit with your map's theme, you can only assign one unit to a squad. Finally, the Action "Set available equipment slots" can lessen the number of weapons/pieces of equipment you can have on each unit.
Change Forward Control Change Backward Control Change Left Movement Control Change Right Movement Control Change Squad Switch Control Change Switch Weapon 1 Control Change Switch Weapon 2 Control Change Switch Weapon 3 Control Change Switch Weapon 4 Control Change Pick Up Control Change Into Cover Control Change Reload Control Change Melee Control Change Shoot Control Change Aim Control
Question: I like your system, but I don't want users to switch between squad mates or use cover. Is there any way to disable these features?
Answer: Nearly everything can be enabled/disabled through my custom actions. The Actions above alter controls, but they can also DISABLE controls if you set them to the "None" key. You can also disable the Loadout screen by using the custom action "Turn Off Loadout".
Question: I set squad members and a controlled unit and created some weapons, but my unit doesn't fire anything. What did I do wrong?
OR
How can I change my unit's starting weapon? I'm tired of the Assault Rifle being the default.**
Answer: Set your unit's starting weapon with this action at map initialization: "Assign Weapon"
Question: Can I alter your library to better suit my map?
Answer: You may, but it is not recommended. In fact, I would prefer it if you avoided using the library's variables altogether. Any number of things could go wrong with even the slightest change and chances are I won't be able to locate the problem and help you revert it to a usable state.
Question: I gave my squad members four weapons, but I want them to automatically start the game with their third weapon out. How can I do this?
Answer: Use the custom action: "Set Starting Equipment"
Question: Your TPS system runs incredibly poorly on my computer. It's almost unplayable and my framerate drops off.
Answer: The slowdowns you are experiencing can come from two different sources. One is Instant Bullets, the other is your computer struggling to display such a massive map. There are steps you can take to prevent this:
1. Add Farclip to your game. In Version 8, you can simply use the custom action "Increase Game Performance". In version seven, you will have to do this manually. Create a new trigger that runs at 1 second of game time (or something low like that...map init might work, I'm not sure). Then use this action "Apply Camera Object Property". Select Farclip and set it to 60 or so.
2. Refrain from using Instant Bullets. By default, the SPR (scoped precision rifle) and Flamethrower both make use of Instants. Alternatively, you can simply slow down Instant Bullets by using this function in version 8 or later: "Speed Up Instant Bullets" and set it to False. It will be False by default, so you can skip this step if you never set it to True.
Question: My enemies or squad mates aren't firing the weapons I want them to. Why is this happening and how can I fix it?
Answer: There are two possible reasons for this. Either you have altered an enemy's custom value 1 (which you cannot do with my system) or you have given it an incorrect weapon. You must give your enemy unit the custom weapon assigned with your triggered weapon.
Question: Why are my squad mates or enemies are reloading at strange times?
Answer: If units are reloading when they shouldn't be, chances are you altered their custom value 2. Again, custom values 1 and 2 should not be altered.
More to come.
That's a really great project :)
I took the liberty to edit your first post using the Markup to make it looks nicer :)
hi i want to play your map so badly but when i load map it appears a black screen and i can only move the mouse ...i happens at all maps ...pls help
Interesting, I will check the map, and see how it works.
WOW will be using be using it. But this game lags my cpu i can usaly play on high with no fps lag even with 200 suplie worth of stalkers. Yah your system is a bit computer heavy. Try to reduce lag and yah great for all tps and fps usageses like ctf, dm, tdm, ect.
"hi i want to play your map so badly but when i load map it appears a black screen and i can only move the mouse ...i happens at all maps ...pls help"
How are you using the map? Are you loading my library into another map or are you testing my existing map? The most likely cause of the camera not working correctly would be you not having a controlled shooter. Make sure you have a map initzialization trigger that sets a controlled unit for Player 1. There is a custom action for this. Look above at the list of actions. If that is not the issue please let me know and I'll resolve it with you.
I knew I should hgave made a FAQ for common problems that may arise.
"WOW will be using be using it. But this game lags my cpu i can usaly play on high with no fps lag even with 200 suplie worth of stalkers. Yah your system is a bit computer heavy. Try to reduce lag and yah great for all tps and fps usageses like ctf, dm, tdm, ect."
Thanks for letting me know. I hate to ask, but could you help me narrow down what part of it is lagging? All you'll need to do is go into the Trigger Editor and look at the trigger "Create Weapons". Every fourth line or so should have the parameter "Instant:" Followed by a boolean value. Please set these all to false and try again. Only the Scoped Precision Rifle and Flamethrower should be instant by default. See if it still lags or not. Instant bullets are a fairly recent addition and I suspected they might cause issues for certain systems.
"That's a really great project :) I took the liberty to edit your first post using the Markup to make it looks nicer :)"
Thanks! Much appreciated.
i am loading your map with mapcraft but when it opens the screen is black and i can move only mouse ....it hapens to all maps
Hmmm. Try opening it via the Galaxy Editor and testing it through that. See if it has the same result or not. Do you receive any error messages? Do you see even a corner of the map or is everything pure black? Are you playing as player 1?
If the problem persists, the only other thing I can think to try would be attaching the full map instead of a compressed file. It's possible the RAR file is corrupting it somehow.
I'll try downloading Mapcraft and see if I have the same problem that way.
[Edit]: I just tried Mapcraft (second most recent version...the last Windows one) and the map seems to run fine.
If this is happening to every map you try, I'm afraid there's nothing I can do. That's probably a compatability error between either your computer and Mapcraft or your computer and SCII. The only thing I could recommend for that is making sure you have the latest combatible version of SC2, Mapcraft and all drivers for your computer's hardware.
the problem is that i dont have galaxy editor ...but anyway where can i download the latest version of sc2?
Simply Start up SC2 and it will automatically download the latest patches before loading. If it loads up normally, then you have the latest version.
Why don't you have the editor? Do Macs not get it or something?
i am using windows not mac ...but when i start SC2 it doesnt download anything ...just starts the game
That means you've downloaded the latest version. Have you checked to make sure you don't have the editor? It came with the 9th beta patch. Check in your SC2 beta directory.
i checked but nothing ...i am downloading now again starcraft 2
could you try to make a multi level system so people could be on stair ect and places above eachother that way it wont have to be a single level map and we could have caves ect. For basic pysics for grenades simply check when it hits the ground and how high it is so if your going straight and hit a cliff it detectes the cliff at the way it is moving and bounces of removing %30 speed and increases speed while dropping i will post my fail attempt at using these basic princibles ( was going to rework triggering to make things slow down when going uphill but i was 2 laze :3 )
I would LOVE to include grenades that can actually bounce, but let's just say I fail horrendously at physics, so somebody else will have to come up with the formula. I'll take a look at your map anyways though and see if it gives me a push in the right direction.
As for multi-level...what do you mean exactly? You can already shoot up and down hills, cliffs, etc; It even takes flying units into account and the cliff level beneath them. Have you found a bug that prevents things from working at certain heights?
[Edit]: It's kinda hard to understand your map since all the values have been replaced with "No Value". I have no idea which variables have been called or why.
Might be a problem with your drivers if it's not the Starcraft 2 version, make sure your graphic card drivers are up to date.
Comments about the map: I didn't play this extensively but this has a large amount of lag on lower-end machines, such as mine. (Even on low shader settings.) I would recommend either adding a far clip to the camera plus fog to make it fade away (However this would remove your sky), or making the map smaller so that slower computers don't have to render all of that unused terrain, which quickly bogs down their system.
Edit: Or at least add an option that enables a far clip for the lower-end systems.
@Hiruty: Go
I think what you are asking for is an entire project in itself. A map where people can be on multiple levels on top of each other is a pretty huge task. I think it would also require a complete reworking of his shooter system.
@ Sephiex. Like I mentioned above, it is quite possible the culprit behind the lag are the instant bullets. I would appreciate it if you could perform the check I mentioned above and give it another try. It may lessen or completely remove the slowdowns you're experiencing.
i just need the galaxy editor or a launcher that run custom maps ....with some launchers i can run only normal maps but it gives error to custom maps ....i downloaded starcraft 2 again but the same problem ...it says that it is patch 15 but i dont have the editor