Fatal Error Please Help

CixxyZ

Active Member
Reaction score
7
My map randomly fatal errors after extended play.

I'm thinking it could be the damage display trigger which adds an event every time a unit enters the map. Or it could be the pausing of towers when they attack to make sure they don't trigger the spell again.

I think I have removed almost all leaks so it should be okay in that regard. What else could it be ? Please help me narrow it down.

Also if you are good with dealing them please leave a message here saying you want to see the map and I'll PM you the unprotected map. Will give credit on the Quests if you can fix this problem

Thanks people.
 

Exide

I am amazingly focused right now!
Reaction score
448
We can't help you without seeing your triggers.
I've used a trigger that adds units to a Damage Display trigger countless of times without any errors. However, your actions in that trigger might screw things up.
It could be a totally different trigger as well..

Anyway, post the triggers that you think are responsible (or your whole map) here, and we'll see if we can help.
 

CixxyZ

Active Member
Reaction score
7
Thanks for the response, I'll send the map to you, I don't want the map to be publicized that's why.

Edit: Also, the map's a TD so it might have a lot more damage triggering than your maps perhaps?

Tested again and theres possibility it could be the draining life ability on a dummy unit at 100% HP. what do you think about that?
 

Exide

I am amazingly focused right now!
Reaction score
448
Tested again and theres possibility it could be the draining life ability on a dummy unit at 100% HP. what do you think about that?

Don't sound likely.
Does the crashes occur at special occasions or simply randomly?

It could be a laggy trigger that's causing trouble.
It could be an ability or a unit that acquires a certain item that is not suitable for units (gain exp/stat/etc.)
It could also be a desync, which are commonly caused by GetLocalPlayer - if you have any such action in any of your triggers.
Could be lots of reasons.
 

CixxyZ

Active Member
Reaction score
7
I think a clanmate told me about the special effect destruction triggers being not 100% leakless. I took it from Haloween wars by blizz.

It crashes about 10 min into the game. I think it's pretty random. Also it might be the combine tower triggers because it didnt fatal before I implemented them.
 

Exide

I am amazingly focused right now!
Reaction score
448
Start posting these triggers and we'll see. :p
 

CixxyZ

Active Member
Reaction score
7
Trigger:
  • corpse remove
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Owner of (Dying unit)) Equal to Player 12 (Brown)
    • Actions
      • Unit - Remove (Dying unit) from the game


Could it be this trigger? I have disabled it and it has not caused fatal yet been a while. And my trigs are too much to post..
 

CixxyZ

Active Member
Reaction score
7
Eh.. to remove the corpse. Sometimes it still counts as a unit but a (dead) one. So you have to use conditional checks unit is alive to pass them.

Here are samples of triggers i use for combining. There were no fatal before these were implemented.

Trigger:
  • SelectIce
    • Events
      • Player - Player 1 (Red) Selects a unit
      • Player - Player 2 (Blue) Selects a unit
      • Player - Player 3 (Teal) Selects a unit
      • Player - Player 4 (Purple) Selects a unit
      • Player - Player 5 (Yellow) Selects a unit
      • Player - Player 6 (Orange) Selects a unit
      • Player - Player 7 (Green) Selects a unit
      • Player - Player 8 (Pink) Selects a unit
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Glacies Elemental
      • (Owner of (Triggering unit)) Equal to (Triggering player)
      • (Custom value of (Triggering unit)) Equal to 0
    • Actions
      • Unit - Set the custom value of (Triggering unit) to 1
      • Set E_IceSelected[(Player number of (Owner of (Triggering unit)))] = (E_IceSelected[(Player number of (Triggering player))] + 1)
      • Set E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] = (E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] + 1)
      • Unit Group - Add (Triggering unit) to SelectedTower[(Player number of (Owner of (Triggering unit)))]


