• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Map Crashes

Status
Not open for further replies.
Level 11
Joined
Aug 16, 2007
Messages
847
Yes I have searched the forums first, anyways for some reason which i have no idea I con't pay the map I'm working on in wc3.

Works fine in WE but when I'm playing wc3 it only loads about half way and then it freezes. I have absolutely no idea why this is.


So I was wondering if anyone could list me a few common causes for this sort of thing so I can check them out :)

naturally I'll rep you
 
Level 3
Joined
Dec 18, 2008
Messages
36
Check all the triggers that may be accessed on start-up. (i.e. the map initialization event trigger)

Make sure there are no unchecked actions like setvariable x=last created item.

(Last created item) doesn't exist yet so it cant store it. I've solved a similar problem by making sure that statements like those are inside if statements.
 
Level 11
Joined
Aug 16, 2007
Messages
847
Okay after some further failed attempts to fix the problem I have found that it will load completely but then once the game starts it crashes (freezes)

@scorpion

example?

@Edgecrusher

This is the Initialization Trigger, I don't think there is anything like that here
  • Initialization
    • Events
      • Time - Elapsed game time is 0.01 seconds
    • Conditions
    • Actions
      • Unit - Order Guard 0035 <gen> to Patrol To (Center of Patrol <gen>)
      • Player Group - Pick every player in (All players) and do (Visibility - Create an initially Disabled visibility modifier for (Picked player) emitting Visibility across Arena <gen>)
      • Dialog - Clear Discard_Dialog
      • Dialog - Create a dialog button for Discard_Dialog labelled Discard Skill
      • Set Discard = (Last created dialog Button)
      • Set Flame_Magics[1] = Earthquake <gen>
      • Set Terrain_Generation[1] = Terrain Generation 1 <gen>
      • Set Terrain_Generation[2] = Terrain Generation 2 <gen>
      • Set Terrain_Generation[3] = Terrain Generation 3 <gen>
      • Set Terrain_Generation[4] = Terrain Generation 4 <gen>
      • Set Terrain_Generation[5] = Terrain Generation 5 <gen>
      • Set Terrain_Generation[6] = Terrain Generation 6 <gen>
      • Set Terrain_Generation[7] = Terrain Generation 7 <gen>
      • Set Terrain_Generation[8] = Terrain Generation 8 <gen>
      • Set Terrain_Generation[9] = Terrain Generation 9 <gen>
      • Set Terrain_Generation[10] = Terrain Generation 10 <gen>
      • Set Terrain_Generation[11] = Terrain Generation 11 <gen>
      • Set Terrain_Generation[12] = Terrain Generation 12 <gen>
      • Set Flame_Mastery[1] = Breath of Fire (Fire) +
      • Set Flame_Mastery[2] = Firestorm (Fire) +
      • Set Flame_Mastery[3] = Immolation (Fire) +
      • Set Flame_Mastery[4] = Incinerate (Fire) +
      • Set Flame_Mastery[5] = Summon Lava Swarm (Fire) ((+))
      • Set Flame_Mastery[6] = Torrent of Flames (Fire) +
      • Set Agility[1] = 3
      • Set Agility[2] = 1
      • Set Agility[3] = 4
      • Set Agility[4] = 2
      • Set Agility[5] = 1
      • Set Agility[6] = 3
      • Set Dexerity[1] = 1
      • Set Dexerity[2] = 1
      • Set Dexerity[3] = 3
      • Set Dexerity[4] = 4
      • Set Dexerity[5] = 2
      • Set Dexerity[6] = 2
      • Set Endurance[1] = 3
      • Set Endurance[2] = 4
      • Set Endurance[3] = 2
      • Set Endurance[4] = 2
      • Set Endurance[5] = 2
      • Set Endurance[6] = 1
      • Set Intellect[1] = 1
      • Set Intellect[2] = 4
      • Set Intellect[3] = 1
      • Set Intellect[4] = 3
      • Set Intellect[5] = 5
      • Set Intellect[6] = 4
      • Set Strength[1] = 4
      • Set Strength[2] = 2
      • Set Strength[3] = 2
      • Set Strength[4] = 1
      • Set Strength[5] = 2
      • Set Strength[6] = 2
      • Player Group - Pick every player in (All players) and do (Actions)
        • Loop - Actions
          • Selection - Select Portal 0033 <gen> for (Picked player)
          • Player - Make (Picked player) treat Neutral Passive as an Ally with shared vision
          • Player - Make Neutral Passive treat (Player((Integer A))) as an Ally with shared vision
          • For each (Integer A) from 1 to 12, do (Actions)
            • Loop - Actions
              • Player - Make (Picked player) treat (Player((Integer A))) as an Ally with shared vision
      • Game - Hide creep camps on the minimap
      • Game - Set Lock alliance settings to On
      • Set Shop_Sound[1] = TaramAcknowledgement <gen>
      • Set Shop_Sound[2] = GateKeeperAcknowledgement <gen>
