Difference between revisions of "Sims 2:Object Errors"

From SimsWiki
Jump to: navigation, search
m (Grammer)
 
(26 intermediate revisions by 5 users not shown)
Line 19: Line 19:
 
#  Unrecognized error condition
 
#  Unrecognized error condition
 
#  Stack underflow.
 
#  Stack underflow.
#  Check tree primitive blocked completion.
+
[[#3. Check tree primitive blocked completion|Check tree primitive blocked completion]].
#  Transition to node that does not exist. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#4._Transition_to_Node_That_Does_Not_Exist 4]
+
[[#4. Transition to Node That Does Not Exist|Transition to node that does not exist]].
 
#  Tree not found. Probably a reset() problem.
 
#  Tree not found. Probably a reset() problem.
 
#  Behavior not found. Probably a reset() problem.
 
#  Behavior not found. Probably a reset() problem.
Too many iterations. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#7._Too_many_iterations 7]
+
#  [[#7. Too many iterations|Too many iterations]].
Undefined Transition. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#8._Undefined_Transition 8]
+
#  [[#8. Undefined Transition|Undefined Transition]].
 
#  Stack overflow.
 
#  Stack overflow.
 
#  Bad family id.
 
#  Bad family id.
Line 64: Line 64:
 
#  Request for babies count out of range.
 
#  Request for babies count out of range.
 
#  Missing neighbor for data access.
 
#  Missing neighbor for data access.
#  Inventory token propert index out of range. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#48._Inventory_token_propert_index_out_of_range 48]
+
[[#48. Inventory token propert index out of range|Inventory token propert index out of range]].
Inventory token index out of range. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#49_Inventory_token_index_out_of_range 49]
+
#  [[#49. Inventory token index out of range|Inventory token index out of range]].
 
#  Invalid animation type specified in animation string
 
#  Invalid animation type specified in animation string
 
#  Missing Job Title / Phone Services Table (table 147) in Object.
 
#  Missing Job Title / Phone Services Table (table 147) in Object.
Line 72: Line 72:
 
#  Trying to push nested interaction on someone not in an 'allow nested' interaction
 
#  Trying to push nested interaction on someone not in an 'allow nested' interaction
 
#  Trying to access array element via iterator that does not exist.
 
#  Trying to access array element via iterator that does not exist.
#  Bad Object Array
+
[[#56. Bad Object Array|Bad Object Array]]
 
#  Reach animation does not contain event 0.
 
#  Reach animation does not contain event 0.
 
#  No Object for Reach to work on.
 
#  No Object for Reach to work on.
Line 79: Line 79:
 
#  Requesting a look_at operation that is already running on the object
 
#  Requesting a look_at operation that is already running on the object
 
#  Trying to modify variable in const type tree
 
#  Trying to modify variable in const type tree
#  IK target animation cannot find bone on self [http://www.sims2wiki.info/wiki.php?title=Object_Errors#63._IK_target_animation_cannot_find_bone_on_self 63]
+
[[#63. IK target animation cannot find bone on self|IK target animation cannot find bone on self]]  
#  IK target animation cannot find bone on other object [http://www.sims2wiki.info/wiki.php?title=Object_Errors#64._IK_target_animation_cannot_find_bone_on_other_object 64]
+
[[#64. IK target animation cannot find bone on other object|IK target animation cannot find bone on other object]]  
#  IK target animation requires 3D model on other object [http://www.sims2wiki.info/wiki.php?title=Object_Errors#65._IK_target_animation_requires_3D_model_on_other_object 65]
+
[[#65. IK target animation requires 3D model on other object|IK target animation requires 3D model on other object]]
IK target animation requires other object [http://www.sims2wiki.info/wiki.php?title=Object_Errors#66._IK_target_animation_requires_other_object 66]
+
#  [[#66. IK target animation requires other object|IK target animation requires other object]]  
 
#  Locomotion stack is too deep: check for imbalanced push/pops
 
#  Locomotion stack is too deep: check for imbalanced push/pops
 
#  Invalid pop: locomotion stack is empty
 
#  Invalid pop: locomotion stack is empty
Line 89: Line 89:
 
#  Missing (or empty) model bone name.
 
#  Missing (or empty) model bone name.
 
#  Missing table for model bone names.
 
#  Missing table for model bone names.
Hit Break Point Primitive. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#73._Hit_Break_Point_Primitive 73]
+
#  [[#73. Hit Break Point Primitive|Hit Break Point Primitive]].
 
#  Trying to perform an animation from the Social Interaction list against a non person.
 
#  Trying to perform an animation from the Social Interaction list against a non person.
 
#  Bad paramater value set in Manage Inventory Primitive.
 
#  Bad paramater value set in Manage Inventory Primitive.
Line 115: Line 115:
 
#  Animation name is empty string.
 
#  Animation name is empty string.
 
#  3D object is not a person.
 
#  3D object is not a person.
#  3D object is not animatable. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#99._3D_object_is_not_animatable 99]
+
[[#99. 3D object is not animatable|3D object is not animatable]].
Local out of range. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#100._Local_out_of_range 100]
+
#  [[#100. Local out of range|Local out of range]].
 
#  Invalid object id.
 
#  Invalid object id.
#  Invalid constant.
+
[[#102. Invalid constant|Invalid constant]].
 
#  Unrecognized priority value.
 
#  Unrecognized priority value.
 
#  Tree table not found
 
#  Tree table not found
Line 124: Line 124:
 
#  Balloon Type Is Invalid. Values are 0:thought, 1:scream, 2:speak.
 
#  Balloon Type Is Invalid. Values are 0:thought, 1:scream, 2:speak.
 
#  Object referred to must be a person.
 
#  Object referred to must be a person.
#  Slot number out of range. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#108._Slot_number_out_of_range 108]
+
[[#108. Slot number out of range|Slot number out of range]].
#  Motive number out of range or not an acceptable value. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#109.Motive_number_out_of_range_or_not_an_acceptable_value 109]
+
[[#109. Motive number out of range or not an acceptable value|Motive number out of range or not an acceptable value]].
 
#  Weight number for a weight assignment is out of range.
 
#  Weight number for a weight assignment is out of range.
 
#  Standard number for a weight assignment is out of range.
 
#  Standard number for a weight assignment is out of range.
#  Could not find object reference.
+
[[#112. Could not find object reference|Could not find object reference]].
 
#  Reference to tree table entry that does not exist. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#113._Reference_to_tree_table_entry_that_does_not_exist 113]
 
#  Reference to tree table entry that does not exist. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#113._Reference_to_tree_table_entry_that_does_not_exist 113]
 
#  No stack object present when required. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#114._No_stack_object_present_when_required 114]
 
#  No stack object present when required. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#114._No_stack_object_present_when_required 114]
Line 134: Line 134:
 
#  Expression attempting to write in a read-only area. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#116._Expression_attempting_to_write_in_a_read-only_area 116]
 
#  Expression attempting to write in a read-only area. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#116._Expression_attempting_to_write_in_a_read-only_area 116]
 
#  Zero distance in finding direction.
 
#  Zero distance in finding direction.
#  Bad gosub tree number.
+
[[#118. Bad gosub tree number|Bad gosub tree number]].
 
#  Bad alert tree number.
 
#  Bad alert tree number.
 
#  Reference to stack object out of range. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#120.Reference_to_stack_object_out_of_range 120]
 
#  Reference to stack object out of range. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#120.Reference_to_stack_object_out_of_range 120]
Line 145: Line 145:
 
#  Stack number out of range. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#127.Stack_Number_out_of_range 127]
 
#  Stack number out of range. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#127.Stack_Number_out_of_range 127]
 
#  Data number out of range.
 
#  Data number out of range.
#  Attribute number out of range. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#129.Attribute_Number_out_of_range 129]
+
[[#129. Attribute number out of range|Attribute number out of range]]
 
#  Illegal primitive code. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#130._Illegal_primitive_code 130]
 
#  Illegal primitive code. [http://www.sims2wiki.info/wiki.php?title=Object_Errors#130._Illegal_primitive_code 130]
 
#  Random number range evaluated to zero.
 
#  Random number range evaluated to zero.
 
#  Bad parameter to update primitive.
 
#  Bad parameter to update primitive.
#  Temporary reference out of range.
+
[[#133. Temporary reference out of range|Temporary reference out of range]].
 
#  Bad operator.
 
#  Bad operator.
 
#  Bad parameter in look towards primitive.
 
#  Bad parameter in look towards primitive.
Line 179: Line 179:
 
#  Tree break encountered.
 
#  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 [[0x0024|dialog]] but has the "immediately" box checked in the [[TTAB]]. Also seen for [[0x001C|Run Tree by Name]] – when using "Run in x stack" – try with "Push in x stack" to avoid error. Also seen for calls to [[0x0000|Sleep]].
  
 
====4. '''Transition to Node That Does Not Exist'''====
 
====4. '''Transition to Node That Does Not Exist'''====
Line 184: 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 ''Set To Next searches'' that are too broad(resulting in more than 10,000 items).  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 often only requires "1" tick as its parameter.
  
 
====8. '''Undefined Transition'''====
 
====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).
+
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). The intentional insertion of error(0xFFFC) tests during code development is a useful means of debugging, but ideally these should be removed from production code in favour of either silent error handling routines or the provision of user friendly error messages.
  
 
====48. '''Inventory token propert index out of range'''====
 
====48. '''Inventory token propert index out of range'''====
Line 194: Line 200:
 
====49 '''Inventory token index out of range'''====
 
====49 '''Inventory token index out of range'''====
 
The Inventory token that you refer to does not exist.
 
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#Raw Data - Data Space|OBJD - Data Space]].
  
 
====63. '''IK target animation cannot find bone on self'''====
 
====63. '''IK target animation cannot find bone on self'''====
Line 211: Line 220:
  
 
====99. '''3D object is not animatable'''====
 
====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 in 0x0063 of its OBJD.  
+
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#RAW_Data_-_Mesh_.26_Graphics|OBJD - Mesh & Graphics]] in "3D Object Type" (0x0063).
  
 
====100. '''Local out of range'''====
 
====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.
 
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'''====
 
====108. '''Slot number out of range'''====
This means that there is no entry in the SLOT of the value requested in that node.
+
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'''====
 
====109.'''Motive number out of range or not an acceptable value'''====
 
The motive that you refer to does not exist.
 
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'''====
 
====113. '''Reference to tree table entry that does not exist'''====
Line 230: Line 245:
 
====116. '''Expression attempting to write in a read-only area'''====
 
====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.
 
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.
 +
 +
====118.'''Bad gosub tree number'''====
 +
When you have a BHAV in a format for an EP you don't have.
  
 
====120.'''Reference to stack object out of range'''====
 
====120.'''Reference to stack object out of range'''====
Line 240: Line 258:
 
Your parameter is out of the range defined in the BHAV's header(arg count).
 
Your parameter is out of the range defined in the BHAV's header(arg count).
 
 
====129.'''Attribute Number out of range'''====
+
====129. '''Attribute Number out of range'''====
The Attribute you refer to is out of the range defined in the object's OBJD.
+
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#Raw Data - Data Space|OBJD - Data Space]]. Eight attributes are preallocated by default, but if you need a bigger number than this, you will need to explicity define the quantity you require.
  
 
====130. '''Illegal primitive code'''====
 
====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
 
Occurs when a non-existent Primitive is attempted to be called; Primitives being defined as an OpCode between 0x0000, and 0x00FF
 +
 +
====133. '''Temporary reference out of range'''====
 +
One possible cause of this error is mistakenly using "Temp [Temp]" instead of "Temp".
  
 
====136. '''Divide by zero'''====
 
====136. '''Divide by zero'''====
Line 251: Line 272:
 
{{OldWikiEntryCleaned}}
 
{{OldWikiEntryCleaned}}
  
[[Category:Modding]]
+
[[Category:Sims 2 Modding]]

Latest revision as of 09:55, 5 August 2017

Contents

[edit] Object Errors

[edit] 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.

[edit] 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\")

[edit] 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.

[edit] 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.

[edit] 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.

[edit] 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 often only requires "1" tick as its parameter.

[edit] 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). The intentional insertion of error(0xFFFC) tests during code development is a useful means of debugging, but ideally these should be removed from production code in favour of either silent error handling routines or the provision of user friendly error messages.

[edit] 48. Inventory token propert index out of range

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

[edit] 49 Inventory token index out of range

The Inventory token that you refer to does not exist.

[edit] 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.

[edit] 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.

[edit] 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.

[edit] 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

[edit] 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

[edit] 73. Hit Break Point Primitive

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

[edit] 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).

[edit] 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.

[edit] 102. Invalid constant

Check that a referred to BCON resource is present.

[edit] 108. Slot number out of range

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

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

The motive that you refer to does not exist.

[edit] 112. Could not find object reference

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

[edit] 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

[edit] 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.

[edit] 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.

[edit] 118.Bad gosub tree number

When you have a BHAV in a format for an EP you don't have.

[edit] 120.Reference to stack object out of range

Stack object data owner has a range of 0x0

[edit] 122.Flag reference is out of range

The flag you refer to is not defined.

[edit] 127.Stack Number out of range

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

[edit] 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. Eight attributes are preallocated by default, but if you need a bigger number than this, you will need to explicity define the quantity you require.

[edit] 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

[edit] 133. Temporary reference out of range

One possible cause of this error is mistakenly using "Temp [Temp]" instead of "Temp".

[edit] 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