So I'm making a machinima-type video using SC2 and we wanted some special scenarios set up. I have some basic experience with the editor, like messing with unit stats and terrain editing, and I've made my own Uberlisk from the step-by-step.
What I need now is
a) a way to make different units of the same type on the same team have different team colors (i.e. 4 marines on the map for player 2, but one is blue, one purple, one orange, one light pink) so I can keep character recognizability / consistency. I've searched multiple times and solutions to changing a unit's color seem to point to changing ALL units of that type (marine) and not just the one guy. I did see one that made the coloring random, but I'm guessing that my specific colors wouldn't stick from editor to live game. I suppose I could make "marine copies" for each of the 4 characters, but I never have much luck with that, always somehow missing some component or messing something up, when what I really want is to have the unit function normally but be differently colored. Either way I'd like some kind of step-by-step for executing. I often see posts like "just use Actor->actorcreation: team color!! duh!!" which doesn't help me much.
b) Perhaps this was foolish, but the setting of the first episode is on the Bliz map Blistering Sands, and I can't figure out how to allow more than 2 players on it. That was my original plan for working around the unit colors: just having 4 teams as allies. Even with part a) I may want to do something like that in the future for blocking purposes.
Suggestions? (i'm using a Mac if that makes a difference)
You should use triggers. That's a simple way to send actor messages to individual units. What you should do is have a trigger which sends the actor message Set Team Color to the actor of the unit whose team color you wish to change.
Okay, that's great, but how do I actually do that?
Is there a way to indicate to the trigger that just that marine should be different, or would that change all marines on the map?
More importantly, it may be simple, but I don't know where to start.
Here's my guess, from scrolling through lists for 10 minutes:
Triggers page -
New Trigger
Event - Map initialization
Actions - Send actor message "SetTeamColor" to main actor of unit Marine [113.02, 69.15]
That look good? If not, can you give me a step-by-step?
I did this in my ArtCraft Map, when you select a block, after selecting a color, it changes the color of that block to your selected color.
PaintingEventsUnitSelection-AnyUnitisSelectedbyplayerAnyPlayerLocalVariablesConditions(Unittypeof(Triggeringunit))==CanvasActionsGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfSelected_Color[(Triggeringplayer)]=="White"ThenUnit-Set(Triggeringunit)teamcolorto(Player00)WhiteElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfSelected_Color[(Triggeringplayer)]=="Red"ThenUnit-Set(Triggeringunit)teamcolorto(Player01)RedElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfSelected_Color[(Triggeringplayer)]=="Blue"ThenUnit-Set(Triggeringunit)teamcolorto(Player02)BlueElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfSelected_Color[(Triggeringplayer)]=="Teal"ThenUnit-Set(Triggeringunit)teamcolorto(Player03)TealElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfSelected_Color[(Triggeringplayer)]=="Purple"ThenUnit-Set(Triggeringunit)teamcolorto(Player04)PurpleElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfSelected_Color[(Triggeringplayer)]=="Yellow"ThenUnit-Set(Triggeringunit)teamcolorto(Player05)YellowElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfSelected_Color[(Triggeringplayer)]=="Orange"ThenUnit-Set(Triggeringunit)teamcolorto(Player06)OrangeElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfSelected_Color[(Triggeringplayer)]=="Green"ThenUnit-Set(Triggeringunit)teamcolorto(Player07)GreenElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfSelected_Color[(Triggeringplayer)]=="Light Pink"ThenUnit-Set(Triggeringunit)teamcolorto(Player08)LightPinkElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfSelected_Color[(Triggeringplayer)]=="Violet"ThenUnit-Set(Triggeringunit)teamcolorto(Player09)VioletElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfSelected_Color[(Triggeringplayer)]=="Light Grey"ThenUnit-Set(Triggeringunit)teamcolorto(Player10)LightGreyElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfSelected_Color[(Triggeringplayer)]=="Dark Green"ThenUnit-Set(Triggeringunit)teamcolorto(Player11)DarkGreenElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfSelected_Color[(Triggeringplayer)]=="Brown"ThenUnit-Set(Triggeringunit)teamcolorto(Player12)BrownElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfSelected_Color[(Triggeringplayer)]=="Light Green"ThenUnit-Set(Triggeringunit)teamcolorto(Player13)LightGreenElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfSelected_Color[(Triggeringplayer)]=="Dark Grey"ThenUnit-Set(Triggeringunit)teamcolorto(Player14)DarkGreyElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfSelected_Color[(Triggeringplayer)]=="Pink"ThenUnit-Set(Triggeringunit)teamcolorto(Player15)PinkElseUI-Display"You need to select a color first!"for(Allplayers)toErrorarea
PaintingEventsUnitSelection-AnyUnitisSelectedbyplayerAnyPlayerLocalVariablesConditions(Unittypeof(Triggeringunit))==CanvasActionsGeneral-Switch(Actions)dependingonselectedColor[(Triggeringplayer)]CasesGeneral-If("White")ActionsUnit-Set(Triggeringunit)teamcolorto(Player00)WhiteGeneral-If("Red")ActionsUnit-Set(Triggeringunit)teamcolorto(Player01)RedGeneral-If("Blue")ActionsUnit-Set(Triggeringunit)teamcolorto(Player02)BlueGeneral-If("Teal")ActionsUnit-Set(Triggeringunit)teamcolorto(Player03)TealGeneral-If("Purple")ActionsUnit-Set(Triggeringunit)teamcolorto(Player04)PurpleGeneral-If("Yellow")ActionsUnit-Set(Triggeringunit)teamcolorto(Player05)YellowGeneral-If("Orange")ActionsUnit-Set(Triggeringunit)teamcolorto(Player06)OrangeGeneral-If("Green")ActionsUnit-Set(Triggeringunit)teamcolorto(Player07)GreenGeneral-If("Light Pink")ActionsUnit-Set(Triggeringunit)teamcolorto(Player08)LightPinkGeneral-If("Violet")ActionsUnit-Set(Triggeringunit)teamcolorto(Player09)VioletGeneral-If("Light Grey")ActionsUnit-Set(Triggeringunit)teamcolorto(Player11)DarkGreenGeneral-If("Dark Green")ActionsUnit-Set(Triggeringunit)teamcolorto(Player11)DarkGreenGeneral-If("Brown")ActionsUnit-Set(Triggeringunit)teamcolorto(Player12)BrownGeneral-If("Light Green")ActionsUnit-Set(Triggeringunit)teamcolorto(Player13)LightGreenGeneral-If("Dark Grey")ActionsUnit-Set(Triggeringunit)teamcolorto(Player14)DarkGreyGeneral-If("Pink")ActionsUnit-Set(Triggeringunit)teamcolorto(Player15)PinkDefaultUI-Display"You need to select a color first!"for(Allplayers)toErrorarea
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Hey, everyone!
So I'm making a machinima-type video using SC2 and we wanted some special scenarios set up. I have some basic experience with the editor, like messing with unit stats and terrain editing, and I've made my own Uberlisk from the step-by-step.
What I need now is a) a way to make different units of the same type on the same team have different team colors (i.e. 4 marines on the map for player 2, but one is blue, one purple, one orange, one light pink) so I can keep character recognizability / consistency. I've searched multiple times and solutions to changing a unit's color seem to point to changing ALL units of that type (marine) and not just the one guy. I did see one that made the coloring random, but I'm guessing that my specific colors wouldn't stick from editor to live game. I suppose I could make "marine copies" for each of the 4 characters, but I never have much luck with that, always somehow missing some component or messing something up, when what I really want is to have the unit function normally but be differently colored. Either way I'd like some kind of step-by-step for executing. I often see posts like "just use Actor->actorcreation: team color!! duh!!" which doesn't help me much.
b) Perhaps this was foolish, but the setting of the first episode is on the Bliz map Blistering Sands, and I can't figure out how to allow more than 2 players on it. That was my original plan for working around the unit colors: just having 4 teams as allies. Even with part a) I may want to do something like that in the future for blocking purposes.
Suggestions? (i'm using a Mac if that makes a difference)
You should use triggers. That's a simple way to send actor messages to individual units. What you should do is have a trigger which sends the actor message Set Team Color to the actor of the unit whose team color you wish to change.
@Nebuli2: Go
Okay, that's great, but how do I actually do that? Is there a way to indicate to the trigger that just that marine should be different, or would that change all marines on the map? More importantly, it may be simple, but I don't know where to start.
Here's my guess, from scrolling through lists for 10 minutes: Triggers page - New Trigger Event - Map initialization Actions - Send actor message "SetTeamColor" to main actor of unit Marine [113.02, 69.15]
That look good? If not, can you give me a step-by-step?
I did this in my ArtCraft Map, when you select a block, after selecting a color, it changes the color of that block to your selected color.
@Pshyched: Go
did you ever hear about switch .. case? :P