@deathsin

Initialize Variables? That sounds more like JASS to me, which reminds me I forgot to mention the map only contains GUI at the moment
 
Level 12
Joined
Apr 15, 2008
Messages
1,063
  • Player - Make Neutral Passive treat (Player((Integer A))) as an Ally with shared vision
I believe there should be (Picked Player). You can remove this action completely, because neutral passive treats everyone as ally by default, and won't use the shared vision, because he(or it?) is passive.

If you want all players to be in one team, simply put them into one Force (in Scenario - Forces), make it allied and check "lock force setting" (or something simmilar), you don't have to use this loop.
 
Level 11
Joined
Aug 16, 2007
Messages
847
I removed it and it worked :smile: thanks +rep


However now that I can finally test it I've discovered another Map Crashing problem

here is the involved trigger:
  • Shop Use
    • 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
      • Player - Player 9 (Gray) Selects a unit
      • Player - Player 10 (Light Blue) Selects a unit
      • Player - Player 11 (Dark Green) Selects a unit
      • Player - Player 12 (Brown) Selects a unit
    • Conditions
      • And - All (Conditions) are true
        • Conditions
          • ((Triggering unit) is in (Units owned by Neutral Passive matching ((Level of Leave for (Triggering unit)) Equal to 1))) Equal to True
          • (Heroes[(Player number of (Triggering player))] is in (Units within 192.00 of (Position of (Triggering unit)))) Equal to True
    • Actions
      • Player Group - Add (Triggering player) to AntiDeselectors
      • Set AntiDeselect_Unit[(Player number of (Triggering player))] = (Triggering unit)
      • Unit - Order Heroes[(Player number of (Triggering player))] to Stop
      • Selection - Select (Triggering unit) for (Triggering player)
      • Camera - Set (Triggering player)'s camera Distance to target to 350.00 over 2.00 seconds
      • Camera - Set (Triggering player)'s camera Angle of attack to 345.00 over 2.00 seconds
      • Camera - Set (Triggering player)'s camera Height Offset to 100.00 over 2.00 seconds
      • Camera - Set (Triggering player)'s camera Far Z to 5000.00 over 2.00 seconds
      • Camera - Set (Triggering player)'s camera Rotation to (Facing of (Triggering unit)) over 2.00 seconds
      • Sound - Play Shop_Sound[(Point-value of (Triggering unit))] at 100.00% volume, attached to (Triggering unit)
      • Wait 2.00 seconds
      • Camera - Lock camera target for (Triggering player) to (Triggering unit), offset by (0.00, 0.00) using The unit's rotation
      • Unit - Change ownership of (Triggering unit) to (Triggering player) and Retain color
Every time I activate this trigger it freezes about half way through the part where it changes the camera options, any ideas? :sad:
 
