Difference between revisions of "Sims 2:Object Errors"

From SimsWiki
Jump to: navigation, search
m (Reverted edits by HugeLunatic (talk) to last revision by Kiwi tea)
(7. Too many iterations: Added note about introducing an Idle to prevent this error)
Line 188: Line 188:
  
 
====7. '''Too many iterations'''====
 
====7. '''Too many iterations'''====
This occurs when a node in a BHAV is run more than 10,000 times.  It often occurs when a node is linked to itself, or in [[0x001F|Set To Next]] that are too broad(resulting in more than 10,000 items), or if you zero out the variable you using in [[0x001F|Set To Next]] prior to each call (resulting in the same item being found 10,000 times).  It can be fixed by using concise searches, and by making sure that no nodes make loops that will cause them to be run 10,000 times.
+
This occurs when a node in a BHAV is run more than 10,000 times.  It often occurs when a node is linked to itself, or in [[0x001F|Set To Next]] that are too broad(resulting in more than 10,000 items), or if you zero out the variable you using in [[0x001F|Set To Next]] prior to each call (resulting in the same item being found 10,000 times).  In this case the error can be fixed by using concise searches, and by making sure that no nodes make loops that will cause them to be run 10,000 times.
 +
 
 +
At other times this error will occur even if there is no mistake in the coding, but simply because an object is running a long and complex section of code without giving the game time to service other functions. In this case the insertion of an [[Idle]] at some point in the code prior to where the error typically occurs will prevent the "Too many interations" error. The idle call typically only requires "1" tick as its parameter.
  
 
====8. '''Undefined Transition'''====
 
====8. '''Undefined Transition'''====

Revision as of 16:09, 9 July 2014

Contents

Object Errors

Description:

An object error, more commonly known as the "jump bug"(when not in debug mode, a sim resets when encountering an error, thus "jumping"), occurs usually when there are problems with a behaviour. Some object errors however, are harmless and would go un-noticed if you weren't in debug mode. Debug mode will inform the user that an error has occurred and log a stack trace. These logs are vital to solving bugs in both behaviour mods, and problems with the original game.

Obtaining an error log:

