<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.skytemple.org/index.php?action=history&amp;feed=atom&amp;title=Scripting_Cheatsheet</id>
	<title>Scripting Cheatsheet - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.skytemple.org/index.php?action=history&amp;feed=atom&amp;title=Scripting_Cheatsheet"/>
	<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=Scripting_Cheatsheet&amp;action=history"/>
	<updated>2026-04-08T08:56:52Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.7</generator>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=Scripting_Cheatsheet&amp;diff=1432&amp;oldid=prev</id>
		<title>Caitemis at 03:36, 15 February 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=Scripting_Cheatsheet&amp;diff=1432&amp;oldid=prev"/>
		<updated>2026-02-15T03:36:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 03:36, 15 February 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is a cheat sheet of some of the most common actions and effects for actors to perform in a cutscene. Some of the things explained in this page include: how to make an actor move, how to make them talk, how to make them emote, change animation, etc.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is a cheat sheet of some of the most common actions and effects for actors to perform in a cutscene. Some of the things explained in this page include: how to make an actor move, how to make them talk, how to make them emote, change animation, etc.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If you want to test this yourself, make sure that you copy ALL of the lines required. For example, if you wish to change the animation of a character, you need the with statement&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/del&gt;and the SetAnimation code, as well as the line underneath it. You also cannot put multiple actions in a with statement. You must put a new with statement for every command that requires it.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If you want to test this yourself, make sure that you copy ALL of the lines required. For example, if you wish to change the animation of a character, you need the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/ins&gt;with&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot; &lt;/ins&gt;statement and the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[List of Opcodes#0xfd - SetAnimation|&lt;/ins&gt;SetAnimation&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/ins&gt;code, as well as the line underneath it. You also cannot put multiple actions in a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/ins&gt;with&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot; &lt;/ins&gt;statement. You must put a new with statement for every command that requires it.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;All these actions should go inside a &amp;lt;code&amp;gt;def&amp;lt;/code&amp;gt; statement, like so:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;All these actions should go inside a &amp;lt;code&amp;gt;def&amp;lt;/code&amp;gt; statement, like so:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Caitemis</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=Scripting_Cheatsheet&amp;diff=790&amp;oldid=prev</id>
		<title>Frostbyte: Add to tutorials category</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=Scripting_Cheatsheet&amp;diff=790&amp;oldid=prev"/>
		<updated>2024-06-28T17:01:52Z</updated>

		<summary type="html">&lt;p&gt;Add to tutorials category&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:01, 28 June 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is a cheat sheet of some of the most common actions and effects for actors to perform in a cutscene. Some of the things explained in this page include: how to make an&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/del&gt;actor move, how to make them talk, how to make them emote, change animation, etc.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is a cheat sheet of some of the most common actions and effects for actors to perform in a cutscene. Some of the things explained in this page include: how to make an actor move, how to make them talk, how to make them emote, change animation, etc.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If you want to test this yourself, make sure that you copy ALL of the lines required. For example, if you wish to change the animation of a character, you need the with statement, and the SetAnimation code, as well as the line underneath it. You also cannot put multiple actions in a with statement. You must put a new with statement for every command that requires it.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If you want to test this yourself, make sure that you copy ALL of the lines required. For example, if you wish to change the animation of a character, you need the with statement, and the SetAnimation code, as well as the line underneath it. You also cannot put multiple actions in a with statement. You must put a new with statement for every command that requires it.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l269&quot;&gt;Line 269:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 269:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Tutorials]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key skytemplewiki:diff:1.41:old-789:rev-790:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Frostbyte</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=Scripting_Cheatsheet&amp;diff=789&amp;oldid=prev</id>
		<title>Frostbyte: Port scripting cheatsheet by Okami to the wiki + Minor fixes</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=Scripting_Cheatsheet&amp;diff=789&amp;oldid=prev"/>
		<updated>2024-06-28T17:00:01Z</updated>

		<summary type="html">&lt;p&gt;Port scripting cheatsheet by Okami to the wiki + Minor fixes&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This is a cheat sheet of some of the most common actions and effects for actors to perform in a cutscene. Some of the things explained in this page include: how to make an, actor move, how to make them talk, how to make them emote, change animation, etc.&lt;br /&gt;
