• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • ✅ Time to vote for the top 3 models! The POLL for Hive's 6th HD Modeling Contest: Mechanical is now open! 📅 Poll close on July 16, 2024! 🔗 Cast your vote now!
  • ✅ The POLL for Hive's Texturing Contest #33 is OPEN! Vote for the TOP 3 SKINS! 🔗Click here to cast your vote!

[Crash] Map Crash 30-50 Minutes in.

Status
Not open for further replies.
Level 1
Joined
Feb 18, 2021
Messages
3
My map 'crashes' after about 30-40 minutes in multiplayer and within about 50-60 minutes in single player.
No crash logs are produced as it dosent technically crash the game just locks it out completely and desyncs.
The 'crashes' often happen immediately after a spell cast after these large amounts of time have elapsed. I have 8 different heros with unique spells and all seem to have the issue; however, some abilities produce it more often than others (such as an ability based off shadow strike)
Spells are used often so that may still be a coincidence as it has happened not immediately after a player spell cast before.


About the map:
  • This map is a wave based map with enemies and one boss inconsitantly emerging for 8-10 minutes per 'wave'.
  • There are few looping triggers and none shorter than 1 second. The one with the biggest effect is one that moves the enemies from spawn every 5 seconds.
  • Enemies are removed from game if they reach their destination and damage is dealt accordingly. This helps reduce buildup and keep the game smooth.
  • Every enemy, item, and hero is a custom model
  • Rougly half the abilities have a trigger based component
  • Enemy spawns come in two forms 1.elapsed time (~20 main functions occuring 4 at a time 250 seconds apart) 2.recurring (~30 functions occuring every 20-90 seconds and are not all enabled at once)
  • Roughly 700 units are spawned inconsitantly over a period of about 60 minutes.
  • The game itself is supposed to last roughly 60-70 minutes
  • Custom sounds are used extensively
  • No dummy units are used and all the edges of the map have triggers preventing movement off map.
  • Some spells scale off hero attributes including bonuses (the one I feel i get the most crashes with does this)
  • Some enemies cast spells, few have auras, and many have passives, and few have DoT passives.

What I have tried:
  • I have cleaned most if not all leaks from my map at this time and can confidently say that isnt the offender.
  • I went and ensured every spell had unique buffs to stop the buff overlap crash but that seems to not have been the issue.
  • I did a deep clean of the object editor and removed all excess imports. To no avail.
  • Removing certian functional models. Did not fix the issue so these changes were reverted.
  • Looked for flaws in wave spawn triggers near the times of crashing. No dice.
  • Examined ability interactions of the creeps which spawn around crash times. No issues found here to date.
Link to map:
Neptunia Console War Defenders 1.01 - Warcraft 3 Maps - Epic War.com
 
Level 12
Joined
Mar 13, 2020
Messages
421
  • Uni ult movement Copy Copy
    • Events
      • Time - UNIULTSTARTTIMER expires
    • Conditions
    • Actions
      • Wait 0.02 seconds
      • Unit - Move NGPtarget instantly to ((Position of NGPtarget) offset by 98.00 towards NPGAngle degrees.)
      • Wait 0.01 seconds
      • Unit - Move NGPtarget instantly to ((Position of NGPtarget) offset by 72.00 towards NPGAngle degrees.)
      • Wait 0.01 seconds
      • Unit - Move NGPtarget instantly to ((Position of NGPtarget) offset by 64.00 towards NPGAngle degrees.)
      • Wait 0.01 seconds
      • Unit - Move NGPtarget instantly to ((Position of NGPtarget) offset by 48.00 towards NPGAngle degrees.)
      • Wait 0.01 seconds
      • Unit - Move NGPtarget instantly to ((Position of NGPtarget) offset by 36.00 towards NPGAngle degrees.)
      • Wait 0.01 seconds
      • Unit - Move NGPtarget instantly to ((Position of NGPtarget) offset by 30.00 towards NPGAngle degrees.)
      • Wait 0.01 seconds
      • Unit - Move NGPtarget instantly to ((Position of NGPtarget) offset by 24.00 towards NPGAngle degrees.)
      • Wait 0.01 seconds
      • Unit - Move NGPtarget instantly to ((Position of NGPtarget) offset by 18.00 towards NPGAngle degrees.)
      • Wait 0.01 seconds
      • Unit - Move NGPtarget instantly to ((Position of NGPtarget) offset by 12.00 towards NPGAngle degrees.)
      • Wait 0.01 seconds
      • Unit - Move NGPtarget instantly to ((Position of NGPtarget) offset by 6.00 towards NPGAngle degrees.)
      • Wait 0.01 seconds
      • Unit - Move NGPtarget instantly to ((Position of NGPtarget) offset by 3.00 towards NPGAngle degrees.)
      • Custom script: call DestroyTimer(udg_UNIULTSTARTTIMER)
Im 10 min checking your Triggers and you could at least Sort the Spells and Stuff in Folders for each Spell one Folder...
so First Thing Evry Where are Waits.. thats one Bad Thing and i Recommend to Avoid Waits in Generall use Timers or Counting with a Turn On Trigger
for now i think its an Infinity Loop or To Much Waits causing it...

can you explain if anything happens exactly evry time it Crashes if one is using a Certain Spell or fighting a Unique Boss...?
so i can find it faster...
 
