HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Causes of WC3 Crashes?

06-13-2008, 04:14 AM#1
ShadowWolf
So I decided to pick up mapmaking again, and during the testing of the project I'm currently working on, wc3 will randomly close. No error message. Just close. I've encountered this before in previous maps, and it was because of infinite loops inside triggers, but I've scanned all my triggers for loops and there shouldn't be any as far as I can see. It happens at random times, and I think it's because of a certain hero that has heavily triggered skills. Anyways I haven't been able to pinpoint the location of the problem in the midst of the triggers and I'm not going to post 10 different triggers, so my question is...

What are all the various possible causes for a map to close WC3 without an error message?

I know infinite loops is one, I just want to know if there are any other reasons. Thanks
06-13-2008, 10:03 AM#2
MercyfulJester
Having Burrow ability on a unit but not on its "Dependency Equivalent".
06-13-2008, 06:23 PM#3
ShadowWolf
That's not it =/

I think I've narrowed it down to these three triggers. Btw, I am using WEU, so would that be a possibility?

Trigger:
Fire Element Spawn
Events
Conditions
Collapse Actions
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse If - Conditions
(Number of units in ug_ElementFire[int_temp]) Equal to 3
Collapse Then - Actions
Set int_ElementChance[int_temp] = (Random integer number between 2 and 3)
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse If - Conditions
int_ElementChance[int_temp] Equal to 2
Collapse Then - Actions
Trigger - Run Ice Element Spawn <gen> (checking conditions)
Collapse Else - Actions
Trigger - Run Lit Element Spawn <gen> (checking conditions)
Collapse Else - Actions
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse If - Conditions
(Number of units in ug_ElementFire[int_temp]) Equal to 0
Collapse Then - Actions
Unit - Add Fire Element Bonus to unit_temp
Collapse Else - Actions
Unit - Increase level of Fire Element Bonus for unit_temp
Unit - Create 1 Fire Element for (Player(int_temp)) at (Position of unit_temp) facing Default building facing (270.0) degrees
Unit - Order (Last created unit) to Follow unit_temp
Unit Group - Add (Last created unit) to ug_ElementFire[int_temp]
Advanced - Create at Attach Point - Overhead of unit_temp the Abilities\Spells\Human\Flare\FlareCaster.mdl effect lasting 1.00 seconds
Trigger:
Ice Element Spawn
Events
Conditions
Collapse Actions
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse If - Conditions
(Number of units in ug_ElementIce[int_temp]) Equal to 3
Collapse Then - Actions
Set int_ElementChance[int_temp] = (Random integer number between 1 and 3)
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse If - Conditions
int_ElementChance[int_temp] Equal to 1
Collapse Then - Actions
Trigger - Run Fire Element Spawn <gen> (checking conditions)
Collapse Else - Actions
Trigger - Run Lit Element Spawn <gen> (checking conditions)
Collapse Else - Actions
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse If - Conditions
(Number of units in ug_ElementIce[int_temp]) Equal to 0
Collapse Then - Actions
Unit - Add Ice Element Bonus to unit_temp
Collapse Else - Actions
Unit - Increase level of Ice Element Bonus for unit_temp
Unit - Create 1 Ice Element for (Player(int_temp)) at (Position of unit_temp) facing Default building facing (270.0) degrees
Unit - Order (Last created unit) to Follow unit_temp
Unit Group - Add (Last created unit) to ug_ElementIce[int_temp]
Advanced - Create at Attach Point - Overhead of unit_temp the Abilities\Spells\Human\Blizzard\BlizzardTarget.mdl effect lasting 1.00 seconds
Trigger:
Lit Element Spawn
Events
Conditions
Collapse Actions
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse If - Conditions
(Number of units in ug_ElementLightning[int_temp]) Equal to 3
Collapse Then - Actions
Set int_ElementChance[int_temp] = (Random integer number between 1 and 2)
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse If - Conditions
int_ElementChance[int_temp] Equal to 1
Collapse Then - Actions
Trigger - Run Fire Element Spawn <gen> (checking conditions)
Collapse Else - Actions
Trigger - Run Ice Element Spawn <gen> (checking conditions)
Collapse Else - Actions
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse If - Conditions
(Number of units in ug_ElementLightning[int_temp]) Equal to 0
Collapse Then - Actions
Unit - Add Lightning Element Bonus to unit_temp
Collapse Else - Actions
Unit - Increase level of Lightning Element Bonus for unit_temp
Unit - Create 1 Lightning Element for (Player(int_temp)) at (Position of unit_temp) facing Default building facing (270.0) degrees
Unit - Order (Last created unit) to Follow unit_temp
Unit Group - Add (Last created unit) to ug_ElementLightning[int_temp]
Advanced - Create at Attach Point - Overhead of unit_temp the Doodads\Cinematic\Lightningbolt\Lightningbolt.mdl effect lasting 1.00 seconds
06-13-2008, 06:25 PM#4
ShadowWolf
Those three triggers aren't initially on, but are called by either of these two triggers.

