• 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.

[Melee] Warcraft crashes and error - screenshot included

Status
Not open for further replies.
Level 3
Joined
Aug 22, 2015
Messages
42
Hi,

Sometimes while playing a custom default map (default melee map with custom changes using the editor) for a long time it crashes randomly and gives an error. As I don't play default maps anymore I can't tell if it's because the map is not supporting something in particular after some long time of play. So if anyone has an idea why this happens I'll appreciate a fix.
Thank you.
 

Attachments

  • Untitled.jpg
    Untitled.jpg
    66.7 KB · Views: 205
Level 6
Joined
Jul 2, 2013
Messages
156
With the amount of information you're giving us, it's impossible to tell. What is this custom map? Are there triggers in it ? What are you doing when the map crashes, casting a particular spell or ?
 
Level 3
Joined
Aug 22, 2015
Messages
42
The map is basically any default map, for example, divide and conquer. Yes there are triggers and they are well tested and not much doing in the map but playing against the AI, conquering bases, etc... last week I was afk for a few minutes and it happened. Also happened in footmen frenzy 9.4, I play that version.
 
Level 12
Joined
Nov 29, 2010
Messages
776
I used to encounter crashes like this back when DotA (1) was still around. Yeah like playing it too much makes your game crash. Im guessing it has somethimg to do with the game's compatibility with your PC? Or the game's version you're playing on? Im not quite sure but that's just me offering my two cents.
 
