Crash in game

lucifekit

New Member
Reaction score
2
When people play my map they say my map often crash after 20-30 minutes,the error say There's not enough storage......

Why did it happen?Because of my computer,my trigger or whatever? Can i know why did it crash by some tool or some trick?

And i want to learn more about all thing can make my map crash,plz tell me :banghead:
 

Romek

Super Moderator
Reaction score
963
You'd close your Wc3 before it crashing itself from Memory Leaks.
It usually drops down to like 0.1 FPS before crashing.

I tried it once. :D
I thought I'd had to turn off my computer manually, but it did eventually crash.

Post any triggers that run at 20-30 minutes.
 

lucifekit

New Member
Reaction score
2
Maybe i don't have any trigger run at 20-30 minutes but my trigger is events,and it's loop when game time is 12h and 24h.And each event have about 7-10 trigger,what do you want to see?

Sorry if the spoiler code didn't work.

Trigger:
  • Event Lien Dau Begin
    • Events
      • Game - The in-game time of day becomes Equal to 23.00
    • Conditions
    • Actions
      • Trigger - Turn off (This trigger)
      • Game - Display to (All players) for 5.00 seconds the text: |cffDE8CD6Con |cffF...
      • Wait 60.00 seconds
      • Game - Display to (All players) for 5.00 seconds the text: Thoi gian lien dau ...
      • Unit - Pause all units
      • Trigger - Turn on Pause <gen>
      • Trigger - Add to Pause <gen> the event (Unit - A unit enters (Entire map))
      • Set SoPlayerTeam1 = 0
      • Set SoPlayerTeam2 = 0
      • Set GroupLD1 = (Units in (Playable map area))
      • Set GroupLD2 = (Units in (Playable map area))
      • Unit Group - Remove all units from GroupLD1
      • Unit Group - Remove all units from GroupLD2
      • For each (Integer A) from 1 to 5, do (Actions)
        • Loop - Actions
          • Set TempGroup = (Units owned by (Player((Integer A))) matching (((((Matching unit) is A Hero) Equal to True) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an ally of Player 11 (Dark Green)) Equal to True)))
          • Unit Group - Pick every unit in TempGroup and do (Actions)
            • Loop - Actions
              • Set OldLocation[(Integer A)] = (Position of (Picked unit))
              • Unit Group - Add (Picked unit) to GroupLD1
              • Unit - Make (Picked unit) Invulnerable
          • Custom script: call DestroyGroup(udg_TempGroup)
      • For each (Integer A) from 6 to 10, do (Actions)
        • Loop - Actions
          • Set TempGroup = (Units owned by (Player((Integer A))) matching (((((Matching unit) is A Hero) Equal to True) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an ally of Player 12 (Brown)) Equal to True)))
          • Unit Group - Pick every unit in TempGroup and do (Actions)
            • Loop - Actions
              • Set OldLocation[(Integer A)] = (Position of (Picked unit))
              • Unit Group - Add (Picked unit) to GroupLD2
              • Unit - Make (Picked unit) Invulnerable
          • Custom script: call DestroyGroup(udg_TempGroup)
      • Set SoPlayerTeam1 = (Number of units in GroupLD1)
      • Set SoPlayerTeam2 = (Number of units in GroupLD2)
      • Custom script: call DestroyGroup( udg_GroupLD1 )
      • Custom script: call DestroyGroup( udg_GroupLD2 )
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Or - Any (Conditions) are true
            • Conditions
              • SoPlayerTeam1 Equal to 0
              • SoPlayerTeam2 Equal to 0
        • Then - Actions
          • Wait 5.00 seconds
          • Game - Display to (All players) the text: That dang tiec vi c...
          • Wait 2.00 seconds
          • Trigger - Turn off Pause <gen>
          • Unit - Unpause all units
          • For each (Integer A) from 1 to 10, do (Actions)
            • Loop - Actions
              • Set TempGroup = (Units owned by (Player((Integer A))) matching (((Matching unit) is A Hero) Equal to True))
              • Unit Group - Pick every unit in TempGroup and do (Actions)
                • Loop - Actions
                  • Unit - Make (Picked unit) Vulnerable
              • Custom script: call DestroyGroup(udg_TempGroup)
              • Custom script: call RemoveLocation(udg_OldLocation[GetForLoopIndexA()])
        • Else - Actions
          • Wait 5.00 seconds
          • Game - Display to (All players) for 5.00 seconds the text: Du so player cho gi...
          • Sound - Play Sad Mystery
          • Wait 5.00 seconds
          • Set GroupLD1 = (Units in (Playable map area))
          • Set GroupLD2 = (Units in (Playable map area))
          • Unit Group - Remove all units from GroupLD1
          • Unit Group - Remove all units from GroupLD2
          • For each (Integer A) from 1 to 5, do (Actions)
            • Loop - Actions
              • Set TempGroup = (Units owned by (Player((Integer A))) matching (((((Matching unit) is A Hero) Equal to True) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an ally of Player 11 (Dark Green)) Equal to True)))
              • Unit Group - Pick every unit in TempGroup and do (Actions)
                • Loop - Actions
                  • Set Temp_point1 = (Random point in Team 1 Ngoi Xem <gen>)
                  • Unit - Move (Picked unit) instantly to Temp_point1
                  • Camera - Pan camera for (Owner of (Picked unit)) to Temp_point1 over 0.10 seconds
                  • Unit - Make (Picked unit) face 0.00 over 0.10 seconds
                  • Unit - Set life of (Picked unit) to 100.00%
                  • Unit - Set mana of (Picked unit) to 100.00%
                  • Unit Group - Add (Picked unit) to GroupLD1
                  • Custom script: call RemoveLocation( udg_Temp_point1 )
              • Custom script: call DestroyGroup(udg_TempGroup)
          • For each (Integer A) from 6 to 10, do (Actions)
            • Loop - Actions
              • Set TempGroup = (Units owned by (Player((Integer A))) matching (((((Matching unit) is A Hero) Equal to True) and (((Matching unit) is alive) Equal to True)) and (((Matching unit) belongs to an ally of Player 12 (Brown)) Equal to True)))
              • Unit Group - Pick every unit in TempGroup and do (Actions)
                • Loop - Actions
                  • Set Temp_point1 = (Random point in Team 2 Ngoi Xem <gen>)
                  • Unit - Move (Picked unit) instantly to Temp_point1
                  • Camera - Pan camera for (Owner of (Picked unit)) to Temp_point1 over 0.10 seconds
                  • Unit - Make (Picked unit) face 180.00 over 0.10 seconds
                  • Unit - Set life of (Picked unit) to 100.00%
                  • Unit - Set mana of (Picked unit) to 100.00%
                  • Unit Group - Add (Picked unit) to GroupLD2
                  • Custom script: call RemoveLocation( udg_Temp_point1 )
              • Custom script: call DestroyGroup(udg_TempGroup)
          • Game - Display to (All players) for 5.00 seconds the text: He thong dang chon ...
          • Set SoPlayerTeam1 = (Number of units in GroupLD1)
          • Set SoPlayerTeam2 = (Number of units in GroupLD2)
          • If (SoPlayerTeam1 Less than or equal to SoPlayerTeam2) then do (Set SoPlayerLD = SoPlayerTeam1) else do (Set SoPlayerLD = SoPlayerTeam2)
          • Set SoNguoiDangLD1 = 0
          • Set SoNguoiDangLD2 = 0
          • For each (Integer A) from 1 to SoPlayerLD, do (Actions)
            • Loop - Actions
              • Set UnitLD1 = (Random unit from GroupLD1)
              • Set UnitLD2 = (Random unit from GroupLD2)
              • Set Temp_point1 = (Center of Team 1 Lien Dau <gen>)
              • Unit - Move UnitLD1 instantly to Temp_point1
              • Unit - Unpause UnitLD1
              • Unit Group - Remove UnitLD1 from GroupLD1
              • Set SoNguoiDangLD1 = (SoNguoiDangLD1 + 1)
              • Camera - Pan camera for (Owner of UnitLD1) to Temp_point1 over 0.10 seconds
              • Custom script: call RemoveLocation( udg_Temp_point1 )
              • Set Temp_point1 = (Center of Team 2 Lien Dau <gen>)
              • Unit - Move UnitLD2 instantly to Temp_point1
              • Unit - Unpause UnitLD2
              • Set SoNguoiDangLD2 = (SoNguoiDangLD2 + 1)
              • Unit Group - Remove UnitLD2 from GroupLD2
              • Camera - Pan camera for (Owner of UnitLD2) to Temp_point1 over 0.10 seconds
              • Custom script: call RemoveLocation( udg_Temp_point1 )
          • Game - Display to (All players) for 5.00 seconds the text: Da chon dc nhung kh...
          • Game - Display to (All players) the text: 5 !
          • Wait 1.00 seconds
          • Game - Display to (All players) the text: 4 !
          • Wait 1.00 seconds
          • Game - Display to (All players) the text: 3 !
          • Wait 1.00 seconds
          • Game - Display to (All players) the text: 2 !
          • Wait 1.00 seconds
          • Game - Display to (All players) the text: 1 !
          • Wait 1.00 seconds
          • Game - Display to (All players) for 5.00 seconds the text: DZOOOOOOOOOO!!!!
          • Set TempGroup = (Units in Khu Vuc Lien Dau <gen>)
          • Unit Group - Pick every unit in TempGroup and do (Actions)
            • Loop - Actions
              • Unit - Make (Picked unit) Vulnerable
              • Set TempLoc = (Center of Khu Vuc Lien Dau <gen>)
              • Unit - Order (Picked unit) to Attack-Move To TempLoc
              • Custom script: call RemoveLocation(udg_TempLoc)
          • Custom script: call DestroyGroup(udg_TempGroup)
          • Custom script: call DestroyGroup( udg_GroupLD1 )
          • Custom script: call DestroyGroup( udg_GroupLD2 )
          • Trigger - Turn off Pause <gen>
          • Trigger - Turn on Player Die <gen>
          • Trigger - Turn on Player Leave LD area <gen>
          • Trigger - Turn on Event Lien Dau End <gen>

