Property System

Translated Document

Property System

Property System

Summary

The property system is a mechanism for the ghost side to access and read/write various parameters maintained by the baseware while running.

Description example

There are two ways to use the property system: environment variables and regular tags.
See also the SAKURA Script and environment variable property system sections, respectively.

%property[Property name]
References properties as environment variables and embeds the value.
It is used to simply display the value as it is.
The following embeds (displays) the name and version of the baseware on the fly.
%property[baseware.name] ver,%property[baseware.version]
\![get,property,(Event name),Property name]
A SHIORI Event with an arbitrary name is generated by a Sakura Script tag, and the property is obtained through its reference.
This is used when you want to take action on the SHIORI side based on a property.
The following will generate a SHIORI Event with the ID "OnGetSakuraName", and notify the ghost "Emily/Phase4.5"'s side character name (Teddy) as its reference0.
\![get,property,OnGetSakuraName,ghostlist(Emily/Phase4.5).keroname]
\![set,property,Property name,(value)]
Rewrites the property according to the Sakura Script tag.
Not all properties are allowed to be written, but the items on this page that are marked with [SET enabled] can be manipulated in this way.
The following is an example of hiding the shell "ULTIMATE FORM" from the shell switching menu of the owner draw menu.
\![set,property,currentghost.shelllist(ULTIMATE FORM).menu,hidden]
system.year

Current year

  • SSP
  • CROW
system.month

Current month.

  • SSP
  • CROW
system.day

Current day

  • SSP
  • CROW
system.hour

Current hour

  • SSP
  • CROW
system.minute

Current minute.

  • SSP
  • CROW
system.second

Current second.

  • SSP
  • CROW
system.millisecond

Current millisecond.

  • SSP
system.dayofweek

Current day of the week.

  • SSP
system.cursor.pos

Current cursor position. X, Y, separated by commas, in pixels.

  • SSP 2.5.43
system.os.(id)

Information on the currently running operating system. The string that goes into (id) is as follows.

type
OS type, fixed to Windows in SSP.
name
Name of the operating system. Example: Windows 11 22H2
version
The kernel version of the OS. Example: 10.0. Note that the OS name may be different from the OS designation. For example, Windows 10 and 11 are both 10.0.
build
OS build number. Example: 22621
parenttype
If running on a compatible OS/compatibility layer, what kind. Empty string if none. Currently Wine or ReactOS.
parentname
Name of the host (parent) OS of the compatible OS/compatibility layer. If not available, an empty string. Example: Linux 5.19.0-23-generic
  • SSP 2.6.26/27
system.cpu.(id)

Information about the CPU of the environment in which the system is running. The string that goes into (id) is as follows.

load
Load factor (Unit%, whole numbers, averaged by calculated moving averages in units of minutes).
num
Total number of cores recognized by the OS.
vendor
Vendor name. Example: GenuineIntel
name
Name. Example: 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
clock
Clock frequency.
features
List of interpretable extension instructions (separated by spaces). Example: MMX SSE SSE2 SSE3
  • SSP 2.6.26
system.memory.(id)

Information on the physical memory of the environment in which the system is running. The string that goes into (id) is as follows.

load
Utilization rate (Unit%, whole numbers, averaged by calculated moving averages in units of minutes).
phyt
Total physical memory (MB).
phya
Amount of free physical memory (MB).
  • SSP 2.6.26
baseware.version

Baseware version information.

  • SSP
  • CROW
baseware.name

Baseware name.

  • SSP
  • CROW
ghostlist.count

Number of installed ghosts.

  • SSP
  • CROW
ghostlist(Ghost name/main character name/path).Generic property name

Information is obtained from either the ghost name (name), main character name (sakuraname), or the path of that ghost.

  • SSP
  • CROW
ghostlist(Ghost name/main character name/path).icon

The path of the ghost icon.

  • SSP
ghostlist.index(ID).Generic property name

Information is obtained from the ghost at the position of the ID in the list.

  • SSP
  • CROW
