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

I need a Volunteer

Status
Not open for further replies.
Level 18
Joined
May 11, 2012
Messages
2,103
I need someone who will go through my map and see what's causing crash...
I tried to look, but everything seems okay -.-

Only experienced people who knows what they're searching for :=)


NOTE: the crash could be in Items folder since it happens everytime I or someone else boughts an item and few mins later It crashes
 
Level 18
Joined
May 11, 2012
Messages
2,103
ok, imma check for it now

I dont have any fast looping trigger that leaks besides spell looping triggers (non-leaking -.-)

And it always crashes after the Special Event 3, when I got enough money for buying items, BOOM! ffs
but there, everything is okay (obviously there isn't) xD
 
Level 18
Joined
May 11, 2012
Messages
2,103
I'm doing my best, but I really can't find the problem lol
I'm gonna keep searching for them uh oh

Or, in worst case, I'm going to start again and just copy the triggers which works correctly I guess :D
Will take a month or 2 to finish again..
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,255
A thought occurred to me...
If you can somehow capture an "incomplete replay" using a tool like a ghostone host robot (WC3 crashes so I doubt the one it captures works) you might be able to recreate the crashes by replaying the replay (as the state is the same, it should crash at the same time). Using a number of these replays and heavily scrutinizing what happens in the last few seconds before the crash it may help narrow the cause of the crash. Even if it does not recreate the crash (although I doubt that as the final input should be saved), you may be able to get an insight as to the cause.

Examples of what you may find...
The same hero is in combat around the time of the crash, maybe preparing to or even casting an ability.
A hero is near some item source, maybe manipulating items internally or buying new items.
Some game state related event (like enters region) triggers the crash.
Something reaches the same level of progress at the time it crashes (building upgrade, building built, hero level etc).
 
Level 18
Joined
May 11, 2012
Messages
2,103
A thought occurred to me...
If you can somehow capture an "incomplete replay" using a tool like a ghostone host robot (WC3 crashes so I doubt the one it captures works) you might be able to recreate the crashes by replaying the replay (as the state is the same, it should crash at the same time). Using a number of these replays and heavily scrutinizing what happens in the last few seconds before the crash it may help narrow the cause of the crash. Even if it does not recreate the crash (although I doubt that as the final input should be saved), you may be able to get an insight as to the cause.

Examples of what you may find...
The same hero is in combat around the time of the crash, maybe preparing to or even casting an ability.
A hero is near some item source, maybe manipulating items internally or buying new items.
Some game state related event (like enters region) triggers the crash.
Something reaches the same level of progress at the time it crashes (building upgrade, building built, hero level etc).

wow, interesting :D
i'm definitely try it..
And now when testing, the map didn't crashed. I think that it crashes when more player are playing cuz now 2 players were playing and no crashes what so ever with all items that uses maximum effect with many triggers running at same time to produce the effect and many units at same point, no lags so I think it's something with more players...
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,255
The crash is caused by one or more game states, specifically a element of the game state that is invalid or unsupported. Most maps have a more complex game state when more players are playing so the chance of such an element occurring may be drastically higher.

A single ability, unexpected system interaction or even some game bug can all cause crashes. If your map is an AoS with 12 heroes (6 each side) then there is only a 1/6 chance that a hero with such a bugged ability may be choosen with 1v1 but is guaranteed to be chosen in 6v6.

More players can also put higher load on systems. Poorly written systems might handle this loading very badly resulting in invalid trigger behaviour. Something as simple as a Player(16 or -1) as a result of poor logic can cause a crash.
 
Hmm.. I didn't realize but my map has this crashing problem too. When I read the_blood's post that it didn't crash on 1v1, I tested and.. same status here.

Edit: Do you null variables? I never encountered this problem before I learned from Maker's nulling.
Nothing related to that. Maker is just fussy with his variables nulling.

Leaks are minor. Of course, lot of leaks can be a problem on computers that are really lacking of ram (512mb or less), but i don't think many people still use computers having 256 or 512mb to play games.

According to recent tests, Wc3 is crashing at 1.6GB of ram approximatively. So, 2GB ram are more than sufficient to support a game like Wc3. http://www.hiveworkshop.com/forums/triggers-scripts-269/things-leak-35124/index71.html

@EliTe : You're not trying to do something involving a player(-1) when doing this, so it's not a problem.

@Dr Super Good : Neutral Passive = Player(16), or atleast in GUI, so it shouldn't create a problem.
  • Game - Display to (All players) the text: (String((Player number of Neutral Passive)))
This gave me 16.
 
Level 18
Joined
May 11, 2012
Messages
2,103
Hmm.. I didn't realize but my map has this crashing problem too. When I read the_blood's post that it didn't crash on 1v1, I tested and.. same status here.

Edit: Do you null variables? I never encountered this problem before I learned from Maker's nulling.

ALSO!
the problems started when I learned nulling from maker and everything after the problems became more and more often :=...
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,255
@Dr Super Good : Neutral Passive = Player(16), or atleast in GUI, so it shouldn't create a problem.
Player(16) is invalid, Players only exist from 0 to 15. GUI adds +1 for some stupid reason (look at BJs, they all have +1 in them). Thankfully StarCraft II players exist from 0 to 15 but as integer numbers which are range checked (it will show a nice error message informing you of a stupid player number).

the problems started when I learned nulling from maker and everything after the problems became more and more often :=...
Ah, you might be passing null to a function that does not check for it (so tries to evaluate null and crashes). This is a start for finding the problem.
 
Hmm, in Elite's case, it wasn't the nulling that caused the problem (if there's no problem anymore).

The nulling itself shouldn't cause any problem, but maybe you're nulling variables that shouldn't be nulled (due to the way you coded it).

Edit : @Dr Super Good, that's why i added "atleast in GUI" ^^' And i guess they're both coding in GUI (but i may be wrong)
 
Level 18
Joined
May 11, 2012
Messages
2,103
Nothing related to that. Maker is just fussy with his variables nulling.

Leaks are minor. Of course, lot of leaks can be a problem on computers that are really lacking of ram (512mb or less), but i don't think many people still use computers having 256 or 512mb to play games.

According to recent tests, Wc3 is crashing at 1.6GB of ram approximatively. So, 2GB ram are more than sufficient to support a game like Wc3. http://www.hiveworkshop.com/forums/triggers-scripts-269/things-leak-35124/index71.html

@EliTe : You're not trying to do something involving a player(-1) when doing this, so it's not a problem.

@Dr Super Good : Neutral Passive = Player(16), or atleast in GUI, so it shouldn't create a problem.
  • Game - Display to (All players) the text: (String((Player number of Neutral Passive)))
This gave me 16.

So, I dont need to null variables if the leak i so small...
And who the hell plays wc3 with 512mb of RAM? Wc3 is also leaking lol....
 
Level 18
Joined
May 11, 2012
Messages
2,103
BTW, I found the source of a Crash. Item Triggers!

And I think this one is causing crash (now tested with 3 players having it)

  • Vorpal Sword
    • Events
      • Game - damageEventTrigger becomes Equal to 1.00
    • Conditions
      • damageType Equal to 0
      • (source is A Hero) Equal to True
      • (source is an illusion) Equal to False
      • (source has an item of type |cFFFFFF00Vorpal Sword) Equal to True
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Random integer number between 1 and 100) Less than or equal to 20
        • Then - Actions
          • Floating Text - Create floating text that reads |c00FFD700+10 to al... above source with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
          • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
          • Floating Text - Change (Last created floating text): Disable permanence
          • Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
          • Floating Text - Change the fading age of (Last created floating text) to 1.50 seconds
          • Hero - Modify Strength of source: Add 10
          • Hero - Modify Agility of source: Add 10
          • Hero - Modify Intelligence of source: Add 10
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Random integer number between 1 and 100) Less than or equal to 15
        • Then - Actions
          • Trigger - Turn off (This trigger)
          • Set TempPoint = (Position of target)
          • Unit - Create 1 Dummy Vorpal Sword for (Owner of source) at TempPoint facing (Facing of source) degrees
          • Unit - Add Meteor Strike (Vorpal) to (Last created unit)
          • Unit - Turn collision for (Last created unit) Off
          • Unit - Order (Last created unit) to Special Doom Guard - Rain Of Fire TempPoint
          • Unit - Add a 0.50 second Generic expiration timer to (Last created unit)
          • Custom script: call RemoveLocation(udg_TempPoint)
          • Countdown Timer - Start VorpalSword_Timer as a One-shot timer that will expire in 1.00 seconds
          • Skip remaining actions
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Random integer number between 1 and 100) Less than or equal to 15
        • Then - Actions
          • Trigger - Turn off (This trigger)
          • Set TempPoints[1] = (Position of source)
          • Set TempPoints[2] = (TempPoints[1] offset by 75.00 towards ((Facing of source) + 180.00) degrees)
          • Unit - Create 1 Dummy Vorpal Sword for (Owner of source) at TempPoints[2] facing (Facing of source) degrees
          • Unit - Add Fire Wave (Vorpal) to (Last created unit)
          • Unit - Turn collision for (Last created unit) Off
          • Unit - Order (Last created unit) to Orc Tauren Chieftain - Shockwave TempPoints[2]
          • Unit - Add a 0.50 second Generic expiration timer to (Last created unit)
          • Custom script: call RemoveLocation(udg_TempPoints[1])
          • Custom script: call RemoveLocation(udg_TempPoints[2])
          • Countdown Timer - Start VorpalSword_Timer as a One-shot timer that will expire in 0.80 seconds
          • Skip remaining actions
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Random integer number between 1 and 100) Less than or equal to 15
        • Then - Actions
          • Trigger - Turn off (This trigger)
          • Set TempPoints[1] = (Position of source)
          • Special Effect - Create a special effect at TempPoints[1] using Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl
          • Special Effect - Destroy (Last created special effect)
          • Set VorpalUnit[1] = (Units within 600.00 of TempPoints[1] matching ((((Matching unit) belongs to an enemy of (Owner of source)) Equal to True) and (((Matching unit) is alive) Equal to True)))
          • Set VorpalUnit[2] = (Random 1 units from VorpalUnit[1])
          • Unit Group - Pick every unit in VorpalUnit[2] and do (Actions)
            • Loop - Actions
              • Set TempUnit = (Picked unit)
              • Set TempPoints[2] = (Position of TempUnit)
              • Unit - Move source instantly to TempPoints[2]
              • Unit - Create 1 Dummy Vorpal Sword for (Owner of source) at TempPoints[2] facing 0.00 degrees
              • Unit - Add Thunder Blast (Vorpal) to (Last created unit)
              • Unit - Turn collision for (Last created unit) Off
              • Unit - Order (Last created unit) to Human Mountain King - Thunder Clap
              • Unit - Add a 0.50 second Generic expiration timer to (Last created unit)
              • Special Effect - Create a special effect attached to the overhead of TempUnit using war3mapImported\LightningWrath.mdx
              • Special Effect - Destroy (Last created special effect)
              • Custom script: call RemoveLocation(udg_TempPoints[2])
          • Custom script: call RemoveLocation(udg_TempPoints[1])
          • Custom script: call DestroyGroup(udg_VorpalUnit[1])
          • Custom script: call DestroyGroup(udg_VorpalUnit[2])
          • Countdown Timer - Start VorpalSword_Timer as a One-shot timer that will expire in 0.80 seconds
          • Skip remaining actions
        • Else - Actions
Should I separate it with 3 different triggers (Each Trigger for Each Effect)?
 
Status
Not open for further replies.
Top