Trigger:
  • Event Bat dau
    • Events
      • Game - The in-game time of day becomes Equal to 12.00
    • Conditions
    • Actions
      • Game - Display to (All players) the text: |cffFFAD31Chien tru...
      • Set TK_Dangthidau = True
      • Countdown Timer - Start TK_Timer as a One-shot timer that will expire in 600.00 seconds
      • Countdown Timer - Create a timer window for (Last started timer) with title TONG KIM
      • Set TK_TimerWindow = (Last created timer window)
      • Countdown Timer - Change the color of the title for TK_TimerWindow to (0.00%, 100.00%, 100.00%) with 0.00% transparency
      • Countdown Timer - Change the color of the time for TK_TimerWindow to (100.00%, 0.00%, 100.00%) with 0.00% transparency
      • -------- Summon Boss --------
      • Set TempLoc = (Center of Boss Kim Quoc <gen>)
      • Unit - Create 1 TK_BOSS_KIM for Player 12 (Brown) at TempLoc facing 270.00 degrees
      • Set TK_DaiTuongKim = (Last created unit)
      • Custom script: call RemoveLocation(udg_TempLoc)
      • Set TempLoc = (Center of Boss Dai Tong <gen>)
      • Unit - Create 1 TK_BOSS_TONG for Player 11 (Dark Green) at TempLoc facing 90.00 degrees
      • Set TK_DaiTuongTong = (Last created unit)
      • Custom script: call RemoveLocation(udg_TempLoc)
      • -------- Trigger --------
      • Trigger - Run Event Spawn Mobs <gen> (ignoring conditions)
      • Trigger - Turn on Event End Tong Thang <gen>
      • Trigger - Turn on Event End Kim Thang <gen>
      • Trigger - Turn on Event End Hoa <gen>
      • Trigger - Turn on Event Trigger Spawn Mobs <gen>