&lt;br /&gt;
If you want to test this yourself, make sure that you copy ALL of the lines required. For example, if you wish to change the animation of a character, you need the with statement, and the SetAnimation code, as well as the line underneath it. You also cannot put multiple actions in a with statement. You must put a new with statement for every command that requires it.&lt;br /&gt;
&lt;br /&gt;
All these actions should go inside a &amp;lt;code&amp;gt;def&amp;lt;/code&amp;gt; statement, like so:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
def 0 {&lt;br /&gt;
    // Code goes here...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dialogue ==&lt;br /&gt;
Format: ACTOR, Emotion, position of the portrait. Standard position is bottom left.&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
message_SetFace(ACTOR_PLAYER, FACE_SURPRISED, FACE_POS_STANDARD);&lt;br /&gt;
message_Talk({&lt;br /&gt;
	english=&amp;quot; Make sure you copy all 4 lines!&amp;quot;,&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;When you are having dialogue between multiple characters, make sure you put this code at the end of each character&amp;#039;s dialogue! It is not necessary if one character is saying multiple lines, only when the speaker changes.&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
CallCommon(CORO_MESSAGE_CLOSE_WAIT_FUNC);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Additionally, &amp;lt;code&amp;gt;message_close()&amp;lt;/code&amp;gt; is also a good tool. It will not allow the game to progress until you close the text box. The only difference between this and &amp;lt;code&amp;gt;CallCommon(CORO_MESSAGE_CLOSE_WAIT_FUNC);&amp;lt;/code&amp;gt; is that the CallCommon code has a built in wait function, where the game won&amp;#039;t progress for a few frames after you clear the text box, &amp;lt;code&amp;gt;message_Close();&amp;lt;/code&amp;gt; does not have this wait inside it. &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
message_SetFace(ACTOR_PLAYER, FACE_SURPRISED, FACE_POS_STANDARD);&lt;br /&gt;
message_Talk({&lt;br /&gt;
	english=&amp;quot; Make sure you copy all 4 lines!&amp;quot;,&lt;br /&gt;
});   &lt;br /&gt;
message_Close();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;IMPORTANT: You must use either one of these codes if you are having some sort of action after a character speaks. For example:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
// Here, the character will not move until you clear the text box&lt;br /&gt;
message_SetFace(ACTOR_PLAYER, FACE_SURPRISED, FACE_POS_STANDARD);&lt;br /&gt;
message_Talk({&lt;br /&gt;
	english=&amp;quot; Make sure you copy all 4 lines!&amp;quot;,&lt;br /&gt;
}); &lt;br /&gt;
message_Close();  &lt;br /&gt;
with (actor ACTOR_PLAYER) {&lt;br /&gt;
	MovePositionMark(1, Position&amp;lt;&amp;#039;m0&amp;#039;, 31.5, 28&amp;gt;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Here, immediately when the dialogue ends, the character will move WITHOUT closing&lt;br /&gt;
// the textbox and it will look very strange. include message_Close() when you are&lt;br /&gt;
// having actions at the end of a dialogue!&lt;br /&gt;
message_SetFace(ACTOR_PLAYER, FACE_SURPRISED, FACE_POS_STANDARD);&lt;br /&gt;
message_Talk({&lt;br /&gt;
	english=&amp;quot; Make sure you copy all 4 lines!&amp;quot;,&lt;br /&gt;
});   &lt;br /&gt;
with (actor ACTOR_PLAYER) {&lt;br /&gt;
	MovePositionMark(1, Position&amp;lt;&amp;#039;m0&amp;#039;, 31.5, 28&amp;gt;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Keep in mind if the actor, emotion, and position is the same for multiple lines of dialogue, you do not need to put another message_SetFace.&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
message_SetFace(ACTOR_PLAYER, FACE_SURPRISED, FACE_POS_STANDARD);&lt;br /&gt;
message_Talk({&lt;br /&gt;
	english=&amp;quot; Make sure you copy all 4 lines!&amp;quot;,&lt;br /&gt;
});&lt;br /&gt;
message_Talk({&lt;br /&gt;
	english=&amp;quot; Otherwise it wont work!&amp;quot;,&lt;br /&gt;
});&lt;br /&gt;
CallCommon(CORO_MESSAGE_CLOSE_WAIT_FUNC);&lt;br /&gt;
message_SetFace(ACTOR_ATTENDANT1, FACE_INSPIRED, FACE_POS_BOTTOM_R_FACEINW);&lt;br /&gt;
message_Talk({&lt;br /&gt;
	english=&amp;quot; Understood! I will!&amp;quot;,&lt;br /&gt;
});&lt;br /&gt;
CallCommon(CORO_MESSAGE_CLOSE_WAIT_FUNC);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Misc. Dialogue functions ===&lt;br /&gt;
&amp;lt;code&amp;gt;[W:30]&amp;lt;/code&amp;gt; Will make the dialogue pause for 30 frames (half a seoond) until continuing on its own.&lt;br /&gt;
&lt;br /&gt;
The value can be any amount of time you want! 60 frames is one second.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[K]&amp;lt;/code&amp;gt; will pause dialogue until player makes an input. Good for multiple sentences in one text box!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;message_CloseEnforce();&amp;lt;/code&amp;gt; Will force the text box to close when it is completed. You can put a &amp;lt;code&amp;gt;[W:30]&amp;lt;/code&amp;gt; at the end of your dialogue too! This way the dialogue will complete, then give the player a short window to read the dialogue until it closes on it&amp;#039;s own.&lt;br /&gt;
&lt;br /&gt;
To put dialogue on a new line, use &amp;lt;code&amp;gt;/n&amp;lt;/code&amp;gt;. Let&amp;#039;s put it all together!&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
message_SetFace(ACTOR_PLAYER, FACE_HAPPY, FACE_POS_STANDARD);&lt;br /&gt;
message_Talk({&lt;br /&gt;
	english=&amp;quot; Make sure you copy all 4 lines! [K]\nIt\&amp;#039;s important to get them all! [W:45]&amp;quot;,&lt;br /&gt;
});    &lt;br /&gt;
message_CloseEnforce();&lt;br /&gt;
// Some scary sound effect. Will cut off the dialogue due to message_CloseEnforce.&lt;br /&gt;
Wait(30);&lt;br /&gt;
message_SetFace(ACTOR_PLAYER, FACE_SURPRISED, FACE_POS_STANDARD);&lt;br /&gt;
message_Talk({&lt;br /&gt;
	english=&amp;quot; Wahh!!! [W:20]What was that?!&amp;quot;,&lt;br /&gt;
});        &lt;br /&gt;
CallCommon(CORO_MESSAGE_CLOSE_WAIT_FUNC);&lt;br /&gt;
// Here, the game will stop at [K] until you hit an input, then say the second sentence, then&lt;br /&gt;
// wait for 45 frames after it completes. It will then immediately close the text box. &lt;br /&gt;
// Then it will wait 30 more frames, before playing the second dialogue.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;What if I want no portrait?&lt;br /&gt;
&lt;br /&gt;
Easy! Just use &amp;lt;code&amp;gt;message_SetActor()&amp;lt;/code&amp;gt;! This will remove the portrait and only show the speaker name.&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
message_SetActor(ACTOR_PLAYER);&lt;br /&gt;
message_Talk({&lt;br /&gt;
	english=&amp;quot; You can\&amp;#039;t see me!&amp;quot;,&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;What if I want NOTHING?  &lt;br /&gt;
&lt;br /&gt;
For an unknown speaker, use &amp;lt;code&amp;gt;message_ResetActor()&amp;lt;/code&amp;gt;! This will include no portrait and no name. &lt;br /&gt;
&lt;br /&gt;
This is great for an unseen speaker!&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
message_ResetActor();&lt;br /&gt;
message_Talk({&lt;br /&gt;
	english=&amp;quot; You don\&amp;#039;t know me!&amp;quot;,&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movement ==&lt;br /&gt;
There are two types of movement codes. MovePositionMark, and MovePositionOffset. Mark will make the character walk to the position on the map stated, while offset will make the actor walk a certain distance from where they are currently standing.&lt;br /&gt;
&lt;br /&gt;
For example, this code will make the player move to X: 31.5, Y: 28. While not required you should have m0 increase by one everytime you use this code. m0, m1, m2, etc.&lt;br /&gt;
&lt;br /&gt;
1 is the speed of the walking. Increase it to increase the speed. &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
with (actor ACTOR_PLAYER) {&lt;br /&gt;
	MovePositionMark(1, Position&amp;lt;&amp;#039;m0&amp;#039;, 31.5, 28&amp;gt;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;MovePositionOffset is better when you want an actor to walk a certain distance from where they currently are in the cutscene. Keep in mind, this is done through pixels, not units.&lt;br /&gt;
&lt;br /&gt;
A unit is 8 pixels.&lt;br /&gt;
&lt;br /&gt;
In this code, PLAYER will walk one unit to the left (X), and two units down (Y). 1 is speed.&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
with (actor ACTOR_PLAYER) {&lt;br /&gt;
	MovePositionOffset(1, -8, 16);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Lastly, if you want the character to move without changing direction, you can slide!&lt;br /&gt;
&lt;br /&gt;
SlidePosition is great if you want a character to take a step back, side step, etc. since they will remain facing the same direction while they move.&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
with (actor ACTOR_PLAYER) {&lt;br /&gt;
	SlidePositionMark(1, Position&amp;lt;&amp;#039;m0&amp;#039;, 12, 45&amp;gt;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
with (actor ACTOR_PLAYER) {&lt;br /&gt;
	SlidePositionOffset(1, 36, -24);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;One last VERY important thing to learn is WaitExecuteLives. This code will not progress the game, until the character in question completes their action. Whether that be moving, animating, rotating, etc.&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
// Here, the game will not continue to the next dialogue UNTIL Player finishes moving.&lt;br /&gt;
with (actor ACTOR_PLAYER) {&lt;br /&gt;
	MovePositionMark(1, Position&amp;lt;&amp;#039;m0&amp;#039;, 12, 45&amp;gt;);&lt;br /&gt;
}&lt;br /&gt;
WaitExecuteLives(ACTOR_PLAYER);&lt;br /&gt;
message_SetFace(ACTOR_PLAYER, FACE_HAPPY, FACE_POS_STANDARD);&lt;br /&gt;
message_Talk({&lt;br /&gt;
	english=&amp;quot; I\&amp;#039;ll wait until I\&amp;#039;m done walking\nto talk!&amp;quot;,&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rotation ==&lt;br /&gt;
Value 1 is the speed, 4 is generally the normal speed.&lt;br /&gt;
&lt;br /&gt;
Value 2 is the turning direction. 10 will turn the actor the direction that is the shortest to get to the desired direction. &lt;br /&gt;
&lt;br /&gt;
0 will always turn the character clockwise, 1, will always turn them counter=clockwise &lt;br /&gt;
&lt;br /&gt;
Third value is DIR_DOWNRIGHT, DIR_UP, DIR_UPLEFT, etc. Whichever direction you want.&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
with (actor ACTOR_PLAYER) {&lt;br /&gt;
	Turn2Direction(4, 10, DIR_DOWN);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;You can also use Turn2DirectionLives to make an actor turn and look at another actor!&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
with (actor ACTOR_ATTENDANT1) {&lt;br /&gt;
	Turn2DirectionLives(4, 10, ACTOR_PLAYER);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Effects ==&lt;br /&gt;
These should be self explanatory. Just use the code listed to make the character have a question mark above their head, sweat, shocked, etc. These codes will also halt the game from continuing until the effect is completed. Sound effects are included as well!&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
// Question Mark?&lt;br /&gt;
se_Play(8962);&lt;br /&gt;
with (actor ACTOR_ATTENDANT1) {&lt;br /&gt;
	SetEffect(EFFECT_QUESTION_MARK, 3);&lt;br /&gt;
}&lt;br /&gt;
with (actor ACTOR_ATTENDANT1) {&lt;br /&gt;
	WaitEffect();&lt;br /&gt;
}&lt;br /&gt;
WaitExecuteLives(ACTOR_ATTENDANT1);&lt;br /&gt;
&lt;br /&gt;
// SHOCKED&lt;br /&gt;
se_Play(8968);&lt;br /&gt;
with (actor ACTOR_ATTENDANT1) {&lt;br /&gt;
	SetEffect(EFFECT_SHOCKED, 3);&lt;br /&gt;
}&lt;br /&gt;
with (actor ACTOR_ATTENDANT1) {&lt;br /&gt;
	WaitEffect();&lt;br /&gt;
}&lt;br /&gt;
WaitExecuteLives(ACTOR_ATTENDANT1);&lt;br /&gt;
    &lt;br /&gt;
// Two arrows&lt;br /&gt;
se_Play(8978);&lt;br /&gt;
with (actor ACTOR_ATTENDANT1) {&lt;br /&gt;
	SetEffect(EFFECT_TWO_ARROWS_AT_SIDE_LEFT, 3);&lt;br /&gt;
}&lt;br /&gt;
with (actor ACTOR_ATTENDANT1) {&lt;br /&gt;
	WaitEffect();&lt;br /&gt;
}&lt;br /&gt;
WaitExecuteLives(ACTOR_ATTENDANT1);&lt;br /&gt;
&lt;br /&gt;
// Exclamation Mark!&lt;br /&gt;
se_Play(8974);&lt;br /&gt;
with (actor ACTOR_ATTENDANT1) {&lt;br /&gt;
	SetEffect(EFFECT_EXCLAMATION_MARK, 3);&lt;br /&gt;
}&lt;br /&gt;
with (actor ACTOR_ATTENDANT1) {&lt;br /&gt;
	WaitEffect();&lt;br /&gt;
}&lt;br /&gt;
WaitExecuteLives(ACTOR_ATTENDANT1);&lt;br /&gt;
    &lt;br /&gt;
// Sweat Drops both sides&lt;br /&gt;
se_Play(8972);&lt;br /&gt;
with (actor ACTOR_ATTENDANT1) {&lt;br /&gt;
	SetEffect(EFFECT_SWEAT_DROPS_FROM_BOTH_SIDES_MEDIUM, 3);&lt;br /&gt;
}&lt;br /&gt;
with (actor ACTOR_ATTENDANT1) {&lt;br /&gt;
	WaitEffect();&lt;br /&gt;
}&lt;br /&gt;
WaitExecuteLives(ACTOR_ATTENDANT1);&lt;br /&gt;
    &lt;br /&gt;
// Tear drop&lt;br /&gt;
se_Play(8961);&lt;br /&gt;
with (actor ACTOR_ATTENDANT1) {&lt;br /&gt;
	SetEffect(EFFECT_SWEAT_DROP, 3);&lt;br /&gt;
}&lt;br /&gt;
with (actor ACTOR_ATTENDANT1) {&lt;br /&gt;
	WaitEffect();&lt;br /&gt;
}&lt;br /&gt;
WaitExecuteLives(ACTOR_ATTENDANT1);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;These next ones are special as they will remain until you turn them off. The others above will disappear after they are done. So make sure you turn these off when you want them to using the code below! Note: Laughing and Joyous do not use sound effects.&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
// Anger&lt;br /&gt;
se_Play(8971);&lt;br /&gt;
with (actor ACTOR_PLAYER) {&lt;br /&gt;
	SetEffect(EFFECT_ANGRY, 3);&lt;br /&gt;
}&lt;br /&gt;
    &lt;br /&gt;
// Joyous&lt;br /&gt;
with (actor ACTOR_PLAYER) {&lt;br /&gt;
	SetEffect(EFFECT_JOYOUS, 3);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Laughing&lt;br /&gt;
with (actor ACTOR_PLAYER) {&lt;br /&gt;
	SetEffect(EFFECT_LAUGHING, 3);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Turn off/No effect&lt;br /&gt;
with (actor ACTOR_PLAYER) {&lt;br /&gt;
	SetEffect(EFFECT_NONE, 3);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Music ==&lt;br /&gt;
Very simple. The codes you will use most is the bgm_PlayFadeIn and bgm_FadeOut.&lt;br /&gt;
&lt;br /&gt;
/First value is the song name. &lt;br /&gt;
&lt;br /&gt;
Second value is the amount of frames you want the game to take to fully fade in the song.&lt;br /&gt;
&lt;br /&gt;
Remember, 60 frames per second! If the value is 0, it will play the song at full volume immediately without fading at all. &lt;br /&gt;
&lt;br /&gt;
Third value is the volume. This should pretty much always be 256 which is the max.&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
bgm_PlayFadeIn(BGM_THROUGH_THE_SEA_OF_TIME, 0, 256);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;To stop the music, you can fadeout the music, or stop it immediately.&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
bgm_Stop(); //Immediate stop&lt;br /&gt;
bgm_FadeOut(60); //Will fade out for a durration of 1 second&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Camera movement ==&lt;br /&gt;
To move the camera, use this code. Works the same as moving an actor.&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
with (performer 0) {&lt;br /&gt;
	MovePositionMark(33152, Position&amp;lt;&amp;#039;m3&amp;#039;, 31.5, 32&amp;gt;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Frostbyte</name></author>
	</entry>
</feed>