ghostlist.current.Generic property name

Information is obtained from the ghost at the current location in the list.

  • SSP
activeghostlist(Ghost name/main character name/path).Generic property name

Information is obtained from either the ghost name (name), main character name (sakuraname), or the path of the running ghost.

  • SSP
activeghostlist.index(ID).Generic property name

Information is obtained from the ghost at the position of the ID in the list of running ghosts.

  • SSP
activeghostlist.current.Generic property name

Information is obtained from the current ghost of the list of running ghosts.

  • SSP
currentghost.Generic property name

Information is obtained from the current ghost.

  • SSP
currentghost.status

Current ghost status (SHIORI Status header).

  • SSP

※SHIORI Status header

Multiple items may be returned separated by commas (,). It may also be returned empty.

talking
A script is currently running (talking).
passive
In passive mode (\![enter,passivemode]).
induction
In induction mode (\![enter,inductionmode]).
timecritical
Locked with \t tag.
nouserbreak
In nouserbreak mode (\![enter,nouserbreak]).
online
While online (getting headline data, adjusting the time, updating itself via network, etc.)
choosing
Displaying choices with \q or \__q tags.
minimizing
Minimized (during task tray iconization).
opening(type)
Input window is open.
The type part contains the open items; communicate, input, teach, and dialog, separated by a slash.
Example: opening(input/dialog)
※Separated by a slash since SSP 2.3.97. Prior to that, it was comma delimited.
balloon(information)
Balloon display in progress.
In the information section, the currently displayed balloon is listed in the format (character ID)=(balloon ID). There is no distinction between left and right balloon IDs (it is always an even number).
Example: balloon(0=2/1=0)
※Separated by a slash since SSP 2.3.97. Prior to that, it was comma delimited.

※Status headers can also be obtained for each SHIORI as follows.

  • Kawari……System.Request.Status entry
  • YAYA……status variable
  • Satori……Information acquisition variable (Status)
currentghost.shelllist(Shell name/path).Generic property name

Information is obtained from the current ghost's shell name or path.

  • SSP
  • CROW
currentghost.shelllist.index(ID).Generic property name

Information is obtained from the shell of the ghost at the current location in the list.

  • SSP
  • CROW
currentghost.shelllist.current.Generic property name

Information is obtained from the current shell of the current ghost.

  • SSP
  • CROW
currentghost.shelllist.count

Number of installed shells.

  • SSP
  • CROW
currentghost.scope.count

Maximum number of characters currently active.

  • SSP
currentghost.scope(ID).surface.num

Surface ID of the specified scope ID of the current ghost.

  • SSP
  • CROW
currentghost.scope(ID).seriko.defaultsurface

Current ghost default surface.

  • SSP
currentghost.scope(number).surface.x

X coordinate of the surface for the specified scope ID of the current ghost.

  • CROW
currentghost.scope(number).surface.y

Y coordinate of the surface for the specified scope ID of the current ghost.

  • CROW
currentghost.scope(number).x

X coordinate on the screen of the surface's reference point for the specified scope ID of the current ghost.
In the case of multiple monitors, it will be the position in the entire virtual desktop with the origin at the top left of the primary monitor.
The reference point is usually the bottom center of the surface. It is configurable with sakura(kero, char*).defaultx in the ghost and shell's descript.txt file.

  • SSP
currentghost.scope(number).y

Y coordinate on the screen of the surface's reference point for the specified scope ID of the current ghost.
In the case of multiple monitors, it will be the position in the entire virtual desktop with the origin at the top left of the primary monitor.
The reference point is usually the bottom center of the surface. It is configurable with sakura(kero、char*).defaulty in the ghost and shell's descript.txt file.

  • SSP
currentghost.scope(number).rect

Window rectangle coordinates (left, top, right, bottom) of the specified scope ID of the current ghost.

  • SSP
currentghost.balloon.Generic property name

Information is obtained from the current ghost's balloon.

  • SSP
currentghost.balloon.count