Level 12
Joined
Apr 15, 2008
Messages
1,063
1. (Triggering unit) won't propably work for this event - use (Random unit from (units selected by (triggering player) )
2. condition leaks - either fix that or disable this trigger after all players pick their heroes (the few leaks on beginning won't hurt anyone, but leaks whenever player picks unit, that can be an issue)
3.
  • Selection - Select (Triggering unit) for (Triggering player)
- infinite loop (will run this trigger again). Besides, it doesn't make sence to select already selected unit
5. set all the camera fields after you locked it
6. add Wait on beginning, game will need to synchronise player selections

some of these steps may not be necessary(especially step 5), but I recommend using all of them
 
Level 11
Joined
Aug 16, 2007
Messages
847
1. But then what if they drag a box selection?
2. What condition leaks?
3. True, I'll remove that
5. k
6. Whose to say that they are all selecting it at the same time?

This trigger is not really related to the initialization trigger, its not for picking heroes it for entering a shop where you can buy skills and attributes
 
Level 12
Joined
Apr 15, 2008
Messages
1,063
1. Then just use "Pick units in"... and test if at least one of them fits the condition
2.
  • Units within 192.00 of (Position of (Triggering unit))))
- leak 2 times, when creating new Unit Group and Point, which both leak
6. it's not synchronisation between players, their selections are irrelevant to each other, but synchronisation between server and client, "Units selected by player" may return different units for server when used too soon after the unit is selected (but since you use "Selects a unit" as event, maybe I was wrong), causing desynchonisation and kicking all players

For some reason, I left out 4:grin:
 
Level 11
Joined
Aug 16, 2007
Messages
847
k I used 3 and 5 and it was fixed :) thanks :) I'd rep you again but it wont let me.

I've discovered even more very very odd problems like your unit dies when you learn an ability and then when you come back (via a triggered revive) you have really really slow move speed.

I don't expect you to keep helping me as I'm sure you have other things to do, but hopefully some one will :smile:

anyways here's the trigger and as far as I can tell there is absolutely nothing in here which should make the unit die, let alone have reduced move speed afterwards.

I added some comments in square brackets to help clarify
  • Learn Ability
    • Events
      • Unit - A unit [The Shop] Begins casting an ability
      • Unit - A unit [The Shop] Sells a unit
    • Conditions
      • Or - Any (Conditions) are true
        • Conditions
          • (Unit-type of (Sold unit)) Equal to Immolation
          • (Ability being cast) Equal to Breath of Fire [Channel-based Dummy Ability]
          • (Ability being cast) Equal to Immolation [Channel-based Dummy Ability]
          • (Ability being cast) Equal to Incinerate [Channel-based Dummy Ability]
          • (Ability being cast) Equal to Lava Swarm [Channel-based Dummy Ability]
          • (Ability being cast) Equal to Torrent of Flames [Channel-based Dummy Ability]
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Owner of (Casting unit)) Food used) Less than ((Owner of (Casting unit)) Food cap)
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)"]If - Conditions
            • (Ability being cast) Equal to Breath of Fire
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Level of Breath of Fire (Fire) + for Heroes[(Player number of (Owner of (Casting unit)))]) Not equal to 0
                • Then - Actions
                  • Game - Display to (Player group((Owner of (Casting unit)))) the text: You have already le...
                • Else - Actions
                  • Unit - Add Breath of Fire (Fire) + to Heroes[(Player number of (Owner of (Casting unit)))]
                  • Player - Add 1 to (Owner of (Casting unit)) Food used
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Ability being cast) Equal to Immolation
                  • (Unit-type of (Sold unit)) Equal to Immolation
                • Then - Actions
                  • Unit - Remove (Sold unit) from the game
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Level of Immolation (Fire) + for Heroes[(Player number of (Owner of (Casting unit)))]) Not equal to 0
                    • Then - Actions
                      • Game - Display to (Player group((Owner of (Casting unit)))) the text: You have already le...
                    • Else - Actions
                      • Unit - Add Immolation (Fire) + to Heroes[(Player number of (Owner of (Casting unit)))]
                      • Player - Add 1 to (Owner of (Casting unit)) Food used
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Ability being cast) Equal to Incinerate
                    • Then - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Level of Incinerate (Fire) + for Heroes[(Player number of (Owner of (Casting unit)))]) Not equal to 0
                        • Then - Actions
                          • Game - Display to (Player group((Owner of (Casting unit)))) the text: You have already le...
                        • Else - Actions
                          • Unit - Add Incinerate (Fire) + to Heroes[(Player number of (Owner of (Casting unit)))]
                          • Player - Add 1 to (Owner of (Casting unit)) Food used
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Ability being cast) Equal to Lava Swarm
                        • Then - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • (Level of Summon Lava Swarm (Fire) ((+)) for Heroes[(Player number of (Owner of (Casting unit)))]) Not equal to 0
                            • Then - Actions
                              • Game - Display to (Player group((Owner of (Casting unit)))) the text: You have already le...
                            • Else - Actions
                              • Unit - Add Summon Lava Swarm (Fire) ((+)) to Heroes[(Player number of (Owner of (Casting unit)))]
                              • Player - Add 1 to (Owner of (Casting unit)) Food used
                        • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • (Ability being cast) Equal to Torrent of Flames
                            • Then - Actions
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • (Level of Torrent of Flames (Fire) + for Heroes[(Player number of (Owner of (Casting unit)))]) Not equal to 0
                                • Then - Actions
                                  • Game - Display to (Player group((Owner of (Casting unit)))) the text: You have already le...
                                • Else - Actions
                                  • Unit - Add Torrent of Flames (Fire) + to Heroes[(Player number of (Owner of (Casting unit)))]
                                  • Player - Add 1 to (Owner of (Casting unit)) Food used
                            • Else - Actions
        • Else - Actions
          • Game - Display to (Player group((Owner of (Casting unit)))) the text: You do not have eno...