Level 12
Joined
Mar 13, 2020
Messages
421
  • Random spawns Final Copy
    • Events
      • Time - Every 29.00 seconds of game time
    • Conditions
      • (Random integer number between 1 and 4) Equal to 3
    • Actions
      • Set VariableSet wave1R = (Center of Right Enemy Spawn <gen>)
      • Unit - Create 1 Fenrir 4 for Neutral Hostile at wave1R facing Default building facing degrees
      • Custom script: call RemoveLocation(udg_wave1R)
  • Random spawns Final Copy Copy
    • Events
      • Time - Every 31.00 seconds of game time
    • Conditions
      • (Random integer number between 1 and 7) Equal to 3
    • Actions
      • Set VariableSet wave1R = (Center of Right Enemy Spawn <gen>)
      • Unit - Create 1 Plumbotron 5 for Neutral Hostile at wave1R facing Default building facing degrees
      • Custom script: call RemoveLocation(udg_wave1R)

you have 300 Triggers 100 Spawning Triggers.. where you use 2 Variable onlys udg_wave1R and udg_wave1L
You Remove them yes.. and Set them before Spawn any Unit ok good no problem..
but you should know when this triggers run in each other.. one of this 1000 your game will crash...
thats a Leak...

First of All you dont even need to Remove the Loactions if your Regions are ingame From Beginning and you dont move them like with Spells... or Positions of Units..

Example of Your Map:

  • enemy corners
    • Events
      • Time - Every 120.00 seconds of game time
    • Conditions
    • Actions
      • Set VariableSet TopLeft = (Random point in Top left <gen>)
      • Set VariableSet TopRight = (Random point in Top Right <gen>)
      • Set VariableSet BottomLeft = (Random point in Bottom Left <gen>)
      • Set VariableSet BottomLeft2 = (Random point in Bottom Left <gen>)
      • Set VariableSet BottomRight = (Random point in Bottom Right <gen>)
      • Set VariableSet BottomRight2 = (Random point in Bottom Right <gen>)
      • Unit - Create 1 Mega Jelly for Neutral Hostile at TopRight facing Default building facing degrees
      • Unit - Create 1 Mega Jelly for Neutral Hostile at TopLeft facing Default building facing degrees
      • Unit - Create 1 Dark Spirit dark for Neutral Hostile at BottomLeft facing Default building facing degrees
      • Unit - Create 1 Panther for Neutral Hostile at BottomLeft2 facing Default building facing degrees
      • Unit - Create 1 Dark Spirit dark for Neutral Hostile at BottomRight facing Default building facing degrees
      • Unit - Create 1 Panther for Neutral Hostile at BottomRight2 facing Default building facing degrees
      • Custom script: call RemoveLocation(udg_TopLeft)
      • Custom script: call RemoveLocation(udg_TopRight)
      • Custom script: call RemoveLocation(udg_BottomLeft)
      • Custom script: call RemoveLocation(udg_BottomLeft2)
      • Custom script: call RemoveLocation(udg_BottomRight)
      • Custom script: call RemoveLocation(udg_BottomRight2)
You Place Variables to Region Just Set in Editor Ok no Problem
But then you Remove them? and Set them Again?

im Sure its Because of thing like this... Or an Infinity Loop Or to Much Much Much Waits...

But my Bet is 100% the Spawns Running in each Other Example this Two:

  • Random spawns 5
    • Events
      • Time - Every 30.00 seconds of game time
    • Conditions
      • (Random integer number between 1 and 10) Equal to 3
    • Actions
      • Set VariableSet wave1L = (Center of Left Enemy Spawn <gen>)
      • Unit - Create 1 Mega Jelly for Neutral Hostile at wave1L facing Default building facing degrees
      • Unit - Create 1 Toxic Jelly for Neutral Hostile at wave1L facing Default building facing degrees
      • Custom script: call RemoveLocation(udg_wave1L)
  • Top 5 Copy 2 Copy Copy Copy
    • Events
      • Time - Elapsed game time is 3000.00 seconds
    • Conditions
    • Actions
      • Set VariableSet wave1L = (Center of Left Enemy Spawn <gen>)
      • Unit - Create 1 Ultra Galactic Robot for Neutral Hostile at wave1L facing Default building facing degrees
      • Unit - Create 1 Ultra Galactic Robot for Neutral Hostile at wave1L facing Default building facing degrees
      • Unit - Create 1 Ultra Galactic Robot for Neutral Hostile at wave1L facing Default building facing degrees
      • Custom script: call RemoveLocation(udg_wave1L)
 
Last edited:
Level 1
Joined
Feb 18, 2021
Messages
3
Thanks so much for this, apologies in the delay it was night for me.
I have sorted the spell triggers better in case the issue isnt resolved.
In hindsight it does seem unsmart of me to reset a variable a dozen times if it's all the same location.
I had beleived that the ability that most often caused the crash was "radient bullet"...
But since fixing the issue where I destroy and reset the same variable dozens of times somtimes in the same moment it seems to have cleared the crashing issue, in single player at least. The ability may still be an issue but i cannot reproduce the issue anymore.

I will provide an update soon with the results of a multiplayer test to see if any issue still remains.
Current version:
Neptunia Console War Defenders 1.1 - Warcraft 3 Maps - Epic War.com


Update: Multiplayer test success. A few strange lag spikes and a disconnect but I feel like that was due to faulty internet. I got report that their ping was quite high at that moment. I still have lingering doubts in my mind about some spells but the proof is in the pudding.
Thanks for all your help!
 
Last edited:
Status
Not open for further replies.
Top