Number of balloons in the current ghost.

  • SSP
currentghost.mousecursor

Cursor name (pointing) indicating areas that can be manipulated on the ghost.
Common to all properties beginning with currentghost.mousecursor / currentghost.balloon.mousecursor hereafer:
Relative path specification searches in the order of shell → ghost folder.
If an empty string is specified and SET, the definition is deleted, and the display can be restored to its pre-SET state.
The cursor specification can be the same as the cursor section of surfaces.txt.
[SET enabled]

  • SSP [2.6.11]
currentghost.mousecursor.text

Input box cursor file name.

  • SSP [2.6.11]
currentghost.mousecursor.wait

File name of the cursor (loading) to be used when something is being processed and it cannot respond.

  • SSP [2.6.11]
currentghost.mousecursor.hand

Filename of the cursor (open hand) indicating areas of the ghost that can be grapsed.

  • SSP [2.6.11]
currentghost.mousecursor.grip

Filename for the cursor (grasping hand) that shows grasping the areas of the ghost that can be grasped.

  • SSP [2.6.11]
currentghost.mousecursor.arrow

Filename of the cursor (arrow) that shows areas that cannot be manipulated on the ghost.

  • SSP [2.6.11]
currentghost.balloon.mousecursor

Filename of the cursor (pointing) indicating areas of the balloon that can be manipulated.

  • SSP [2.6.11]
currentghost.balloon.mousecursor.text

Filename of the cursor for the balloon input box.

  • SSP [2.6.11]
currentghost.balloon.mousecursor.wait

Filename of the cursor (loading) to be used when something is being processed and it cannot respond.

  • SSP [2.6.11]
currentghost.balloon.mousecursor.arrow

Filename of the cursor (arrow) indicating areas of the balloon that cannot be manipulated.

  • SSP [2.6.11]
currentghost.seriko.cursor.scope(ID).mouse????list(Collision name).path

Filename of the cursor for the specified collision name. (Relative path: search in the order of shell → ghost folder).
mouse????list can specify the following: mouseuplist, mousedownlist, mousehoverlist, mousewheellist
SETting an empty string will delete the definition, and return to the standard cursor display of the shell.
The cursor specification can be the same as the cursor section of surfaces.txt.
[SET enabled]

  • SSP(2.3.83)

Description example

\![set,property,currentghost.seriko.cursor.scope(0).mouseuplist(Head).path,head.cur]Changed cursor used in Head collision area to head.cur. \![set,property,currentghost.seriko.cursor.scope(0).mouseuplist(Head).path,]If empty, the definition is deleted and the cursor becomes the standard cursor of the shell.

currentghost.seriko.cursor.scope(ID).mouse????list(Collision name).name

The collision name for the specified collision. This is a description for compatibility with the index specification, and has no particular meaning.

  • SSP(2.3.83)
currentghost.seriko.cursor.scope(ID).mouse????list.index(ID2).path

Filename of the cursor (relative path) for the specified position in the mouse cursor definition list.
[SET enabled]

  • SSP(2.3.83)
currentghost.seriko.cursor.scope(ID).mouse????list.index(ID2).name

The name of the collision for the specicified position in the mouse cursor definition list.

  • SSP(2.3.83)
currentghost.seriko.cursor.scope(ID).mouse????list.count

Number of mouse cursors in the definition list.

  • SSP(2.3.83)
currentghost.seriko.tooltip.scope(ID).textlist(Collision name).text

Tooltip display string for the specified collision name.
If an empty string is specified and SET, the definition is deleted, and the tooltip can be made to not display.
[SET enabled]

  • SSP(2.3.83)

Description example

\![set,property,currentghost.seriko.tooltip.scope(0).textlist(Head).text,Head nodding]Changed the tooltip displayed at the Head collision area to 'Head nodding'. \![set,property,currentghost.seriko.tooltip.scope(0).textlist(Head).text,]If an empty designation is used, the definition will be deleted and will not be displayed.

