As long as the SCV is actively constructing a building, I want it to look like it is raining above that structure. (I have a model that looks like rain)
I have two solutions but none work perfectly:
Solution 1
I go into the SCVs actor and add the following Events:
Ability.Build.WorkerStart Create Rain
Ability.Build.WorkerCancel Destroy Rain
Ability.Build.WorkerStop Destroy Rain
The rain does indeed appear when the SCV is constructing. But it also creates a problem - the rain appears above the SCV, not above the structure!
Solution 2
I go into the Actor Event of the structure and add:
UnitConstruction.Start Create Rain
UnitConstruction.Cancel Destroy Rain
UnitConstruction.Finsih Destroy Rain
This makes the rain appear above the structure as soon as the construction starts. But if the SCV takes a break, the rain is still visible on the construction site. I want the rain to stop when the SCV is NOT working! (It only stops when the structure is cancelled, destroyed or finished)
You see the dilemma? Solution 1 makes the rain stop when the worker stops, but the rain is never above the structure. Solution 2 makes it rain above the structure, but the rain continues when the worker takes a break.
but I gave this a new shot in the editor and I just keep hitting the wall..... T_T
Not sure I completely understand your last post
I am trying to make a model appear above a structure when a SCV is actively constructing that structure. As long as the SCV is not constructing it, that model is removed. I have made the same thing for repair - when a unit is being repaired, a model appear above it. When it stops repairing, the model is removed.
Would you mind to clarify?
(One of those things I thought would be simple to solve, but turned out to be super tricky ........ >.<)
Both your structure and SCV have the Selectable alias so when you are hosting the Model actor it has a choice of where to host.
You could always give the Build ability a Create persistent effect on start and a destroy persistent effect on cancel/finish and use the persistent to create the actor.
Rollback Post to RevisionRollBack
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
good idea with the Create persistent suggestion, but it does not work unfortunately. It only checks for Start, Cancel and Finish. It does not check for Stop. So the Rain model will still be visible, even if my SCV is taking a break. I want the model to appear ONLY when the SCV is actively constructing the structure. (It might sound like a silly thing, but there is an important reason behind it, I promise!)
The Alias solution sounds better. Here is how it currently looks, but it is obviously wrong:
I give my Rain Actor (which is a Model Addition) a unique alias in the Host - subject field. I give it _XanthosCore, just for testing.
I go to Aliases in the Actor of my Barrack. I give it _XanthosCore.
I go to my SCV Actor Event field and add:
Ability.Build.WorkerStart Create Rain
Ability.Build.WorkerCancel Destroy Rain
Ability.Build.WorkerStop Destroy Rain
So.. When the SCV starts a Barrack, it should host the Rain model above itself since they share Aliases? I have tried different setups with the Aliases but the Rain model never appears above the Barrack, only above the SCV.. T_T
The good thing with this setup is that if the SCV stops constructing, the Rain model is removed! And when the SCV returns to constructing, the Rain model appears again! I just need the model to appear above the construction site. It is so close to working.... >.<
I suspect I am missing something very obvious or doing a stupid mistake.. ... any last advice?
I have now managed to get the Barrack to host the Rain Actor via the Hosting: Host - Subject field. The Rain appears above the Barrack when construction starts.
But I think I now what the major problem is....
The Event fields never checks if a SCV resumses the construction. It only creates the model when you start building. When you stop, the model is destroyed and never created again if you resume the building. As you see below, only Start / Cancel / Stop in the Event field
Ability.Build.WorkerStart Create Rain
Ability.Build.WorkerCancel Destroy Rain
Ability.Build.WorkerStop Destroy Rain
Same problem with the Persistent effect with the Unit Order Queue - the effect starts when you start building but is destroyed when you stop. It is never created again when you resume the construction.
Any idea how to check when a construction resumes?
Let's use the SCV as an example.
As long as the SCV is actively constructing a building, I want it to look like it is raining above that structure. (I have a model that looks like rain)
I have two solutions but none work perfectly:
Solution 1
I go into the SCVs actor and add the following Events:
Ability.Build.WorkerStart
Create Rain
Ability.Build.WorkerCancel
Destroy Rain
Ability.Build.WorkerStop
Destroy Rain
The rain does indeed appear when the SCV is constructing. But it also creates a problem - the rain appears above the SCV, not above the structure!
Solution 2
I go into the Actor Event of the structure and add:
UnitConstruction.Start
Create Rain
UnitConstruction.Cancel
Destroy Rain
UnitConstruction.Finsih
Destroy Rain
This makes the rain appear above the structure as soon as the construction starts. But if the SCV takes a break, the rain is still visible on the construction site. I want the rain to stop when the SCV is NOT working! (It only stops when the structure is cancelled, destroyed or finished)
You see the dilemma? Solution 1 makes the rain stop when the worker stops, but the rain is never above the structure. Solution 2 makes it rain above the structure, but the rain continues when the worker takes a break.
Any ideas how to solve this?
Tried adding an At Target term for the create message in the first solution?
Custom Campaign Initiative | Mapster Community Project: Data Wizards
Starcraft II: Unsung Rebels, a custom campaign for Starcraft II
SC2Saver, a way to create saved games via trigger
Frustrated with the editor and would like answers in real time? Join the SC2Mapster Discord!
In reply to aZergBaneling:
Ability.Build.WorkerStart
Create Rain
Strangely enough :O
What alias you using for the host subject for your rain model?
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
The rain model itself has the standard alias "_Snapshot" . Nothing else. The model is a Model Addition
The Barracks, for example, has:
UnitConstruction.Start
Create Rain
UnitConstruction.Cancel
Destroy Rain
UnitConstruction.Finsih
Destroy Rain
I use no Alias in that Event. I choose "Actor" and then "Rain" in Create.
Do you have something in mind?
As in what is used for the Hosting: Host - Subject field.
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
In reply to DrSuperEvil:
(The Rain actor is a Model addition that is currenly created in the Event field of the Barrack when it is under construction)
You could give your structure a unique alias and set the host for the model to use that alias.
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
Sorry to bother you again with this, Doctor
but I gave this a new shot in the editor and I just keep hitting the wall..... T_T
Not sure I completely understand your last post
I am trying to make a model appear above a structure when a SCV is actively constructing that structure. As long as the SCV is not constructing it, that model is removed. I have made the same thing for repair - when a unit is being repaired, a model appear above it. When it stops repairing, the model is removed.
Would you mind to clarify?
(One of those things I thought would be simple to solve, but turned out to be super tricky ........ >.<)
Both your structure and SCV have the Selectable alias so when you are hosting the Model actor it has a choice of where to host.
You could always give the Build ability a Create persistent effect on start and a destroy persistent effect on cancel/finish and use the persistent to create the actor.
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
Thanks for the suggestions,
good idea with the Create persistent suggestion, but it does not work unfortunately. It only checks for Start, Cancel and Finish. It does not check for Stop. So the Rain model will still be visible, even if my SCV is taking a break. I want the model to appear ONLY when the SCV is actively constructing the structure. (It might sound like a silly thing, but there is an important reason behind it, I promise!)
The Alias solution sounds better. Here is how it currently looks, but it is obviously wrong:
I give my Rain Actor (which is a Model Addition) a unique alias in the Host - subject field. I give it _XanthosCore, just for testing.
I go to Aliases in the Actor of my Barrack. I give it _XanthosCore.
I go to my SCV Actor Event field and add:
Ability.Build.WorkerStart
Create Rain
Ability.Build.WorkerCancel
Destroy Rain
Ability.Build.WorkerStop
Destroy Rain
So.. When the SCV starts a Barrack, it should host the Rain model above itself since they share Aliases? I have tried different setups with the Aliases but the Rain model never appears above the Barrack, only above the SCV.. T_T
The good thing with this setup is that if the SCV stops constructing, the Rain model is removed! And when the SCV returns to constructing, the Rain model appears again! I just need the model to appear above the construction site. It is so close to working.... >.<
I suspect I am missing something very obvious or doing a stupid mistake.. ... any last advice?
So you changed the alias used in the Hosting: Host - Subject field?
Sure you could not use the Unit Order Queue validator type to validate the effects if the caster is building?
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
In reply to DrSuperEvil:
I have now managed to get the Barrack to host the Rain Actor via the Hosting: Host - Subject field. The Rain appears above the Barrack when construction starts.
But I think I now what the major problem is....
Ability.Build.WorkerStart
Create Rain
Ability.Build.WorkerCancel
Destroy Rain
Ability.Build.WorkerStop
Destroy Rain
Same problem with the Persistent effect with the Unit Order Queue - the effect starts when you start building but is destroyed when you stop. It is never created again when you resume the construction.
Any idea how to check when a construction resumes?
The Buildable ability and Progress type actor?
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg