• 🏆 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!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Triggers causing Fatal Errors

Status
Not open for further replies.
Level 3
Joined
Feb 3, 2009
Messages
33
Hello,
I am working on a RPG map for 2 years, and I have random Fatal Errors happening when a hero dies ... Here is what I know about these errors :
- It doesn't come from imported models, it also crashes with normal wacraft models
- It doesn't happen everytime the hero dies, so I think it is based on 2 triggers interacting on each other, one of them being periodically (the crash can happen exactly when the hero dies, or after a few seconds after dying)

Could someone tell me what type of triggers could cause a crash like that ? (Integer A/B Loops problems, or Variable settings... ect)
I already have searched on the internet, I asked on some forums and the problem is still here ..

I checked all my triggers, I have a lot of leak (it's an oldmap and I didn't know leak at the beginning) but I removed all the Waits to avoid Loop errors, using Timers instead..

The Fatal error code is '0x6F479BD1' and seems to be a "Access Violation"..

Thanks in advance for helping me..
 
Level 3
Joined
Feb 3, 2009
Messages
33
This looks like jass ^^ but I only used GUI in my map.. full and brutal GUI.. so i guess i'm not using this but maybe i'm wrong about what it is
edit: i also did not touch the hashtables or gamecache things
 
Level 3
Joined
Feb 3, 2009
Messages
33
here are the triggers that makes the hero come back to life : (it works, when it doesnt crash the hero revives perfectly and it works for every player ..)

  • Hero Revive Timer Setup
    • Events
      • Unit - A unit Dies
    • Conditions
      • ((Triggering unit) is A Hero) Equal to True
      • ((Triggering unit) belongs to an ally of Player 11 (Dark Green)) Equal to True
      • ((Triggering unit) is in (Units in (Playable map area)(((Owner of (Triggering unit)) controller) Equal to User))) Equal to True
    • Actions
      • Countdown Timer - Start Revive_Timer[(Player number of (Owner of (Triggering unit)))] as a One-shot timer that will expire in 7.00 seconds
      • Set Hero_Dead[(Player number of (Owner of (Triggering unit)))] = (Triggering unit)
      • Set boolean_Death[(Player number of (Owner of (Triggering unit)))] = True
      • Game - Display to (All players matching ((Matching player) Equal to (Owner of (Triggering unit)))) for 6.00 seconds the text: |c00FD1D0CYou died....
      • Set TmpPoint = (Position of (Triggering unit))
      • Special Effect - Create a special effect at TmpPoint using Abilities\Spells\Other\Transmute\PileofGold.mdl
      • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation(udg_TmpPoint)
      • Player - Set (Owner of (Triggering unit)) Current gold to (((Owner of (Triggering unit)) Current gold) / 2)


  • Hero Revive Timer End
    • Events
    • Conditions
    • Actions
      • For each (Integer A) from 1 to 10, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • boolean_Death[(Integer A)] Equal to True
            • Then - Actions
              • Hero - Instantly revive Hero_Dead[(Integer A)] at Revival_Point[(Integer A)], Show revival graphics
              • Unit - Set life of Hero_Dead[(Integer A)] to 10.00%
              • Unit - Set mana of Hero_Dead[(Integer A)] to 0.00%
              • Selection - Select Hero_Dead[(Integer A)] for (Player((Integer A)))
              • Set Hero_Dead[(Integer A)] = No unit
              • Set boolean_Death[(Integer A)] = False
            • Else - Actions

I also put this on the Init settings of the map to add events to the second trigger :

  • Init Settings
    • Events
      • Time - Elapsed game time is 0.50 seconds
    • Conditions
    • Actions
    • For each (Integer B) from 1 to 10, do (Actions)
      • Loop - Actions
        • Trigger - Add to Hero Revive Timer End <gen> the event (Time - Revive_Timer[(Integer B)] expires)


The problem is that I don't know what trigger could causes problems, and I'd like to know the problems causing errors .. I tried to isolate the crash turning on/off one or two triggers only at same time, but I didn't find anything .. Or maybe the error just didn't happen, since it's very random (but enough annoying to make me unable to let people play my map!!)


edit: i will put my map on mediafire so you can open it and see all the triggers .. because i think it will not work if i put everything on here ^^ ill edit again to insert the link

edit2 : here is the link if you want to see the crash you can kill a hero manually by typing -kill.. used that for the tests.. http://www.mediafire.com/?8pujqx7s2ev8b38
 
Level 3
Joined
Feb 3, 2009
Messages
33
when i disable this the hero just isnt selected after revived, but still the crash can happen ... also it happens in singleplayer, so i guess it will also happen in multi
 
Last edited:
Level 3
Joined
Feb 3, 2009
Messages
33
PurgeandFire111 said:
Hmm... I didn't crash after killing my hero at least like 15 times. :p What version is your warcraft 3?
I've noticed a thing : the crash happens more often when dying naturally fighting monsters... When I used -kill to test, I got rare crashes..
And also it seems like the heroes Arrowmaster and Soul Knight crash a bit more often than the others.. But I tested the models they work properly!
And my warcraft version is 1.24.4.6387 I did all the patches via Battle.net automatic download..


GhostThruster said:
Maybe it isn't the map... is your PC alright? Are you using any 3rd-party programs?
I think it's the map.. I launched every antivirus scan I have and I got nothing, and also a friend of me tested the map on his PC and it crashed too..
And I only use the french Worldedit, and when I need to post triggers on here I use the Worldedit Unlimited that I found on here
 
Status
Not open for further replies.
Top