currentghost.seriko.tooltip.scope(ID).textlist(Collision name).name

The collision name for the specified collision name. This is a description for compatibility with the index specification, and has no particular meaning.

  • SSP(2.3.83)
currentghost.seriko.tooltip.scope(ID).textlist.index(ID2).text

Tooltip string at the specified position in the tooltip definition list.
[SET enabled]

  • SSP(2.3.83)
currentghost.seriko.tooltip.scope(ID).textlist.index(ID2).name

The collision name for the specified position in the tooltip definition list.

  • SSP(2.3.83)
currentghost.seriko.tooltip.scope(ID).textlist.count

The number of tooltips in the tooltip definition list.

  • SSP(2.3.83)
currentghost.seriko.surfacelist.all

List of all valid surface IDs on the shell. Comma separated.

  • SSP(2.5.98)
currentghost.seriko.surfacelist.defined

List of valid surface IDs on the shell with valid definitions in surfaces.txt. Comma separated.

  • SSP(2.5.98)
currentghost.balloon.scope(ID).count

Number of balloon images for the current balloon.

  • SSP
currentghost.balloon.scope(ID).num

ID of the current balloon

  • SSP
currentghost.balloon.scope(ID).validwidth

The width of the area of the balloon that can be used for drawing text. Shows the entire drawing area regardless of basepos.

  • SSP
currentghost.balloon.scope(ID).validwidth.initial

The width of the area available for drawing characters (taking into account the character start point at basepos.x).

  • SSP(2.3.72)
currentghost.balloon.scope(ID).validheight

The height of the area of the balloon that can be used for drawing text. Shows the entire drawing area regardless of basepos. Matches the drawing height after scrolling.

  • SSP
currentghost.balloon.scope(ID).validheight.initial

The height of the area of the balloon that can be used for drawing text, taking into account basebos.y as the text start point. Matches the drawing height before scrolling.

  • SSP(2.3.72)
currentghost.balloon.scope(ID).lines

The maximum number of lines that will fit in the current balloon. Shows the entire drawing area regardless of basepose. Matches the number of visible lines after scrolling.

  • SSP
currentghost.balloon.scope(ID).lines.initial

The maximum number of lines that will fit in the current balloon, taking into account basepos.y as the text start point. Matches the number of visible lines before scrolling.

  • SSP(2.3.72)
currentghost.balloon.scope(ID).basepos.x

The character starting point (X coordinate) of the current balloon. Not necessarily the left end of the drawing range.

  • SSP(2.3.72)
currentghost.balloon.scope(ID).basepos.y

The character starting point (Y coordinate) of the current balloon. Not necessarily the top of the drawing range.

  • SSP(2.3.72)
currentghost.balloon.scope(ID).char_width

Width of half-width characters in the balloon's standard font. In monospace fonts, it is the character height ÷ 2. In proportional fonts, it is the average of the widths of half-width uppercase characters A-Z.

  • SSP
balloonlist(Balloon name/path).Generic property name

Information is obtained from the balloon name or path.

  • SSP
balloonlist.index(ID).Generic property name

Information is obtained from the balloon at the position of the ID in the list.

  • SSP
balloonlist.count

Number of installed balloons.

  • SSP
headlinelist(Headline name/path).Generic property name

Obtains information from the headline name or path.

  • SSP
headlinelist.index(ID).Generic property name

Information is obtained from the headline at the position of the ID in the list.

  • SSP
headlinelist.count

Number of installed headlines.

  • SSP
pluginlist(Plugin name/path/ID).Generic property name

Information is obtained from the plugin's name or path or ID.

  • SSP
pluginlist.index(ID).Generic property name

Information is obtained from the plugin at the position of the ID in the list.

  • SSP
pluginlist.count

Number of installed plugins.

  • SSP
history.ghost(Ghost name/path).Generic property name

Information is obtained from the ghost name or path of recently used items.

  • SSP
history.ghost.index(ID).Generic property name

Information is obtained from the ghost at the position of the ID in the list of recently used items.

  • SSP