Also the unit sold condition and related actions are not work for some reason (meaning when you buy the unit nothing happens), but dont worry about that.


EDIT: Okay i tested a bit more and this time the hero didn't die, but the move speed still became slow, so obviously the revive is not the problem here
 
Last edited:
Level 12
Joined
Apr 15, 2008
Messages
1,063
About the selling problem:
  • Condition
    • (Ability being cast) Equal to Immolation
    • (Unit-type of (Sold unit)) Equal to Immolation
There should be OR, because only one of these conditions can be TRUE
Maybe you should split this IF for selling and casting, because (Owner of (Casting Unit)) won't work for the selling part

About the slowing problem, I don't see anything in the trigger, maybe some of the abilities cause that. Try adding them by another trigger ( something like "add incenerate, wait 5 second, add lava spawn, wait...), if the same problem occurs
 
Level 11
Joined
Aug 16, 2007
Messages
847
except the Channel-based Dummy Abilities those abilities are just based off of the originals but they go up to level 20 and the stats are altered (no there are no negatives)

The selling one was just an alternate way for me to do it that I was trying out I'll move it into a separate trigger and see if that fixes any problems


EDIT: Didn't do anything :(
EDIT2: I redid the trigger using the selling of a dummy unit instead and the hero still ends up with reduced movement. So I'm going to go over some of the abilities and see what the problem might be.
 
Level 3
Joined
Dec 1, 2008
Messages
21
Same thing happened to me, i made a standard map, but then it started lagging like crazying not everything loaded, and it just shut off and closed, SO i found the problem, in my map, i had a lot of units or HOSTILE UNITS ON the map already there, so i removed most of them, but kept a fair amount, now it reduced the lag but it still started gradually freezing and shutting down again so i saved the map, re-opened its. closed it and re-opened it again, aftter playing a little after, i noticed that there was some Triggers that LEAKED and i re-did the trigger(s) and guess what no more lag, a little choppy later on but that normal, annndd it did not crash! But it could also be a memory leak in the map ( Most common cause from what has been told to me) anyway GOOD LUCK!


-Absense
 
Status
Not open for further replies.
Top