Is there a way to modify the field with triggers? I'm trying to make nonperishable bodies when a unit dies. It has been asked and no clear answer, I didnt find a way, strangely creating a model or actor at position of dying unit doesnt create them either even if I use variable. I was thinking of these ways:
1) Death Time change to -1 (some units froze while standing, maybe with triggers I could use Wait to have them play their anim if triggers can be used)
2) Create actor or model set its animations and freeze them w actor message - actor fails to create with unit property changes or unit dies event
make the actor freeze on death. there is a default death actor which is created on death, using the freeze on the unit wont work because the unit actor doesmnt exist anymore
Do you mean Actor - Send message "AnimSetPausedAll" to actor (for unit (triggering unit) when a unit dies?
Because the actor doesnt freeze and just decays and perishes. I did the same with actor events for an item which stand animation is supposed to freeze and it works but maybe again when the unit dies the actor is not there anymore.
Also I would like to make some system for the doodads (buildings as well). The least I can do is when a unit approaches a building the building to do a ModelSwap to some model where it is destroyed (e.g Korhal building). I dont see any triggers that allow to do ModelSwap in range or region of a doodad/actor or actor event, there are no conditions to detect if there is an actor or doodad of certain type I think. I want to make it so that when a unit comes close or is contained in a region that has this doodad type, I send actor message but I dont see a trigger or condition for it. (without selecting a doodad on the map)
Do you mean Actor - Send message "AnimSetPausedAll" to actor (for unit (triggering unit) when a unit dies?
Because the actor doesnt freeze and just decays and perishes. I did the same with actor events for an item which stand animation is supposed to freeze and it works but maybe again when the unit dies the actor is not there anymore.
yes this one, but it has to be called on the defaultdeathactor for the unit (copy the default one and add actor.creation set timer X; timer.expires AnimSetPausedAll).
Also IIRC you have to set the death time of the unit to the time you want it to last.
For detecting doodad type, can be used a Signal but maybe the Actor events have to be modified to have a signal with the same name, so at least doodad-type message may be called like that to all doodads of the same type.
But I need to have a case where Actor message is sent at any moment a unit is in the Range of these doodads. Is there an event a unit gets in the range of doodads who have signal and subname 'somename'? Then could be used an action:
Actor - Send actor message (Signal "SomeName") to all actors that intersect game region (Region((Position of (Triggering unit)), 6.0)) with their Contact Radius that belong to class "" and match terms ""
And if actor events have as Signal, e.g Model swap that would swap but I need an event to detect when a unit enters the range of such doodad without selecting in on the map as a placed unit. - That didnt work tho
Quote:
Also IIRC you have to set the death time of the unit to the time you want it to last.
I was thinking if there is a way to modify the field with triggers exactly
For Model swap which I use to change the building model to wrecked building model for doodads after units pass nearby. Again have to add signal in the Data and different Subname for each Doodad type to be be acting only for the specific doodad and specific variation.
For example I want to use Korhal Building Variation 1 turn into Korhal Building Wrecked (Small) variation 1 (it is wrecked version of the korhal building). I created a duplicate actor and replaced all doodads of that kind with it to not mix them with the default ones.
Signal KorhalBuildingDestructible0
- ModelName KorhalBuilding (Term) (to happen just once and not change the model every time)
- ModelVariation 0 (Term)
- ModelSwap KorhalBuildingWreckedSmall 0
Signal KorhalBuildingDestructible0
- ModelName KorhalBuilding (Term)
- ModelVariation 0 (Term)
- Set Scale 2.500000 (because for variation 1 or 0 as the first variation in triggers, this is the size closest to the size of the original building model)
Thanks for the help, Im not sure how Actor Queries work I havent used them and without examples I still cant but maybe these are the things I needed to do, yes I have to use Data as well, which wasnt my intention but for my current purpose will be fine.
Never mind the above specific for korhal buildings, I need something that can be used on all doodads as effects limiting to one effect on doodad. As I have the Periodic event with picked units, I need to do:
- "AttachModel SmokePillarsTall" to all actors contained by game region (Region((Position of (Picked unit)), 5.0))
- Change Roll or Pitch of all doodads in (Region((Position of (Picked unit)), 5.0)) - How do I change pitch or roll with triggers?
How can I detect if a certain type of actor is in region without using signal? Then I can prevent a repeat of such doodads in the area, this means also new models wont be spawned if there are existing once in the area.
Ok Class Filter: Doodad idk even the other types or where to get them from but that's what I needed. Now what term can prevent the same effect spawned 1000 times?
EDIT: This may not be Graphics Card killer but I think I found a way to make actors/models not spawn in the same places multiple times with periodic event.
(idk what happens behind the curtain but this must be putting every new position of each picked unit in the Region 001, making it less likely to have a point that is NOT in Region 001 (this is a map region), Thus, you will not get 1000 spawned effects at a time. So this is a fine way to add effects and actor messages to doodads but idk how to change pitch/roll - anyway without it. Overall did some things like I wanted.
Is there a way to modify the field with triggers? I'm trying to make nonperishable bodies when a unit dies. It has been asked and no clear answer, I didnt find a way, strangely creating a model or actor at position of dying unit doesnt create them either even if I use variable. I was thinking of these ways:
1) Death Time change to -1 (some units froze while standing, maybe with triggers I could use Wait to have them play their anim if triggers can be used)
2) Create actor or model set its animations and freeze them w actor message - actor fails to create with unit property changes or unit dies event
And any way to make this work?
make the actor freeze on death. there is a default death actor which is created on death, using the freeze on the unit wont work because the unit actor doesmnt exist anymore
Do you mean Actor - Send message "AnimSetPausedAll" to actor (for unit (triggering unit) when a unit dies?
Because the actor doesnt freeze and just decays and perishes. I did the same with actor events for an item which stand animation is supposed to freeze and it works but maybe again when the unit dies the actor is not there anymore.
Also I would like to make some system for the doodads (buildings as well). The least I can do is when a unit approaches a building the building to do a ModelSwap to some model where it is destroyed (e.g Korhal building). I dont see any triggers that allow to do ModelSwap in range or region of a doodad/actor or actor event, there are no conditions to detect if there is an actor or doodad of certain type I think. I want to make it so that when a unit comes close or is contained in a region that has this doodad type, I send actor message but I dont see a trigger or condition for it. (without selecting a doodad on the map)
you can do actor queries with filters, for example the fire query to make trees burn or do w/e you want with them.
yes this one, but it has to be called on the defaultdeathactor for the unit (copy the default one and add actor.creation set timer X; timer.expires AnimSetPausedAll). Also IIRC you have to set the death time of the unit to the time you want it to last.
@FunkyUserName: Go
For detecting doodad type, can be used a Signal but maybe the Actor events have to be modified to have a signal with the same name, so at least doodad-type message may be called like that to all doodads of the same type.
But I need to have a case where Actor message is sent at any moment a unit is in the Range of these doodads. Is there an event a unit gets in the range of doodads who have signal and subname 'somename'? Then could be used an action:
Actor - Send actor message (Signal "SomeName") to all actors that intersect game region (Region((Position of (Triggering unit)), 6.0)) with their Contact Radius that belong to class "" and match terms ""
And if actor events have as Signal, e.g Model swap that would swap but I need an event to detect when a unit enters the range of such doodad without selecting in on the map as a placed unit. - That didnt work tho
I was thinking if there is a way to modify the field with triggers exactly
@ImpctR: Go
you can have a periodic effect on your unit which will trigger your trigger or a actor query.
not sure if you can modify the death time with catalog triggers
Ok to put it together
set Unit>Stats> Death Time: -1 on all units that should not perish. Yes, no way to make this with triggers only.
For Model swap which I use to change the building model to wrecked building model for doodads after units pass nearby. Again have to add signal in the Data and different Subname for each Doodad type to be be acting only for the specific doodad and specific variation.
For example I want to use Korhal Building Variation 1 turn into Korhal Building Wrecked (Small) variation 1 (it is wrecked version of the korhal building). I created a duplicate actor and replaced all doodads of that kind with it to not mix them with the default ones.
So actor events
etc.
Variation
Normal Wrecked Scale
1 1 2.5
2 2 2.3
3 3 4
4 4 3
5 7 2.2
6 8 3
7 6 3
8 8 3
9 7 2.2
10 9 2.3
Thanks for the help, Im not sure how Actor Queries work I havent used them and without examples I still cant but maybe these are the things I needed to do, yes I have to use Data as well, which wasnt my intention but for my current purpose will be fine.
Never mind the above specific for korhal buildings, I need something that can be used on all doodads as effects limiting to one effect on doodad. As I have the Periodic event with picked units, I need to do:
- "AttachModel SmokePillarsTall" to all actors contained by game region (Region((Position of (Picked unit)), 5.0))
- Change Roll or Pitch of all doodads in (Region((Position of (Picked unit)), 5.0)) - How do I change pitch or roll with triggers?
How can I detect if a certain type of actor is in region without using signal? Then I can prevent a repeat of such doodads in the area, this means also new models wont be spawned if there are existing once in the area.
Ok Class Filter: Doodad idk even the other types or where to get them from but that's what I needed. Now what term can prevent the same effect spawned 1000 times?
EDIT: This may not be Graphics Card killer but I think I found a way to make actors/models not spawn in the same places multiple times with periodic event.
(idk what happens behind the curtain but this must be putting every new position of each picked unit in the Region 001, making it less likely to have a point that is NOT in Region 001 (this is a map region), Thus, you will not get 1000 spawned effects at a time. So this is a fine way to add effects and actor messages to doodads but idk how to change pitch/roll - anyway without it. Overall did some things like I wanted.