history.ghost.count

Number of recently used ghosts.

  • SSP
history.balloon(Balloon name/path).Generic property name

Information is obtained from the balloon name or path of recently used items.

  • SSP
history.balloon.index(ID).Generic property name

Information is obtained from the balloon at the position of the ID in the list of recently used items.

  • SSP
history.balloon.count

Number of recently used balloons.

  • SSP
history.headline(Headline name/path).Generic property name

Information is obtained from the headline name or path of recently used items.

  • SSP
history.headline.index(ID).Generic property name

Information is obtained from the headline at the position of the ID in the list of recently used items.

  • SSP
history.headline.count

Number of recently used headlines.

  • SSP
history.plugin(Plugin name/path/ID).Generic property name

Information is obtained from the plugin name or path of recently used items.

  • SSP
history.plugin.index(ID).Generic property name

Information is obtained from the plugin at the position of the ID in the list of recently used items.

  • SSP
history.plugin.count

Number of recently used plugins.

  • SSP
rateofuselist(name).name

Name of the specified ghost.

  • SSP
rateofuselist(name).sakuraname

Name of the main character of the specified ghost.

  • SSP
rateofuselist(name).keroname

The name of the side character of the specified ghost.

  • SSP
rateofuselist(name).boottime

The number of times the specified ghost has been booted.

  • SSP
rateofuselist(name).bootminute

The total run time of the specified ghost (in minutes).

  • SSP
rateofuselist(name).percent

The percentage runtime of the specified ghost (as a percentage, decimal).

  • SSP
rateofuselist.index(position).name

The name of the ghost at the specified position in the usage list.

  • SSP
rateofuselist.index(position).sakuraname

The name of the main character of the ghost at the specified position in the usage list.

  • SSP
rateofuselist.index(position).keroname

The name of the side character of the ghost at the specified position in the usage list.

  • SSP
rateofuselist.index(position).boottime

The number of times the ghost at the specified position in the usage list has been booted.

  • SSP
rateofuselist.index(position).bootminute

The total run time of the ghost at the specified position in the usage list (in minutes).

  • SSP
rateofuselist.index(position).percent

The percentage runtime of the ghost at the specified position in the usage list (as a percentage, decimal).

  • SSP

Generic property name

name

Name of target.

  • SSP
  • CROW
sakuraname

Name of the main character of the target ghost.

  • SSP
  • CROW
keroname

Name of the side character of the target ghost.

  • SSP
  • CROW
craftmanw

Name of the target's author.

  • SSP
  • CROW
craftmanurl

URL of the target's distribution site.

  • SSP
path

Target path.

  • SSP
  • CROW
thumbnail

Thumbnail of the target.

  • SSP
update_result

Update result of the target.

  • SSP
update_time

Update time of the target.

  • SSP
homeurl

homeurl of the target.

  • SSP
username

The target's username (how to call the user). Can only be obtained if they are running concurrently and if the other party supports getting the username. SSP 2.3.51 or later.

  • SSP
shiori.Variable name

SHIORI of the target ghost.

  • CROW
index

The position in the list of the target.

  • SSP
  • CROW
sakura.bind.menu

(Valid only for currentghost) Hides items in the dressup menu of the main character scope of the target shell.
Hidden when set to "hidden", automatic enumeration when set to "auto", otherwise none.
[SET enabled]Initial value is sakura.menu in the shell side descript.txt.

  • SSP
kero.bind.menu

(Valid only for currentghost) Hides items in the dressup menu of the side character scope of the target shell.
Hidden when set to "hidden", automatic enumeration when set to "auto", otherwise none.
[SET enabled]Initial value is kero*.menu in the shell side descript.txt.

  • SSP
char*.bind.menu

(Valid only for currentghost) Hides items in the dressup menu of *th scope of the target shell.
Hidden when set to "hidden", automatic enumeration when set to "auto", otherwise none.
[SET enabled]Initial value is char*.menu in the shell side descript.txt.

  • SSP