I found that the minimap limits the amount of units that it displays to around 2000 which isn't a big deal for maps that don't deploy too many units at a time but for my map which uses trees (Trees are also resources which are considered units) to define "bases" it's extremely problematic. Does anyone know a way around this limit?
This is a very simple script that makes it very easy to edit and add new levels. No more copy pasting and repetitive, boring, eye-killing clicking!
.
..
-=-=-=-=- Global Variables -=-=-=-=-
Level = 1 <Integer>
Defines the current level. It's default number is set to "1".
Player Spawn = No Point <Point[xx]>
Defines where the player's spawn is. This can be changed to a region. This and "Player End" are the only variables that must be manually set. The array is equal to the amount of players in the game. Player 1's spawn is set as "Player Spawn[1]", Player 2 to [2], etc. (Create a new trigger and assign the points/regions at Map Initialization)
Player Spawn = No Point <Point[xx]>
Defines where the player's end zone is. This can be changed to a region. This and "Player Spawn" are the only variables that must be manually set. The array is equal to the amount of players in the game. Player 1's end zone is set as "Player End[1]", Player 2 to [2], etc. (Create a new trigger and assign the points/regions at Map Initialization)
-=-=-=-=- Initiation -=-=-=-=-
....Events
........ Game - Map initialization
....Local Variables
....Conditions
....Actions
........ Trigger - Run Start Level (Check Conditions, Don't Wait until it finishes)
........ Trigger - Turn Init Level On
........ Variable - Set Level = (Level + 1)
.
This trigger sets up and starts the wave spawning.
Trigger - Run Start Level
Runs "Run Start Level". (This sends the starting wave).
Trigger - Turn Init Level On
Turns on (not run!) "Init Level On" which starts the timer for new waves.
Variable - Set Level = (Level +1)
Sets "Level" to [Level + 1] (Sets Level to 2 to avoid spawning Level 1 twice).
.
..
-=-=-=-=- Init Level -=-=-=-=-
....Events
........ Timer - Every 30.0 seconds of Game Time
....Local Variables
....Conditions
....Actions
........ Trigger - Run Start Level (Check Conditions, Don't Wait until it finishes)
........ Variable - Set Level = (Level + 1)
.
This trigger sends a new wave every30 seconds.
Trigger - Run Start Level
Runs the send wave trigger.
Variable - Set Level = (Level +1)
Sets "Level" to [Level + 1]. If the current level is 1, the variable will be set to 2. This makes it so that on the next 30-second cycle, the next level will be sent.
.
..
-=-=-=-=- Start Level -=-=-=-=-
....Events
....Local Variables
........Unit = No Game Link <Game Link - Unit[5]>
........ Number Of Units = 0 <Integer[5]>
....Conditions
....Actions
........ Variable - Set Unit[1] = Zealot
........ Variable - Set Number Of Units[1] = 20
........ Variable - Set Unit[2] = Stalker
........ Variable - Set Number Of Units[2] = 30
........ General - If (Conditions) then do (Actions) else do (Actions)
............ If
................ Unit[Level] == Any
............Then
........ Player Group - Pick each player in (All players) and do (Actions)
............ Actions
................ Unit - Create Number Of Units[Level] Unit[Level] for player 15 at Player Spawn[(Picked player)]
................facing 270.0 degrees (No Options)
................ Unit - Order all units in (Last created units) to ( Attack targeting Player End[(Picked player)])
................(Replace Existing Orders)
............Else
........ Player Group - Pick each player in (All players) and do (Actions)
............ Actions
................Game - End game in Victory for player (Picked player) (Show dialogs, Show score screen)
.
This triggerdefinesandsends the waves.
Unit = No Game Link <Game Link - Unit[5]>
Creates a variable that holds all the wave units. The array number is set to however many levels are wanted.
Number Of Units = 0 <Integer[5]>
Creates a variable that holds the number of units to send for every wave. The array number is set to however many levels are wanted.
Variable - Set Unit[xx] = xx
Sets the level units. Example: "Variable - Set Unit[1] = Zealot" sets Level 1 to Zealots.
Variable - Set Number Of Units[xx] = xx
Sets the amount of units for the level. Example: "Variable - Set Number Of Units[1] = 20" will spawn 20 units for Level 1.
General - If (Conditions) then do (Actions) else do (Actions), If, Then, Else
Because it'd be too confusing and ridiculous to explain this part separately, I'll just explain the process.
First, it checks for Unit[Level] == Any. This is checking to make sure that the current level has a set unit.
If the current level does have a set unit, then it does Player Group - Pick each player in (All players) and do (Actions) which is doing the following actions for each player.
Unit - Create Number Of Units[Level] Unit[Level] for player 15 at Player Spawn[(Picked player)] facing 270.0 degrees (No Options)
This is a bit confusing. This creates the number of units set by the "Number of Units" and "Unit" variables mentioned earlier. By using the "Level" variable as the array number, we can dynamically spawn the type and number of the level wave.
Unit - Order all units in (Last created units) to (Move targeting Player End[(Picked player)]) (Replace Existing Orders)
This is pretty straightforward. It orders the units we just created for the wave to move to where they need to go.
However, if there is no unit set for the current level, the trigger will assume that the game has ended, and the players are victorious. Obviously this isn't perfect, but I'm sure that after reading this tutorial you'll be able to figure out the way to make this perfect. :P
I don't get it. Why don't you just download the map "Income Wars" (It's on SC2Mapster), and look at the scripts? Bone was kind enough to leave it unlocked, so it's completely open.
If you want a small little general concept: Set a global variable for income as an integer, and whenever someone completes the building of (unit) add the amount of income to the global variable relevant to the triggering player. It'll help to set the GV as an array. Then just set it so that every xx seconds, add income to the player's minerals.
It's a stolen map. Sure you edited the map, but if the original creator doesn't approve, it's stolen. The only "credit" I see is the AI being named bone, which I assume is because you were too lazy to edit it. If there's any actual credit, it's meaningless because it's unnoticeable.
Why is it called no BS anyway? If anything it's adding BS to the original. The terrain is cluttered with deformations and doodads, and the spawn zone is impossible to navigate without spawning the wrong unit(s) first because it's so ridiculously cramped. Not only that, but the income and units are horribly unbalanced. In fact, I had 1/10 of the AI's income and I beat him with a single Stone Zealot. Try making your own map.
I don't believe you can download a map and play it without running it through GE. If you want to play your map online with other people, you have to upload it into your account through GE. (File > Manage Published). If you just want to test your map alone, open it up and click the green "SC" button with an arrow under it.
0
@dddarrenccc: Go
Shame. =\
@Reaper872: Go
Add a minimap icon and set minimap size to something bigger than 0.
0
@Rileyb80: Go
Yeah but without the trees showing on the minimap the map looks undefined.
0
I found that the minimap limits the amount of units that it displays to around 2000 which isn't a big deal for maps that don't deploy too many units at a time but for my map which uses trees (Trees are also resources which are considered units) to define "bases" it's extremely problematic. Does anyone know a way around this limit?
0
Double click on the word phrases to change them.
0
Walkthrough by Sevenation
Difficulty: Intermediate
This is a very simple script that makes it very easy to edit and add new levels. No more copy pasting and repetitive, boring, eye-killing clicking!
.
. .
-=-=-=-=- Global Variables -=-=-=-=-
Level = 1 <Integer>
Defines the current level. It's default number is set to "1".
Player Spawn = No Point <Point[xx]>
Defines where the player's spawn is. This can be changed to a region. This and "Player End" are the only variables that must be manually set. The array is equal to the amount of players in the game. Player 1's spawn is set as "Player Spawn[1]", Player 2 to [2], etc. (Create a new trigger and assign the points/regions at Map Initialization)
Player Spawn = No Point <Point[xx]>
Defines where the player's end zone is. This can be changed to a region. This and "Player Spawn" are the only variables that must be manually set. The array is equal to the amount of players in the game. Player 1's end zone is set as "Player End[1]", Player 2 to [2], etc. (Create a new trigger and assign the points/regions at Map Initialization)
-=-=-=-=- Initiation -=-=-=-=-
.... Events
........ Game - Map initialization
.... Local Variables
.... Conditions
.... Actions
........ Trigger - Run Start Level (Check Conditions, Don't Wait until it finishes)
........ Trigger - Turn Init Level On
........ Variable - Set Level = (Level + 1)
.
This trigger sets up and starts the wave spawning.
Trigger - Run Start Level
Runs "Run Start Level". (This sends the starting wave).
Trigger - Turn Init Level On
Turns on (not run!) "Init Level On" which starts the timer for new waves.
Variable - Set Level = (Level +1)
Sets "Level" to [Level + 1] (Sets Level to 2 to avoid spawning Level 1 twice).
.
. .
-=-=-=-=- Init Level -=-=-=-=-
.... Events
........ Timer - Every 30.0 seconds of Game Time
.... Local Variables
.... Conditions
.... Actions
........ Trigger - Run Start Level (Check Conditions, Don't Wait until it finishes)
........ Variable - Set Level = (Level + 1)
.
This trigger sends a new wave every 30 seconds.
Trigger - Run Start Level
Runs the send wave trigger.
Variable - Set Level = (Level +1)
Sets "Level" to [Level + 1]. If the current level is 1, the variable will be set to 2. This makes it so that on the next 30-second cycle, the next level will be sent.
.
. .
-=-=-=-=- Start Level -=-=-=-=-
.... Events
.... Local Variables
........ Unit = No Game Link <Game Link - Unit[5]>
........ Number Of Units = 0 <Integer[5]>
.... Conditions
.... Actions
........ Variable - Set Unit[1] = Zealot
........ Variable - Set Number Of Units[1] = 20
........ Variable - Set Unit[2] = Stalker
........ Variable - Set Number Of Units[2] = 30
........ General - If (Conditions) then do (Actions) else do (Actions)
............ If
................ Unit[Level] == Any
............ Then
........ Player Group - Pick each player in (All players) and do (Actions)
............ Actions
................ Unit - Create Number Of Units[Level] Unit[Level] for player 15 at Player Spawn[(Picked player)] ................facing 270.0 degrees (No Options)
................ Unit - Order all units in (Last created units) to ( Attack targeting Player End[(Picked player)]) ................(Replace Existing Orders)
............ Else
........ Player Group - Pick each player in (All players) and do (Actions)
............ Actions
................Game - End game in Victory for player (Picked player) (Show dialogs, Show score screen)
.
This trigger defines and sends the waves.
Unit = No Game Link <Game Link - Unit[5]>
Creates a variable that holds all the wave units. The array number is set to however many levels are wanted.
Number Of Units = 0 <Integer[5]>
Creates a variable that holds the number of units to send for every wave. The array number is set to however many levels are wanted.
Variable - Set Unit[xx] = xx
Sets the level units. Example: "Variable - Set Unit[1] = Zealot" sets Level 1 to Zealots.
Variable - Set Number Of Units[xx] = xx
Sets the amount of units for the level. Example: "Variable - Set Number Of Units[1] = 20" will spawn 20 units for Level 1.
General - If (Conditions) then do (Actions) else do (Actions), If, Then, Else
Because it'd be too confusing and ridiculous to explain this part separately, I'll just explain the process.
First, it checks for Unit[Level] == Any. This is checking to make sure that the current level has a set unit.
If the current level does have a set unit, then it does Player Group - Pick each player in (All players) and do (Actions) which is doing the following actions for each player.
Unit - Create Number Of Units[Level] Unit[Level] for player 15 at Player Spawn[(Picked player)] facing 270.0 degrees (No Options)
This is a bit confusing. This creates the number of units set by the "Number of Units" and "Unit" variables mentioned earlier. By using the "Level" variable as the array number, we can dynamically spawn the type and number of the level wave.
Unit - Order all units in (Last created units) to (Move targeting Player End[(Picked player)]) (Replace Existing Orders)
This is pretty straightforward. It orders the units we just created for the wave to move to where they need to go.
However, if there is no unit set for the current level, the trigger will assume that the game has ended, and the players are victorious. Obviously this isn't perfect, but I'm sure that after reading this tutorial you'll be able to figure out the way to make this perfect. :P
Thanks for reading!
0
@jerberson12: Go
I think you can just copy+paste the triggers into a new map. If you have Data stuff too, just export and import.
0
@wowacesucksmassivekok: Go
I don't get it. Why don't you just download the map "Income Wars" (It's on SC2Mapster), and look at the scripts? Bone was kind enough to leave it unlocked, so it's completely open.
If you want a small little general concept: Set a global variable for income as an integer, and whenever someone completes the building of (unit) add the amount of income to the global variable relevant to the triggering player. It'll help to set the GV as an array. Then just set it so that every xx seconds, add income to the player's minerals.
0
@b0ne123: Go
Don't worry about it, the map sucks and it's on page who-gives-a-damn.
Also, yeah. You can't upload the map to SC2Mapster if you lock it. If you did it'd just render the lock useless.
@eltsoldier: Go
It's a stolen map. Sure you edited the map, but if the original creator doesn't approve, it's stolen. The only "credit" I see is the AI being named bone, which I assume is because you were too lazy to edit it. If there's any actual credit, it's meaningless because it's unnoticeable.
Why is it called no BS anyway? If anything it's adding BS to the original. The terrain is cluttered with deformations and doodads, and the spawn zone is impossible to navigate without spawning the wrong unit(s) first because it's so ridiculously cramped. Not only that, but the income and units are horribly unbalanced. In fact, I had 1/10 of the AI's income and I beat him with a single Stone Zealot. Try making your own map.
0
With global variable "Kills (Integer)" array 6.
Hope it works, didn't test it haha
0
Depends on what you're doing. Variables and arrays help to cut back a LOT of extra trigger work.
0
Doop de doop.
0
@counter45: Go
First, wrong section.
I don't believe you can download a map and play it without running it through GE. If you want to play your map online with other people, you have to upload it into your account through GE. (File > Manage Published). If you just want to test your map alone, open it up and click the green "SC" button with an arrow under it.
0
Doop de doop.
0
Crap it up big time so the top maps are all rick rolls, then Blizzard will HAVE to do something! :D
0
Doop de doop.