I have a build ability that creates a structure linked to a WC3 model. The build time in the ability is 5 seconds. The animation that comes along with the model however has a 'birth' animation which is 60 seconds long. I fixed this by setting:
Actor.Creation
- Set Time Scale Global 12
Actor Creation
- Timer Set 5 Birth
Timer.Expire.Birth
- Set Time Scale Global 1
However upon doing this, the builder creates the building for 5 seconds, and then the animation plays for 5 seconds. I know there is an actor event:
Unit.Construction.UnitName.Start
- Animation Play Birth
but I can't seem to get this to work either.
Anyone encountered this? I just want the Birth animation to play during the construction instead of after!
Thanks!
There are some building actor bugs(specially human buildings) its not a true bug it some settings missing, that cause this, and it is not about timing, you can copy the solution from orc buildings. I dont know what model you using but if copyied from a starcraft building I suggest you to recreat it with warcraft building(this requires warcraft III mod 1.0 that can be downloaded from battlenet). I suggest because the solution that I write works with them, I dont know if it works with starcraft ones, because they use different building settings. So solution example:
Switch to xml view. the xml button is +2 button to right from table view that is default so possibly you are table view in basic.
when you switch you see the xml code that your custom things created. or on empty page if you dont creat nothing. But you at least creat the building you talking about. so switch to xml view and use this codes for your building:
Farm actor (This code is the farm actor full code that different from core, except tha last 4 lines, that 4 line is the bug fix for human or any bugged buildings in warcraft III mod 1.0, so you need to copy those to your building, I copy-d the full code to show you which code you can find in your building. for example the unit icon and life armor icon etc lines are 100% that exist, and any other can exist depend on what you modified on the building.) :
Important!: if you put warcraft III 1.0 to your dependencies it changes the attributes of starcraft for example psionic is gone, descructabla gone, etc, and you get unarmored, tree, summoned etc. If you use it with starcraft staff then you must delete starcraft building settings in actor and then copy the last 4 lines of the code above.
Your welcome. I have to mentioned that training animations are also missing, so if your building have train ability you should use these settings too:
AbilTrain.HumanBarracksTrain.Start
- Animation Play Work Forever
AbilTrain.HumanBarracksTrain.Finish
- Animation Play Stand
That is the fix that merrillphish also suggested. It is not xml cod it is the settings in actor events when table view is active. 'HumanBarracksTrain' is the ability name you can change it to your train ability if you have your own. I did not mentined it earlier because tha original problem was about building animation.
Hey guys, sorry for bit of a necroing here, but I have a situation, I've created a fully custom cunstorction model with 3 stages of animations and I'd like to change the Farm construction animatio to mine, what I need to do? My construction model has 3 animations, Work Stand Start, Work Stand, Work Stand End.
In farm actor, you can change the build model field to your construction model, and setting the event field to use all 3 stages,because farm has only one birth animation with one stage, but to know how to use them I need to test my ideas, if you send an example map, or just your model, I look for it. If you would like to experimenting on your own than try the anim.done function in event, when construction start then animation play birth stage 1, when animation play birth stage 1 done then animation play birth stage 2, when animation play birth stage 2 done then animation play birth stage 3. This not the code, it just an idea of how to do that.
Hey all,
I have a build ability that creates a structure linked to a WC3 model. The build time in the ability is 5 seconds. The animation that comes along with the model however has a 'birth' animation which is 60 seconds long. I fixed this by setting:
Actor.Creation
- Set Time Scale Global 12
Actor Creation
- Timer Set 5 Birth
Timer.Expire.Birth
- Set Time Scale Global 1
However upon doing this, the builder creates the building for 5 seconds, and then the animation plays for 5 seconds. I know there is an actor event:
Unit.Construction.UnitName.Start
- Animation Play Birth
but I can't seem to get this to work either.
Anyone encountered this? I just want the Birth animation to play during the construction instead of after!
Thanks!
@nickthegreat2468: Go
There are some building actor bugs(specially human buildings) its not a true bug it some settings missing, that cause this, and it is not about timing, you can copy the solution from orc buildings. I dont know what model you using but if copyied from a starcraft building I suggest you to recreat it with warcraft building(this requires warcraft III mod 1.0 that can be downloaded from battlenet). I suggest because the solution that I write works with them, I dont know if it works with starcraft ones, because they use different building settings. So solution example:
Switch to xml view. the xml button is +2 button to right from table view that is default so possibly you are table view in basic.
when you switch you see the xml code that your custom things created. or on empty page if you dont creat nothing. But you at least creat the building you talking about. so switch to xml view and use this codes for your building:
Farm actor (This code is the farm actor full code that different from core, except tha last 4 lines, that 4 line is the bug fix for human or any bugged buildings in warcraft III mod 1.0, so you need to copy those to your building, I copy-d the full code to show you which code you can find in your building. for example the unit icon and life armor icon etc lines are 100% that exist, and any other can exist depend on what you modified on the building.) :
<CActorUnit id="Farm" parent="War3Actor" unitName="Farm">
<PortraitModel value="Farm"/>
<AnimBlendTime value="0.150000"/>
<WalkAnimMoveSpeed value="2.3984"/>
<SoundArray index="Ready" value="FarmReady"/>
<SoundArray index="What" value="FarmWhat"/>
<SoundArray index="Yes" value="FarmYes"/>
<SoundArray index="Attack" value="FarmYesAttack"/>
<SoundArray index="Pissed" value="FarmPissed"/>
<SoundArray index="Construction" value="BuildingConstructionLoop"/>
<UnitIcon value="Assets\Textures\war3_btnfarm.dds"/>
<HeroIcon value="Assets\Textures\war3_btnfarm.dds"/>
<LifeArmorIcon value="$fort"/>
<On Terms="ActorCreation" Send="Create Splat_Human_Small"/>
<BarWidth value="113"/>
<BarOffset value="120"/>
<On Terms="UnitBirth.*.Normal" Send="AnimClear Birth"/>
<On Terms="UnitDeath" Send="$Death"/>
<On Terms="AnimDone; AnimName Death" Send="AnimPlay DeathB Decay"/>
<On Terms="AnimDone; AnimName DeathB" Send="Destroy"/>
</CActorUnit>
Important!: if you put warcraft III 1.0 to your dependencies it changes the attributes of starcraft for example psionic is gone, descructabla gone, etc, and you get unarmored, tree, summoned etc. If you use it with starcraft staff then you must delete starcraft building settings in actor and then copy the last 4 lines of the code above.
Save document.
The way I get my human building construction actors to work is like this. Make sure your building actor has these three events.
Add
Unit.Construction.UnitName.Start
- Create
Unit.Construction.UnitName.Start
- Animation Play Birth (Set time variant to build time and check duration)
Unit.Construction.UnitName.Finish
- Destroy
Delete
UnitBirth.*.Normal
- Animation Play Birth Birth 0 0
Training unit animation doesn't seem to work out of the box either. AbilTrain.HumanBarracksTrain.Start
- Animation Play Work Forever
AbilTrain.HumanBarracksTrain.Finish
- Animation Play Stand
This is good way too, I suggested my version because its from orc buildings, and other buildings are have them too. :)
Im going to do it your way since the other buildings are doing it. Thanks!
@kit219: Go
Your welcome. I have to mentioned that training animations are also missing, so if your building have train ability you should use these settings too:
AbilTrain.HumanBarracksTrain.Start - Animation Play Work Forever
AbilTrain.HumanBarracksTrain.Finish - Animation Play Stand
That is the fix that merrillphish also suggested. It is not xml cod it is the settings in actor events when table view is active. 'HumanBarracksTrain' is the ability name you can change it to your train ability if you have your own. I did not mentined it earlier because tha original problem was about building animation.
I'm having a hard time getting the cancel upgrade from townhall > keep > castle actor to work. AbilMorph.UpgradetoHumanCastle.Cancel
When I hit the cancel button it looks like the "AbilMorph.UpgradetoHumanCastle.Finish" is getting triggered instead.
@merrillphish: Go
copy It from Great Hall. Until it here is the Town Hall xml fixed version made by me Using greathall settings.
<CActorUnit id="Townhall" parent="War3Actor" unitName="Townhall">
<PortraitModel value="Townhall"/>
<AnimBlendTime value="0.150000"/>
<WalkAnimMoveSpeed value="2.3984"/>
<SoundArray index="Ready" value="TownHallReady"/>
<SoundArray index="What" value="TownHallWhat"/>
<SoundArray index="Yes" value="TownHallYes"/>
<SoundArray index="Attack" value="TownHallYesAttack"/>
<SoundArray index="Pissed" value="TownHallPissed"/>
<SoundArray index="Construction" value="BuildingConstructionLoop"/>
<UnitIcon value="Assets\Textures\war3_btntownhall.dds"/>
<HeroIcon value="Assets\Textures\war3_btntownhall.dds"/>
<LifeArmorIcon value="$fort"/>
<On Terms="ActorCreation" Send="Create Splat_Human_TownHall"/>
<BarWidth value="284"/>
<BarOffset value="160"/>
<!
Begins birth of Townhall><On Terms="UnitBirth.*.Normal" Send="AnimClear Birth"/>
<On Terms="UnitDeath" Send="$Death"/>
<On Terms="AnimDone; AnimName Death" Send="AnimPlay DeathB Decay"/>
<On Terms="AnimDone; AnimName DeathB" Send="Destroy"/>
<On Terms="UnitConstruction.Townhall.Start" Send="Create HumanConstruction"/>
<On Terms="UnitConstruction.Townhall.Cancel" Send="Create CancelBuildingOrcSound"/>
<!
Begins morphing to Keep><On Terms="AbilMorph.*.Start; MorphFrom Townhall; MorphTo Keep" Send="AnimGroupApply StageFirst"/>
<On Terms="AbilMorph.*.Start; MorphFrom Townhall; MorphTo Keep" Send="AnimPlay Morph Birth,Upgrade"/>
<!
Morph to Keep cancelled><On Terms="AbilMorph.*.Cancel; MorphFrom Townhall; MorphTo Keep" Send="AnimGroupRemove StageFirst"/>
<On Terms="AbilMorph.*.Cancel; MorphFrom Townhall; MorphTo Keep" Send="AnimClear Morph"/>
<!
Finishes morphing to Keep><On Terms="AbilMorph.*.Finish; MorphFrom Townhall; MorphTo Keep" Send="Destroy"/> </CActorUnit>
Thanks Ragadozo!
@merrillphish: Go
your welcome.
Hey guys, sorry for bit of a necroing here, but I have a situation, I've created a fully custom cunstorction model with 3 stages of animations and I'd like to change the Farm construction animatio to mine, what I need to do? My construction model has 3 animations, Work Stand Start, Work Stand, Work Stand End.
Thanks!
@miketwistam: Go
In farm actor, you can change the build model field to your construction model, and setting the event field to use all 3 stages,because farm has only one birth animation with one stage, but to know how to use them I need to test my ideas, if you send an example map, or just your model, I look for it. If you would like to experimenting on your own than try the anim.done function in event, when construction start then animation play birth stage 1, when animation play birth stage 1 done then animation play birth stage 2, when animation play birth stage 2 done then animation play birth stage 3. This not the code, it just an idea of how to do that.