Trigger:
Spawn Element Attack
Collapse Events
Unit - A unit Is attacked
Collapse Conditions
(Unit-type of (Attacking unit)) Equal to Arcane Warrior
Collapse Or - Any (Conditions) are true
Collapse Conditions
(Number of units in ug_ElementIce[int_temp]) Less than 3
(Number of units in ug_ElementFire[int_temp]) Less than 3
(Number of units in ug_ElementLightning[int_temp]) Less than 3
Collapse Actions
Set unit_temp = (Attacking unit)
Set int_temp = (Player number of (Owner of unit_temp))
Set int_ElementChance[int_temp] = (Random integer number between 1 and 100)
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse If - Conditions
int_ElementChance[int_temp] Less than or equal to 7
Collapse Then - Actions
Set int_ElementChance[int_temp] = (Random integer number between 1 and 3)
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse If - Conditions
int_ElementChance[int_temp] Equal to 1
Collapse Then - Actions
Trigger - Run Fire Element Spawn <gen> (checking conditions)
Collapse Else - Actions
Do nothing
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse If - Conditions
int_ElementChance[int_temp] Equal to 2
Collapse Then - Actions
Trigger - Run Ice Element Spawn <gen> (checking conditions)
Collapse Else - Actions
Do nothing
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse If - Conditions
int_ElementChance[int_temp] Equal to 3
Collapse Then - Actions
Trigger - Run Lit Element Spawn <gen> (checking conditions)
Collapse Else - Actions
Do nothing
Collapse Else - Actions
Do nothing

Trigger:
Call Element
Collapse Events
Unit - A unit Starts the effect of an ability
Collapse Conditions
(Ability being cast) Equal to Call Element
Collapse Or - Any (Conditions) are true
Collapse Conditions
(Number of units in ug_ElementIce[int_temp]) Less than 3
(Number of units in ug_ElementFire[int_temp]) Less than 3
(Number of units in ug_ElementLightning[int_temp]) Less than 3
Collapse Actions
Set int_temp = (Player number of (Owner of (Casting unit)))
Set unit_temp = (Casting unit)
Set int_ElementChance[int_temp] = (Random integer number between 1 and 3)
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse If - Conditions
int_ElementChance[int_temp] Equal to 1
Collapse Then - Actions
Trigger - Run Fire Element Spawn <gen> (checking conditions)
Collapse Else - Actions
Do nothing
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse If - Conditions
int_ElementChance[int_temp] Equal to 2
Collapse Then - Actions
Trigger - Run Ice Element Spawn <gen> (checking conditions)
Collapse Else - Actions
Do nothing
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse If - Conditions
int_ElementChance[int_temp] Equal to 3
Collapse Then - Actions
Trigger - Run Lit Element Spawn <gen> (checking conditions)
Collapse Else - Actions
Do nothing
06-14-2008, 08:23 PM#5
Pyrogasm
Well, my best guess is an infinite loop somewhere, but I can't see it whilst glancing over your code.