Causes of ZT crashes and how to avoid them

We have some of the best Techies around to help you solve any technical problems you might be having with Zoo Tycoon.
Post Reply
User avatar
Jay
african elephant keeper
Posts: 11552
Joined: Thu Jan 15, 2004 9:23 pm
Location: Orlando, FL (M:66)

Causes of ZT crashes and how to avoid them

Post by Jay »

The following information was updated January 7, 2021 by Jay.

This lists some things that can cause Zoo Tycoon 1 to crash (ie, the program ends unexpectedly). It also gives some ways to avoid the crashes. This list does not cover most of the crashes that can occur from user made objects that were not configured correctly, since those should be found during testing. But the list will include some crashes that can occur from user made objects if they involve things that are often missed in testing.

Symptom: An object is changed to a different object, usually a user made object, in a zoo in MM or CC and the game soon crashes.

Cause: It is a mistake in the MM/CC program. In MM, Blue Fang added the ability for guests to go look at objects. Most of the objects that come with Zoo Tycoon and some user made objects can be looked at. Those objects have to have IDs that are in ".dll" files. When MM/CC sees such an object, MM/CC will eventually have a guest go look at it. If a guest starts walking to such an object and that object is then replaced with an object that does not have a ".dll" ID, which most user made scenery, rocks, and foliage do not, the guest continues to go to the object. But when the guest gets there, MM/CC do not check if the object was changed and the game crashes. Interestingly, if the object is replaced with an object that does have a ".dll" ID, the guest will still go to look at it, but will have the guest thought for the new object instead. For example, if the tar pit is replaced with the ring toss game while adults are on their way to look at the tar pit, those adults will go and look at the ring toss game without going in and will have the guest thought for the ring toss game, even though the ring toss game is only for children.

How to avoid: There are 2 approaches that can be used to avoid this problem. One approach is, after deleting an object that guests might go to look at, wait a length of time without the game being paused before putting another object at that location. It has to be enough time for all guests that are on their way to that location to get there. Once the guests get there, they will see that there is nothing there and will then go elsewhere. I do not know what that length of time to wait should be.

Another approach is, before replacing an object with another object, put a decorative fence around the object, at least 1 tile away from the object. Then replace the object. Wait a length of time without the game being paused before deleting that decorative fence. That way any guests that are on their way to the object will eventually get to the fence and stop. I do not know what length of time one would need to wait before removing the fence, but this approach would make it easier to wait longer and the fence could also make it easier to relocate that location if you decide to go and do other zoo building while waiting.

-----

Symptom: A saved game is loaded in MM or CC and the game crashes immediately or soon after.

Cause: This is the same problem as above. It just happens to be saved in a zoo.

How to avoid: Use one of the above approaches to avoid this problem before saving the zoo. If the zoo is already saved, there is no perfect solution. Try pausing the game immediately on loading the zoo to try to find which object guests might be going to see and delete it or put a decorative fence around it. If the zoo is too large to find the location or if the crash occurs immediately, you would have to remove everything from the dlupdate folder (for CC) or the Updates folder (for MM) and add them back into the folder a group at a time to see which object will prevent the crash. That does not mean there is anything wrong with that object; it just happens to be at the location where the guests are expecting to find the previous object.

-----

Symptom: A user made object is added to a zoo in MM or CC and, when a guest eventually goes near it, the game crashes.

Cause: This is similar to the above problems. When the object was created, it was intended to be one that guests do not go to look at. But the configuration was copied from an in-game object that guests do go to look at.

How to avoid: The configuration should be changed for the user made object. Ideally, it should be changed by someone at the site where it is available for download. The object's ".ucs" file should have the cEstheticWeight and cGawkOnlyFromFront lines removed.

-----

Symptom: A zoo is running in a ZT expansion pack and the game crashes, even when no changes were made for a while in the zoo.

Cause: There are 3 possible causes. It is possible that a patch program was run that changes ".dll" files. When buildings were made by users for the original Zoo Tycoon, this was often the approach used to get messages into the game for the building. But when the ZT expansion packs were created, some messages were officially changed. With the user made patch programs, though, that causes problems with the official changes.

The second possible cause is the map has a zoo wall in a tile along the edge of the map. It could be a user made map, but Zoo Tycoon also has 2 maps where this occurs: "Jungle River (Medium)" and "Marine Mania: Lake Resort (Large)".

The third possible cause is the zoo has an exhibit fence that is entirely 1 tile away from the edge of the map.

