• 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.
  • 💡 We're thrilled to announce that our upcoming texturing contest is in the works, and we're eager to hear your suggestions! Please take this opportunity to share your ideas in this theme discussion thread for the Texturing Contest #34!
  • 🏆 Hive's 7th HD Modeling Contest: Icecrown Creature is now open! The frozen wastes of Icecrown are home to some of Azeroth’s most terrifying and resilient creatures. For this contest, your challenge is to design and model a HD 3D monster that embodies the cold, undead, and sinister essence of Icecrown! 📅 Submissions close on April 13, 2025. Don't miss this opportunity to let your creativity shine! Enter now and show us your frozen masterpiece! 🔗 Click here to enter!

[Crash] Fatal error when clicked unit (not all players)

Status
Not open for further replies.
Level 11
Joined
Jan 23, 2015
Messages
788
Dont double post, merge all posts into one..
As for your problem, there is something in this trigger that crashes the players' games which I cant see very well cause you posted your trigger as a screenshot (and I'm on from mobile), what would I do is try running the trigger without some actions which I mostly suspect are causing this problem (you can copy the trigger as a test and disable the other one)
Hope I helped you
 
Level 12
Joined
Feb 22, 2010
Messages
1,115
Up

Can someone list things that may cause a player's game to crash.It is a multiplayer game but only one player is getting fatal error.
 
Level 12
Joined
Feb 22, 2010
Messages
1,115
That is not crash, what I mean is player's game gets closed completely with an error message.
 
The player-specific crashes tend to be related to GetLocalPlayer().

Disable some of the lines within GetLocalPlayer(), and test the code using kLoader so you can test for desyncs/crashes by yourself:
http://www.hiveworkshop.com/forums/...multiple-warcraft-3-running-single-pc-226287/

Try to find the culprit. I don't recall those specific functions calling desyncs, but maybe you'll find out something. Also, is it crashing with a fatal error? Or is it dropping players (e.g. X has been disconnected)? The answer to that makes a pretty big difference as to how to approach the problem.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,275
GetLocalPlayer can be used to crash specific players because it can be used to execute crash inducing code only for specific players. That said it is not a common cause as generally it only alters visual stuff and in a way that it should not crash (you need to either do something very stupid, or purposely script it for a crash to occur).

Another cause of asynchronous crashes are local assets. For example if a corrupted model is loaded on one client but not another it would crash that client while the other would be unaffected. Be aware that visual settings alter what assets are loaded so could influence exposure to assets. Also be aware that terrain deformations have been known to cause crashes and are also computer asynchronously based on visual settings on OS.

Looking at your trigger 2 immediate sources of possible crashes springs to mind.

Firstly you destroy two effects that are obviously sourced from another trigger. It is possible these effects do not exist so null is destroyed instead. Although it really should not crash, one never knows with WC3 so it could be a possible client state dependant crash source. You should always make sure that something exists before trying to destroy it for this reason (best done with state machines as you then know what states the machine has to be in for the object to exist and also what transitions require it being destroyed).

The other is the GetLocalPlayer block. Although that by itself will not cause a crash you do run a number of actions in it. The sound play might be setting dependent so crash for some assets or at certain settings on certain hardware configurations. The main concern for me would be the quest actions as quests are notorious for crashing WC3. Creating a quest at map initialization instantly fatal errors WC3 if my memory serves me. Make sure that the actions you run are done on valid quest elements. Try disabling them to see if it makes a difference.

You also both disable and enable user control for a player instantly. Although it really should not do anything (not even be visible) it could be a possible crash source due to its behaviour being undefined. Usually user control is disabled at least for some period of time (a cinematic, a transition etc) so enabling it immediately will likely not be very good and certainly could produce unintended results.

The pings could also possible cause a crash if they are given invalid arguments (depending how well defined the natives are). However your arguments do look sensible so I doubt this is the case.

Do be aware the trigger has a substantial number of memory leaks.
 
Level 12
Joined
Feb 22, 2010
Messages
1,115
What I was wondering is trigger is fine for most players, but only some of them have problem.I was thinking maybe the problem may be language/font of player's game since problem involves cinematics and quests.Because other actions seems too innocent for me to cause fatal error.But now you mentioned hardware stuff and destroying null effects, maybe.But I have a reason to believe it is not destroying null effect.It is either cinematic/disable control part or the part inside local block.Because (according to my friend)when two players in game who has problem, only the one who clicks gets fatal error.But I can't understand why any of them would cause crash.

By the way, that cinematic action is actually waits if you set last three parameters as "set", "t"(amount of time), "wait".
 
Status
Not open for further replies.
Top