Trigger:
  • DeselectIce
    • Events
      • Player - Player 1 (Red) Deselects a unit
      • Player - Player 2 (Blue) Deselects a unit
      • Player - Player 3 (Teal) Deselects a unit
      • Player - Player 4 (Purple) Deselects a unit
      • Player - Player 5 (Yellow) Deselects a unit
      • Player - Player 6 (Orange) Deselects a unit
      • Player - Player 7 (Green) Deselects a unit
      • Player - Player 8 (Pink) Deselects a unit
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Glacies Elemental
      • (Owner of (Triggering unit)) Equal to (Triggering player)
      • E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] Not equal to 0
    • Actions
      • Unit - Set the custom value of (Triggering unit) to 0
      • Set E_IceSelected[(Player number of (Triggering player))] = (E_IceSelected[(Player number of (Triggering player))] - 1)
      • Set E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] = (E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] - 1)
      • Unit Group - Remove (Triggering unit) from SelectedTower[(Player number of (Owner of (Triggering unit)))]


Trigger:
  • FuseTier2
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Fusion (2)
    • Actions
      • Set TempPlayerGroup = (Player group((Owner of (Triggering unit))))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] Equal to 3
          • E_AirSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_IceSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_WaterSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
        • Then - Actions
          • Game - Display to TempPlayerGroup the text: Shiva -- Beautiful ...
          • Set E_AirSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_IceSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_WaterSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set TempPoint = (Position of (Triggering unit))
          • Unit Group - Pick every unit in SelectedTower[(Player number of (Owner of (Triggering unit)))] and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Ether Stone (1) using The new unit's max life and mana
          • Set TempUnitGroup = (Units within 0.00 of TempPoint matching (((Matching unit) is A structure) Equal to True))
          • Unit Group - Pick every unit in TempUnitGroup and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Shiva Esper using The new unit's max life and mana
          • Custom script: call DestroyGroup (udg_TempUnitGroup)
          • Special Effect - Create a special effect at TempPoint using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
          • Set SpecialFX = (Last created special effect)
          • Trigger - Run Special Effect Destruction <gen> (ignoring conditions)
          • Custom script: call RemoveLocation (udg_TempPoint)
          • Set E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Selection - Clear selection for (Owner of (Triggering unit))
          • Unit Group - Remove all units of TempUnitGroup from SelectedTower[(Player number of (Owner of (Triggering unit)))]
          • Custom script: call DestroyForce (udg_TempPlayerGroup)
          • Custom script: call DestroyGroup (udg_SelectedTower[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))])
          • Skip remaining actions
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] Equal to 3
          • E_ChaosSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_AirSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_FireSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
        • Then - Actions
          • Set E_AirSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_FireSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_ChaosSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Game - Display to TempPlayerGroup the text: Illidan -- Darkest ...
          • Set TempPoint = (Position of (Triggering unit))
          • Unit Group - Pick every unit in SelectedTower[(Player number of (Owner of (Triggering unit)))] and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Ether Stone (1) using The new unit's max life and mana
          • Set TempUnitGroup = (Units within 0.00 of TempPoint matching (((Matching unit) is A structure) Equal to True))
          • Unit Group - Pick every unit in TempUnitGroup and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Illidan Esper using The new unit's max life and mana
          • Custom script: call DestroyGroup (udg_TempUnitGroup)
          • Special Effect - Create a special effect at TempPoint using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
          • Set SpecialFX = (Last created special effect)
          • Trigger - Run Special Effect Destruction <gen> (ignoring conditions)
          • Custom script: call RemoveLocation (udg_TempPoint)
          • Set E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Selection - Clear selection for (Owner of (Triggering unit))
          • Unit Group - Remove all units of TempUnitGroup from SelectedTower[(Player number of (Owner of (Triggering unit)))]
          • Custom script: call DestroyForce (udg_TempPlayerGroup)
          • Skip remaining actions
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] Equal to 3
          • E_AirSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_LightSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_ThunderSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
        • Then - Actions
          • Game - Display to TempPlayerGroup the text: Thor -- Wrathful De...
          • Set E_ThunderSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_AirSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_LightSelected[(Player number of (Triggering player))] = 0
          • Set TempPoint = (Position of (Triggering unit))
          • Unit Group - Pick every unit in SelectedTower[(Player number of (Owner of (Triggering unit)))] and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Ether Stone (1) using The new unit's max life and mana
          • Set TempUnitGroup = (Units within 0.00 of TempPoint matching (((Matching unit) is A structure) Equal to True))
          • Unit Group - Pick every unit in TempUnitGroup and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Thor Esper using The new unit's max life and mana
          • Custom script: call DestroyGroup (udg_TempUnitGroup)
          • Special Effect - Create a special effect at TempPoint using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
          • Set SpecialFX = (Last created special effect)
          • Trigger - Run Special Effect Destruction <gen> (ignoring conditions)
          • Custom script: call RemoveLocation (udg_TempPoint)
          • Set E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Selection - Clear selection for (Owner of (Triggering unit))
          • Unit Group - Remove all units of TempUnitGroup from SelectedTower[(Player number of (Owner of (Triggering unit)))]
          • Custom script: call DestroyForce (udg_TempPlayerGroup)
          • Skip remaining actions
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] Equal to 3
          • E_IceSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_WaterSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_EarthSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
        • Then - Actions
          • Game - Display to TempPlayerGroup the text: Leviathan -- Relent...
          • Set E_EarthSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_IceSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_WaterSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set TempPoint = (Position of (Triggering unit))
          • Unit Group - Pick every unit in SelectedTower[(Player number of (Owner of (Triggering unit)))] and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Ether Stone (1) using The new unit's max life and mana
          • Set TempUnitGroup = (Units within 0.00 of TempPoint matching (((Matching unit) is A structure) Equal to True))
          • Unit Group - Pick every unit in TempUnitGroup and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Leviathan Esper using The new unit's max life and mana
          • Custom script: call DestroyGroup (udg_TempUnitGroup)
          • Special Effect - Create a special effect at TempPoint using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
          • Set SpecialFX = (Last created special effect)
          • Trigger - Run Special Effect Destruction <gen> (ignoring conditions)
          • Custom script: call RemoveLocation (udg_TempPoint)
          • Set E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Selection - Clear selection for (Owner of (Triggering unit))
          • Unit Group - Remove all units of TempUnitGroup from SelectedTower[(Player number of (Owner of (Triggering unit)))]
          • Custom script: call DestroyForce (udg_TempPlayerGroup)
          • Skip remaining actions
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] Equal to 3
          • E_OrderSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_FireSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_ChaosSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
        • Then - Actions
          • Game - Display to TempPlayerGroup the text: Tomás -- The Hamme...
          • Set E_OrderSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_FireSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_ChaosSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set TempPoint = (Position of (Triggering unit))
          • Unit Group - Pick every unit in SelectedTower[(Player number of (Owner of (Triggering unit)))] and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Ether Stone (1) using The new unit's max life and mana
          • Set TempUnitGroup = (Units within 0.00 of TempPoint matching (((Matching unit) is A structure) Equal to True))
          • Unit Group - Pick every unit in TempUnitGroup and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Tomás Esper using The new unit's max life and mana
          • Custom script: call DestroyGroup (udg_TempUnitGroup)
          • Special Effect - Create a special effect at TempPoint using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
          • Set SpecialFX = (Last created special effect)
          • Trigger - Run Special Effect Destruction <gen> (ignoring conditions)
          • Custom script: call RemoveLocation (udg_TempPoint)
          • Set E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Selection - Clear selection for (Owner of (Triggering unit))
          • Unit Group - Remove all units of TempUnitGroup from SelectedTower[(Player number of (Owner of (Triggering unit)))]
          • Custom script: call DestroyForce (udg_TempPlayerGroup)
          • Skip remaining actions
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] Equal to 3
          • E_DarknessSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_ChaosSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_TimeSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
        • Then - Actions
          • Game - Display to TempPlayerGroup the text: Alucard -- The Most...
          • Special Effect - Create a special effect attached to the weapon of (Last created unit) using Abilities\Weapons\PhoenixMissile\Phoenix_Missile_mini.mdl
          • Set E_TimeSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_DarknessSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_ChaosSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set TempPoint = (Position of (Triggering unit))
          • Unit Group - Pick every unit in SelectedTower[(Player number of (Owner of (Triggering unit)))] and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Ether Stone (1) using The new unit's max life and mana
          • Set TempUnitGroup = (Units within 0.00 of TempPoint matching (((Matching unit) is A structure) Equal to True))
          • Unit Group - Pick every unit in TempUnitGroup and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Alucard Esper using The new unit's max life and mana
          • Custom script: call DestroyGroup (udg_TempUnitGroup)
          • Special Effect - Create a special effect at TempPoint using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
          • Set SpecialFX = (Last created special effect)
          • Trigger - Run Special Effect Destruction <gen> (ignoring conditions)
          • Custom script: call RemoveLocation (udg_TempPoint)
          • Set E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Selection - Clear selection for (Owner of (Triggering unit))
          • Unit Group - Remove all units of TempUnitGroup from SelectedTower[(Player number of (Owner of (Triggering unit)))]
          • Custom script: call DestroyForce (udg_TempPlayerGroup)
          • Skip remaining actions
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] Equal to 3
          • E_EarthSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_WaterSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_TimeSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
        • Then - Actions
          • Game - Display to TempPlayerGroup the text: Gaia -- All Hail Mo...
          • Set E_TimeSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_EarthSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_WaterSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set TempPoint = (Position of (Triggering unit))
          • Unit Group - Pick every unit in SelectedTower[(Player number of (Owner of (Triggering unit)))] and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Ether Stone (1) using The new unit's max life and mana
          • Set TempUnitGroup = (Units within 0.00 of TempPoint matching (((Matching unit) is A structure) Equal to True))
          • Unit Group - Pick every unit in TempUnitGroup and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Gaia Esper using The new unit's max life and mana
          • Custom script: call DestroyGroup (udg_TempUnitGroup)
          • Special Effect - Create a special effect at TempPoint using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
          • Set SpecialFX = (Last created special effect)
          • Trigger - Run Special Effect Destruction <gen> (ignoring conditions)
          • Custom script: call RemoveLocation (udg_TempPoint)
          • Set E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Selection - Clear selection for (Owner of (Triggering unit))
          • Unit Group - Remove all units of TempUnitGroup from SelectedTower[(Player number of (Owner of (Triggering unit)))]
          • Custom script: call DestroyForce (udg_TempPlayerGroup)
          • Skip remaining actions
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] Equal to 3
          • E_AirSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_LightSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_OrderSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
        • Then - Actions
          • Game - Display to TempPlayerGroup the text: Æther -- Glory to ...
          • Set E_AirSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_OrderSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_LightSelected[(Player number of (Triggering player))] = 0
          • Set TempPoint = (Position of (Triggering unit))
          • Unit Group - Pick every unit in SelectedTower[(Player number of (Owner of (Triggering unit)))] and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Ether Stone (1) using The new unit's max life and mana
          • Set TempUnitGroup = (Units within 0.00 of TempPoint matching (((Matching unit) is A structure) Equal to True))
          • Unit Group - Pick every unit in TempUnitGroup and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Æther Esper using The new unit's max life and mana
          • Custom script: call DestroyGroup (udg_TempUnitGroup)
          • Special Effect - Create a special effect at TempPoint using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
          • Set SpecialFX = (Last created special effect)
          • Trigger - Run Special Effect Destruction <gen> (ignoring conditions)
          • Custom script: call RemoveLocation (udg_TempPoint)
          • Set E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Selection - Clear selection for (Owner of (Triggering unit))
          • Unit Group - Remove all units of TempUnitGroup from SelectedTower[(Player number of (Owner of (Triggering unit)))]
          • Custom script: call DestroyForce (udg_TempPlayerGroup)
          • Skip remaining actions
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] Equal to 3
          • E_DarknessSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_ChaosSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_OrderSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
        • Then - Actions
          • Game - Display to TempPlayerGroup the text: Arthas -- The Relen...
          • Set E_OrderSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_DarknessSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_ChaosSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set TempPoint = (Position of (Triggering unit))
          • Unit Group - Pick every unit in SelectedTower[(Player number of (Owner of (Triggering unit)))] and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Ether Stone (1) using The new unit's max life and mana
          • Set TempUnitGroup = (Units within 0.00 of TempPoint matching (((Matching unit) is A structure) Equal to True))
          • Unit Group - Pick every unit in TempUnitGroup and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Arthas Esper using The new unit's max life and mana
          • Custom script: call DestroyGroup (udg_TempUnitGroup)
          • Special Effect - Create a special effect at TempPoint using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
          • Set SpecialFX = (Last created special effect)
          • Trigger - Run Special Effect Destruction <gen> (ignoring conditions)
          • Custom script: call RemoveLocation (udg_TempPoint)
          • Set E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Selection - Clear selection for (Owner of (Triggering unit))
          • Unit Group - Remove all units of TempUnitGroup from SelectedTower[(Player number of (Owner of (Triggering unit)))]
          • Custom script: call DestroyForce (udg_TempPlayerGroup)
          • Skip remaining actions
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] Equal to 3
          • E_DarknessSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_OrderSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_ChaosSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
        • Then - Actions
          • Game - Display to TempPlayerGroup the text: Arthas -- The Relen...
          • Set E_OrderSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_DarknessSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_ChaosSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set TempPoint = (Position of (Triggering unit))
          • Unit Group - Pick every unit in SelectedTower[(Player number of (Owner of (Triggering unit)))] and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Ether Stone (1) using The new unit's max life and mana
          • Set TempUnitGroup = (Units within 0.00 of TempPoint matching (((Matching unit) is A structure) Equal to True))
          • Unit Group - Pick every unit in TempUnitGroup and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Arthas Esper using The new unit's max life and mana
          • Custom script: call DestroyGroup (udg_TempUnitGroup)
          • Special Effect - Create a special effect at TempPoint using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
          • Set SpecialFX = (Last created special effect)
          • Trigger - Run Special Effect Destruction <gen> (ignoring conditions)
          • Custom script: call RemoveLocation (udg_TempPoint)
          • Set E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Selection - Clear selection for (Owner of (Triggering unit))
          • Unit Group - Remove all units of TempUnitGroup from SelectedTower[(Player number of (Owner of (Triggering unit)))]
          • Custom script: call DestroyForce (udg_TempPlayerGroup)
          • Skip remaining actions
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] Equal to 3
          • E_DarknessSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_LightSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_OrderSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
        • Then - Actions
          • Game - Display to TempPlayerGroup the text: Lenneth -- The Swor...
          • Set E_DarknessSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_LightSelected[(Player number of (Triggering player))] = 0
          • Set E_OrderSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set TempPoint = (Position of (Triggering unit))
          • Unit Group - Pick every unit in SelectedTower[(Player number of (Owner of (Triggering unit)))] and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Ether Stone (1) using The new unit's max life and mana
          • Set TempUnitGroup = (Units within 0.00 of TempPoint matching (((Matching unit) is A structure) Equal to True))
          • Unit Group - Pick every unit in TempUnitGroup and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Lenneth Esper using The new unit's max life and mana
          • Custom script: call DestroyGroup (udg_TempUnitGroup)
          • Special Effect - Create a special effect at TempPoint using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
          • Set SpecialFX = (Last created special effect)
          • Trigger - Run Special Effect Destruction <gen> (ignoring conditions)
          • Custom script: call RemoveLocation (udg_TempPoint)
          • Set E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Selection - Clear selection for (Owner of (Triggering unit))
          • Unit Group - Remove all units of TempUnitGroup from SelectedTower[(Player number of (Owner of (Triggering unit)))]
          • Custom script: call DestroyForce (udg_TempPlayerGroup)
          • Skip remaining actions
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] Equal to 5
          • E_DarknessSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_ChaosSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_AirSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_IceSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
          • E_ThunderSelected[(Player number of (Owner of (Triggering unit)))] Equal to 1
        • Then - Actions
          • Game - Display to TempPlayerGroup the text: Thánatos -- Mercil...
          • Set E_AirSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_ChaosSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_DarknessSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_ThunderSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set E_IceSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Set TempPoint = (Position of (Triggering unit))
          • Unit Group - Pick every unit in SelectedTower[(Player number of (Owner of (Triggering unit)))] and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Ether Stone (1) using The new unit's max life and mana
          • Set TempUnitGroup = (Units within 0.00 of TempPoint matching (((Matching unit) is A structure) Equal to True))
          • Unit Group - Pick every unit in TempUnitGroup and do (Actions)
            • Loop - Actions
              • Unit - Replace (Picked unit) with a Thánatos Esper using The new unit's max life and mana
          • Custom script: call DestroyGroup (udg_TempUnitGroup)
          • Special Effect - Create a special effect at TempPoint using Objects\Spawnmodels\Demon\InfernalMeteor\InfernalMeteor.mdl
          • Set SpecialFX = (Last created special effect)
          • Trigger - Run Special Effect Destruction <gen> (ignoring conditions)
          • Custom script: call RemoveLocation (udg_TempPoint)
          • Set E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] = 0
          • Selection - Clear selection for (Owner of (Triggering unit))
          • Unit Group - Remove all units of TempUnitGroup from SelectedTower[(Player number of (Owner of (Triggering unit)))]
          • Custom script: call DestroyForce (udg_TempPlayerGroup)
          • Skip remaining actions
        • Else - Actions
      • Set TempUnitGroup = (Units owned by (Owner of (Triggering unit)))
      • Unit Group - Pick every unit in SelectedTower[(Player number of (Owner of (Triggering unit)))] and do (Actions)
        • Loop - Actions
          • Unit - Set the custom value of (Picked unit) to 0
      • Unit Group - Remove all units of TempUnitGroup from SelectedTower[(Player number of (Owner of (Triggering unit)))]
      • Set E_AirSelected[(Player number of (Owner of (Triggering unit)))] = 0
      • Set E_FireSelected[(Player number of (Owner of (Triggering unit)))] = 0
      • Set E_ChaosSelected[(Player number of (Owner of (Triggering unit)))] = 0
      • Set E_TimeSelected[(Player number of (Owner of (Triggering unit)))] = 0
      • Set E_DarknessSelected[(Player number of (Owner of (Triggering unit)))] = 0
      • Set E_EarthSelected[(Player number of (Owner of (Triggering unit)))] = 0
      • Set E_OrderSelected[(Player number of (Owner of (Triggering unit)))] = 0
      • Set E_LightSelected[(Player number of (Owner of (Triggering unit)))] = 0
      • Set E_ThunderSelected[(Player number of (Owner of (Triggering unit)))] = 0
      • Set E_IceSelected[(Player number of (Owner of (Triggering unit)))] = 0
      • Set E_WaterSelected[(Player number of (Owner of (Triggering unit)))] = 0
      • Set D_AirSelected[(Player number of (Owner of (Triggering unit)))] = 0
      • Set D_EarthSelected[(Player number of (Owner of (Triggering unit)))] = 0
      • Set D_FireSelected[(Player number of (Owner of (Triggering unit)))] = 0
      • Set D_WaterSelected[(Player number of (Owner of (Triggering unit)))] = 0
      • Set E_NumTowerSelected[(Player number of (Owner of (Triggering unit)))] = 0
      • Selection - Clear selection for (Owner of (Triggering unit))
      • Game - Display to TempPlayerGroup the text: Fusion Failed.
      • Custom script: call DestroyGroup (udg_TempUnitGroup)
      • Custom script: call DestroyForce (udg_TempPlayerGroup)
 