Memory leak... i've clean many leak,but i don't know where's the leak i didn't clean ... If when my game crash it's show what leak cause the crash so it's so gooooood :D(When i alt tab my war3.exe used more than 250 mb ram:()

Ag,my map use the show damage + exp system that's show the different life of any unit every 0,5s,and my map uses the event unit takes damage (does them leak?)

Trigger:
  • Set Value in the Map initialization
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set MaxCustomValue = 1
      • Set TempGroup = (Units in (Playable map area) matching ((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)))
      • Unit Group - Pick every unit in TempGroup and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Unit-type of (Picked unit)) is Summoned) Equal to False
            • Then - Actions
              • Unit - Set the custom value of (Picked unit) to MaxCustomValue
              • Set OldLife[(Custom value of (Picked unit))] = (Life of (Picked unit))
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • ((Picked unit) is A Hero) Equal to True
                • Then - Actions
                  • Set OldExp[(Custom value of (Picked unit))] = (Hero experience of (Picked unit))
                • Else - Actions
              • Set MaxCustomValue = (MaxCustomValue + 1)
            • Else - Actions
      • Custom script: call DestroyGroup(udg_TempGroup)

Trigger:
  • Set Value to any new unit
    • Events
      • Unit - A unit enters (Entire map)
    • Conditions
      • ((Unit-type of (Triggering unit)) is Summoned) Equal to False
      • (Custom value of (Triggering unit)) Equal to 0
      • ((Triggering unit) is A structure) Equal to False
    • Actions
      • For each (Integer A) from 1 to MaxCustomValue, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • OldLife[(Integer A)] Equal to 0.00
            • Then - Actions
              • Unit - Set the custom value of (Triggering unit) to (Integer A)
              • Set OldLife[(Custom value of (Triggering unit))] = (Life of (Triggering unit))
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • ((Triggering unit) is A Hero) Equal to True
                • Then - Actions
                  • Set OldExp[(Custom value of (Triggering unit))] = (Hero experience of (Triggering unit))
                • Else - Actions
            • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Custom value of (Triggering unit)) Equal to MaxCustomValue
        • Then - Actions
          • Set MaxCustomValue = (MaxCustomValue + 1)
        • Else - Actions

