Change: Difference between revisions

From Wiki of ZZT
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:


== Syntax ==
== Syntax ==
<code>#change [<source color>] <source element> [<target color>] <target element></code>
<code>#change <source kind> <target kind></code>


In both cases, the color argument is optional. While the element argument is supposed to be mandatory, an empty string is treated as equivalent to a [[Edge|board edge]]. Providing an invalid element name will throw a <code>Bad #CHANGE</code> error.
An empty string is treated as equivalent to a [[Edge|board edge]]. Providing an invalid [[kind]] will throw a <code>Bad #CHANGE</code> error.


== Bugs/Quirks ==
== Bugs/Quirks ==


* ZZT has a limit of 150 stats. If you try to #change statless elements into statful ones, it will only produce them up to that limit - the remaining elements will be turned to [[Empty|Empties]] instead.
* ZZT has a limit of 150 [[stat|stats]]. If you try to #change statless elements into statful ones, it will only produce them up to that limit - the remaining elements will be turned to [[Empty|Empties]] instead.
* Due to a bug, errors thrown by #change do not stop execution of the command! This can cause uninitialized memory to be used as the element and/or color arguments - causing unexpected behaviour and, potentially, crashes.
* Due to a bug, errors thrown by #change do not stop execution of the command! This can cause uninitialized memory to be used as the element and/or color arguments - causing unexpected behaviour and, potentially, crashes.


{{ZZT-OOP navbox}}
{{ZZT-OOP navbox}}

Revision as of 11:10, 24 December 2025

#change is a ZZT-OOP command that lets you change all instances of a given element with another element.

Syntax

#change <source kind> <target kind>

An empty string is treated as equivalent to a board edge. Providing an invalid kind will throw a Bad #CHANGE error.

Bugs/Quirks

  • ZZT has a limit of 150 stats. If you try to #change statless elements into statful ones, it will only produce them up to that limit - the remaining elements will be turned to Empties instead.
  • Due to a bug, errors thrown by #change do not stop execution of the command! This can cause uninitialized memory to be used as the element and/or color arguments - causing unexpected behaviour and, potentially, crashes.