CixxyZ

Active Member
Reaction score
7
Oh and the special effect destruction .. which i copied from a blizz map. Could it be more efficient or something?

Trigger:
  • Special Effect Destruction
    • Events
    • Conditions
    • Actions
      • Custom script: local effect tempEffect
      • Custom script: set tempEffect = udg_SpecialFX
      • Wait 5.00 game-time seconds
      • Custom script: set udg_SpecialFX = tempEffect
      • Special Effect - Destroy SpecialFX
 

ludnica

Long gone
Reaction score
61
Heh, you can try. It'll take me a while to read the whole trigger, so give it a shot.
 

Exide

I am amazingly focused right now!
Reaction score
448
I tested your map the other day. Unfortunately I couldn't find out what caused the crash..

Some of your triggers leak, though.

Your first damage display trigger has the wrong unit. (You're adding (Attacked unit) (or something similar), when you really should use (Triggering unit)).

Your Special Effect Destruction trigger should have
Trigger:
  • Custom script: set tempEffect = null

in the end.

You can change the time which corpses lay around before the unit is removed automatically, under 'Advanced -> Gameplay Constants'. (No need to use triggers.)
 

CixxyZ

Active Member
Reaction score
7
thanks that helped a lot. +rep.
if anyone else knows what could be causing them please reply.
 

Exide

I am amazingly focused right now!
Reaction score
448
thanks that helped a lot. +rep.
if anyone else knows what could be causing them please reply.

You should also double check your tower-attack triggers.
I don't think they cause the crash, but some are probably leaking.
 
General chit-chat
Help Users

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top