It is common when you have a problem with a behaviour Mod that the creator will request an Object Error log. Basically you will run your game in debug mode(often falsely referred to as boolpropping), this will tell your game to log errors when they occur.

  1. Run The Sims 2
  2. Load a lot where you can recreate the problem
  3. Press the key sequence Control+Shift+C
  4. Enter the command "boolprop testingcheatsenabled true"
  5. Recreate the problem, until you get a popup telling you that an error has occurred.
  6. A file named something similar to this ObjectError_N001_t23001.txt should appear in your logs folder(My Documents\EA Games\The Sims 2\Logs\")

Object Error Listing:

Here is a complete listing of possible object errors from the stack trace. Below, this list will be explanations of each of them, how they are caused, and fixed.

  1. Unrecognized error condition
  2. Stack underflow.
  3. Check tree primitive blocked completion.
  4. Transition to node that does not exist.
  5. Tree not found. Probably a reset() problem.
  6. Behavior not found. Probably a reset() problem.
  7. Too many iterations.
  8. Undefined Transition.
  9. Stack overflow.
  10. Bad family id.
  11. Cinematic camera does not have a choreo queue.
  12. Another cinematic already is active.
  13. Unknown cinematic error.
  14. Target object out of world.
  15. Attempted too many look_at requests in one simulator turn on this Sim
  16. Attempting to create object type that's been unlinked (ie is dead, and has had data removed from it's .package file).
  17. Attempting to Save UI Mode to mode it's already saved at.
  18. Attempt to change light on object that has no model.
  19. Last Find Best Action was Not Successful. Quit trying to run gosub.
  20. Trying to create instance of Template Object
  21. Trying to animate a cinematic actor that is not animatable
  22. Cinematic autoCreate actor is not 0
  23. Cinematic origin actor (for camera and light rig) has no 3D model
  24. Cinematic origin actor (for camera and light rig) is invalid
  25. Required cinematic actor has no 3D model
  26. Required cinematic actor is invalid
  27. Required cinematic actor is missing
  28. Cinematic animation not found
  29. Cinematic scene not found
  30. Person is not selectable.
  31. Hit data break point - Value Changed!
  32. Invalid Lot ID.
  33. Trying to run default effect - not supported anymore.
  34. Trying to route while in an post route callback.
  35. Trying to route while in an along route callback.
  36. Trying to route while in an pre route callback.
  37. Couldn't load memory icon
  38. Animation speed cannot be zero
  39. Bad or empty button or window GUID.
  40. Not enough local vars.
  41. Trying to route while out of world.
  42. You sent me a crappy GUID, please fix it.
  43. Could load the specified memory icon.
  44. Bad destination for a 32bit write.
  45. Temp0 does not point at a Sim ObjectID.
  46. Request for babies count out of range.
  47. Missing neighbor for data access.
  48. Inventory token propert index out of range.
  49. Inventory token index out of range.
  50. Invalid animation type specified in animation string
  51. Missing Job Title / Phone Services Table (table 147) in Object.
  52. Missing reach animation.
  53. Invalid number of loops
  54. Trying to push nested interaction on someone not in an 'allow nested' interaction
  55. Trying to access array element via iterator that does not exist.
  56. Bad Object Array
  57. Reach animation does not contain event 0.
  58. No Object for Reach to work on.
  59. Cant run Reach/Drop on non Sim object.
  60. The relationship matrix requested could not be found.
  61. Requesting a look_at operation that is already running on the object
  62. Trying to modify variable in const type tree
  63. IK target animation cannot find bone on self
  64. IK target animation cannot find bone on other object
  65. IK target animation requires 3D model on other object
  66. IK target animation requires other object
  67. Locomotion stack is too deep: check for imbalanced push/pops
  68. Invalid pop: locomotion stack is empty
  69. 3D object is not locomotable.
  70. Missing Action String in table.
  71. Missing (or empty) model bone name.
  72. Missing table for model bone names.
  73. Hit Break Point Primitive.
  74. Trying to perform an animation from the Social Interaction list against a non person.
  75. Bad paramater value set in Manage Inventory Primitive.
  76. Index passed to Manage Inventory out of bounds.
  77. Inventory doesn't exist for ID passed to Manage Inventory.
  78. Temporary token field out of range.
  79. Can't place in world for some reason
  80. No bone on model corresponding to name in routing slot on destination object
  81. Missing requested bone for slot
  82. Trying to change an effect on an object with too many Particle Emitters
  83. Turn rate must be positive
  84. Trying to change an effect on a non 3d Object
  85. Missing Effect Name
  86. Requesting to play an animation on an object for the third time
  87. Missing Light Name
  88. Trying to change a light on a non 3d Object
  89. Trying to look_at a non 3D object
  90. Trying to use a Global Animation on a non Edith Person object. Naughty naughty!
  91. Event Tree handler called on deleted object or invalid object ID
  92. Change graphic expression called on non 3D object
  93. Animation Primitive called on non Animating object - look at 3DObjectID in obj def.
  94. Missing Material / Mesh Group Name.
  95. Material Change on Non 3D object.
  96. IsGlobal flag not implemented yet.
  97. Animation name is empty string.
  98. 3D object is not a person.
  99. 3D object is not animatable.
  100. Local out of range.
  101. Invalid object id.
  102. Invalid constant.
  103. Unrecognized priority value.
  104. Tree table not found
  105. Search type is invalid. Types are 0: all motive, 1:mental motives, 2:physical motives.
  106. Balloon Type Is Invalid. Values are 0:thought, 1:scream, 2:speak.
  107. Object referred to must be a person.
  108. Slot number out of range.
  109. Motive number out of range or not an acceptable value.
  110. Weight number for a weight assignment is out of range.
  111. Standard number for a weight assignment is out of range.
  112. Could not find object reference.
  113. Reference to tree table entry that does not exist. 113
  114. No stack object present when required. 114
  115. Data value out of range.
  116. Expression attempting to write in a read-only area. 116
  117. Zero distance in finding direction.
  118. Bad gosub tree number.
  119. Bad alert tree number.
  120. Reference to stack object out of range. 120
  121. Undefined transition found.
  122. Flag reference is out of range. 122
  123. Reference to target object when none exists.
  124. Gosub??
  125. Reference to tree tree parameter when no parameter exists.
  126. Illegal owner field in data reference.
  127. Stack number out of range. 127
  128. Data number out of range.
  129. Attribute number out of range
  130. Illegal primitive code. 130
  131. Random number range evaluated to zero.
  132. Bad parameter to update primitive.
  133. Temporary reference out of range.
  134. Bad operator.
  135. Bad parameter in look towards primitive.
  136. Divide by zero. 136
  137. Invalid routing slot specified
  138. Invalid snapping mode specified
  139. Show hide parameter is out of expected range.
  140. Person data field is out of range.
  141. Bad target slot specified in routing slot.
  142. No Error
  143. Index into object definition out of range.
  144. Bad room id specified
  145. Bad room value requested.
  146. Invalid global sim call.
  147. Named tree does not exist.
  148. Bad parameter to call named tree.
  149. Invalid suit index.
  150. Invalid suit location.
  151. Invalid dynamic sprite index
  152. Object for routing either does not exist or is out of bounds.
  153. Invalid action in tutorial primitive.
  154. More than one passing value specified.
  155. Bad expense type specified.
  156. Job data not found.
  157. Career id not found.
  158. Invalid skin color.
  159. Neighborhood data index out of range.
  160. Start object required.
  161. Tree break encountered.

