String Editor

From ZCWiki
Jump to: navigation, search
Version-2.50.png The information below describes features introduced in Zelda Classic version 2.50.


The String Editor is a built-in editor to ZQuest that allows for editing the Strings that Guys usually say at specific Screens.

General String Information

A String is a set of organized text. The String Editor is accessible by clicking on Quest and selecting Strings. The maximum length of a string is 255 characters, including characters used in String Control Codes. Spsces are considered characters, and count toward this maximum.

Edit Message String

The Edit Message String window.

Here, you may double click an existing string to modify it. Alternatively, you may double click "New String" to begin creating a new one. At the bottom, you may set the position of "Message More", which is an indicator that the string can be continued by pressing the "A" button.

String Editor

The String Editor itself has two tabs: String and Attributes.

String Tab

The String Editor window.

The String Tab is where the actual string is set. A white empty box is near the top of the screen, with a preview pane in the bottom. As a string is typed in the white box, the preview pane shows how the string will be shown in-game.

The String Font allows for changing the font that is used for the individual string. The available fonts are as follows:

  • NES Zelda
  • Link to the Past
  • LttP Small
  • Allegro Default
  • GUI Font Bold
  • GUI Font
  • GUI Font Narrow
  • Zelda NES (Matrix)
  • BS Time (Incomplete)
  • Small
  • Small 2
  • S. Proportional
  • SS 1 (Numerals)
  • SS 2 (Incomplete)
  • SS 3
  • SS 4 (Numerals)
  • Link's Awakening
  • Goron
  • Zoran
  • Hylian 1
  • Hylian 2
  • Hylian 3
  • Hylian 4
  • Oracle
  • Oracle Proportional
  • Phantom
  • Phantom Proportional

The Next String selector allows for choosing what string comes after the current string.

Attributes Tab

The Attributes for the specific String.

The attributes tab allows for selecting attributes not related to typing the actual string.

  • The X and Y attribute determines where the string is located.
  • The SFX attribute determines what sound effect to play for each letter as it appears.
  • The Width and Height attributes how big the string window is. In comparison to the NES Zelda font, each character is 8 pixels wide by 8 pixels tall, and by default there is room for 24 characters in three rows.
  • H Spacing and V Spacing determines... something not fully known. --Anyone want to help here? Wolfman2000
  • The black square is a tile selector, and is used for selecting borders for the string. The borders must be in the form of a 2x2 frame for this to work.
  • The checkbox "Is Continuation of Previous Screen" determines... something not fully known. --Anyone want to help here? Wolfman2000
  • The checkbox "Text Wraps Around Bounding Box" determines... something not fully known. --Anyone want to help here? Wolfman2000


String Control Codes

Henceforth, replace instances of "X" with a number from 0 to 9999.

Formatting Codes

  • \1\X\X - Text Colour. Changes the following text to a certain colour. Argument 1 is the CSet, and argument 2 is the colour within that CSet. The text in the Preview Pane changes to reflect the addition and modification of this Control Code.
  • \2\X - Text Speed. Sets the length of the delay between text characters appearing. Normally 5. If 0, text appears instantaneously. Argument 1 is the speed.
  • \25 - New Line. Equivalent to pressing Enter in a document.
  • \32 through \126 - ASCII Character. Prints a character based on its ASCII code. For example, \91 allows you to display a backslash.

Switch Codes

Note: If you switch to a string that hasn't been created yet, then ZC will act as if you switched to a string with no characters in it.

  • \3\X\X\X - Goto If Screen Variable. If one of the Screen->D[] variables of the current screen is at or above a certain value, then ZC switches to another string. Argument 1 is the index into the screen's D array, argument 2 is the value, and argument 3 is the string to switch to. NOTE: Scripting is required in order for this code to work.
  • \4\X\X - Goto If Random. There is a one-in-(argument 1) chance that ZC switches to another string (argument 2).
  • \5\X\X - Goto If Item. If Link has a certain item, then ZC switches to another string. Argument 1 is the item ID (consult the I_* code listing in std.zh), and argument 2 is the string to switch to.
  • \6\X\X\X - Goto If Counter. If a counter is at or above a certain value, then ZC switches to another string. Argument 1 is the counter, argument 2 is the value, and argument 3 is the string to switch to.
  • \7\X\X\X - Goto If Counter %. If a counter is at or above a certain percentage of its maximum, then ZC switches to another string.
  • \8\X\X - Goto If Triforce. If Link has acquired the Triforce from a certain level, then ZC switches to another string. Argument 1 is the level, and argument 2 is the string to switch to.
  • \9\X\X - Goto If Triforce Count. If Link has acquired a certain number of Triforce pieces, then ZC switches to another string. Argument 1 is the quantity, and argument 2 is the string to switch to.

Counter/Item Codes

  • \10\X\X - Counter Up. Increases a counter by a certain value. Argument 1 is the counter, and argument 2 is the value.
  • \11\X\X - Counter Down. Reduces a counter by a certain value. Argument 1 is the counter, and argument 2 is the value.
  • \12\X\X - Counter Set. Sets a counter to a certain value. Argument 1 is the counter, and argument 2 is the value.
  • \13\X\X - Counter Up %. Increases a counter by a certain percentage of its maximum. Argument 1 is the counter, and argument 2 is the percentage.
  • \14\X\X - Counter Down %. Reduces a counter by a certain percentage of its maximum. Argument 1 is the counter, and argument 2 is the percentage.
  • \15\X\X - Counter Set %. Sets a counter to a certain percentage of its maximum. Argument 1 is the counter, and argument 2 is the percentage.
  • \16\X - Give Item. An item is silently added to Link's inventory. Link does not hold up the item, and the item's Pickup Script does not run - though the item's counter modifications will still take effect. Argument 1 is the item ID.
  • \17\X - Take Item. An item is removed from Link's inventory. The item's counter modifications will be undone when this occurs. Argument 1 is the item ID.

Audio Codes

  • \20\X - Sound Effect. Argument 1 is the sound effect number.
  • \21\X - Play MIDI. Argument 1 is the quest MIDI number. You cannot play the built-in MIDIs using this.