Moves the focus to the main character.
Moves the focus to the side character.
Displays an extra character of the specified ID number.
This tag can only be used with characters 0–9.
\0The main character will talk.\1The side character will talk.\p2A third character will talk.\p3A fourth character will talk. The default character is the main character.
Displays an extra character of the specified ID number.
\0The main character will talk.\1The side character will talk.\p[2]A third character will talk.\p[3]A fourth character will talk. The default character is the main character.
Changes the surface of the character that is currently the focus to the surface with the specified ID number.
This tag can only be used with surfaces 0–9.
\s1This displays surface number 1 for the main character.
Changes the surface of the character that is currently the focus to the surface with the specified ID number.
\s[-1] will hide the character.
\s[100]This displays surface number 100 for the main character.
Displays the surface animation with the specified ID number for the character that is currently the focus.
\s[0]This displays surface 0 for the main character.\i[1] Displays animation 1 defined for surface 0.
Starts the surface animation of the specified ID number, and waits for it to end to display dialogue.
\1\s[10]This displays surface 10 for the side character.\i[2,wait] This sentence is displayed after surface 10's animation 2 has finished.
Ends the animation of the specified ID number.
\s[0]\i[100]A long animation is being played.\![anim,clear,100] Even if the animation has not finished playing yet, it is ended by force.
Pauses the animation of the specified ID number.
Effective until the surface is changed (\s[ID] is executed).
\s[0]\i[200]A long animation is being played.\![anim,pause,200] The animation will pause here.
Resumes an animation paused by the above command.
\s[0]\i[200]A long animation is being played.\![anim,pause,200] The animation will pause here.\![anim,resume,200] The animation will resume here.
Moves the surface animation of the specified ID number the same distance as the entered coordinates.
It is also possible to move dressups.
Effective until the surface is changed (\s[ID] is executed).
\s[0]\i[300]A long animation is being played.\![anim,offset,300,40,50] Here, the animation is moved 40 pixels to the right and 50 pixels down.
Overlays the current surface with the surface of the specified ID number.
Stops the surface animation.
Displays text on top of the surface.
Arguments after the string are optional.
Waits for an already running animation of the specified ID number to end to display dialogue.
\1\s[10]This displays surface 10 for the side character.\i[400] Animation 400 is started at the same time as this sentence is displayed.\__w[animation,400] This sentence is displayed after animation 400 ends.
Puts on and takes off dressup parts.
Parts are put on when the value is 1, and taken off when 0.
Whole categories can be added or removed by leaving the part name argument blank.
If the value argument is blank or is omitted, the dressup will alternate between ON and OFF, similarly to dressup options in the menu.
When the script is run, the SHIORI event OnDressupChanged will be notified, and the SHIORI event OnNotifyDressupInfo will be notified afterwards.
\![bind,head,ribbon,1]The main character is now wearing its defined head category's ribbon.\1\![bind,arm,,0]All parts in the arm category defined for the side character are removed.
Stops drawing running animations until \![unlock,repaint] is called.
This will be automatically cancelled at the end of the script.
However, if you specify \![lock,repaint,manual], it will be effective until explicitly unlocked. [2.5.16]
\s[0]\i[500]Start playing animation 500 on surface 0.\![lock,repaint] Stop drawing the animation here.
Cancels the above command and resumes drawing the hidden animations.
\s[0]\i[500]Start playing animation 500 on surface 0.\![lock,repaint] Stop drawing the animation here.\![unlock,repaint] Resume drawing the animation here. Since the animation was still running, the parts of the animation that were played while hidden will be skipped.
Attaches the character that currently has the focus to the specified edge of the desktop. bottom for the bottom of the desktop, top for the top of the desktop.
Effective until the ghost is closed.
※Refer to alignmenttodesktop for SSP.
\![set,alignmentondesktop,bottom]The main character is now stuck to the bottom of the desktop (right above the taskbar).
Allows the surface to be moved freely.
Effective until the ghost is closed.
\![set,alignmenttodesktop,free]The main character can now be moved freely around the desktop by dragging with the mouse.
Attaches the character that currently has the focus to the specified edge of the desktop. The directions below can be specified.
When a character is attached to the top or bottom of the screen, it cannot be moved up or down by dragging.
When a character is attached to the left or right of the screen, it cannot be moved sideways by dragging.
Effective until the ghost is closed.
※The above also applies to alignmentondesktop.
\1\![set,alignmenttodesktop,top]The side character is attached to the top of the desktop.\![set,alignmenttodesktop,default] The side character's position is returned to the default.
Changes the size of the surface. The unit of the scaling factor is in percent.
The scaling factor calculates taking the user's set shell scaling as 100%.
Negative numbers can also be specified, and -100 will flip the ghost over the X axis.
Effective until the ghost is closed.
\![set,scaling,50]The size of the main character's surface is reduced to 50%.
Changes the relative width and length of the surface respectively. The unit of the scaling factor is in percent.
The scaling factor calculates taking the user's set shell scaling as 100%.
Negative numbers can also be specified, and -100 will flip the ghost over the respective axes.
Effective until the ghost is closed.
\![set,scaling,50,100]The size of the main character's surface is set to 50% width, 100% length.
Changes the size of the surface minutely.
The unit of the scaling factor is in percent, and the change time is in milliseconds.
Changes the opacity of the surface that currently has the focus from 0–100. The smaller the value, the more translucent it becomes.
Effective until the ghost is closed.
\0\![set,alpha,0]The main character is now completely transparent and invisible.\1\![set,alpha,50]The side character is now about halfway transparent.
Modifies surfaces using a plugin.
Modifies additional surfaces using a plugin.
Modifies surfaces using a plugin every time a change is made.
Cancels the above command.
The character that is currently the focus will move a set distance away from either the main or side character.
The moving function will be executed.\4 This sentence will be displayed after the main character has moved a set distance away from the other character.
The character that is currently the focus will move until in contact with the other character.
The character will not move if it is not necessary to do so.
\1The focus is now on the side character.\5 This sentence will be displayed after the side character has moved to a position right next to the other character.
Moves to the specified coordinates. ※Refer to the section below
\![move,--X=80,--Y=-400,--time=2500,--base=screen,--base-offset=left.bottom,--move-offset=left.top]The main character will move 80 pixels to the right and 400 pixels upwards, counting from the bottom left of the screen (screen,left.bottom). The movement will use the top left pixel of the surface as a base point (left.top), and will occur over the course of 2.5 seconds.
Moves asynchronously to the specified coordinates. ※Refer to the section below
\![moveasync] can be stopped in the middle of movement with \![moveasync,cancel].
\1\![moveasync,--X=-175,--Y=200,--time=5000,--base=screen,--base-offset=right.top,--move-offset=right.bottom]The side character will move 175 pixels to the left and 400 pixels downwards, counting from the top right corner of the screen (screen,right.top). The movement will use the bottom right pixel of the surface as a base point (right.bottom), and will occur over the course of 5 seconds.
\1\![moveasync,--X=-175,--Y=200,--time=5000,--base=screen,--base-offset=right.top,--move-offset=right.bottom]The side character's movement has started.\![moveasync,cancel] The movement is stopped here. Movement can also be stopped in the case a separate event that includes a cancellation script occurs. This can be used to stop movement upon double clicking, for example.
Fixes the specified character to the entered x and y coordinates. (The character will no longer be movable by dragging.)
Cancels the above command.
Layers the windows of the specified characters such that the leftmost character is on top.
Example: With \![set,zorder,1,0], \1's window will be displayed on top of \0's.
By running multiple tags each with different scope IDs, separate groups can be made.
Example: With \![set,zorder,1,0] \![set,zorder,3,2], \1's window will be displayed on top of \0's, and \p[3]'s window will be displayed on top of \p[2]'s.
There is no technical limit on the number of scope IDs that can be specified in the command, but large amounts may cause the ghost to slow down somewhat, so using two to three IDs is recommended.
Running the command again with a character that has already been paired with another will cause an error. When changing the pairing of the characters, \![reset] must be run first before ordering the windows again.
Effective until the ghost is closed.
\![set,zorder,1,0]The side character will be displayed on top of the main character without fail.
Cancels the above command. Everything is reset, including the results of the command having been run multiple times, as well as anything specified beforehand in descript.
\![reset,zorder]Cancels the window layering display. The surface that the user last interacted with will be displayed on top.
The windows of the specified characters will be moved as a set when dragged or by using the move command.
For example, if 1,0 is specified, dragging a character with the mouse will move the windows of both \0 and \1 together as a set.
By running multiple tags each with different scope IDs, separate groups can be made.
Example: With \![set,sticky-window,1,0] \![set,sticky-window,3,2], \1 will be paired with \0, and \p[3] with \p[2].
There is no technical limit on the number of scope IDs that can be specified in the command, but large amounts will cause the ghost to become very slow, so using two to three IDs is recommended.
Running the command again with a character that has already been paired with another will cause an error. When changing the pairing of the characters, \![reset] must be run first before setting the pairs again.
When there is a restriction on the ghost's movement caused by commands such as \![set,alignmenttodesktop], the restriction will be prioritised, and the window will only follow along either x or y, depending on which it is free to move in.
Even if only one window in a group is moved with \![move], the others will also follow.
However, with --option=ignore-sticky-window in the move tag, the window can move alone.
Effective until the ghost is closed.
\![set,sticky-window,1,0]The side character will move as a set with the main character.
\![set,sticky-window,0,1,2]The main character, side character, and third character will move as a set.
\1\![move,40,100,0,0,left.top,left.top]The side character's top left is matched to the main character's top left, and then it is moved 40 pixels to the right and 100 pixels downwards.\![set,sticky-window,1,0]\![set,sticky-window,1,0] While in that position, the side character and main character are set to move together.
Cancels the above command. Everything is reset, including the results of the command having been run multiple times, as well as anything specified beforehand in descript.
\![reset,sticky-window]The setting to move characters together is removed. After this point, dragging and other methods of moving them will result in separate movements.
Changes the balloon of the character that currently has the focus to the balloon of the specified ID number.
This tag can only be used with balloons 0–9.
Odd numbers are reserved for balloons that are displayed on the right side of the character, so the only usable IDs are 0 or even numbers.
\b2The main character's dialogue will be displayed on balloon number 2. Some balloons may be implemented differently, so there may also be cases where a balloon with the ID number 2 does not exist. In "SSP Default+", the balloon bundled with SSP, the main character's balloon number 2 is a bigger balloon that displays a large number of characters. However, since different balloons can vary in which ID is what size, it is necessary to specify a recommended balloon or bundle a dedicated balloon when using this command.
Changes the balloon of the character that currently has the focus to the balloon of the specified ID number.
Odd numbers are reserved for balloons that are displayed on the right side of the character, so the only usable IDs are 0 or even numbers.
\b[-1] hides the balloon.
Since SSP version 2.6.34, if written \b[ID1,--fallback=ID2,--fallback=ID3], ID2 will be used if ID1 does not exist, and ID3 will be used if neither ID1 nor ID2 exist.
\b[2]The main character's dialogue will be displayed on balloon number 2. Some balloons may be implemented differently, so there may also be cases where a balloon with the ID number 2 does not exist. In "SSP Default+", the balloon bundled with SSP, the main character's balloon number 2 is a bigger balloon that displays a large number of characters. However, since different balloons can vary in which ID is what size, it is necessary to specify a recommended balloon or bundle a dedicated balloon when using this command.
Attaches an image in the balloon at the specified XY coordinates. The image will be displayed below any text.
The top left pixel of the image will define the color that becomes transparent.
[(folder of the ghost executing the command)]/ghost/master is the default folder.
※In SSP only, instead of a file name, base64 encoding or exe/dll resources can be specified as images. ※Refer to the section below
※In SSP only, image URLs can also be specified.
※In SSP only, files in plugin folders are also searched.
\_b[image\test.png,50,100]In the main character's balloon, test.png in the folder [(folder of the ghost executing the command)]/ghost/master/image is displayed using its top left pixel as the transparent color, at the balloon coordinates X:50,Y:100.
Attaches an image in the balloon at the specified XY coordinates. The image will be displayed below any text.
The image will be displayed without using the top left pixel as the transparency color.
[(folder of the ghost executing the command)]/ghost/master is the default folder.
※Instead of a file name, base64 encoding or exe/dll resources can be specified as images. ※Refer to the section below
\_b[..\..\shell\master\surface0.png,0,15,opaque]In the main character's balloon, surface0.png in the folder [(folder of the ghost executing the command)]/shell/master is displayed at the balloon coordinates X:50,Y:15, without any parts becoming transparent.
Attaches an image in the balloon at the specified XY coordinates.
[(folder of the ghost executing the command)]/ghost/master is the default folder.
※Instead of a file name, base64 encoding or exe/dll resources can be specified as images. ※Refer to the section below
Options
\_b[test.png,10,20,--option=use_self_alpha,--clipping=100 30 150 90,--option=foreground]In the main character's balloon, test.png in the folder [(folder of the ghost executing the command)]/ghost/master is displayed at the balloon coordinates X:10,Y:20, using the transparency information of the file. It will be clipped from the range of 100-150 pixels horizontally and 30-90 pixels vertically, laid over the text.
Attaches an image in the balloon, treating it as a letter in a line of text.
[(folder of the ghost executing the command)]/ghost/master is the default folder.
※Instead of a file name, base64 encoding or exe/dll resources can be specified as images. ※Refer to the section below
In the main character's balloon, \_b[test.png,inline] test.png in the folder [(folder of the ghost executing the command)]/ghost/master is displayed as a letter in the current balloon's text, using its top left pixel as the transparent color.
Attaches an image in the balloon, treating it as a letter in a line of text.
The image will be displayed without using the top left pixel as the transparency color.
[(folder of the ghost executing the command)]/ghost/master is the default folder.
※Instead of a file name, base64 encoding or exe/dll resources can be specified as images. ※Refer to the section below
In the main character's balloon, \_b["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAOCAIAAACpTQvdAAAAl0lEQVR42oVSCQ7AIAiDl6MvZyCMQ122JQSh5agiM0P/JmL4dGQxCIEjruSd6QRBE7D86nRCibMTTvScQPTazsEBfgaECUoQHAyfzXytLbMtTutQOdZhQ2uHc4dNlssOTrBWr40q2tNsXTq186myikUCsJYuU1bV81g2TJUs7bm8WC8fmKtKXC4O/1XaCVeVYmL6eIsRfwDNfLdu1l4zPAAAAABJRU5ErkJggg==",inline,opaque] base64 encoded image data is displayed in the same way as a letter, without becoming transparent.
Attaches an image in the balloon, treating it as a letter in a line of text.
[(folder of the ghost executing the command)]/ghost/master is the default folder.
※Instead of a file name, base64 encoding or exe/dll resources can be specified as images. ※Refer to the section below
Options
In the main character's balloon, \_b[test.png,inline,--option=use_self_alpha,--clipping=100 30 150 90] test.png in the folder [(folder of the ghost executing the command)]/ghost/master is clipped from the range of 100-150 pixels horizontally and 30-90 pixels vertically, and displayed as a letter using the alpha channel for transparency.
Inserts a line break in the text in a balloon.
This sentence\nis displayed with a line break partway through.
Inserts a line break of half of the normal height.
This sentence is\n[half]displayed with a half height line break partway through.\n\n[half]Using one and a half height line breaks, a paragraph-like format can be achieved.
Inserts a line break of the size specified in percentage relative to the normal height. Specifying a negative value will cause the following text to return upwards. ※From SSP 2.3.97 onwards
This sentence is\n[150]displayed with a one and a half height line break partway through.
This sentence\n[-250]goes back up by two and a half lines.
Until the next \_n, there will be no automatic line breaks.
\_nThe sentence written here will not have any line breaks. If it goes out of the balloon's text area, it will not be displayed.\_n
Clears the text in the balloon of the character that is currently the focus.
\1This sentence is displayed by the side character.\0This sentence is displayed by the main character. The text in the balloon of the character that is currently the focus will all be cleared.\cAny text that comes afterwards will start from the top left (the initial setting).
Deletes the specified number of characters, starting from the caret position in the balloon of the character that is currently the focus. Evaluation of characters to be deleted is based on their order in the script, rather than their position in the balloon. Images attached using \_b[(filepath),inline] will be considered one character each and deleted as such.
Three characters of this dialogue will be deleted.\c[char,3] Deletion has been completed.
Deletes the specified number of characters from the starting point, in the balloon of the character that is currently the focus. The starting point origin is 0 (the first character is 0, the second character is 1). Characters to be deleted are evaluated in the same way as \c[char,(value)].
Three characters of this dialogue will be deleted, starting from the 5th character.\c[char,3,4] Deletion has been completed.
Deletes the specified number of lines, starting from the caret position in the balloon of the character that is currently the focus.
Dialogue broken with \_l[(x),(y)], \n, \n[half], or \n[(percent)] is treated as a "line." However, excluding that which is broken using \_l[(x),(y)], double breaks with no text in between, such as in \n\n, will not be considered individual lines.
Evaluation is based on the order of the script, in the same way as \c[char,(value)].
One line of dialogue will be deleted.\nThis line will be deleted.\c[line,1] Deletion has been completed.\nThis line will be deleted.\n\n\n\n\n\c[line,1] Deletion has been completed.\nThis line will not be deleted.\_l[0,0]\c[line,1] Deletion has been completed.
Deletes the specified number of lines from the starting point, in the balloon of the character that is currently the focus. The starting point origin is 0 (the first character is 0, the second character is 1). Lines to be deleted are evaluated in the same way as \c[line,(value)].
Starting from the third line,\none line of dialogue will be deleted.\nThis part will\_l[,] be deleted.\c[line,1,2] Deletion has been completed.
Moves the caret position on the side that is currently the focus to the XY coordinates. Regarding X and Y, the definition methods below can be used.
Note that the line alignment is reset to left alignment immediately after execution of \_l to prevent propblems. Specify again if necessary.
\_l[30,5em] \_l[30,5em]Displayed at "X coordinate=30 pixels, Y coordinate=5 times the letter height".\_l[@-1650%,100]Displayed at "X coordinate=1650% of the letter height leftwards from the last letter, Y coordinate=100 pixels".\_l[,@-100]Displayed at "X coordinate=no change,Y coordinate=100 pixels above the last letter".
When written at the start of a line, it will be added to the previously displayed text in the balloon. The last state of the character will also be reflected.
\CThis sentence will be added to the previous dialogue. It is important to note that the last state of the character will also be reflected.
Stops automatic scrolling in balloons. Manual scrolling is possible.
\![set,autoscroll,disable]Scrolling is locked.\n[5000]This text is not visible while scrolling is locked.
Cancels the above command.
\![set,autoscroll,disable]Scrolling is locked.\n[5000]This text is not visible while scrolling is locked.\![set,autoscroll,enable] Scrolling is unlocked.
Changes the balloon's offset value to XY coordinates. The coordinates set by the user dragging the balloon are added to this value to decide the final balloon display coordinates.
If the value is specified normally, descript.txt's default offset will be ignored, but if @ is added at the start, X and Y will become relative coordinates using the offset values in descript.txt and surfaces.txt as the origin.
\![set,balloonoffset,100,-50]Moves the base point of the balloon position to X:100,Y:-50.
\![set,balloonoffset,@100,@-50]Moves the base point of the balloon position to the specifications in descript.txt or surfaces.txt, plus X:100,Y:-50 (relative coordinates).
Switches the balloon to the display direction of one of the following IDs. The definition methods below can be used for the ID.
Using the positions below as the base, the values of balloon.offsetx and balloon.offsety in the shell's descript.txt and the values of balloon.offsetx and balloon.offsety in surfaces.txt are reflected. The initial value is none.
Effective until the ghost is closed.
\0\![set,balloonalign,top]The main character's balloon will be displayed above the shell.\1\![set,balloonalign,right]The side character's balloon will be displayed on the right side of the shell.
Displays the marker string used for SSTP reception.
The display destination is the balloon of the current scope.
The display string can be omitted. To remove it, omit the argument or leave it blank.
Effective until the ghost is closed, or a function which normally uses this display, such as SSTP reception, is triggered.
Displays the data format shown when downloading a file.
The display destination is the balloon of the current scope.
Each argument can be omitted. To remove it, omit all arguments or leave it blank.
Since 2.6.67, it can be used with the \1 balloon and beyond.
Effective until the ghost is closed, or a function which normally uses this display, such as a network update, is triggered.
\![set,balloonnum,Test Display,1,5]Testing the file downloading display.\![set,balloonnum,,,] The display contents have been deleted.
Specifies the time for the balloon to timeout. Units are in milliseconds.
The time is counted from when the script display has finished. Specifying 0 or a negative number will stop the balloon from timing out.
When the time specification is omitted: Return to the original value
When 0 or -1 for the time specification is entered: No timeout
\![set,balloontimeout,3000]The balloon of this dialogue will close 3 seconds after the ghost has stopped talking.
Specifies the scaling factor of the speed at which text is shown (weight per individual letter) in the balloon.
Lone value: 1–100 can be specified. 1 is the equal scale. Decimals can also be specified. Example: Specifying 1.5 will increase the slowness by 50%.
With % appended: 0–10000 can be specified. 100 is the equal value. Only integers above 0 can be used.
With ms appended: 0–10000 can be specified. Specifies the absolute value of the waiting time for each letter in milliseconds.
When omitted or 1 is specified: Return to the original value
When 0 is specified: Always display instantly
After the script has finished running, it will be reset to the specification equivalent to 100%.
Displays the marker. The marker is set depending on the balloon.
\![*]Add a marker.
Forces the online marker to be displayed. Even in cases where the side character has content to be displayed and the main character has none, the main character's balloon will be brought up.
Effective until the ghost is closed.
\0\![enter,onlinemode]The online marker is displayed in the main character's balloon.
Forces the online marker to be hidden.
\0\![enter,onlinemode]While this sentence is being displayed, the online marker is shown in the main character's balloon.\![leave,onlinemode] Here, the online marker disappears.
Enters a mode where interruption of scripts (the operation depends on SSP settings; usually a balloon double-click) is disabled.
Cannot be used with normal SSTP (can be used with Auth.SSTP(= Owned SSTP)).
\![enter,nouserbreakmode]In this sentence, scripts cannot be broken.
Cancels the above command.
\![enter,nouserbreakmode]In this sentence, scripts cannot be broken.\![leave,nouserbreakmode] Script breaking is possible from here.
Stops drawing running balloon animations until either \![unlock,balloonrepaint] is called or the script ends.
This will be automatically cancelled at the end of the script.
However, if specified as \![lock,balloonrepaint,manual], drawing will be stopped until explicitly unlocked. [2.5.16]
\![lock,balloonrepaint]This sentence won't be displayed until the script ends.
Cancels the above command.
\![lock,balloonrepaint]This sentence won't be drawn.\![unlock,balloonrepaint] Here, drawing is started again, and the previous sentence is also drawn.
Prevents the balloon from being dragged by the user until \![unlock,balloonmove] is called.
Can be specified permanently, as in sakura.balloon.dontmove in descript.txt.
This can hinder user operation, so overuse should be avoided.
Cancels the above command. However, this command cannot restore balloon dragging if it has been locked in descript.txt.
[Old specification] Displays text as is without running any tags until the next \_!.
Displays text as is without running any tags until the next \_?.
\_?\1This sentence is displayed as is\nwithout SakuraScript being run.\_?
Adjusts the speech synthesis function's vocalization content in the string enclosed between \__v.
\__v[disable]: Disables speech synthesis
\__v[alternate,(string)]: Specifies a string with the correct vocalization for words with different pronunciations. Hiragana is preferred in order to avoid misrecognition.
\1\__v[disable]This sentence won't be spoken using the speech synthesis function.\__v
Sets align right (\f[align,right]) / center (\f[align,center]) / align left (\f[align,left]) for text.
This setting is applied until the next \n, \_l, or other "intentional linebreak".
Additionally, if this command is run in the middle of adding characters and such, the string already in the same line will also be moved.
Text is returned to align left when an \_l tag is used.
Furthermore, when align center is set using the \f[align] tag after moving with the \_l tag, the text will be center aligned based on the x coordinate indent of the \_l tag.
\f[align,center]This text is centered.\n\f[align,right]This text is aligned to the right.\n\f[align,left]This left-aligned text \w9\w9\f[align,right]is moved to the right.
Sets align bottom (\f[align,bottom]) / center (\f[align,center]) / align top (\f[align,top]) for text.
Additionally, if this command is run in the middle of adding characters and such, the string already in the same line will also be moved.
Unlike align, this command will not be reset with \n or \_l.
Changes the text font to the specified font name.
When default is specified or the specified font candidates do not exist, the font reverts to the default balloon setting (or to the default SSP setting, in the case that it overwrites the balloon font).
When disable is specified, the font is changed to the unselectable choice indicator font.
It is also possible to specify a font from a file in [(folder of the ghost running the command)]/ghost/master, a child folder within it, or the current balloon's folder.
When multiple fonts are specified and separated by commas, the font will be automatically selected from the fonts the user has installed with the first font written being the highest priority (SSP only).
\f[name,Meiryo,meiryo.ttf]This text will be displayed with Meiryo if installed, meiryo.ttf if not installed, and the default font if neither exist.
Changes text to the specified font size.
Relative value adjustments using + and - may be used.
Size specifications as in style sheets are also possible.
When default is specified, the font size will return to the balloon's default setting.
\f[height,15]This text is displayed at 15 pixels.\f[height,+3] It has been made 3 pixels larger.\f[height,200%] This text is displayed at 200% of the default size.\f[height,default] It has been returned to the original size.
Changes the font color.
※Refer to the section below for specification methods.
\f[color,red]This text is displayed in red.\f[color,100,150,200] This text is displayed in the specified color.\f[color,default] It has been returned to the balloon's default color.
Changes the drop shadow color.
※Refer to the section below for specification methods.
\f[shadowcolor,#ffff00]The drop shadow is displayed in yellow.\f[shadowcolor,default] It has been returned to the balloon's default drop shadow color.
Disables the drop shadow.
\f[shadowcolor,none]This text is displayed without a drop shadow.\f[shadowcolor,default] It has been returned to the balloon's default drop shadow color.
Changes the type of drop shadow. Displays a drop shadow to the bottom right of the text when offset is specified, and a border surrounding the text when outline is specified.
\f[shadowcolor,#ffff00]\f[shadowstyle,outline]This text is displayed with a yellow border.\f[shadowstyle,default]\f[shadowcolor,default] It has been returned to the balloon's default settings.
When parameter is specified as true or 1, the text will become outline text.
Specifying false or 0 will disable it.
Specifying default will return to the balloon's default setting.
Specifying disable will have the same result as false and 0.
\f[height,30]\f[outline,1]This is outline text.\f[outline,default] It has been returned to the balloon's default settings.
Changes the color of anchor text.
※Refer to the section below for specification methods.
\_a[OnTest]This is an anchor before the color has been changed.\_a\n\f[anchor.font.color,50%,90%,20%]\_a[OnTest2]This is an anchor after the color has been changed.\_a
When parameter is specified as true or 1, the text will become bold.
Specifying false or 0 will disable it.
Specifying default will return to the balloon's default setting.
Specifying disable will have the same result as false and 0.
The text wil not become bold if the font is incompatible.
\f[bold,1]This text is bold.\f[bold,default] It has been returned to the balloon's default settings.
When parameter is specified as true or 1, the text will become italicized. Sample.
Specifying false or 0 will disable it.
Specifying default will return to the balloon's default setting.
Specifying disable will have the same result as false and 0.
The text wil not become italicized if the font is incompatible.
\f[italic,1]This is italic.\f[italic,default] It has been returned to the balloon's default settings.
When parameter is specified as true or 1, the text will become strikethrough text. Sample.
Specifying false or 0 will disable it.
Specifying default will return to the balloon's default setting.
Specifying disable will have the same result as false and 0.
\f[strike,1]This is strikethrough text.\f[strike,default] It has been returned to the balloon's default settings.
When parameter is specified as true or 1, the text will be underlined.
Specifying false or 0 will disable it.
Specifying default will return to the balloon's default setting.
Specifying disable will have the same result as false and 0.
\f[underline,1]This text has been underlined.\f[underline,default] It has been returned to the balloon's default settings.
When parameter is specified as true or 1, the text will become a subscript. Sample.
Specifying false or 0 will disable it.
Specifying default will return to the balloon's default setting.
Specifying disable will have the same result as false and 0.
Turns the text into\f[sub,1] subscript text.\f[sub,default] It has been returned to the balloon's default settings.
When parameter is specified as true or 1, the text will become a superscript. Sample.
Specifying false or 0 will disable it.
Specifying default will return to the balloon's default setting.
Specifying disable will have the same result as false and 0.
Turns the text into\f[sup,1] superscript text.\f[sup,default] It has been returned to the balloon's default settings.
Returns all balloon attributes to the default settings.
\f[shadowcolor,#6699cc]Text that\f[bold,1] has been \f[underline,1]decorated in\f[height,20] many ways\f[default] has now been returned to the balloon's default settings.
Disables all balloon attributes for displaying text.
Waits for the specified time multiplied by 50ms. 1-9 can be specified. \w10 will display the character "0" in the balloon after waiting for 50ms.
Waits for 0.45 seconds.\w9\nAfter that, waits for 1 second.\w9\w9\w2 Waiting has finished.
Allows for more exact control over wait time. [time]ms.
Waits for 1.234 seconds.\_w[1234] Waiting has finished.
Waits until the specified amount of milliseconds pass since either the last wait command or since \x.
\__w[clear] can be used to reset the time.
1\_w[1000]2\__w[2500]3. After first waiting for 1000ms, it will wait for a total of 2500ms (in this case, [2500-1000-the time it takes to display 2 letters], equalling roughly 1500ms). As the length of time it takes to display characters (adjustable with SSP user settings) is factored in, exact control over wait time since the script started is possible. The wait timer starts counting from 0 again when a clear or click-wait is run.\__w[clear]\__w[500] A 0.5 second wait is added here.
Makes the balloon wait until clicked to close.
After being clicked, the character focus is reset to \0, and \f(text modification) SakuraScript effects are also cleared. SakuraScripts that end with \e remain uncleared.
\1Here, the side character will\f[bold,1] speak.\xAfter being clicked, the focus returns to the main character and the SakuraScript that made modifications to the font is cleared.
Pauses the balloon until clicked.
After being clicked, the balloon's contents and the side with the focus will be kept.
Unlike \x, \f(text modification) SakuraScript effects will remain.
\1Here, the side character will\f[bold,1] speak. \x[noclear]After being clicked, the SakuraScript for both the character with the focus and the text modification remains in effect.
Starts a time critical section.
Until a script break (ex: clicking a choice, interruption by double-clicking a balloon) or \e, event notifications such as those for mouse-based events will not be fired.
It is important to note that the section cannot be ended by a second \t.
If the time critical section must be ended halfway through, it is possible to use \![raise,(event name)] to temporarily stop the script and call a different event.
While this sentence is being displayed, mouse interactions are possible.\t From here, mouse interactions will be ignored until the script stops playing.
Starts a quick section.
Until the next \_q or \e, text will be displayed instantly.
However, general SakuraScripts with waits can be run, causing waits even during instant display.
\_qThis text will be displayed instantly. It is important to note that there are some situations, such as with Satori, when wait times will be inserted automatically.\_q
Starts a quick section. \![quicksection,1] can also be used.
It is almost interchangeable with \_q, the difference being that it can be specified as starting, as opposed to using a switching style.
\![quicksection,1]This text will be displayed instantly. Any wait tags will be run here as well.
Ends a quick section. \![quicksection,0] can also be used.
It is almost interchangeable with \_q, the difference being that it can be specified as ending, as opposed to using a switching style.
\![quicksection,1]This text will be displayed instantly. Any wait tags will be run here as well.\![quicksection,0] Furthermore, the SakuraScript tags for quick sections\![quicksection,1] are still valid when mixed.\_q
Starts a synchronize section.
Until the next \_s or \e, text will be displayed in both balloons.
\_sThe main character and side character will speak at the same time.\_s
Starts a synchronize section with the characters of the specified ID numbers.
\_s[0,2,3]The main character, a third character, and a fourth character will speak at the same time.\_s
Waits until the sync object with the specified name (Mutex, Semaphore, Event on Windows) is in the signal state.
Mutex is released after waiting, Semaphore is released once after waiting, and Event does not perform any particular operation after the signal is sent.
If the timeout time is omitted or specified as 0, it will wait indefinitely (until a script break), and if 1 or higher is specified it will wait using the specified number as milliseconds.
Show a menu choice.
After selecting, the SHIORI event OnChoiceSelect will be run. (In SSP only, OnChoiceSelectEx will run prior to OnChoiceSelect.)
The ID is stored in reference0.
Do you like SakuraScript? \q[Yes,Like] \q[No,Hate]. 'Like' or 'Hate' is stored in reference0 depending on what you choose, then sent to the event OnChoiceSelect.
Show a menu choice.
If the ID starts with "On" as shown above, clicking it will start the SHIORI event On(ID) (with the name as written in the ID).
The arguments following the ID are stored in reference0, reference1, etc, in the order they are written.
What is your favorite season? \q[Spring,OnLikeSeason,Rain,Budding trees] \q[Summer,OnLikeSeason,Heat,Lush green] \q[Autumn,OnLikeSeason,Breezy,Falling leaves] \q[Winter,OnLikeSeason,Cold,Snowing]. When a choice is selected, the OnLikeSeason event is triggered. reference0 and reference1 in OnLikeSeason will vary depending on which choice was selected. For example, if Spring is selected, reference0 would be 'Rain' and reference1 would be 'Budding trees'.
Show a menu choice.
After selecting, the SHIORI event OnChoiceSelect will be run.
ID* is stored in reference*.
Show a menu choice.
After selecting, the SHIORI event OnChoiceSelectEx will be run.
r* is stored in reference* and sent to OnChoiceSelectEx.
OnChoiceSelect also occurs after OnChoiceSelectEx, but references after reference1 are ignored, so it is pointless to write it this way.
What is your favorite season? \q[Spring,OnLikeSeason,Rain,Budding trees] \q[Summer,OnLikeSeason,Heat,Lush green] \q[Autumn,OnLikeSeason,Breezy,Falling leaves] \q[Winter,OnLikeSeason,Cold,Snowing]. When a choice is selected, the OnChoiceSelectEx event is triggered. The references in OnChoiceSelectEx will vary depending on which choice was selected. For example, if 'Autumn' was selected, reference0 would be 'Autumn', reference1 would be 'OnLikeSeason', reference2 would be 'Breezy', and reference3 would be 'Falling leaves'.
Show a menu choice.
After selecting, the contents after "script:" are executed as a SakuraScript.
\q[Close balloon,script:\e]\nNesting is also possible.\n\q[No. 1,"script:\q[No. 2,script:There is no 3.]"]
[Old specification] Show a menu choice. * is a serial number.
After selection, the SHIORI event for the ID number will be started.
Unlike the above, the choices will be separated by a new line.
[Old specification] Acts like \e, but in scripts that contain menu choices.
All of the text will be used as a menu choice, up to the next \__q.
The ID specification is the same as \q, including the special treatment of IDs that start with "On" or "script:", as well as additional arguments.
The specification for which SHIORI event should be run after selection is also the same as \q.
\__q[OnTest,testreference]SakuraScript can be used in this menu choice. \nNewline, \_l[50,50]Cursor movement is also possible, and if you use an image tag, the image will be a clickable choice.\__q In this example, the ID starts with 'On', so the event 'OnTest' is triggered when the selection is made, and 'testreference' is stored in reference0.
Causes menu choices to not timeout.
Valid only in the script it is written. Can be written before or after the menu choices.
\q[Choice that will not timeout,NoTimeOut]\*. When selected, the OnChoiceSelectEx event (or OnChoiceSelect if there is no response from OnChoiceSelectEx) will be run as normal.
Specifies how long it will take for menu choices to timeout in the script. The unit is milliseconds.
The timeout countdown starts after the entire dialogue has been displayed.
Valid only in the script it is written. Can be written before or after the menu choices.
When a choice times out, the OnChoiceTimeout event is started.
If the time specification is omitted: Use the default value.
If the time is specified as 0 or -1: No timeout.
\q[Quick press,FastPush]\![set,choicetimeout,500]
All of the text will be used as an anchor, up to the next \_a. This will not timeout like a menu choice, but will timeout like normal dialogue.
Clicking the anchor will start the SHIORI event OnAnchorSelect. (In SSP only, OnAnchorSelectEx will be started first.)
The ID is stored in reference0.
Clicking on an \_a[Hint]anchor\_a will trigger the OnAnchorSelectEx event (Or the OnAnchorSelect if there is no response). reference0 will contain 'Hint'.
All of the text will be used as an anchor, up to the next \_a. This will not timeout like a menu choice, but will timeout like normal dialogue.
If the ID starts with "On" as shown above, clicking it will start the SHIORI event On(ID) (with the name as written in the ID).
The arguments following the ID are stored in reference0, reference1, etc, in the order they are written.
Click here if you want a \_a[OnHint,0]hint\_a. \_a[OnHint,1]Come on, come on, come on\_a. These two anchors will start the SHIORI event OnHint when clicked, but the value of reference0 will be either '0' or '1' depending on which one was clicked.
All of the text will be used as an anchor, up to the next \_a. This will not timeout like a menu choice, but will timeout like normal dialogue.
Clicking on the anchor will start the event OnAnchorSelectEx.
The text that was used as the anchor will be stored as reference0, the ID will be stored in reference1, and subsequent arguments will be stored in reference2, reference3, etc, in the order they are written.
OnAnchorSelect also occurs after OnAnchorSelectEx, but nothing is entered after reference1, so it's pointless to write it this way.
\_a[CharacterName,Target Teddy,Age Unknown]Teddy\_a was such a good guy. But, he ate \_a[CharacterName,Target Emily,0x10 years old]Emily's\_a special treat that she'd been saving, so... When an anchor is clicked, OnAnchorSelectEx is run. If 'Teddy' is clicked, 'Teddy' is stored in reference0, 'CharacterName' in reference1, 'Target Teddy' in reference2, and 'Age Unknown' in reference3.
Changes the appearance of choice text when being hovered over.
※Refer to the section below for specification methods.
\f[cursorstyle,underline]\q[Choice,OnTest] Changes choice text to be displayed with an underline when hovered over.
Changes the color of the rectangular indicator when choice text is being hovered over. It is important to note that the color is affected by \f[cursormethod,(drawing method)].
※Refer to the section below for specification methods.
\f[cursorbrushcolor,red]\q[Choice,OnTest] When the style of the choice text is set to square, the background color will become red if hovered over.
Changes the color of the underline or rectangular indicator's outline when choice text is being hovered over.
※Refer to the section below for specification methods.
\f[cursorpencolor,0,255,0]\q[Choice,OnTest] When the style of the choice text is set to underline or square, the lines will become green if hovered over.
Changes the color of the choice text when being hovered over using RGB values (0–255).
※Refer to the section below for specification methods.
\f[cursorfontcolor,default.anchor]\q[Choice,OnTest] Changes the color of choice text to the same as the anchor color when hovered over.
Changes the drawing method of the choice text when being hovered over. Only effective when the style is set to either square or square+underline.
All operators valid in Win32API's SetROP2 function can be specified.
Specifying default will return to the balloon's default setting.
Reference: SetROP2 function (external site)
※The drawing method does not include "R2_" and should be specified as the mode name in lowercase. Ex: notmaskpen
\f[cursormethod,copypen]\f[cursorbrushcolor,red]\q[Choice,OnTest] Changes the drawing method inside the lines of the choice when hovered over. When copypen is specified, the color of cursorbrushcolor will be used as is.
Changes the appearance of choice text when not being hovered over.
※Refer to the section below for specification methods.
\f[cursornotselectstyle,underline]\q[Choice,OnTest] Changes choice text to be displayed with an underline while not hovered over.
Changes the color of the rectangular indicator when choice text is not being hovered over. It is important to note that the color is affected by \f[cursornotselectmethod,(drawing method)].
※Refer to the section below for specification methods.
\f[cursornotselectbrushcolor,red]\q[Choice,OnTest] When the style of the choice text is set to square, the background color will become red while not hovered over.
Changes the color of the underline or rectangular indicator's outline when choice text is not being hovered over.
※Refer to the section below for specification methods.
\f[cursornotselectpencolor,0,255,0]\q[Choice,OnTest] When the style of the choice text is set to underline or square, the lines will become green while not hovered over.
Changes the color of the choice text when not being hovered over.
※Refer to the section below for specification methods.
\f[cursornotselectfontcolor,default.anchor]\q[Choice,OnTest] Changes the color of choice text to the same as the anchor color while not hovered over.
Changes the drawing method of the choice text when not being hovered over. Only effective when the style is set to either square or square+underline.
All operators valid in Win32API's SetROP2 function can be specified.
Specifying default will return to the balloon's default setting.
Reference: SetROP2 function (external site)
※The drawing method does not include "R2_" and should be specified as the mode name in lowercase.
\f[cursornotselectmethod,copypen]\f[cursornotselectbrushcolor,red]\q[Choice,OnTest] Changes the drawing method inside the lines of the choice while not hovered over. When copypen is specified, the color of cursornotselectbrushcolor will be used as is.
Changes the appearance of anchor text when being hovered over.
※Refer to the section below for specification methods.
\f[anchorstyle,square]\_a[OnTest]Anchor\_a Changes anchor text to be displayed in a rectangle when hovered over.
Changes the color of the rectangular indicator when anchor text is being hovered over. It is important to note that the color is affected by \f[anchormethod,(drawing method)].
※Refer to the section below for specification methods.
\f[anchorbrushcolor,red]\_a[OnTest]Anchor\_a When the style of the anchor text is set to square, the background color will become red if hovered over.
Changes the color of the underline or rectangular indicator's outline when anchor text is being hovered over.
※Refer to the section below for specification methods.
\f[anchorpencolor,0,255,0]\_a[OnTest]Anchor\_a When the style of the anchor text is set to underline or square, the lines will become green if hovered over.
Changes the color of the anchor text when being hovered over.
※Refer to the section below for specification methods.
\f[anchorfontcolor,default.cursor]\_a[OnTest]Anchor\_a Changes the color of anchor text to the same as the selected choice text color when hovered over.
Changes the drawing method of the anchor text when being hovered over. Only effective when the style is set to either square or square+underline.
All operators valid in Win32API's SetROP2 function can be specified.
Specifying default will return to the balloon's default setting.
Reference: SetROP2 function (external site)
※The drawing method does not include "R2_" and should be specified as the mode name in lowercase.
\f[anchormethod,copypen]\f[anchorbrushcolor,red]\_a[OnTest]Anchor\_a Changes the drawing method inside the lines of the choice when hovered over. When copypen is specified, the color of anchorbrushcolor will be used as is.
Changes the appearance of anchor text when not being hovered over.
※Refer to the section below for specification methods.
\f[anchornotselectstyle,square]\_a[OnTest]Anchor\_a Changes anchor text to be displayed in a square while not hovered over.
Changes the color of the rectangular indicator when anchor text is not being hovered over. It is important to note that the color is affected by \f[anchornotselectmethod,(drawing method)].
※Refer to the section below for specification methods.
\f[anchornotselectbrushcolor,red]\_a[OnTest]Anchor\_a When the style of the anchor text is set to square, the background color will become red while not hovered over.
Changes the color of the underline or rectangular indicator's outline when anchor text is not being hovered over.
※Refer to the section below for specification methods.
\f[anchornotselectpencolor,0,255,0]\_a[OnTest]Anchor\_a When the style of the choice text is set to underline or square, the lines will become green while not hovered over.
Changes the color of the anchor text when not being hovered over.
※Refer to the section below for specification methods.
\f[anchornotselectfontcolor,default.cursor]\_a[OnTest]Anchor\_a Changes the color of choice text to the same as the selected choice text color while not hovered over.
Changes the drawing method of the anchor text when not being hovered over. Only effective when the style is set to either square or square+underline.
All operators valid in Win32API's SetROP2 function can be specified.
Specifying default will return to the balloon's default setting.
Reference: SetROP2 function (external site)
※The drawing method does not include "R2_" and should be specified as the mode name in lowercase.
\f[anchornotselectmethod,copypen]\f[anchornotselectbrushcolor,red]\_a[OnTest]Anchor\_a Changes the drawing method inside the lines of the anchor while not hovered over. When copypen is specified, the color of anchornotselectbrushcolor will be used as is.
Changes the appearance of anchor text that has already been clicked on.
※Refer to the section below for specification methods.
\f[anchorvisitedstyle,square]\_a[OnTest]Anchor\_a Changes already-visited anchor text to be displayed in a square.
Changes the color of the rectangular indicator on anchor text that has already been clicked on. It is important to note that the color is affected by \f[anchorvisitedmethod,(drawing method)].
※Refer to the section below for specification methods.
\f[anchorvisitedbrushcolor,red]\_a[OnTest]Anchor\_a When the style of already-visited anchor text is set to square, the background color will become red.
Changes the color of the underline or rectangular indicator's outline of anchor text that has already been clicked on.
※Refer to the section below for specification methods.
\f[anchorvisitedpencolor,0,255,0]\_a[OnTest]Anchor\_a When the style of already-visited anchor text is set to underline or square, the lines will become green if hovered over.
Changes the color of anchor text that has already been clicked on.
※Refer to the section below for specification methods.
\f[anchorvisitedfontcolor,default.cursor]\_a[OnTest]Anchor\_a Changes the color of already-visited anchor text to the same as the selected choice text color when hovered over.
Changes the drawing method of anchor text that has been clicked on. Only effective when the style is set to either square or square+underline.
All operators valid in Win32API's SetROP2 function can be specified.
Specifying default will return to the balloon's default setting.
Reference: SetROP2 function (external site)
※The drawing method does not include "R2_" and should be specified as the mode name in lowercase.
\f[anchorvisitedmethod,copypen]\f[anchorvisitedbrushcolor,red]\_a[OnTest]Anchor\_a Changes the drawing method inside the lines of already-visited anchor text. When copypen is specified, the color of anchorvisitedbrushcolor will be used as is.
Ends events and messages.
Script written after \e will not be run or displayed.
The effects of several SakuraScript commands will end.
This sentence will be displayed.\eFrom here, it will not be displayed.
Closes the software.
When multiple ghosts are open in SSP, only the ghost that ran the command will be closed.
After this script is played, the ghost will close.\-
[Old specification] Runs a line of dialogue from randomtalk.
This command is a remnant from the time when all scripts were handled by the baseware, and currently only calls the OnAITalk event.
Starts the network update check event.
Network updates may also be started by the user from the right click menu or the ghost explorer.
Specifying options is exclusive to SSP. Refer to the update option specifications section.
A network update will be started.\![updatebymyself]
Starts the baseware network update event.
If an update is found, all ghosts will be closed once (running OnBasewareUpdating, or if the ghost has no dialogue for the event OnClose) and restarting (OnBasewareUpdated, or if the ghost has no dialogue for the event OnBoot).
If no update is found, a popup will be displayed and no SHIORI event will be run.
The baseware will be updated.\![update,platform]
Starts the network update event for the update target.
ghost, shell, and balloon can be specified. Multiple targets may be specified by separating them with +.
If the update target is specified as all, it will have the same effect as \![updatebymyself].
When run as \![update,ghost+shell+balloon], unlike \![updatebymyself], it will ignore SSP's settings and force an update.
If an update is found for a target other than ghost, the SHIORI event OnUpdateOtherReady and other events that replace OnUpdate with OnUpdateOther will be notified, and when all updates are finished OnUpdateResult will be run as a summary of the results.
Specifying options is exclusive to SSP. Refer to the update option specifications section.
The shell will be updated.\![update,shell]
Starts the network update event for the chosen target. Update targets that are not currently open may also be specified.
Any number of the below options may be specified.
--balloon=(balloon name)
--shell=(shell name)
--plugin=(plugin name)
--headline=(headline name)
--language=(language resource name)
If an update is found the SHIORI event OnUpdateOtherReady and other events that replace OnUpdate with OnUpdateOther will be notified, and when all updates are finished OnUpdateResultEx will be run as a summary of the results.
Specifying --option is exclusive to SSP. Refer to the update option specifications section.
The plugins 'shared value' and 'ukaten' will be updated.\![updateother,--plugin=共有変数プラグイン,--plugin=うかてん]
Performs the time correction in the clock fixing function.
Generally, the SHIORI event OnSNTPCompare, which is notified when a connection to the time server has been made, is used.
The clock will be matched with the server time.\6
Starts the clock fixing event.
The SHIORI event OnSNTPBeginis notified, and once the time is retrieved from the server, the SHIORI event OnSNTPCompare is notified.
Performs the same function as \7.
Sends a query to the time server.\![executesntp]
Starts the headline sense event.
If the headline name is specified as random, a random headline will be chosen.
If specified as lastinstalled, the last headline to be installed will be started.
A randomly chosen headline will be executed.\![execute,headline,random]
Starts the mail check event.
If written as \![biff,(account name)], a mail check for the specified account can be performed.
Account names are notified with configuredbiffname.
The mail check event will be started.\![biff]
Uninstalls the ghost without user input.
It is important to keep in mind that when this command is executed, the uninstallation will happen immediately without a confirmation dialog.
Whether the ghost will be deleted or not is determined by the user's SSP settings.
The below options are specifiable in SSP.
\![vanishbymyself,(ghost name)] Specify the name of the ghost to be switched to after uninstallation. (If not found, the ghost to be switched to will be decided by SSP.)
\![vanishbymyself,--option=query] 2.5.82: Displays dialog to confirm whether the ghost should be uninstalled or not. Functions the same as when uninstalling from the menu.
The ghost will delete itself. Use caution when testing the command using the Send Box.\![vanishbymyself]
Changes to a random ghost.
When the ghost is changed by this command, the SHIORI event OnGhostChanging is not notified.
Random change.\+
Changes to the next ghost in the list (sequential change). The ghost below the current one in the Ghost Explorer is opened.
If the ghost currently open is at the bottom of the list, the ghost at the top of the list will be opened.
When the ghost is changed by this command, the SHIORI event OnGhostChanging is not notified.
Change to the next ghost in the list.\_+
Changes to the specified ghost.
If the ghost name is specified as random, it will change to a random ghost (the same as \+).
If specified as sequential, it will perform a sequential change (the same as \_+).
After the command is run, if the specified ghost is not installed, it will be ignored.
If the ghost name is specified as lastinstalled, it will change to the ghost that was installed last. However, if SSP has been closed once since installation, it will not have effect.
If the ghost name is specified as random, it will change to a random ghost.
From SSP 2.4.74 onwards, if --option=raise-event is specified after the ghost name, the SHIORI event OnGhostChanging will be notified, as when the ghost is changed from the menu.
It is important to note that this can be canceled by breaking the balloon (normally with a double-click).
If not specified, the event will not be notified.
Changing to Emily/Phase4.5.\![change,ghost,Emily/Phase4.5]
Changes to the specified shell.
If the specified shell does not exist, the command will be ignored.
After the shell is changed, the SHIORI event OnShellChanged is notified.
If the shell name is specified as lastinstalled, it will change to the shell that was installed last. However, if SSP has been closed once since installation, it will not have effect.
If the shell name is specified as random, it will change to a random shell.
From SSP 2.4.74 onwards, if --option=raise-event is specified after the shell name, the SHIORI event OnShellChanging will be notified in the same way as when changing shells from the menu.
It is important to note that this can be canceled by breaking the balloon (normally with a double-click).
If not specified, the event will not be notified.
Change to the master shell.\![change,shell,master]
Changes to the specified balloon.
If the specified balloon does not exist, the command will be ignored.
After changing balloon, the SHIORI event OnBalloonChange is notified.
If the balloon name is specified as lastinstalled, it will change to the balloon that was installed last. However, if SSP has been closed once since installation, it will have no effect.
If the balloon name is specified as random, it will change to a random balloon.
The balloon will be changed to SSP Default+.\![change,balloon,SSPデフォルト+]
Calls the specified ghost.
If the ghost name is specified as lastinstalled, it will call the ghost that was installed last.
If the ghost name is specified as random, it will call a random ghost.
From SSP 2.4.74 onwards, if --option=raise-event is specified after the ghost name, OnGhostCalling will be notified in the same way as when calling ghosts from the menu.
When not specified, the event will not be notified.
The ghost Emily/Phase4.5 will be called.\![call,ghost,Emily/Phase4.5]
Brings the window of the ghost to the front. After running this script, it will always be displayed at the frontmost layer.
However, the layering of the characters (which of the main character and side character is on top) is controlled by the user.
Effective until the ghost is closed.
\vAfter running this script, the window of the ghost will be displayed in the frontmost layer.
Brings the window of the ghost to the front. After running this script, it will always be displayed at the frontmost layer.
Effective until the ghost is closed.
\![set,windowstate,stayontop]After running this script, the window of the ghost will be displayed in the frontmost layer.
Stops displaying the window of the ghost in front. After running this script, overlapping will be handled in the same way as other windows.
Effective until the ghost is closed.
\![set,windowstate,!stayontop]After running this script, active windows will be displayed over the ghost's window.
Minimizes the window.
The window will be minimized.\![set,windowstate,minimize]
Sets the specified file as the wallpaper.
Aside from absolute paths, relative paths from ssp.exe can also be used for the file name.
If the file name is omitted or left blank, the wallpaper settings will be reset (reverted to the OS' default wallpaper).
The options are as below.
Sets Emily/Phase4.5's thumbnail as the wallpaper.\![set,wallpaper,ghost/emily4/thumbnail.png]
Uses the specified icon file as the icon in the notification area (system tray).
Relative filepaths from [(folder of the ghost executing the command)] or [(folder of the ghost executing the command)]/ghost/master can be used.
Text is displayed when hovering the mouse cursor over the icon, and can be omitted. The default is SSP/[(name of the currently running ghost)], e.g. [SSP/Emily/Phase4.5].
The icon can be animated by specifying --duration=(wait time) (ms). When doing so, after specifying filename.ico, multiple files will be loaded in the order of the numbers following the file name (filename00.ico, filename01.ico, and so on), displaying each frame after the specified wait time has passed. [SSP 2.5.58~]
If --runcount is specified in addition to --duration, the number of times to repeat the animation can be set. If left unspecified, the animation will repeat indefinitely. [SSP 2.5.59~]
\![set,tasktrayicon,normal.ico,ghost/normal mode] Sets the icon to normal.ico in [(folder of the ghost executing the command)]/ghost/master, and changes the message displayed when the mouse cursor is over it to "ghost/normal mode."
Displays a system tray notification balloon.
OnTrayBalloonClick is run when the balloon is closed by being clicked on.
OnTrayBalloonTimeout is run when the balloon is closed with the close button or from timing out.
The specifiable options are as below.
\![set,trayballoon,--text=Due to an error, a process has failed.,--title=Error occurred,--icon=error]
Sets whether OnOtherGhostTalk will be notified or not. The default value is false.
When set to a value other than false, OnOtherGhostTalk will be notified when other ghosts that are open at the same time talk.
Notifications happen before the other ghost talks when set to "before" and after talking when set to "after". Specifying true is the same as specifying after.
Effective until the ghost is closed.
\![set,otherghosttalk,true]After this, OnOtherGhostTalk will be notified every time other currently open ghosts finish talking.
Sets whether OnOtherSurfaceChange will be notified or not. The default value is false.
When set to true, OnOtherSurfaceChange will be notified when other ghosts that are open at the same time change surfaces.
\![set,othersurfacechange,true]After this, OnOtherSurfaceChange will be notified every time other currently open ghosts change surfaces.
Raises an event.
Values from the third argument onwards are stored in order starting from Reference0.
When the raise command at the end of this dialog is run, the SHIORI event OnRaiseTest will be notified by SSP. "test" will be stored in Reference0.\![raise,OnRaiseTest,test]
A special tag that "embeds" the results of an event into the script currently being run in real-time.
The option arguments use the same method as \![raise], and values from the third argument onwards are stored in order starting from Reference0.
When a script finds an \![embed] tag while running, the specified event is called, and in the case that a result is returned, the entire \![embed] tag is replaced with the resulting string, with the script continuing to run from the first letter of the string that replaced the tag.
(※Made to offer wider and more general functioning than the Satori in-script SAORI calling mechanism "sync.")
At first, this tag was implemented as a function to run entirely within a single execution of a script, by usage alongside the property system, with the property system call itself returning no results, and then dynamically changing the process depending on the result from an \![embed] tag placed directly afterwards. However, there are no such restrictions, and it is possible to synchronize with the script execution and process multiple things simultaneously.
At the end of this dialog, the results of the execution of the SHIORI event OnEmbedTest will be displayed. Contrary to raise, the results are contained within the same script, so SakuraScript effects that would become ineffective with the end of a script (such as font changes) will continue to be effective.\![embed,OnEmbedTest]
When this script is run on a Satori template, a line of randomtalk will be appended to this dialog.\![embed,OnTalk]
Raises an event with a wait time specified.
If repetition is specified as 0, the event will be run every time the specified amount of time passes, and if any values that are 1 or higher are specified, the event will only be run once.
Values from the fifth argument onwards are references.
Multiple events with different names can be specified separately, but if an event of the same name is raised more than once, the first setting will be overwritten.
Can be canceled by running SakuraScript specifying the same event with a wait time of 0.
The timer is kept after network updates.
Effective until the specified event runs when repetition is specified as 0. Effective until the ghost is closed when repetition is specified as 1 or higher.
\![timerraise,5000,1,OnTimerraiseTest,test]In 5 seconds (5000 milliseconds), OnTimerraiseTest will be run. The time is counted starting from the moment the SakuraScript is run.\![timerraise,0,1,OnTimerraiseTest] The timer that was set earlier has been canceled.
Sends an event notification to another currently running ghost.
Values from the fourth argument onwards are references.
If the ghost name is specified as __SYSTEM_ALL_GHOST__, a notification will be sent to all other running ghosts.
The ghost name can only be specified directly. Multiple can be specified by separating them using the byte value 1.
\![raiseother,Emily/Phase4.5,OnRoastedPotato,sweet potato]If currently open, Emily/Phase4.5 will receive OnRoastedPotato as a notification. Reference0 stores the value sweet potato.
Sends an event notification to another currently running ghost with a wait time specified (milliseconds).
If repetition is specified as 0, the event will be run every time the specified amount of time passes, and if any values that are 1 or higher are specified, the event will only be run once.
Values from the sixth argument onwards are references.
Multiple events with different names can be specified separately, but if an event of the same name is raised more than once, the first setting will be overwritten.
Can be canceled by running SakuraScript specifying the same event with a wait time of 0.
If the ghost name is specified as __SYSTEM_ALL_GHOST__, a notification will be sent to all other running ghosts.
Multiple ghost names can be specified by separating them using the byte value 1.
\![timerraiseother,30000,0,Emily/Phase4.5,OnRoastedPotato,sweet potato]If currently open, Emily/Phase4.5 will receive OnRoastedPotato as a notification every 30 seconds (30000 milliseconds). Reference0 stores the value sweet potato.\![timerraiseother,0,1,Emily/Phase4.5,OnRoastedPotato] The repeat notification has been canceled.
Sends the specified event to the plugin.
If the plugin name is specified as random, a random plugin will be chosen.
If specified as lastinstalled, the last installed plugin will be started.
\![raiseplugin,StampCollection,OnStampAdd,[(folder of the ghost executing the command)]/ghost/master/stamp.png,MyStamp,I gave you my stamp.]Registers the image from (folder of the ghost executing the command) and message to the plugin StampCollection.
Sends the specified event to the plugin with a wait time specified (milliseconds).
If repetition is specified as 0, the event will be run every time the specified amount of time passes, and if any values that are 1 or higher are specified, the event will only be run once.
Multiple events with different names can be specified separately, but if an event of the same name is raised more than once, the first setting will be overwritten.
Can be canceled by running SakuraScript specifying the same event with a wait time of 0.
\![timerraiseplugin,60000,0,Jittaika,OnMenuExec]Runs the plugin Jittaika every 60 seconds (60000 milliseconds).\![timerraiseplugin,0,0,Jittaika,OnMenuExec] The repeat notification has been canceled.
Same as "raise", the only difference is that any value returned by this notification event will not be output by SSP.
\![notify,OnNotifyTest,test]OnNotifyTest is notified, and test is stored in Reference0. Even if there is dialog in OnNotifyTest, it will not be output by SSP.
Same as "timerraise", the only difference is that any value returned by this notification event will not be output by SSP.
\![notify,OnNotifyTest,test]OnNotifyTest is notified, and test is stored in Reference0. Even if there is dialog in OnNotifyTest, it will not be output by SSP.
Same as "raiseother", the only difference is that any value returned by this notification event will not be output by SSP.
\![notifyother,Emily/Phase4.5,OnRoastedPotato,sweet potato]If currently open, Emily/Phase4.5 will receive OnRoastedPotato as a notification. Reference0 stores the value sweet potato. Even if Emily/Phase4.5 says something in response to this notification event, nothing will be displayed in the balloon.
Same as "timerraiseother", the only difference is that any value returned by this notification event will not be output by SSP.
\![notifyother,Emily/Phase4.5,OnRoastedPotato,sweet potato]If currently open, Emily/Phase4.5 will receive OnRoastedPotato as a notification. Reference0 stores the value sweet potato. Even if Emily/Phase4.5 says something in response to this notification event, nothing will be displayed in the balloon.
Same as "raiseplugin", the only difference is that any value returned by this notification event will not be output by SSP.
\![notifyplugin,StampCollection,OnStampAdd,[(folder of the ghost executing the command)]/ghost/master/stamp.png,MyStamp,I gave you my stamp.]Calls the registration event of the plugin StampCollection with notify. The plugin and subsequent processes will run, but responses to the ghost will be ignored.
Same as "timerraiseplugin", the only difference is that any value returned by this notification event will not be output by SSP.
\![notifyplugin,StampCollection,OnStampAdd,[(folder of the ghost executing the command)]/ghost/master/stamp.png,MyStamp,I gave you my stamp.]Calls the registration event of the plugin StampCollection with notify. The plugin and subsequent processes will run, but responses to the ghost will be ignored.
Plays a wave file from the folder of the ghost.
The baseware plays a wave, mp3, or wma file. Absolute paths or relative paths from [(folder of the ghost executing the command)]/ghost/master can be specified.
The command is ignored if the folder does not exist.
\_v[se/test.wav]The file test.wav in the folder [(folder of the ghost executing the command)]/ghost/master/se is being played.
Waits until the playback of the file played by \_v ends.
The command is ignored if it has already ended or the folder does not exist.
\_v[se/test.wav]The file test.wav in the folder [(folder of the ghost executing the command)]/ghost/master/se is being played.\_V This sentence will be displayed only once the playback ends.
Functionally the same as \_v. However, options may be specified.
\![sound,play,test.mp4,--sound-only=true,--window=true]The video file test.mp4 in the folder [(folder of the ghost executing the command)]/ghost/master is being played. However, the seek bar will be continuously displayed, and only sound will be played.
Load the file in advance so that it can be played immediately when requested. The specification method is the same as play.
SSP plays a music CD. The command is ignored if there is no music CD.
\_V is ignored, even while playing a track. Specifying another track with \![sound,cdplay,(track no.)] during playback will also be ignored. Instead, \![sound,stop] should be used to stop the playback once before specifying the next track.
\![sound,cdplay,6]The sixth track on a music CD is being played.
Loops a track. \_V does not apply to this command.
Playback can be stopped with \![sound,stop].
\![sound,loop,test.wav]The file test.wav in the folder [(folder of the ghost executing the command)]/ghost/master is being played.\![sound,stop] The playback has stopped looping.
Functionally the same as \_V.
\![sound,play,test.wav]The file test.wav in the folder [(folder of the ghost executing the command)]/ghost/master is being played.\![sound,wait] This sentence will be displayed only once the playback ends.
Pauses the playback. When the file name is omitted, all sounds currently being played will be paused.
\![sound,loop,test.wav]The file test.wav in the folder [(folder of the ghost executing the command)]/ghost/master is being played.\![sound,pause] The playback is paused as this sentence is displayed.
Unpauses playback. When the file name is omitted, all paused sounds will be unpaused.
\![sound,loop,test.wav]The file test.wav in the folder [(folder of the ghost executing the command)]/ghost/master is being played.\![sound,pause] The playback is paused as this sentence is displayed.\![sound,resume] The playback is resumed from where it was stopped.
Stops playback entirely. Differs from pause in that it releases the sound data entirely and stops playback. In some cases, other sound data cannot be played without using this command to stop the original playback.
When the file name is omitted, all sounds currently being played will be stopped.
\![sound,loop,test.wav]The file test.wav in the folder [(folder of the ghost executing the command)]/ghost/master is being played.\![sound,stop] The playback is stopped entirely.
Jumps to the ID.
Jumps to a URL with http://~.
Executes a file with file:///~ and a file extension related to the OS. Aside from absolute paths, relative paths from [(folder of the ghost executing the command)]/ghost/master can also be used for the file name.
※SSP only: Creates a new email to the specified address with mailto:~.
\j[http://ssp.shillest.net/]Opens the browser and displays the SSP BUGTRAQ Lab.
\j[file:///descript.txt]Opens the descript.txt file in the folder [(folder of the ghost executing the command)]/ghost/master.
Opens the browser set in the baseware.
This is set in the Applications -> Browser option in the baseware settings, accessed from the user menu.
\![open,browser,http://ssp.shillest.net/]Displays the SSP BUGTRAQ Lab in the browser specified in SSP's Preference settings.
Opens the mailer set in the baseware.
This is set in the Applications -> Mailer option in the baseware settings, accessed from the user menu.
\![open,mailer,test@example.com]Opens a mailer with the address test@example.com in the To: field.
Edits the specified file with the editor set in the baseware.
This is set in the Applications -> Editor option in the baseware settings, accessed from the user menu.
The display line number moves the cursor to the specified line in advance when the file is opened.
When an editor is not specified, this command has the same behaviour as choosing Edit after right clicking the file in a file manager. The display line number is ignored in this situation.
Opens the file location of the specified file with the file manager set in the baseware.
This is set in the Applications -> File Manager option in the baseware settings, accessed from the user menu.
When a file manager is not specified, if the file argument is a folder it is opened, and if it is a file, its location will be opened in Explorer with the file in a selected state.
If written as \![open,explorer,(type=ghost/shell/balloon/headline/plugin),(name)], the type and name of folder to be opened can be specified.
Ex: \![open,explorer,ghost,Emily/Phase4]
[Old specification] Opens the TeachBox.
Opens the TeachBox. On execution, OnTeachStart is notified, OnTeach is notified when the TeachBox OK button is pressed, and OnTeachInputCancel is notified when the TeachBox is closed.
\![open,teachbox]The TeachBox is opened.
Closes the TeachBox.
It is important to keep in mind that OnTeachInputCancel will not be notified.
\![close,teachbox]The TeachBox is closed. If not open, this command will be ignored.
[Old specification] Opens the CommunicateBox.
Opens the CommunicateBox.
After input has been confirmed, OnCommunicate will be run, and if the CommunicateBox is closed OnCommunicateInputCancel will be run.
In SSP only, the default text may also be specified (by using \![open,communicatebox,(text)]).
In SSP only, ※options may be specified using --option=○○. Omission is also possible.
\![open,communicatebox,test]The CommunicateBox is opened. The word "test" is in the text box from the start.
\![open,communicatebox,--text=test]The same happens as above (an example of writing the command with an option specification).
Closes the CommunicateBox.
It is important to keep in mind that OnCommunicateInputCancel will not be notified.
\![close,communicatebox]The CommunicateBox is closed. If not open, this command will be ignored.
Opens the InputBox.
The SHIORI event OnUserInput is run on confirmation (when the OK button is pressed).
OnUserInputCancel is run when the display time has passed (timed out) or when the close button was pressed.
Moreover, measures were taken to prevent any other interaction with the ghost during input, however, SSP does not have these.
The ID is stored in OnUserInput, which runs on confirmation, but if the ID starts with On, the event beginning with On will run instead. ※Refer to ID.
The display time is specified in milliseconds. If omitted or 0 or lower is specified, there will be no time limit.
The text argument is the text that will be displayed as soon as the InputBox is opened (incompatible with CROW) and can be omitted.
In SSP only, ※options may be specified using --option=○○. Omission is also possible.
\![open,inputbox,inputtest,10000,Test Input]Opens the InputBox with the text "Test Input" already in it. It will be closed either manually when the OK button is pressed or automatically 10 seconds pass.
\![open,inputbox,inputtest,--timeout=10000,--text=Test Input]The same happens as above (an example of writing the command with the new option specifications).
Opens an InputBox that hides the characters. Other than that, functions the same as inputbox.
\![open,passwordinput,passwordtest,-1,--option==noclose]An InputBox with the characters hidden by ● has been opened. Neither time passing nor pressing the OK button will close it. It can be closed if the close button is pressed.
\![open,passwordinput,passwordtest,--timeout=-1,--option==noclose]The same happens as above (an example of writing the command with the new option specifications).
Opens a date InputBox.
The display time is specified in milliseconds.
Year, month, and day are the initial values.
The SHIORI event OnUserInput is run on confirmation, and Reference1 stores the year,month,day separated by commas.
OnUserInputCancel is run when the display time has expired (timeout), or when the close button is pressed.
If it times out, it will contain "Timeout."
※Options may be specified using --option=○○.
Other than that, functions the same as inputbox.
\![open,dateinput,dateinputtest,30000,2012,12,23]An InputBox with the initial values of the date 2012,12,23 has been opened. It will timeout after 30 seconds.
\![open,dateinput,dateinputtest,--timeout=30000,--text="2012,12,23"]The same happens as above (an example of writing the command with the new option specifications).
Opens an InputBox with a slider.
The SHIORI event OnUserInput is run on confirmation, and Reference1 stores the input value.
※Options may be specified using --option=○○.
Other than that, functions the same as inputbox.
The minimum possible value is -2147483648 and the maximum is 2147483647.
\![open,sliderinput,slidertest,30000,50,0,100]A slider-type InputBox with an initial value of 50, a minimum value of 0, and a maximum value of 100 has been opened. It will timeout after 30 seconds.
\![open,sliderinput,slidertest,--timeout=30000,--text="50,0,100"]The same happens as above (an example of writing the command with the new option specifications).
Opens a time InputBox.
Hour, minute, and second are the initial values. Uses 24 hour time.
The input value is stored in OnUserInput's Reference1 as hour,minute,second separated by commas.
※Options may also be specified using --option=○○.
Other than that, functions the same as inputbox.
\![open,timeinput,timeinputtest,30000,23,45,12]An InputBox with the initial values of 23,45,12 has been opened. It will timeout after 30 seconds.
\![open,timeinput,timeinputtest,--timeout=30000,--text="23,45,12"]The same happens as above (an example of writing the command with the new option specifications).
Opens an IP address InputBox.
Due to input limitations on Windows, only IPv4 addresses will be accepted.
※Options may also be specified using --option=○○.
Other than that, functions the same as inputbox.
\![open,ipinput,ipinputtest,30000,192,168,0,1]
\![open,ipinput,ipinputtest,--timeout=30000,--text="192,168,0,1"]
Closes the type of InputBox specified in the ID argument (date, time, slider, password are included). Specifying __SYSTEM_ALL_INPUT__ will close all boxes.
\![close,inputbox,timeinputtest]The InputBox with the ID timeinputtest has been closed.\![close,inputbox,__SYSTEM_ALL_INPUT__] All InputBoxes have been closed.
Opens the configuration dialog (baseware settings, accessed from the user menu).
The dialog ID specifies which section to show (when omitted, it will be the last opened section).
Refer to the SHIORI Event ※OnConfigurationDialogHelp's Reference0.
\![open,configurationdialog,talk]The Talk/Balloon tab of the SSP baseware settings has been opened.
Opens the Ghost Explorer.
Can also be opened from the user menu.
The below explorers can also be manually changed to from the Ghost Explorer's Type section (T).
\![open,ghostexplorer]The Ghost Explorer has been opened.
Opens the Shell Explorer. Only shells for the currently open ghosts will be displayed.
\![open,shellexplorer]The Shell Explorer has been opened.
Opens the Balloon Explorer.
\![open,balloonexplorer]The Balloon Explorer has been opened.
Opens the Headline Explorer.
\![open,headlinesensorexplorer]The Headline Explorer has been opened.
Opens the Plugin Explorer.
\![open,pluginexplorer]The Plugin Explorer has been opened
Displays the ghost usage rate graph.
\![open,rateofusegraph]The ghost usage rate graph is being displayed.
Opens the balloon usage rate graph. In environments that are not compatible, it will behave the same way as when rateofusegraph has been executed.
\![open,rateofusegraphballoon]The balloon usage rate graph is being displayed.
Displays the ghost usage rate (totals) graph. Currently only compatible with Materia (other baseware will behave the same way as when rateofusegraph has been executed).
Opens the calendar.
\![open,calendar]The calendar has been opened.
Opens the SSP help page.
Specifying a configuration section's ID name (refer to ※OnConfigurationDialogHelp's Reference0) will open the related help page. Opens the index page if omitted.
\![open,help,talk]Opens the Talk/Balloon section of the http://ssp.shillest.net/ukadoc/ssphelp/ page.
Opens the instant messenger.
Can also be opened from the user menu's Utilities (F) -> SSP Messenger (Ctrl+M).
\![open,messenger]The instant messenger has been opened.
Opens readme.txt.
When no further arguments have been specified, opens the file specified as the readme in the currently running ghost's [(folder of the ghost executing the command)]/ghost/master/descript.txt.
When \![open,readme,(type=ghost/shell/balloon/headline/plugin),(name)], the specified readme file will be opened. Ex: \![open,readme,ghost,Emily/Phase4]
\![open,readme]readme.txt has been opened.
Opens the terms and conditions dialog using [(folder of the ghost executing the command)]/terms.txt.
Nothing occurs (error sound only) if terms.txt does not exist.
This command stops user interaction by force with the dialog, so overuse should be avoided.
\![open,terms]terms.txt has been opened.
Executes a file. Absolute paths or relative paths from [(folder of the ghost executing the command)]/ghost/master/ can be specified.
The Windows environment variables (%SYSTEMROOT%,%SYSTEM%, %TEMP% etc.) can be used.
When the file to be executed is specified as the file name, the path will be searched for automatically.
\![open,file,shell/master/surface0.png]surface0.png in the shell/master has been opened.
\![open,file,%ComSpec%]The command prompt has been opened.
\![open,file,TortoiseProc.exe]Automatically searches for the path and executes TortoiseSVN if it is installed.
Opens the file opening dialog. Selecting a file with this dialog will not open the file.
The SHIORI event OnSystemDialog is run on confirmation, and Reference0 stores "open" and Reference2 stores the file path, so the actual process is made and executed by each ghost creator.
The SHIORI event OnSystemDialogCancel is run when closed.
Specifications for the parameter argument are as below, and multiple may be specified by separating them with commas.
\![open,dialog,open,--title=Open dialog display test,--dir=C:/SSP/ghost/emily4/ghost/master,--filter=DictionaryFiles|dic*.txt;*.dic;*.aym;*.kis|AllFiles|*.*,--id=testdialog]Using the [(folder of the ghost executing the command)]/ghost/master folder of Emily/Phase4.5 as the initial position, displays only dic~.txt, ~.dic, ~.aym, ~.kis files if SSP exists in a folder named SSP in the C drive.
Opens the file saving dialog. Saving a file with this dialog will not save the file.
The SHIORI event OnSystemDialog is run on confirmation, and Reference0 stores "save" and Reference2 stores the file path, so the actual process is made and executed by each ghost creator.
The SHIORI event OnSystemDialogCancel is run when closed.
Specifications for the parameter argument are as below, and multiple may be specified by separating them with commas.
\![open,dialog,save,--title=Save dialog display test,--dir=__system_mydocument__,--filter=Text files|*.txt;*.dic,--ext=txt,--name=test,--id=Test saving dialog]Using the My Documents folder as the initial position, displays only .txt and .dic files, opening the saving dialog for the initial file name test.txt.
Opens the folder selection dialog. Selecting a folder with this dialog will not lead to anything happening.
The SHIORI event OnSystemDialog is run on confirmation, and Reference0 stores "folder" and Reference2 stores the folder path, so the actual process is made and executed by each ghost creator.
The SHIORI event OnSystemDialogCancel is run when closed.
Specifications for the parameter argument are as below, and multiple may be specified by separating them with commas.
\![open,dialog,folder,--title=Folder selection dialog display test,--id=OnTestFolderDialog]Opens the folder selection dialog using the previously opened location as the initial position. The specified ID name OnTestFolderDialog starts with On, so when Save is pressed, the SHIORI event OnTestFolderDialog is notified.
Opens the color palette dialog. Specifying a color with this dialog will not lead to anything happening.
The SHIORI event OnSystemDialog is run on confirmation, and Reference0 stores "color" and Reference2 stores the selected color in the R,G,B format, so the actual process is made and executed by each ghost creator.
The SHIORI event OnSystemDialogCancel is run when closed.
Specifications for the parameter argument are as below, and multiple may be specified by separating them with commas.
\![open,dialog,color,--color=255 0 0,--id=Test color dialog]Opens the color palette dialog with red as the initial display color.
Closes the dialog with the specified event ID. Specifying __SYSTEM_ALL_INPUT__ will close all dialogs.
\![close,dialog,Test color dialog]Out of all currently displayed dialog boxes, closes those with the ID "Test color dialog" only." When a dialog is closed, OnSystemDialogCancel is notified.
Opens the surface test dialog. If Developer Mode is not turned on in the baseware settings, the command will be ignored.
\![open,surfacetest]The surface test dialog has been opened.
Opens the AI graph. If the ghost executing the command does not react to the SHIORI resource getaistate, nothing will happen.
\![open,aigraph]The AI graph has been opened.
Opens the developer palette. If Developer Mode is not turned on in the baseware settings, the command will be ignored.
Opens the SHIORI Request send palette. If Developer Mode is not turned on in the baseware settings, the command will be ignored.
Inputs a value into the property system.
※Refer to the Property System page for details about the property system.
\![set,property,currentghost.shelllist(master).menu,hidden]Hides the master shell in the Shell (S) section of the user menu, preventing the user from changing to it manually.\![set,property,currentghost.shelllist(master).menu,] Makes the master shell visible in the user menu again.
Gets a property system value.
The event specified is run, and each property system value is stored in references from reference0 onwards.
※Refer to the Property System page for details about the property system.
After executing this script, the SHIORI event SSPGetBalloonInformation is notified. Reference0 stores the width of the current balloon that can be used by the main character (in pixels), and Reference1 stores the height. \![get,property,SSPGetBalloonInformation,currentghost.balloon.scope(0).validwidth.initial,currentghost.balloon.scope(0).validheight.initial]
Executes an http get request and stores the response in a file.
The file is stored in the [(folder of the ghost executing the command)]/ghost/master/var folder.
\![execute,http-get,https://ukagakadreamteam.github.io/ukadoc/manual/list_sakura_script.html]Gets the UKADOC SakuraScript page (this page), and saves list_sakura_script.html in the var folder.
Executes an http get request with a parameter and stores the response in a file.
The file is stored in the [(folder of the ghost executing the command)]/ghost/master/var folder.
\![execute,http-get,http://search.yahoo.co.jp/search,p=SSP Ukagaka]Saves the Yahoo search result pages for "SSP Ukagaka" as is.
Executes an http post request with a parameter and stores the response in a file.
The file is stored in the [(folder of the ghost executing the command)]/ghost/master/var folder.
\![execute,http-post,http://jbbs.shitaraba.net/bbs/read.cgi/computer/44300/1432574039/,BBS=44300&KEY=1432574039&DIR=computer&MESSAGE=Test message]Sends "Test message" to the test thread in the ghost messaging board ゴースト回覧板3rd. ※Currently not possible due to the messaging board host strengthening anti-spam measures.
Executes an http get request with ※options and stores the response in a file.
The file is stored in the [(folder of the ghost executing the command)]/ghost/master/var folder.
\![execute,http-get,http://search.yahoo.co.jp/search,--async=SSP Ukagaka,--file=searchresultsfile.txt,--nodescript,--param=p=SSP Ukagaka,--timeout=5]Saves the Yahoo search result pages for "SSP Ukagaka" to [(folder of the ghost executing the command)]/ghost/master/var/searchresultsfile.txt When executing the request, the online marker and download status number will not be shown. If there is no response after 5 seconds, it will timeout.
Executes an http post request with ※options and stores the response in a file.
The file is stored in the [(folder of the ghost executing the command)]/ghost/master/var folder.
\![execute,http-post,http://jbbs.shitaraba.net/bbs/read.cgi/computer/44300/1432574039/,--async=書き込みテスト,--param=BBS=44300&KEY=1432574039&DIR=computer&MESSAGE=Test message]Sends "Test message" to the test thread in the ghost messaging board ゴースト回覧板3rd. ※Currently not possible due to the messaging board host strengthening anti-spam measures. If there is no response after 5 seconds, it will timeout.
Executes an http head request with ※options.
Executes an http put request with ※options.
Executes an http delete request with ※options.
Executes an http get request with ※options, parses the response as an RSS/Atom feed, and sends a notification of the parsing result in the form of an event.
The parameter specifications are the same as http-post.
Executes an http post request with ※options, parses the response as an RSS/Atom feed, and sends a notification of the parsing result in the form of an event.
The parameter specifications are the same as http-post.
Extracts a zip file. Full paths must be specified (relative paths cannot be specified).
Execution of other scripts is paused until the process has finished.
For security reasons, extractions are limited to destinations within folders under the control of SSP (ghost folder, balloon folder, etc. other locations specified in the Folder Preferences).
Furthermore, as this restriction may be tightened occasionally, it is also recommended to keep the file within the folder in which the ghost's own data is located.
\![execute,extractarchive,C:/SSP/ghost/test.zip,C:/SSP/ghost/testfolder]If SSP is installed in the C drive, an extracted copy of test.zip called testfolder will be created.
Compresses a file into a zip file. Full paths must be specified (relative paths cannot be specified).
Execution of other scripts is paused until the process has finished.
For security reasons, compressions are limited to destinations within folders under the control of SSP (ghost folder, balloon folder, etc. other locations specified in the Folder Preferences).
Furthermore, as this restriction may be tightened from time to time, it is also recommended to keep the file within the folder in which the ghost's own data is located.
\![execute,compressarchive,C:/SSP/ghost/test.zip,C:/SSP/ghost/emily4]If SSP is installed in the C drive, a compressed copy of the Emily/Phase4.5 folder named test.zip will be created in the ghost folder.
Dumps a combined surface image to the specified directory.
Unless an event ID is specified, execution of other scripts will be paused until the process has finished.
Scope ID: specify the same ID as the \s tag. With this specification, processes that depend on the character, such as the dress-up state, are changed.
Surface list: written using the same methods as surface ID specifications, or with the below specifications.
__system_surface_all__: dump all surfaces that are valid as a shell.
__system_surface_defined__: dump only surfaces specified in surfaces.txt.
[Note] Use " " to escape a comma in SakuraScript's square bracket parameters.
Prefix: (can be omitted) the string that will be added as a prefix to the file name. When omitted, "surface."
Event ID: (can be omitted) If specified, SakuraScript will continue to be executed as surfaces are being dumped, and when finished the specified event will be called. Reference0 contains the number of files successfully dumped.
Zero position cutoff: When 1 is specified, dumping will start from 0,0 regardless of animation definitions, and parts with negative coordinates will be ignored.
For security reasons, output is limited to destinations within folders under the control of SSP (ghost folder, balloon folder, etc. other locations specified in the Folder Preferences).
Furthermore, as this restriction may be tightened from time to time, it is also recommended to keep within the folder in which the ghost's own data is located.
Installs the specified nar file. Full paths must be specified (relative paths cannot be specified).
\![execute,install,path,C:/SSP/emily4.nar]Installs the emily4.nar file in C:/SSP.
Installs the nar file or registers the RSSFeed from the specified URL.
feed, nar, and homeurl can be omitted.
Automatically downloads the file to a folder for temporary files, and conducts the installation process as is appropriate.
\![execute,install,url,http://ssp.shillest.net/ghost/emily4.nar,nar]The nar file for Emily/Phase4.5 will be downloaded and installed.
Pings the specified host. Made for IPv6.
The parameters are as below.
Refer to OnPingProgress and OnPingComplete for functioning regarding events during or after the process.
\![execute,ping,--host=ssp.shillest.net,--event=pingtest]Pings the BUGTRAQ Lab with default settings.
Searches for the IP when the host name is entered and searches for the host name when the IP is entered. Made for IPv6.
The parameters are as below.
Refer to OnNSLookupComplete and OnNSLookupFailure for functioning regarding events during or after the process.
\![execute,nslookup,--host=ssp.shillest.net,--event=nslookuptest]Searches for the IP of the BUGTRAQ Lab by using the host name. If the lookup succeeds, OnNSLookupComplete will be notified and the IP will be stored in Reference3.
Creates a nar file of the ghost that executed the command.
Creates update definition files (updates2.dau/updates.txt) for the ghost that executed the command.
Empties the recycle bin. It will not be emptied immediately after execution, and OnRecycleBinEmpty will be notified only after the deletion process is complete.
Starts ※PassiveMode.
Effective until the ghost is closed.
After the SakuraScript is played, passive mode will start.\![enter,passivemode] From here, minimizing and closing the ghost are no longer possible.
Cancels the above command.
\![leave,passivemode]Passive mode has been canceled.
Starts ※InductionMode.
Effective until the ghost is closed.
\![enter,inductionmode]Induction mode has started.
Cancels the above command.
\![leave,inductionmode]Induction mode has been canceled.
Starts select mode. When executed, transparent areas are also displayed, and the area can be specified by dragging with the mouse.
After execution, OnSelectModeBegin is run. Refer also to OnSelectModeMouseUp, OnSelectModeMouseDown, OnSelectModeCancel, OnSelectModeComplete.
Currently, only the rectangular selection mode "rect" can be specified. Additionally, when nothing is specified, it will function the same as rect.
The initial position of the selection can be specified in the arguments after the mode specification. Either coordinates or the name of the collision to be set to the same size can be input.
While in this mode, surfaces will not be redrawn. The effects of SakuraScript (\s[ID]) and dress-ups will not be displayed, but are reflected internally, and will be shown when \![leave,selectmode] is run.
Effective until the ghost is closed.
\![enter,selectmode,rect,head]Select mode has started. The range of the collision "head" has been preselected.
Cancels the above command. After being executed, OnSelectModeComplete is run.
If collision areas are invalid (unselected), OnSelectModeCancel will be run instead.
\![leave,selectmode]Select mode has been canceled.
Functions the same as the "Display Hit Rect." option in the Developer Palette. If rect is specified as the third argument, the collision areas will be shown without the names specified in surfaces.txt.
Effective until the ghost is closed.
\![enter,collisionmode]Collision mode has started.
Cancels the above command.
\![enter,collisionmode]Collision mode has started.\![leave,collisionmode] Collision mode has been canceled.
[Old specification] Reloads the surfaces. In SSP, functions the same as \![reload,shell].
\![reloadsurface]The surface has been reloaded.
Reloads all descript.txts.
\![reload,descript]All descript.txts have been reloaded.
Reloads the specified descript.txt.
Multiple descript.txts may be specified with a half-width space as a delimiter.
ghost shell balloon headline plugin
\![reload,descript,shell balloon]The descript.txt of the shell and balloon have been reloaded.
Reloads shiori.dll.
\![reload,shiori]shiori.dll has been reloaded. As a result, all dictionary files will be read again. Used to apply changes such as rewriting contents of dictionary files while the ghost is still running.
Reloads makoto.dll.
\![reload,makoto]makoto.dll has been reloaded.
Reloads the shell.
\![reload,shell]The shell has been reloaded.
Reloads the balloon.
Reloads the entire ghost.
\![reload,ghost]The ghost has been reloaded. Almost the same as changing to the same ghost, except in that a SHIORI event is not called.
Unloads shiori.dll and remains in the unloaded state.
load should be run after unload at an appropriate time. While in an unloaded state, nothing will respond.
Unloads makoto.dll and remains in the unloaded state.
Loads shiori.dll after unload has been run.
Loads makoto.dll after unload has been run.
Turns the SHIORI debug mode from the Developer Palette on or off.
Creates a shortcut on the desktop for the currently running ghost.
\![create,shortcut,startup] will create the shortcut in the startup folder.
Embeds UCS-2 code.
\_u[0x22EE]Displays a vertical ellipsis. \_u[8942]The base 10 version of the first SakuraScript command. When expressed in base 10, the 0x should not be added.
Embeds ASCII code.
\_m[0x41]Displays a capital half-width letter A.
Embeds a character using entity reference as an identifier (ID).
\&[amp]Displays a half-width ampersand. The entity reference is the ID part of &ID;.
Specific to SSTP.
Executes postmessage(hwnd,umsg,wparam,lparam) for the window handle preset by Wnd header.
When this script is run through SSTP, the ghost that ran it will be closed.\m[WM_CLOSE,0,0]
%username, listen to this. %ms said they came up with %mt while eating %me at the %mh in %mp.
Current month.
Current day.
Current hour.
Current minute.
Current second.
Username.
The main character's name.
The main character's alternate name.
The side character's name.
The width of the screen display.
The height of the screen display.
The continued uptime of the OS.
The incorrect continued uptime (includes incorrect unit).
Incorrect current hour.
Word-A person.
Word-An inorganic item.
Word-A group.
Word-A company name.
Word-A shop name.
Word-A move name.
Word-A food.
Word-A location.
Word-A random concept.
Word-A noun phrase.
Returns the name of the last ghost to run an event. For when a ghost is installed.
Returns the name of the last object to run an event. For when a ghost is installed.
Functions the same as \![*].
Returns the value of the specified property system.
※For details on the property system, refer to the Property System page.