Trigger:
  • Update Life every half second
    • Events
      • Time - Every 0.50 seconds of game time
    • Conditions
    • Actions
      • Set TempGroup = (Units in (Playable map area) matching ((((Matching unit) is alive) Equal to True) and (((Unit-type of (Matching unit)) is Summoned) Equal to False)))
      • Unit Group - Pick every unit in TempGroup and do (Actions)
        • Loop - Actions
          • Set NewLife[(Custom value of (Picked unit))] = (Life of (Picked unit))
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) is A Hero) Equal to True
            • Then - Actions
              • Set NewExp[(Custom value of (Picked unit))] = (Hero experience of (Picked unit))
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • NewExp[(Custom value of (Picked unit))] Less than OldExp[(Custom value of (Picked unit))]
                • Then - Actions
                  • Set TempLocation[1] = (Position of (Picked unit))
                  • Set TempLocation[2] = (TempLocation[1] offset by 50.00 towards 315.00 degrees)
                  • Set TempInt = (OldExp[(Custom value of (Picked unit))] - NewExp[(Custom value of (Picked unit))])
                  • Floating Text - Create floating text that reads ( - + (String(TempInt))) at TempLocation[2] with Z offset 0.00, using font size 10.00, color (100.00%, 0.00%, 100.00%), and 0.00% transparency
                  • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 45.00 degrees
                  • Floating Text - Change (Last created floating text): Disable permanence
                  • Floating Text - Change the lifespan of (Last created floating text) to 1.00 seconds
                  • Custom script: call RemoveLocation(udg_TempLocation[1])
                  • Custom script: call RemoveLocation(udg_TempLocation[2])
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • NewExp[(Custom value of (Picked unit))] Greater than OldExp[(Custom value of (Picked unit))]
                    • Then - Actions
                      • Set TempLocation[1] = (Position of (Picked unit))
                      • Set TempLocation[2] = (TempLocation[1] offset by 50.00 towards 315.00 degrees)
                      • Set TempInt = (NewExp[(Custom value of (Picked unit))] - OldExp[(Custom value of (Picked unit))])
                      • Floating Text - Create floating text that reads ( + + (String(TempInt))) at TempLocation[2] with Z offset 0.00, using font size 10.00, color (100.00%, 0.00%, 100.00%), and 0.00% transparency
                      • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 45.00 degrees
                      • Floating Text - Change (Last created floating text): Disable permanence
                      • Floating Text - Change the lifespan of (Last created floating text) to 1.00 seconds
                      • Custom script: call RemoveLocation(udg_TempLocation[1])
                      • Custom script: call RemoveLocation(udg_TempLocation[2])
                    • Else - Actions
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • NewLife[(Custom value of (Picked unit))] Less than OldLife[(Custom value of (Picked unit))]
            • Then - Actions
              • Set TempLocation[1] = (Position of (Picked unit))
              • Set TempLocation[2] = (TempLocation[1] offset by 50.00 towards 315.00 degrees)
              • Set TempInt = (Integer((OldLife[(Custom value of (Picked unit))] - NewLife[(Custom value of (Picked unit))])))
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (TempInt Greater than 1) and (TempInt Less than 49000)
                • Then - Actions
                  • Floating Text - Create floating text that reads ( - + (String(TempInt))) at TempLocation[2] with Z offset 0.00, using font size 10.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
                  • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 45.00 degrees
                  • Floating Text - Change (Last created floating text): Disable permanence
                  • Floating Text - Change the lifespan of (Last created floating text) to 1.00 seconds
                • Else - Actions
              • Custom script: call RemoveLocation(udg_TempLocation[1])
              • Custom script: call RemoveLocation(udg_TempLocation[2])
            • Else - Actions
          • Set OldLife[(Custom value of (Picked unit))] = (Life of (Picked unit))
          • Set OldExp[(Custom value of (Picked unit))] = (Hero experience of (Picked unit))
      • Custom script: call DestroyGroup(udg_TempGroup)
 

lucifekit

New Member
Reaction score
2
36488837.jpg


When my map crash,it's show that message.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top