Error Messages – Arma 3

From Bohemia Interactive Community
Jump to navigation Jump to search
(Created page with " === Error types === Errors can be Normal, or DebugOnly. If it is DebugOnly, the error will only show when Arma 3 is in debug mode. Errors can also oc...")
 
m (Added to A3 Troubleshooting category, added TODO)
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{TOC|side}}
{{Wiki|TODO|Sort out overlap between this page and the [[Crash Files]] page.}}
{{Feature|important|See {{Link|https://dev.arma3.com/known-issues|Arma 3 Known Issues}}.}}


=== Error types ===
=== Error types ===
Line 9: Line 13:


{| class="wikitable"
{| class="wikitable"
!Error
! Error
!Type
! Type
!Context
! Description
!Description
! Example
!Example
|-
|-
|rowSpan=2|Generic Error in Expression
| rowspan="2" | Generic Error in Expression
|rowSpan=2|Normal
| rowspan="2" | Normal
|rowSpan=2|Context
| The type of an argument to a command is incorrect.
|The type of an argument to a command is incorrect.
| <sqf>systemChat 10</sqf>
|<code>systemChat 10</code>
|-
|-
|A command that can only be run in a [[Scheduler#Scheduled_Environment|scheduled environment]] was instead run in an [[Scheduler#Unscheduled_Environment|unscheduled environment]] ([[sleep]], [[spawn]])
| A command that can only be run in a [[Scheduler#Scheduled_Environment|scheduled environment]] was instead run in an [[Scheduler#Unscheduled_Environment|unscheduled environment]] ([[sleep]], [[spawn]])
|<code>sleep 10</code>
| <sqf>sleep 10</sqf>


|-
|-
|rowSpan=2|Zero Divisor
| rowspan="2" | Zero Divisor
|rowSpan=2|Normal
| rowspan="2" | Normal
|rowSpan=2|Context
| A number was divided by 0
|A number was divided by 0  
| <sqf>10 / 0</sqf>
|<code>10/0</code>
|-
|-
|An array index was accessed that doesn't exist
| An array index was accessed that doesn't exist
|<code>[1,2,3] select 20</code>
| <sqf>[1,2,3] select 20</sqf>


|-
|-
|Attempt to override final function
| Attempt to override final function
|Normal
| Normal
|Context
| A [[compileFinal]]ed function was attempted to be overwritten
|A [[compileFinal]]ed function was attempted to be overwritten
| <sqf>BIS_fnc_endMission = {systemChat "Trying to do bad things"}</sqf>
|<code>BIS_fnc_endMission = {systemChat "Trying to do bad things"}</code>


|-
|-
|getVariable called on null object  
| getVariable called on null object
|rowSpan=2|DebugOnly
| rowspan="2" | DebugOnly
|rowSpan=2|Context
| rowspan="2" | [[getVariable]] was called on a null namespace
|rowSpan=2|[[getVariable]] was called on a null namespace
| <sqf>objNull getVariable "varname"</sqf>
|<code>objNull getVariable "varname"</code>
|-
|-
|getVariable called on null group
| getVariable called on null group
|<code>grpNull getVariable "varname"</code>
| <sqf>grpNull getVariable "varname"</sqf>
 
|-
|-
| Serialization of Control variables is not implemented
| Normal
|[[Control]] variables cannot be saved by the game when a mission is saved, as they are specific to the time it was loaded. This means that this error will occur if such an item is saved in [[missionNamespace]] or if any script using control variables didn't run the [[disableSerialization]] command first. <br/> To fix this you can store [[Control]] values in [[uiNamespace]] instead and make sure that any scripts handling these variables have [[disableSerialization]] set.
| <sqf>cant_put_that_here = allControls (allDisplays # 0)</sqf>
|}
|}


Line 56: Line 60:


{| class="wikitable"
{| class="wikitable"
!Error
! Error
!Type
! Type
!Context
! Description
!Description
! Example
!Example
|-
| Unsupported language English in stringtable
| Normal
| This happens if an entry was not found in the desired language e.g., English
| {{n/a}}
|}
 
=== Config errors ===
 
{| class="wikitable"
! Error
! Type
! Description
! Example
|-
|-
|Unsupported language English in stringtable
| Cannot delete class xxxx, it is referenced somewhere (used as a base class probably)
|Normal  
| Normal
|Context
| This happens if you try and delete a config entry that is inherited by another class. For more info see [[Class_Inheritance#delete|delete]]
|This happens if an entry was not found in the desired language e.g., English
| rowspan="2" {{n/a}}
|-
| Updating base class RscShortcutButton->RscButton...
| Normal
| Caused by inheriting from wrong config while modifiying an existing base class. Currently Arma 3 has a lot of these issues out of the box.
|}
|}
{{GameCategory|arma3|Editing}}
{{GameCategory|arma3|Troubleshooting}}
[[Category:Scripting Topics]]

Latest revision as of 15:39, 1 May 2023

🚧
TODO: Sort out overlap between this page and the Crash Files page.

Error types

Errors can be Normal, or DebugOnly. If it is DebugOnly, the error will only show when Arma 3 is in debug mode.

Errors can also occur with, or without context. This is additional information about where the error occurs to improve the experience of debugging. However, even if an error occurs, additional context for the error will only be shown if Arma 3 is in debug mode

Script errors

Error Type Description Example
Generic Error in Expression Normal The type of an argument to a command is incorrect.
A command that can only be run in a scheduled environment was instead run in an unscheduled environment (sleep, spawn)
Zero Divisor Normal A number was divided by 0
10 / 0
An array index was accessed that doesn't exist
[1,2,3] select 20
Attempt to override final function Normal A compileFinaled function was attempted to be overwritten
BIS_fnc_endMission = {systemChat "Trying to do bad things"}
getVariable called on null object DebugOnly getVariable was called on a null namespace
getVariable called on null group
Serialization of Control variables is not implemented Normal Control variables cannot be saved by the game when a mission is saved, as they are specific to the time it was loaded. This means that this error will occur if such an item is saved in missionNamespace or if any script using control variables didn't run the disableSerialization command first.
To fix this you can store Control values in uiNamespace instead and make sure that any scripts handling these variables have disableSerialization set.
cant_put_that_here = allControls (allDisplays # 0)

Stringtable errors

Error Type Description Example
Unsupported language English in stringtable Normal This happens if an entry was not found in the desired language e.g., English N/A

Config errors

Error Type Description Example
Cannot delete class xxxx, it is referenced somewhere (used as a base class probably) Normal This happens if you try and delete a config entry that is inherited by another class. For more info see delete N/A
Updating base class RscShortcutButton->RscButton... Normal Caused by inheriting from wrong config while modifiying an existing base class. Currently Arma 3 has a lot of these issues out of the box.