So I'd been rooting around the forums for a day/night cycle tutorial, and I've found a few - this one is by far the most comprehensive - but I couldn't find any that were nearly simple enough. :)
This lighting system is done using only the lighting systems in game, entirely through triggers, and assumes you're creating a Campaign (Liberty) map as opposed to a Melee (Liberty) map. Simply copy the trigger below and voila!
The comments were simply left in for convenience... 85 seconds is 1.25 minutes, meaning a full day will take 5 in-game minutes. You can increase the day's length - or portions - by increasing the wait time. I chose game time so that the lighting will be adjusted regardless of the player's game speed choice. Oh, and that initial action outside the loop (with 0.0 blend time) is fairly important... it sets the lighting/time of day immediately. If you'd like your map to start at night, it only takes some minor tweaking. Without this immediate action though, your lighting will look weird as it blends into the loop.
As I said this is extremely rudimentary and may be extremely inefficient, but it works nicely. Any questions, comments or ways of improving this are welcome!
I'm creating a series of single-player / co-op maps similar to the single player campaign... is there a trigger to reveal / build the UI the way the single player does? ie: all the pieces slide together, sound, animation, etc?
If water isn't showing up in the editor it may have something to do with your video settings?... check under File> Preferences> Video ... if they're all low, a lot of things in the editor dont show up.
Well... until a few hours ago I was working on a 3rd person suspense/mystery type thing... you began underwater, investigate an abandoned mining facility, had a whole storyline worked out... ends up in a parallel timeline with the main SC2 storyline, and the planet ends up being Typhon XI (Supernova)... character was going to burnup at the end when the star explodes. lol
BUT! Galaxy Editor bugged out and corrupted the map, and I didn't think to make a backup, so a week and a half of work is now down the drain. :(
I learned a LOT though, now I'm thinking about making a campaign-style series of maps to be played single player, POSSIBLY multiplayer. Haven't fleshed anything out yet.
You can create all of these (unselectable) doodads using the Terrain Object tool.
EDIT: Caution... these objects set the terrain around the doodad, and for some reason, if your placement is incorrect, when you click "undo" it doesn't undo the altered terrain, just removes the doodad... just a heads up... it seems best to add these doodads, and then build the terrain around it. lol
Haven't tried this but I would think if you had a Wait for Conditions (rechecking every 0.5 or 1 second) trigger... Once the "Leader" unit is ordered to move, set "Leader movement" variable to true... If Leader movement == true, move all other Units from Unit Group to same spot as Leader, Else either do nothing or turn the trigger off.
Should work, but I'm just guessing lol I hope that's what you're trying to do...
It's been so long since I've played... I can't remember how you move. Just left/right click isn't it? That should be easy...
This is what one of my lines of code from the unit movement looks like (third person, WoW style):
Unit Movement
Events
Timer - Every 0.01 seconds of Game Time
Local Variables
Conditions
Actions
General - If (Conditions) then do (Actions) else do (Actions)
If
And
Conditions
W_On == false (W Keypress false)
A_On == false (A Keypress false)
S_On == true (S Keypress true)
D_On == true (D Keypress true)
Then
Unit - Order (Unit 1 from UnitGroup) to ( Move targeting ((Position of (Unit 1 from UnitGroup)) offset by 0.5 towards (Unit Direction + 225.0) degrees)) (Replace Existing Orders)
General - Skip remaining actions
Else
If that makes sense, here's what it does: If S+D are pressed at the same time, move the unit from UnitGroup from it's current position (position of) south-east by 0.5 degrees.
You could do something like that with mouse clicks... attach a region to clickpoint... each clickpoint moves the region, move player to region... check conditions if any enemy units are in the region + you've right clicked, attack. Here, check out OneTwo's YouTube page, he has excellent tutorials for that sort of thing.
I've created the button in my custom menu, what I need it to do, when clicked, is load a custom panel (very similar to the tip panel) which will show items categorized by Title/Description.
Doesn't seem like it would be that complicated... lol but I can't seem to find anything.
I'm having trouble displaying my objectives. I've disabled the Game UI because I'm going for the WoW style third person camera view... there's nothing wrong with the trigger (as far as I know) because it plays a sound when activated. Here's how it looks:
Underwater - Go Exploring
Events
Game - Map initialization
Local Variables
Conditions
Actions
General - Wait for (Conditions), checking every 1.0 Game Time seconds
Conditions
Opening Title Sequence == true
Opening Cinematic == true
Movement_Hint == true
General - If (Conditions) then do (Actions) else do (Actions)
If
Opening Title Sequence == true
Opening Cinematic == true
Movement_Hint == true
Then
Sound - Play Alert_UniObjectiveDiscovered for (All players) (at 100.0% volume, skip the first 0.0 seconds)
Objective - Create a Active Primary objective with text "Explore the area" and description "You have arrived at the desired coo..."
Objective - Show (Last created objective) for (All players)
Data Table - Save (Last created objective) as "Objective - Go Exploring" in the Global data table
General - Wait 0.5 Game Time seconds
Else
--
So, the opening title sequence plays, then the opening cinematic, then I've got some movement/orientation tips for the player... once those are all "true," the objective should display. And like I said, it works, because I can hear the sound, the objective just doesn't show. Is there a way to make this work without enabling the entire game UI again?
PS: Should I create a "Trigger - Turn (Current trigger) Off" action at the end of this so it doesn't loop? Or will that destroy the objective?
0
@Etravex: Go
Easiest way to fix this: Data Editor > Units > find your unit > (on the right side) Combat - Default Acquire Level (set it to Defensive)
He should then only attack if attacked.
0
So I'd been rooting around the forums for a day/night cycle tutorial, and I've found a few - this one is by far the most comprehensive - but I couldn't find any that were nearly simple enough. :)
This lighting system is done using only the lighting systems in game, entirely through triggers, and assumes you're creating a Campaign (Liberty) map as opposed to a Melee (Liberty) map. Simply copy the trigger below and voila!
The comments were simply left in for convenience... 85 seconds is 1.25 minutes, meaning a full day will take 5 in-game minutes. You can increase the day's length - or portions - by increasing the wait time. I chose game time so that the lighting will be adjusted regardless of the player's game speed choice. Oh, and that initial action outside the loop (with 0.0 blend time) is fairly important... it sets the lighting/time of day immediately. If you'd like your map to start at night, it only takes some minor tweaking. Without this immediate action though, your lighting will look weird as it blends into the loop.
As I said this is extremely rudimentary and may be extremely inefficient, but it works nicely. Any questions, comments or ways of improving this are welcome!
0
This was really helpful, conversations are something extremely useful but they're not really that intuitive...
Any chance of getting a video tutorial in the future? :)
0
This is incredible, great work.
I would love to apply this to my map(s). Look forward to public release!!
0
@RileyStarcraft: Go
Awesome, perfect. Thanks.
0
I'm creating a series of single-player / co-op maps similar to the single player campaign... is there a trigger to reveal / build the UI the way the single player does? ie: all the pieces slide together, sound, animation, etc?
0
@BuuGhost: Go
If water isn't showing up in the editor it may have something to do with your video settings?... check under File> Preferences> Video ... if they're all low, a lot of things in the editor dont show up.
0
Well... until a few hours ago I was working on a 3rd person suspense/mystery type thing... you began underwater, investigate an abandoned mining facility, had a whole storyline worked out... ends up in a parallel timeline with the main SC2 storyline, and the planet ends up being Typhon XI (Supernova)... character was going to burnup at the end when the star explodes. lol
BUT! Galaxy Editor bugged out and corrupted the map, and I didn't think to make a backup, so a week and a half of work is now down the drain. :(
I learned a LOT though, now I'm thinking about making a campaign-style series of maps to be played single player, POSSIBLY multiplayer. Haven't fleshed anything out yet.
0
@QMJ3: Go
Aha!! Terrain > Terrain Object
You can create all of these (unselectable) doodads using the Terrain Object tool.
EDIT: Caution... these objects set the terrain around the doodad, and for some reason, if your placement is incorrect, when you click "undo" it doesn't undo the altered terrain, just removes the doodad... just a heads up... it seems best to add these doodads, and then build the terrain around it. lol
0
I'd love to know this too, cause these are excellent set pieces... see Cutthroat and Piercing the Shroud for examples. I'll keep looking...
0
@campingcarlv2: Go
Haven't tried this but I would think if you had a Wait for Conditions (rechecking every 0.5 or 1 second) trigger... Once the "Leader" unit is ordered to move, set "Leader movement" variable to true... If Leader movement == true, move all other Units from Unit Group to same spot as Leader, Else either do nothing or turn the trigger off.
Should work, but I'm just guessing lol I hope that's what you're trying to do...
0
It's been so long since I've played... I can't remember how you move. Just left/right click isn't it? That should be easy...
This is what one of my lines of code from the unit movement looks like (third person, WoW style):
Unit Movement
Events
Timer - Every 0.01 seconds of Game Time
Local Variables
Conditions
Actions
General - If (Conditions) then do (Actions) else do (Actions)
If
And
Conditions
W_On == false (W Keypress false)
A_On == false (A Keypress false)
S_On == true (S Keypress true)
D_On == true (D Keypress true)
Then
Unit - Order (Unit 1 from UnitGroup) to ( Move targeting ((Position of (Unit 1 from UnitGroup)) offset by 0.5 towards (Unit Direction + 225.0) degrees)) (Replace Existing Orders)
General - Skip remaining actions
Else
If that makes sense, here's what it does: If S+D are pressed at the same time, move the unit from UnitGroup from it's current position (position of) south-east by 0.5 degrees.
You could do something like that with mouse clicks... attach a region to clickpoint... each clickpoint moves the region, move player to region... check conditions if any enemy units are in the region + you've right clicked, attack. Here, check out OneTwo's YouTube page, he has excellent tutorials for that sort of thing.
0
I've created the button in my custom menu, what I need it to do, when clicked, is load a custom panel (very similar to the tip panel) which will show items categorized by Title/Description.
Doesn't seem like it would be that complicated... lol but I can't seem to find anything.
0
@SweetZombieJesus: Go
Excellent! Fixed. Thank you.
0
I'm having trouble displaying my objectives. I've disabled the Game UI because I'm going for the WoW style third person camera view... there's nothing wrong with the trigger (as far as I know) because it plays a sound when activated. Here's how it looks:
Underwater - Go Exploring
Events
Game - Map initialization
Local Variables
Conditions
Actions
General - Wait for (Conditions), checking every 1.0 Game Time seconds
Conditions
Opening Title Sequence == true
Opening Cinematic == true
Movement_Hint == true
General - If (Conditions) then do (Actions) else do (Actions)
If
Opening Title Sequence == true
Opening Cinematic == true
Movement_Hint == true
Then
Sound - Play Alert_UniObjectiveDiscovered for (All players) (at 100.0% volume, skip the first 0.0 seconds)
Objective - Create a Active Primary objective with text "Explore the area" and description "You have arrived at the desired coo..."
Objective - Show (Last created objective) for (All players)
Data Table - Save (Last created objective) as "Objective - Go Exploring" in the Global data table
General - Wait 0.5 Game Time seconds
Else
--
So, the opening title sequence plays, then the opening cinematic, then I've got some movement/orientation tips for the player... once those are all "true," the objective should display. And like I said, it works, because I can hear the sound, the objective just doesn't show. Is there a way to make this work without enabling the entire game UI again?
PS: Should I create a "Trigger - Turn (Current trigger) Off" action at the end of this so it doesn't loop? Or will that destroy the objective?