Here it is finally,
I have taken some time to write on the documentation of the oh so many options for mappers in SA. There will probably be loads of additions made afterwards, but it should get you going.
The simple stuff
So you decided to make a map for SA, good! You should know a big deal about the unreal editor before reading this.
Name your map like this SIA-MyMap.unr, you can place any name there. As long as it is in this format: SIA-*.unr. This way it will show up in the SA maplist. Another thing to do is go to level properties and set default gametype to: class'SaGame.JzGame' This class can be found in the browser. If it's not visible, open SaGame.u from the browser to load the SA scripts.
"Actor - Info - GameInfo - TournamentGameInfo - DeathMatchPlus - TeamGamePlus - JzGame"
Don't use any subclasses of JzGame or the results might be a bit different!
Ok you are set up with a simple map, now how do you get it playable?
First up the playerstarts and opponents. You can use normal playerstarts or SaPlayerStarts, we recommend using the SaPlayerStarts even if you don't use it's special features. In it's settings first go to "properties - playerstart - TeamNumber", change it to 2 to make the player start here.
If you want a computer opponent or bot to start there, change it to 1.
This is vital since the code will spawn as many bots as there are playerstarts with the teamnumber set as 1
That should get you going! You can now test the map and see that the basic SA features are working!
Mission objectives, the fun part!
Mission objectives are what makes SA, there is quite a bit of settings which you are able to tweak to your liking!
The main class which controls all those objective is SaMission, it can be found here: "actor - SaMission"
You only ever need to place 1 of these, multiple may cause big trouble![Laugh :lol: :lol:](/styles/smilies/laugh.gif)
Look at the properties of this items in UED, settings and mission are the special ones for this class. First let's look at the settings:
# bBotsGetWeapons - if true the bots will spawn with random weapons in addition to their default weapons
# bKeepInventory - if true and the previous map was linked to this one, then the inventory from the previous map will be kept in this map! See -> NextMap below
# bSmartBots - Actually a bit outdated, i should remove it really. It used to make the bots walk around more if true. Feel free to put it to true
# DefaultFlares - The amount of flares you start this level with
# DefaultZoneName - Since the zone name will show on your scoreboard, it's always handy to set this one. It will replace any empty zonenames, empty zone names will show up as Unknown Location otherwise
# NextMap - Put the whole mapname here, for example "SIA-Sewer.unr". The game will travel to this specific map once you have completed the current level. By default it will travel to the credits
# StealthDevice - If true you start with the stealthdevice, there are a couple of problems when you set it to false. I still have to fix those. Keep it to true!
Ok now the mission settings!
# AutoDetect - The game will try and detect all the objectives by itself. It's recommended to have yours customized.
# bAllowZeroObjectives - Not finished, but will allow you to have no objectives
# bDontKillFriendlies - If true 2 or more friendly casualties by the player will fail the mission, usually civilians
# bKillisObjective - If true you need to kill every enemy in the map to complete the mission
# bKillSpecial - If true you need to eliminate all KillClass, see below
# KillClass - The class that you need to eliminate if bKillSpecial = true
# MissionDescription - Your mission background that will appear in your mission objective screen
# NoLinkAutoDetect - If true the code won't detect any objectives that aren't set as objective.
# MissionObjDescription - Set the corresponding objective description for up to 30 objectives
# bIsSecundary - Set to 1 if the corresponding objective is secundary, otherwise leave it at 0
# ObjectiveCompleted - Set to 1 if you want the corresponding objective to be completed at start, would be pretty useless most of to time. So just keep it to 0
Now i see you think, the objectives aren't really there. That's right you place an object in the level and set it as objective with a nr. For example objective 1, objective 1 will get it's attributes from SaMission the corresponding items (MissionObjDescription, bIsSecundary, ObjectiveCompleted). When the objective is touched it will be completed.
More on this tomorrow, i'm off to bed now![Poop :Poop: :Poop:](/styles/smilies/poop.gif)
I have taken some time to write on the documentation of the oh so many options for mappers in SA. There will probably be loads of additions made afterwards, but it should get you going.
The simple stuff
So you decided to make a map for SA, good! You should know a big deal about the unreal editor before reading this.
Name your map like this SIA-MyMap.unr, you can place any name there. As long as it is in this format: SIA-*.unr. This way it will show up in the SA maplist. Another thing to do is go to level properties and set default gametype to: class'SaGame.JzGame' This class can be found in the browser. If it's not visible, open SaGame.u from the browser to load the SA scripts.
"Actor - Info - GameInfo - TournamentGameInfo - DeathMatchPlus - TeamGamePlus - JzGame"
Don't use any subclasses of JzGame or the results might be a bit different!
Ok you are set up with a simple map, now how do you get it playable?
First up the playerstarts and opponents. You can use normal playerstarts or SaPlayerStarts, we recommend using the SaPlayerStarts even if you don't use it's special features. In it's settings first go to "properties - playerstart - TeamNumber", change it to 2 to make the player start here.
If you want a computer opponent or bot to start there, change it to 1.
This is vital since the code will spawn as many bots as there are playerstarts with the teamnumber set as 1
That should get you going! You can now test the map and see that the basic SA features are working!
Mission objectives, the fun part!
Mission objectives are what makes SA, there is quite a bit of settings which you are able to tweak to your liking!
The main class which controls all those objective is SaMission, it can be found here: "actor - SaMission"
You only ever need to place 1 of these, multiple may cause big trouble
![Laugh :lol: :lol:](/styles/smilies/laugh.gif)
Look at the properties of this items in UED, settings and mission are the special ones for this class. First let's look at the settings:
# bBotsGetWeapons - if true the bots will spawn with random weapons in addition to their default weapons
# bKeepInventory - if true and the previous map was linked to this one, then the inventory from the previous map will be kept in this map! See -> NextMap below
# bSmartBots - Actually a bit outdated, i should remove it really. It used to make the bots walk around more if true. Feel free to put it to true
# DefaultFlares - The amount of flares you start this level with
# DefaultZoneName - Since the zone name will show on your scoreboard, it's always handy to set this one. It will replace any empty zonenames, empty zone names will show up as Unknown Location otherwise
# NextMap - Put the whole mapname here, for example "SIA-Sewer.unr". The game will travel to this specific map once you have completed the current level. By default it will travel to the credits
# StealthDevice - If true you start with the stealthdevice, there are a couple of problems when you set it to false. I still have to fix those. Keep it to true!
Ok now the mission settings!
# AutoDetect - The game will try and detect all the objectives by itself. It's recommended to have yours customized.
# bAllowZeroObjectives - Not finished, but will allow you to have no objectives
# bDontKillFriendlies - If true 2 or more friendly casualties by the player will fail the mission, usually civilians
# bKillisObjective - If true you need to kill every enemy in the map to complete the mission
# bKillSpecial - If true you need to eliminate all KillClass, see below
# KillClass - The class that you need to eliminate if bKillSpecial = true
# MissionDescription - Your mission background that will appear in your mission objective screen
# NoLinkAutoDetect - If true the code won't detect any objectives that aren't set as objective.
# MissionObjDescription - Set the corresponding objective description for up to 30 objectives
# bIsSecundary - Set to 1 if the corresponding objective is secundary, otherwise leave it at 0
# ObjectiveCompleted - Set to 1 if you want the corresponding objective to be completed at start, would be pretty useless most of to time. So just keep it to 0
Now i see you think, the objectives aren't really there. That's right you place an object in the level and set it as objective with a nr. For example objective 1, objective 1 will get it's attributes from SaMission the corresponding items (MissionObjDescription, bIsSecundary, ObjectiveCompleted). When the objective is touched it will be completed.
More on this tomorrow, i'm off to bed now
![Poop :Poop: :Poop:](/styles/smilies/poop.gif)