• 🏆 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!

Map Fatal Error

Status
Not open for further replies.
Level 22
Joined
Feb 3, 2009
Messages
3,292
Hello, I have a big problem; my map seems to have a fatal error. It happens pretty much every game at a time. Everytime i go play this map with just me and my brother and the rest computers, it always happens short before the 1st hero enters the map. It also happens in different times, it's pretty much random.

Please some one download my map bellow and help me find what is causing the fatal error. As some user posted in the comment, this is the 1st version in which this is happening.

http://www.hiveworkshop.com/forums/maps-564/great-battles-middle-ages-v-8-3-a-162975/
 
Level 10
Joined
Oct 31, 2009
Messages
352
I'll take a look at your triggering, but honestly man I had the same problem after implementing some major changes to my AoS map and it took me over a week to narrow down the problem.

The only thing I can tell you is to make damn sure that in the future you test after EVERY change you make, otherwise this unfortunate circumstance will inevitably occur again.


EDIT - i'll take a look at the map tommorow when i'm not as tired (if you haven't figured it out by then)
 
Last edited:
Level 10
Joined
Mar 30, 2009
Messages
255
since you got alot of init triggers, you might use the custom script: call DestroyTrigger(GetTriggeringTrigger()) on triggers you only use once...

i also had such a problem.. however i could never really solve it... but the custom script should help..

what i did to my map: i copied the unit data and made a completely new map... made everything, besides of object data, new :)
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,202
There was one in the initialization trigger, you have a double group generation yet only 1 destoy.

Still is not an excuse for creating and destroying so many groups. I advise implimenting group recycling and trying to use integers to keep track of unit numbers instead of constant unefficent recounting of units in groups.

As for the crash, this might only imrpove stability but probably will not fix it. Try disabling the custom spells as they are normally a major cause. Try disabling the AI, as a bug in that can also crash. If all fails try and see if turning all triggers off prevents the crash. If the crash still persists its non trigger related so try messing with object editor spells and stuff.

I seriously believe the crash might be AI related, as that is the sort of thing the AI can do due to its randomness.
 
Level 22
Joined
Feb 3, 2009
Messages
3,292
It's possible, however I do believe the AI has nothing to do with it, as this fatal error wasn't always in the map, it appeared when I made a giant new version.

So I'll check the triggers


EDIT: It really is the AI, I checked, and everytime there are AIs inside it gives the error. Any ideas?
 
Last edited:

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,202
I definatly say your use of groups might have something to do with the crash.

Unlike the upcomming SC2, the trigger engine is not very robust, and prone to faults. These faults vary from internal leaks (you can not fix these as they are inside the engine) to crashes.

Groups are one of the most advanced object types you can create, as they include some form of hash ontop of a list. Especially when units are removed, they still remain in the group and will still be picked for enums. All it needs is a removed unit to be picked from a group and inserted into some unrobust natives and you can quite possible get a crash. The same goes for inserting any nonsense value as an object.

These crashes are almost impossible to spot. The only way to avoid them is to code properly from the start. Thus I still advise reducing the usage of groups in your map to a few static or recycled groups and then keeping track of unit numbers via a counter system rather than recounting the units in a group perodically.

It is best to disable every part of your map until the crashes stop, then you know which parts were not causing the crash and have a small scope to work on finding the crash in. It could be something as stupid as an invalid object field or rounding error.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,202
Yes, but what you changed in 8.1 might have unintentionally affected the AI. Before the AI interaction was safe and never crashed, now the same AI script is entering an invalid state which results in a crash.

The crashes could be caused by a whole number of things. Changed object data where the AI now is trying to make or use stuff it can not. Changed terrain where before a procedure for placement worked perfetly, but now its entering an invalid state. It could just be something as stupid as you changed something yet did not update the AI to mirror that change.

This is one of the most common forms of bug in programming. Where updating something for somereason causes another part to break.
 
Status
Not open for further replies.
Top