How to avoid: No patch program should be run for user made objects. Also, some user made setup programs contain patch programs that are run when the setup program is run. So no setup program should be run for user made objects unless it is known they do not contain patch programs. Some user made downloads contain ".dll" files where the designer ran a patch program. These ".dll" files will always be large. Do not use any user made ".dll" files that are larger than 1.8 MB. If you believe you might have run a patch program or setup program that contains a patch program, compare the size of the lang0.dll in the Zoo Tycoon folder with the one on the Zoo Tycoon CD-ROM. If the sizes are different, then copy the lang0.dll from the CD-ROM to the Zoo Tycoon folder. If there are any user made ".dll" files in the Zoo Tycoon folder that are larger than 1.8 MB, delete them, but do not delete any ".dll" files that come with Zoo Tycoon.

To see if the crash is caused by the map, click Pause and turn on the grid lines in Zoo Tycoon. Then check all 4 edges of the map to make sure it does not have a zoo wall in any tile along the map's edge. If it does, do not use the map. That includes not using the "Jungle River (Medium)" map or the "Marine Mania: Lake Resort (Large)" map that come with Zoo Tycoon if you are using an expansion pack.

To see if the crash is caused by exhibit fences, click Pause and turn on the grid lines in Zoo Tycoon. Then check all 4 edges of the map to make sure it does not have an exhibit fence that is 1 tile away from the map's edge. Delete all exhibit fences that are. Then save the zoo and load the zoo again. It is okay if only the end of an exhibit fence is 1 tile away from the map's edge. There is more information on this type of crash in the "Exhibit fences 1 tile away from map edges can cause crashes" topic at ZT Designer Guild:

http://www.ztcdd.org/DG/index.php?topic=5938.0

-----

Symptom: The game crashes when you click on a user made animal or object in a purchase menu or when you move the mouse cursor over a user made icon in a purchase menu or when you click on an animal in an exhibit and click the Zookeeper Recommendations. The game might not crash for other people doing the same thing.

Cause: A user made animal or object can support different languages. A line in the configuration says what language to use if someone is using a Zoo Tycoon version for a language that is different than any of those added to the configuration. Sometimes this line is not set correctly by the APE program. So the animal or object might work for someone using one language, but cause a crash when used by someone using another language.

How to avoid: The configuration should be changed for the user made animal or object. Ideally, it should be changed by someone at the site where it is available for download. The animal's ".uca" file or object's ".ucs" file should have a LCID line. The number on that line should match one of the numbers that is in brackets elsewhere in the ".uca" or ".ucs" file. For downloads at English speaking web sites, that usually means the file should have "LCID=1033" and "[1033]" lines.

-----

Symptom: The game crashes when you pick up a user made animal and try putting it on water terrain. Note that sometimes an animal can be placed on water when it is first adopted, but not later.

Cause: The configuration for the user made animal says it can be placed on water terrain but does not have all of the configuration needed by Zoo Tycoon to do so.

How to avoid: The configuration should be changed for the user made animal. Ideally, it should be changed by someone at the site where it is available for download. All "cSwims = 1" lines in the animal's ".uca" file should be changed to "cSwims=0".

-----

Symptom: The original Zoo Tycoon or DD is being used and the game crashes soon after a zookeeper enters an exhibit or is put in an exhibit.

Cause: The animal needs a type of food that was not created until a later expansion pack.

How to avoid: Do not use the animal in the original Zoo Tycoon or DD.

-----

Symptom: The game crashes after selecting Play Freeform Game, selecting a map, and clicking Play.

Cause: There are too many ".ztd" files.

How to avoid: ".ztd" files can be combined. The "Zoo Tycoon 1 Limits And Suggested Solutions" topic at Zookeeper's Lounge talks about the problem more:
http://www.lunamanar.com/zklounge/viewtopic.php?t=1573

-----

Symptom: The game crashes when you try to load a saved zoo, continue a saved zoo, or start a new zoo.

Cause: The unlockCount number in the zoo.ini file is larger than 999.

How to avoid: The unlockCount number should be reduced to less than 999, such as setting it to 1. The "Zoo Tycoon 1 Limits And Suggested Solutions" topic at Zookeeper's Lounge talks about the problem more:
http://www.lunamanar.com/zklounge/viewtopic.php?t=1573

-----

The above information may be copied to any web site. If there are any suggestions for changes, please post them at Zookeeper's Lounge. That is where this information will be kept up-to-date.

"Causes of ZT crashes and how to avoid them" is in the Technical Support section at the Zookeeper's Lounge web site:
http://www.lunamanar.com/zklounge/index.php
- written by Jay
Post Reply