3. Check tree primitive blocked completion

The cause of this error is attempting to execute code which require 'blocking' to perform (eg. animations, blocking dialog boxes ect) in immediate! mode (bypassing action queue). To avoid this - make sure to push such action's to action queue instead. Common reason for seeing this is a BHAV which issues a dialog but has the "immediately" box checked in the TTAB. Also seen for Run Tree by Name – when using "Run in x stack" – try with "Push in x stack" to avoid error. Also seen for calls to Sleep.

4. Transition to Node That Does Not Exist

This occurs when a true or false branch of a BHAV node is non-existent. To fix this, change the node to refer to an existing node, or create the non-existing one.

7. Too many iterations

This occurs when a node in a BHAV is run more than 10,000 times. It often occurs when a node is linked to itself, or in Set To Next that are too broad(resulting in more than 10,000 items), or if you zero out the variable you using in Set To Next prior to each call (resulting in the same item being found 10,000 times). In this case the error can be fixed by using concise searches, and by making sure that no nodes make loops that will cause them to be run 10,000 times.

At other times this error will occur even if there is no mistake in the coding, but simply because an object is running a long and complex section of code without giving the game time to service other functions. In this case the insertion of an Idle at some point in the code prior to where the error typically occurs will prevent the "Too many interations" error. The idle call typically only requires "1" tick as its parameter.

8. Undefined Transition

This occurs when a node's true, or false branch lead it to error(a value of 0xFFFC), rather than another line, or ending the BHAV as true(0xFFFD) or false(0xFFFE).

48. Inventory token propert index out of range

The property of the inventory token you are referring to does not exist

49 Inventory token index out of range

The Inventory token that you refer to does not exist.

56. Bad Object Array

If you see this error, the likelihood is that you have not allocated space for the array you are trying to use. Space must be allocated in the OBJD - Data Space.

63. IK target animation cannot find bone on self

This means that an animation played by the node that caused the error requires a specific cObjectGraphNode name to be defined in the CRES of the My Object.

64. IK target animation cannot find bone on other object

This means that an animation played by the node that caused the error requires a specific cObjectGraphNode name to be defined in the CRES of the Stack Object.

65. IK target animation requires 3D model on other object

This means the stack object is not defined as animateable, or 3D in 0x0063 of its OBJD

66. IK target animation requires other object

This means that the requested animation requires a target object that is not present in the Stack Object

73. Hit Break Point Primitive

This error occurs any time that the primitive 0x000F is called by a BHAV.

99. 3D object is not animatable

This means that an animation was requested by this node to be played, but the object is not defined as animatable. This must be set in OBJD - Mesh & Graphics in "3D Object Type" (0x0063).

100. Local out of range

This occurs when a Local Variable is either defined, or called when it has not been allocated by the header of the BHAV.

102. Invalid constant

Check that a referred to BCON resource is present.

108. Slot number out of range

This means that there is no entry in the SLOT of the value requested in that node.

109.Motive number out of range or not an acceptable value

The motive that you refer to does not exist.

112. Could not find object reference

Pretty much says it all. An object reference provided is probably not set.

113. Reference to tree table entry that does not exist

When a node refers to a tree table entry that is not defined in the object. This is common(maybe exclusive) with Primitive 0x000D, Push Interaction

114. No stack object present when required

This error occurs when a Primitive called in the node expects a Stack Object to be defined, and either there has been none defined, or it has been assigned to 0.

116. Expression attempting to write in a read-only area

When an expression attempts to change a read-only value, such as "Time of Day". Most of the Global From Simulation data types are read-only.

120.Reference to stack object out of range

Stack object data owner has a range of 0x0

122.Flag reference is out of range

The flag you refer to is not defined.

127.Stack Number out of range

Your parameter is out of the range defined in the BHAV's header(arg count).

129. Attribute Number out of range

If you see this error, the likelihood is that you have not allocated space for the number of attributes you are trying to use. Space must be allocated in the OBJD - Data Space. You seem to be able to use a few without having to do this, so I expect there is some amount of space pre-allocated for attributes, but if you have a bigger number of attributes, then you definitely need to do this.

130. Illegal primitive code

Occurs when a non-existent Primitive is attempted to be called; Primitives being defined as an OpCode between 0x0000, and 0x00FF

136. Divide by zero

Dividing by zero in an expression in SimAntics and will result in an error just like everywhere else.

This article is imported from the old MTS2 wiki. It's original page, with comments, can be found at http://old_wiki.modthesims2.com/Sims 2:Object Errors

Personal tools
Namespaces

Variants
Actions
Navigation
game select
Toolbox