Level 3
Joined
Aug 22, 2015
Messages
42
Ok, these are the triggers in the map. Thanks for the link KILLCIDE.
They are by order. I included a screenshot as well.

  • Resurrect trees
    • Events
      • Destructible - A destructible within Region 000 <gen> dies
    • Conditions
    • Actions
      • Destructible - Resurrect (Dying destructible) with (Max life of (Dying destructible)) life and Hide birth animation
      • Wait 5.00 seconds
  • Melee Initialization
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Melee Game - Use melee time of day (for all players)
      • Melee Game - Limit Heroes to 1 per Hero-type (for all players)
      • Melee Game - Give trained Heroes a Scroll of Town Portal (for all players)
      • Melee Game - Set starting resources (for all players)
      • Melee Game - Remove creeps and critters from used start locations (for all players)
      • Melee Game - Create starting units (for all players)
      • Melee Game - Run melee AI scripts (for computer players)
      • Melee Game - Enforce victory/defeat conditions (for all players)
  • Arctic Blast Config
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • -------- The ID of Main Abillity, in this case: "Arctic Blast" --------
      • Set ArcticBlast = Arctic Blast
      • -------- The ID of Arctic Blast's Slow --------
      • Set ArcticBlastSlow = Arctic Blast Slow
      • -------- The Effect upon being damaged by Arctic Blast --------
      • Set ArcticBlastDamageEffect = Abilities\Spells\Undead\FrostNova\FrostNovaTarget.mdl
      • -------- The Effect Attachment --------
      • Set ArcticBlastDamageAttach = origin
      • -------- Arctic Blast's Attack Type --------
      • Set ArcticBlastAttackType = Spells
      • -------- Arctic Blast's Damage Type --------
      • Set ArcticBlastDamageType = Universal
      • -------- The ID of Visual Dummy, which means "spreading out effect" --------
      • Set ArcticBlastVisualDummy = Arctic Blast Dummy
      • -------- The Amount of "Visual Dummy" will be created upon casting Arctic Blast --------
      • Set ArcticBlastEffectAmount[1] = 36
      • Set ArcticBlastEffectAmount[2] = 18
      • Set ArcticBlastEffectAmount[3] = 27
      • Set ArcticBlastEffectAmount[4] = 36
      • -------- The ID of Caster Dummy --------
      • Set ArcticBlastDummy = Dummy
      • -------- Arctic Blast's Damage --------
      • Set ArcticBlastDamage[1] = 200.00
      • Set ArcticBlastDamage[2] = 200.00
      • Set ArcticBlastDamage[3] = 300.00
      • Set ArcticBlastDamage[4] = 400.00
      • -------- Arctic Blast's Speed --------
      • Set ArcticBlastSpeed[1] = 550.00
      • Set ArcticBlastSpeed[2] = 450.00
      • Set ArcticBlastSpeed[3] = 500.00
      • Set ArcticBlastSpeed[4] = 550.00
      • -------- Arctic Blast's Maximum AoE --------
      • Set ArcticBlastMaxAoE[1] = 600.00
      • Set ArcticBlastMaxAoE[2] = 700.00
      • Set ArcticBlastMaxAoE[3] = 800.00
      • Set ArcticBlastMaxAoE[4] = 900.00
      • -------- Arctic Blast Damage Radius --------
      • Set ArcticBlastDamageRadius[1] = 175.00
      • Set ArcticBlastDamageRadius[2] = 125.00
      • Set ArcticBlastDamageRadius[3] = 150.00
      • Set ArcticBlastDamageRadius[4] = 175.00
  • Arctic Blast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to ArcticBlast
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ArcticBlastIndex Equal to 0
        • Then - Actions
          • Trigger - Turn on Arctic Blast Expand <gen>
        • Else - Actions
      • Set ArcticBlastIndex = (ArcticBlastIndex + 1)
      • Custom script: if udg_ArcticBlastDamagedGroup[udg_ArcticBlastIndex] == null then
      • Custom script: set udg_ArcticBlastDamagedGroup[udg_ArcticBlastIndex] = CreateGroup()
      • Custom script: endif
      • Custom script: if udg_ArcticBlastDummyGroup[udg_ArcticBlastIndex] == null then
      • Custom script: set udg_ArcticBlastDummyGroup[udg_ArcticBlastIndex] = CreateGroup()
      • Custom script: endif
      • Set ArcticBlastCaster[ArcticBlastIndex] = (Triggering unit)
      • Set ArcticBlastLevel[ArcticBlastIndex] = (Level of ArcticBlast for ArcticBlastCaster[ArcticBlastIndex])
      • Set ArcticBlastEffectAmount[ArcticBlastIndex] = ArcticBlastEffectAmount[ArcticBlastLevel[ArcticBlastIndex]]
      • Set ArcticBlastMaxAoE[ArcticBlastIndex] = ArcticBlastMaxAoE[ArcticBlastLevel[ArcticBlastIndex]]
      • Set ArcticBlastDamage[ArcticBlastIndex] = ArcticBlastDamage[ArcticBlastLevel[ArcticBlastIndex]]
      • Set ArcticBlastSpeed[ArcticBlastIndex] = ArcticBlastSpeed[ArcticBlastLevel[ArcticBlastIndex]]
      • Set ArcticBlastDamageRadius[ArcticBlastIndex] = ArcticBlastDamageRadius[ArcticBlastLevel[ArcticBlastIndex]]
      • Set ArcticBlastSpreadOutSpeed[ArcticBlastIndex] = (ArcticBlastSpeed[ArcticBlastLevel[ArcticBlastIndex]] x 0.03)
      • Set ArcticBlastTriggerPlayer[ArcticBlastIndex] = (Owner of ArcticBlastCaster[ArcticBlastIndex])
      • Set ArcticBlastDistance[ArcticBlastIndex] = 0.00
      • Set ArcticBlastPoint = (Position of ArcticBlastCaster[ArcticBlastIndex])
      • Set ArcticBlastReal = 0.00
      • Unit - Create 1 ArcticBlastDummy for ArcticBlastTriggerPlayer[ArcticBlastIndex] at ArcticBlastPoint facing ArcticBlastReal degrees
      • Set ArcticBlastDummySlowUnit[ArcticBlastIndex] = (Last created unit)
      • Unit - Add ArcticBlastSlow to ArcticBlastDummySlowUnit[ArcticBlastIndex]
      • Unit - Set level of ArcticBlastSlow for ArcticBlastDummySlowUnit[ArcticBlastIndex] to ArcticBlastLevel[ArcticBlastIndex]
      • For each (Integer ArcticBlastInteger) from 1 to ArcticBlastEffectAmount[ArcticBlastIndex], do (Actions)
        • Loop - Actions
          • Set ArcticBlastReal = (ArcticBlastReal + (360.00 / (Real(ArcticBlastEffectAmount[ArcticBlastIndex]))))
          • Set ArcticBlastOffset = (ArcticBlastPoint offset by ArcticBlastDistance[ArcticBlastIndex] towards ArcticBlastReal degrees)
          • Unit - Create 1 ArcticBlastVisualDummy for ArcticBlastTriggerPlayer[ArcticBlastIndex] at ArcticBlastOffset facing ArcticBlastReal degrees
          • Unit Group - Add (Last created unit) to ArcticBlastDummyGroup[ArcticBlastIndex]
          • Custom script: call RemoveLocation(udg_ArcticBlastOffset)
      • Custom script: call RemoveLocation(udg_ArcticBlastPoint)
  • Arctic Blast Expand
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • For each (Integer ArcticBlastLoopIndex) from 1 to ArcticBlastIndex, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ArcticBlastDistance[ArcticBlastLoopIndex] Greater than or equal to ArcticBlastMaxAoE[ArcticBlastLoopIndex]
            • Then - Actions
              • Unit Group - Pick every unit in ArcticBlastDummyGroup[ArcticBlastLoopIndex] and do (Actions)
                • Loop - Actions
                  • Unit - Kill (Picked unit)
              • -------- De-Index --------
              • -------- Removing Leaks --------
              • Unit - Remove ArcticBlastDummySlowUnit[ArcticBlastLoopIndex] from the game
              • Custom script: call DestroyGroup(udg_ArcticBlastDummyGroup[udg_ArcticBlastLoopIndex])
              • Custom script: call DestroyGroup(udg_ArcticBlastDamagedGroup[udg_ArcticBlastLoopIndex])
              • Set ArcticBlastCaster[ArcticBlastLoopIndex] = ArcticBlastCaster[ArcticBlastIndex]
              • Set ArcticBlastTriggerPlayer[ArcticBlastLoopIndex] = ArcticBlastTriggerPlayer[ArcticBlastIndex]
              • Set ArcticBlastLevel[ArcticBlastLoopIndex] = ArcticBlastLevel[ArcticBlastIndex]
              • Set ArcticBlastDummySlowUnit[ArcticBlastLoopIndex] = ArcticBlastDummySlowUnit[ArcticBlastIndex]
              • Set ArcticBlastDistance[ArcticBlastLoopIndex] = ArcticBlastDistance[ArcticBlastIndex]
              • Set ArcticBlastMaxAoE[ArcticBlastLoopIndex] = ArcticBlastMaxAoE[ArcticBlastIndex]
              • Set ArcticBlastDamage[ArcticBlastLoopIndex] = ArcticBlastDamage[ArcticBlastIndex]
              • Set ArcticBlastSpeed[ArcticBlastLoopIndex] = ArcticBlastSpeed[ArcticBlastIndex]
              • Set ArcticBlastDamageRadius[ArcticBlastLoopIndex] = ArcticBlastDamageRadius[ArcticBlastIndex]
              • Set ArcticBlastEffectAmount[ArcticBlastLoopIndex] = ArcticBlastEffectAmount[ArcticBlastIndex]
              • Set ArcticBlastSpreadOutSpeed[ArcticBlastLoopIndex] = ArcticBlastSpreadOutSpeed[ArcticBlastIndex]
              • Set ArcticBlastDummyGroup[ArcticBlastLoopIndex] = ArcticBlastDummyGroup[ArcticBlastIndex]
              • Set ArcticBlastDamagedGroup[ArcticBlastLoopIndex] = ArcticBlastDamagedGroup[ArcticBlastIndex]
              • Custom script: set udg_ArcticBlastDummyGroup[udg_ArcticBlastIndex] = null
              • Custom script: set udg_ArcticBlastDamagedGroup[udg_ArcticBlastIndex] = null
              • Set ArcticBlastLoopIndex = (ArcticBlastLoopIndex - 1)
              • Set ArcticBlastIndex = (ArcticBlastIndex - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • ArcticBlastIndex Equal to 0
                • Then - Actions
                  • Trigger - Turn off (This trigger)
                • Else - Actions
            • Else - Actions
              • Set ArcticBlastDistance[ArcticBlastLoopIndex] = (ArcticBlastDistance[ArcticBlastLoopIndex] + ArcticBlastSpreadOutSpeed[ArcticBlastLoopIndex])
              • Set ArcticBlastPoint = (Position of ArcticBlastCaster[ArcticBlastLoopIndex])
              • Unit Group - Pick every unit in ArcticBlastDummyGroup[ArcticBlastLoopIndex] and do (Actions)
                • Loop - Actions
                  • Set ArcticBlastVisualDummyUnit = (Picked unit)
                  • Set ArcticBlastReal = (Facing of ArcticBlastVisualDummyUnit)
                  • Set ArcticBlastOffset = (ArcticBlastPoint offset by ArcticBlastDistance[ArcticBlastLoopIndex] towards ArcticBlastReal degrees)
                  • Custom script: call SetUnitX(udg_ArcticBlastVisualDummyUnit, GetLocationX(udg_ArcticBlastOffset))
                  • Custom script: call SetUnitY(udg_ArcticBlastVisualDummyUnit, GetLocationY(udg_ArcticBlastOffset))
                  • Set ArcticBlastGroup = (Units within ArcticBlastDamageRadius[ArcticBlastLoopIndex] of ArcticBlastOffset)
                  • Unit Group - Pick every unit in ArcticBlastGroup and do (Actions)
                    • Loop - Actions
                      • Set ArcticBlastDamagedUnit = (Picked unit)
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (ArcticBlastDamagedUnit is A structure) Equal to False
                          • (ArcticBlastDamagedUnit is Magic Immune) Equal to False
                          • (ArcticBlastDamagedUnit is alive) Equal to True
                          • (ArcticBlastDamagedUnit belongs to an enemy of ArcticBlastTriggerPlayer[ArcticBlastLoopIndex]) Equal to True
                          • (ArcticBlastDamagedUnit is in ArcticBlastDamagedGroup[ArcticBlastLoopIndex]) Equal to False
                        • Then - Actions
                          • -------- Since the picked is only damaged for 1 time in a loop, so its added to a unit group --------
                          • -------- Damaging and Slow --------
                          • Unit Group - Add ArcticBlastDamagedUnit to ArcticBlastDamagedGroup[ArcticBlastLoopIndex]
                          • Unit - Cause ArcticBlastCaster[ArcticBlastLoopIndex] to damage ArcticBlastDamagedUnit, dealing ArcticBlastDamage[ArcticBlastLoopIndex] damage of attack type ArcticBlastAttackType and damage type ArcticBlastDamageType
                          • Unit - Order ArcticBlastDummySlowUnit[ArcticBlastLoopIndex] to Human Sorceress - Slow ArcticBlastDamagedUnit
                          • Special Effect - Create a special effect attached to the origin of ArcticBlastDamagedUnit using ArcticBlastDamageEffect
                          • Special Effect - Destroy (Last created special effect)
                        • Else - Actions
                  • Custom script: call DestroyGroup(udg_ArcticBlastGroup)
                  • Custom script: call RemoveLocation(udg_ArcticBlastOffset)
              • Custom script: call RemoveLocation(udg_ArcticBlastPoint)
  • Entangling Wave On
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Entangling Wave
    • Actions
      • Set Hero[20] = (Casting unit)
      • Set EntangelP[1] = (Position of Hero[20])
      • Set EntangelP[2] = (Target point of ability being cast)
      • Unit - Create 1 Dummy (Entangel) for Player 1 (Red) at (EntangelP[1] offset by 50.00 towards (Angle from EntangelP[1] to EntangelP[2]) degrees) facing (Angle from EntangelP[1] to EntangelP[2]) degrees
      • Set Hero[21] = (Last created unit)
      • Set Real[29] = 10.00
      • Trigger - Turn on Entangling Wave Loop <gen>
  • Entangling Wave Loop
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • Set EntangelP[3] = (Position of Hero[21])
      • Set EntangelP[4] = (EntangelP[3] offset by 30.00 towards (Angle from EntangelP[1] to EntangelP[2]) degrees)
      • Set EntangelGroup = (Units within 130.00 of EntangelP[3] matching (((Owner of (Matching unit)) Not equal to Player 1 (Red)) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) is in Entangler) Equal to False))))
      • Unit Group - Pick every unit in EntangelGroup and do (Actions)
        • Loop - Actions
          • Unit Group - Add (Picked unit) to Entangler
          • Unit - Create 1 Dummy (Entangel) for Player 1 (Red) at EntangelP[4] facing Default building facing degrees
          • Unit - Hide (Last created unit)
          • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Entangling Roots to (Last created unit)
          • Unit - Order (Last created unit) to Night Elf Keeper Of The Grove - Entangling Roots (Picked unit)
      • Unit - Move Hero[21] instantly to EntangelP[4]
      • Custom script: call DestroyGroup(udg_EntangelGroup)
      • Custom script: call RemoveLocation(udg_EntangelP[3])
      • Custom script: call RemoveLocation(udg_EntangelP[4])
      • Set Real[29] = (Real[29] + 30.00)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Real[29] Greater than or equal to 680.00
        • Then - Actions
          • Unit - Add a 0.10 second Generic expiration timer to Hero[21]
          • Trigger - Turn off Entangling Wave Loop <gen>
          • Custom script: call RemoveLocation(udg_EntangelP[2])
          • Custom script: call RemoveLocation(udg_EntangelP[1])
          • Set Real[29] = 0.00
          • Set Hero[20] = No unit
          • Set Hero[21] = No unit
          • Unit Group - Remove all units from Entangler
        • Else - Actions
  • MS Config
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- What to type in the Chat so the Music would be Turned off? --------
      • Set MS_Chat_OnOff = -music
      • -------- The Word "on" --------
      • Set MS_Chat_On = on
      • -------- The Word "off" --------
      • Set MS_Chat_Off = off
      • -------- - --------
      • -------- - --------
      • -------- - --------
      • -------- Don't touch This. --------
      • -------- Indexing --------
      • Set Integer_General = (Integer_General + 1)
      • -------- Set your Music Here. --------
      • -------- NOTE: Your Music must be defined as a "Sound", not music. The system has a Custom Music Turn off. --------
      • Set MS_MusicBase[Integer_General] = Human2 <gen>
      • -------- Don't touch This. --------
      • -------- Set the Length of the Music. --------
      • Set MS_MusicLength[Integer_General] = (Length of MS_MusicBase[Integer_General])
      • -------- Repeat. --------
      • -------- - --------
      • Set Integer_General = (Integer_General + 1)
      • Set MS_MusicBase[Integer_General] = Human1 <gen>
      • Set MS_MusicLength[Integer_General] = (Length of MS_MusicBase[Integer_General])
      • -------- - --------
      • Set Integer_General = (Integer_General + 1)
      • Set MS_MusicBase[Integer_General] = Comradeship <gen>
      • Set MS_MusicLength[Integer_General] = (Length of MS_MusicBase[Integer_General])
      • -------- - --------
      • Set Integer_General = (Integer_General + 1)
      • Set MS_MusicBase[Integer_General] = Doom <gen>
      • Set MS_MusicLength[Integer_General] = (Length of MS_MusicBase[Integer_General])
      • -------- - --------
      • Set Integer_General = (Integer_General + 1)
      • Set MS_MusicBase[Integer_General] = NightElfX1 <gen>
      • Set MS_MusicLength[Integer_General] = (Length of MS_MusicBase[Integer_General])
      • -------- - --------
      • Set Integer_General = (Integer_General + 1)
      • Set MS_MusicBase[Integer_General] = Orc2 <gen>
      • Set MS_MusicLength[Integer_General] = (Length of MS_MusicBase[Integer_General])
      • -------- Don't touch These. --------
      • Set MS_NumOfMusics = Integer_General
      • Set Integer_General = 0
      • Sound - Set music volume to 0.00%
      • For each (Integer Integer_General) from 1 to 12, do (Actions)
        • Loop - Actions
          • Set MS_IsMusicOn[Integer_General] = True
          • Trigger - Add to MS Turnings <gen> the event (Player - (Player(Integer_General)) types a chat message containing MS_Chat_OnOff as A substring)
  • MS Base
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • For each (Integer Integer_General) from 1 to 12, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Remaining time for MS_TimerExpire[Integer_General]) Equal to 0.00
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • MS_IsMusicOn[Integer_General] Equal to True
                • Then - Actions
                  • Set MS_IntegerMusic[Integer_General] = (Random integer number between 1 and MS_NumOfMusics)
                  • Custom script: if GetLocalPlayer() == ConvertedPlayer(udg_Integer_General) then
                  • Sound - Play MS_MusicBase[MS_IntegerMusic[Integer_General]]
                  • Custom script: endif
                  • Countdown Timer - Start MS_TimerExpire[Integer_General] as a One-shot timer that will expire in MS_MusicLength[MS_IntegerMusic[Integer_General]] seconds
                • Else - Actions
            • Else - Actions
  • MS Turnings
    • Events
    • Conditions
    • Actions
      • Set Integer_General = (Player number of (Triggering player))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Substring((Entered chat string), 8, (Length of (Entered chat string)))) Equal to MS_Chat_Off
          • MS_IsMusicOn[Integer_General] Equal to True
        • Then - Actions
          • Set MS_IsMusicOn[Integer_General] = False
          • Custom script: if GetLocalPlayer() == GetTriggerPlayer() then
          • Sound - Stop MS_MusicBase[MS_IntegerMusic[Integer_General]] After fading
          • Custom script: endif
          • Countdown Timer - Pause MS_TimerExpire[Integer_General]
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Substring((Entered chat string), 8, (Length of (Entered chat string)))) Equal to MS_Chat_On
              • MS_IsMusicOn[Integer_General] Equal to False
            • Then - Actions
              • Set MS_IsMusicOn[Integer_General] = True
              • Set MS_IntegerMusic[Integer_General] = (Random integer number between 1 and MS_NumOfMusics)
              • Custom script: if GetLocalPlayer() == GetTriggerPlayer() then
              • Sound - Play MS_MusicBase[MS_IntegerMusic[Integer_General]]
              • Custom script: endif
              • Countdown Timer - Start MS_TimerExpire[Integer_General] as a One-shot timer that will expire in MS_MusicLength[MS_IntegerMusic[Integer_General]] seconds
            • Else - Actions
 

Attachments

  • 2.jpg
    2.jpg
    324.6 KB · Views: 127
Status
Not open for further replies.
Top