<?xml version="1.0" encoding="UTF-8" ?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
	<channel>
		<title>Ace 스크립트</title>
		<link>https://avangs.info/rgss_vx_ace</link>
		<description></description>
		<atom:link href="https://avangs.info/rgss_vx_ace/rss" rel="self" type="application/rss+xml" />
		<language>ko</language>
		<pubDate>Thu, 16 Apr 2026 06:10:05 +0900</pubDate>
		<generator>Rhymix</generator>
			<item>
			<title>셰이크 강화 스크립트</title>
			<link>https://avangs.info/rgss_vx_ace/1890667</link>
				<description>VX Ace의 기본으로 주어지는 좌우로만 흔들리는 밋밋한 화면 셰이크에서 벗어나 진짜로 흔들리는 거 같이 연출하는 스크립트 입니다.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;사용 방법: 이벤트 - 스크립트에서 &lt;b&gt;shake_screen(시간, 강도)&lt;/b&gt; 를 입력한다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;모듈에서 스위치 ID를 바꿔서 그 ID의 스위치를 켜면 픽쳐도 같이 셰이크 되게 할 수 있습니다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;https://gist.github.com/GYHGwangju/76fd5ed77e2f0b94e9a80cb17a1c4fea&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src=&quot;https://avangs.info/files/attach/images/275392/667/890/001/d3586fe354fa18f8c313e2152bbee6a6.gif&quot; alt=&quot;txUgLxQ.gif&quot; /&gt;&lt;/div&gt;</description>
		<category>Ace 스크립트</category>	<category>그래픽</category>				<dc:creator>시낵스</dc:creator>
			<guid isPermaLink="true">https://avangs.info/rgss_vx_ace/1890667</guid>
	<comments>https://avangs.info/rgss_vx_ace/1890667#comment</comments>			<pubDate>Wed, 13 Dec 2023 23:38:00 +0900</pubDate>
		</item><item>
			<title>볼륨변경 스크립트</title>
			<link>https://avangs.info/rgss_vx_ace/1822710</link>
				<description>&lt;p&gt;출처:&lt;a href=&quot;https://torigoya.hatenadiary.jp/entry/20111201/vxace&quot;&gt;https://torigoya.hatenadiary.jp/entry/20111201/vxace&lt;/a&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;저 링크의 스크립트는 MV버전처럼 볼륨을 변경할 수 있게 해주는 스크립트입니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;스크립트 본:&lt;/p&gt; &lt;pre class=&quot;code lang-ruby&quot; style=&quot;background:rgb(241,241,241);padding:20px;margin-top:15px;margin-bottom:15px;font-size:13px;line-height:1.1;&quot;&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# encoding: utf-8&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# 【注意：2011/12/26追記】&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# このスクリプトは不具合を含む古いものです．&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# 使用する場合はこれではなく，最新版をお使いくださいな．&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;#===============================================================================&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# ■ 音量変更処理スクリプトさん for RGSS3&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;#-------------------------------------------------------------------------------&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# 2011/12/01 Ru/むっくRu&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;#-------------------------------------------------------------------------------&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# 全体の音量変更に関する機能を追加します&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;#&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# ● Audioモジュールに以下のメソッドが追加されます&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# Audio.volBGM …… BGMのマスターボリューム取得&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# Audio.volBGS …… BGSのマスターボリューム取得&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# Audio.volSE …… SEのマスターボリューム取得&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# Audio.volME …… MEのマスターボリューム取得&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# Audio.volBGM=数値 …… BGMのマスターボリューム設定（0〜100）&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# Audio.volBGM=数値 …… BGSのマスターボリューム設定（0〜100）&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# Audio.volSE=数値 …… SEのマスターボリューム設定（0〜100）&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# Audio.volME=数値 …… MEのマスターボリューム設定（0〜100）&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;#&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# ● メニュー画面に音量調整の項目が追加されます&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;#&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;#-------------------------------------------------------------------------------&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# 【問題点など】&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# そもそもVXAce発売前だからちゃんと動くか微妙&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;#-------------------------------------------------------------------------------&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;#==============================================================================&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# ● 設定項目&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;#==============================================================================&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;module&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;HZM_VXA&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;module&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;AudioVol&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# メニュー画面に音量調整を表示するか？&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# true …… 表示する&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# false …… 表示しない&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;MENU_FLAG&lt;/span&gt; = &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;true&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# メニュー画面に表示する項目名&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;MENU_NAME&lt;/span&gt; = &lt;span class=&quot;synSpecial&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(192,0,192);&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;音量設定&lt;/span&gt;&lt;span class=&quot;synSpecial&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(192,0,192);&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# 音量設定画面の項目名&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;CONFIG_BGM_NAME&lt;/span&gt; = &lt;span class=&quot;synSpecial&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(192,0,192);&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;BGM&lt;/span&gt;&lt;span class=&quot;synSpecial&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(192,0,192);&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;CONFIG_BGS_NAME&lt;/span&gt; = &lt;span class=&quot;synSpecial&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(192,0,192);&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;BGS&lt;/span&gt;&lt;span class=&quot;synSpecial&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(192,0,192);&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;CONFIG_SE_NAME&lt;/span&gt; = &lt;span class=&quot;synSpecial&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(192,0,192);&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;SE&lt;/span&gt;&lt;span class=&quot;synSpecial&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(192,0,192);&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;CONFIG_ME_NAME&lt;/span&gt; = &lt;span class=&quot;synSpecial&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(192,0,192);&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;ME&lt;/span&gt;&lt;span class=&quot;synSpecial&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(192,0,192);&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;CONFIG_EXIT_NAME&lt;/span&gt; = &lt;span class=&quot;synSpecial&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(192,0,192);&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;戻る&lt;/span&gt;&lt;span class=&quot;synSpecial&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(192,0,192);&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# 音量変更の変動量&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# ADD_VOL_NORMAL …… 左右キーの変動量&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# ADD_VOL_HIGH …… LRキーの変動量&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;ADD_VOL_NORMAL&lt;/span&gt; = &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;5&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;ADD_VOL_HIGH&lt;/span&gt; = &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;25&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;#==============================================================================&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# ↑ ここまで設定 ↑&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# ↓ 以下、スクリプト部 ↓&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;#==============================================================================&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# 追加メソッド群&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;module&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Audio&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;volBGM=&lt;/span&gt;(vol) vol=&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;if&lt;/span&gt; vol&amp;gt;&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt; vol=&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;if&lt;/span&gt; vol&amp;lt;&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@hzmVolBGM&lt;/span&gt; = vol &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;volBGS=&lt;/span&gt;(vol) vol=&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;if&lt;/span&gt; vol&amp;gt;&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt; vol=&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;if&lt;/span&gt; vol&amp;lt;&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@hzmVolBGS&lt;/span&gt; = vol &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;volSE=&lt;/span&gt;(vol) vol=&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;if&lt;/span&gt; vol&amp;gt;&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt; vol=&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;if&lt;/span&gt; vol&amp;lt;&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@hzmVolSE&lt;/span&gt; = vol &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;volME=&lt;/span&gt;(vol) vol=&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;if&lt;/span&gt; vol&amp;gt;&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt; vol=&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;if&lt;/span&gt; vol&amp;lt;&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@hzmVolME&lt;/span&gt; = vol &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;volBGM&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@hzmVolBGM&lt;/span&gt; = &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@hzmVolBGM&lt;/span&gt; == &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@hzmVolBGM&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;volBGS&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@hzmVolBGS&lt;/span&gt; = &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@hzmVolBGS&lt;/span&gt; == &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@hzmVolBGS&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;volSE&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@hzmVolSE&lt;/span&gt; = &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@hzmVolSE&lt;/span&gt; == &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@hzmVolSE&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;volME&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@hzmVolME&lt;/span&gt; = &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@hzmVolME&lt;/span&gt; == &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@hzmVolME&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# 再生処理&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;class&lt;/span&gt; &amp;lt;&amp;lt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Audio&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;alias&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;hzm_Vol_Audio_bgm_play&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;bgm_play&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;bgm_play&lt;/span&gt;(filename, volume=&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt;, pitch=&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt;, pos=&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;0&lt;/span&gt;) volume = &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;self&lt;/span&gt;.volBGM * volume / &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt; hzm_Vol_Audio_bgm_play(filename, volume, pitch, pos) &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;alias&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;hzm_Vol_Audio_bgs_play&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;bgs_play&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;bgs_play&lt;/span&gt;(filename, volume=&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt;, pitch=&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt;) volume = &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;self&lt;/span&gt;.volBGS * volume / &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt; hzm_Vol_Audio_bgs_play(filename, volume, pitch) &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;alias&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;hzm_Vol_Audio_se_play&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;se_play&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;se_play&lt;/span&gt;(filename, volume=&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt;, pitch=&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt;) volume = &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;self&lt;/span&gt;.volSE * volume / &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt; hzm_Vol_Audio_se_play(filename, volume, pitch) &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;alias&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;hzm_Vol_Audio_me_play&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;me_play&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;me_play&lt;/span&gt;(filename, volume=&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt;, pitch=&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt;) volume = &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;self&lt;/span&gt;.volME * volume / &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;100&lt;/span&gt; hzm_Vol_Audio_me_play(filename, volume, pitch) &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# メニューに追加&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;HZM_VXA&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;AudioVol&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;MENU_FLAG&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Window_MenuCommand&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;alias&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;hzm_Vol_Window_MenuCommand_add_original_commands&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;add_original_commands&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;add_original_commands&lt;/span&gt; hzm_Vol_Window_MenuCommand_add_original_commands add_command(&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;HZM_VXA&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;AudioVol&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;MENU_NAME&lt;/span&gt;, &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:hzm_vxa_vol&lt;/span&gt;) &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Scene_Menu&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;alias&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;hzm_Vol_create_command_window&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;create_command_window&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;create_command_window&lt;/span&gt; hzm_Vol_create_command_window &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@command_window&lt;/span&gt;.set_handler(&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:hzm_vxa_vol&lt;/span&gt;, method(&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:hzm_vxa_vol&lt;/span&gt;)) &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;hzm_vxa_vol&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;SceneManager&lt;/span&gt;.call(&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;HZM_VXA&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;AudioVol&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Scene_VolConfig&lt;/span&gt;) &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# 音量変更ウィンドウ&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;module&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;HZM_VXA&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;module&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;AudioVol&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Window_VolConfig&lt;/span&gt; &amp;lt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Window_Command&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;initialize&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;super&lt;/span&gt;(&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;0&lt;/span&gt;, &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;0&lt;/span&gt;) &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;self&lt;/span&gt;.x = (&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Graphics&lt;/span&gt;.width - &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;self&lt;/span&gt;.window_width)/&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;self&lt;/span&gt;.y = (&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Graphics&lt;/span&gt;.height - &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;self&lt;/span&gt;.window_height)/&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;make_command_list&lt;/span&gt; add_command(&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;HZM_VXA&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;AudioVol&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;CONFIG_BGM_NAME&lt;/span&gt;, &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:bgm&lt;/span&gt;) add_command(&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;HZM_VXA&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;AudioVol&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;CONFIG_BGS_NAME&lt;/span&gt;, &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:bgs&lt;/span&gt;) add_command(&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;HZM_VXA&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;AudioVol&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;CONFIG_SE_NAME&lt;/span&gt;, &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:se&lt;/span&gt;) add_command(&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;HZM_VXA&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;AudioVol&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;CONFIG_ME_NAME&lt;/span&gt;, &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:me&lt;/span&gt;) add_command(&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;HZM_VXA&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;AudioVol&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;CONFIG_EXIT_NAME&lt;/span&gt;, &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:cancel&lt;/span&gt;) &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;draw_item&lt;/span&gt;(index) &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;super&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;unless&lt;/span&gt; index &amp;lt; &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;4&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;case&lt;/span&gt; index &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;0&lt;/span&gt; vol = &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Audio&lt;/span&gt;.volBGM &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;1&lt;/span&gt; vol = &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Audio&lt;/span&gt;.volBGS &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;2&lt;/span&gt; vol = &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Audio&lt;/span&gt;.volSE &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;3&lt;/span&gt; vol = &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Audio&lt;/span&gt;.volME &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;end&lt;/span&gt; draw_text(item_rect_for_text(index), vol, &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;2&lt;/span&gt;) &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;volAdd&lt;/span&gt;(index, val) &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;case&lt;/span&gt; index &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Audio&lt;/span&gt;.volBGM += val now = &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;RPG&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;BGM&lt;/span&gt;.last &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Audio&lt;/span&gt;.bgm_play(&lt;span class=&quot;synSpecial&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(192,0,192);&quot;&gt;&#039;&lt;/span&gt;&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;Audio/BGM/&lt;/span&gt;&lt;span class=&quot;synSpecial&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(192,0,192);&quot;&gt;&#039;&lt;/span&gt; + now.name, now.volume, now.pitch, now.pos) &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;if&lt;/span&gt; now &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Audio&lt;/span&gt;.volBGS += val &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Audio&lt;/span&gt;.volSE += val &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;3&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Audio&lt;/span&gt;.volME += val &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Sound&lt;/span&gt;.play_cursor redraw_item(index) &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;cursor_left&lt;/span&gt;(wrap = &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;false&lt;/span&gt;) volAdd(&lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@index&lt;/span&gt;, -&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;HZM_VXA&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;AudioVol&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;ADD_VOL_NORMAL&lt;/span&gt;) &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;cursor_right&lt;/span&gt;(wrap = &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;false&lt;/span&gt;) volAdd(&lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@index&lt;/span&gt;, &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;HZM_VXA&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;AudioVol&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;ADD_VOL_NORMAL&lt;/span&gt;) &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;cursor_pageup&lt;/span&gt; volAdd(&lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@index&lt;/span&gt;, -&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;HZM_VXA&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;AudioVol&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;ADD_VOL_HIGH&lt;/span&gt;) &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;cursor_pagedown&lt;/span&gt; volAdd(&lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@index&lt;/span&gt;, &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;HZM_VXA&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;AudioVol&lt;/span&gt;::&lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;ADD_VOL_HIGH&lt;/span&gt;) &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Scene_VolConfig&lt;/span&gt; &amp;lt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Scene_MenuBase&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;start&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;super&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@command_window&lt;/span&gt; = &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Window_VolConfig&lt;/span&gt;.new &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@command_window&lt;/span&gt;.viewport = &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@viewport&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@command_window&lt;/span&gt;.set_handler(&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:cancel&lt;/span&gt;, method(&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:return_scene&lt;/span&gt;)) &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;terminate&lt;/span&gt; &lt;span class=&quot;synStatement&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(216,138,23);&quot;&gt;super&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;@command_window&lt;/span&gt;.dispose &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synComment&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(79,128,229);&quot;&gt;# セーブ時に保存，読込&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;class&lt;/span&gt; &amp;lt;&amp;lt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;DataManager&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;alias&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;hzm_Vol_make_save_contents&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;make_save_contents&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;make_save_contents&lt;/span&gt; contents = hzm_Vol_make_save_contents contents[&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:hzm_vxa_vol&lt;/span&gt;] = { &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:bgm&lt;/span&gt; =&amp;gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Audio&lt;/span&gt;.volBGM, &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:bgs&lt;/span&gt; =&amp;gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Audio&lt;/span&gt;.volBGS, &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:se&lt;/span&gt; =&amp;gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Audio&lt;/span&gt;.volSE, &lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:me&lt;/span&gt; =&amp;gt; &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Audio&lt;/span&gt;.volME } contents &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;alias&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;hzm_Vol_extract_save_contents&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;extract_save_contents&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;synIdentifier&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(81,207,207);&quot;&gt;extract_save_contents&lt;/span&gt;(contents) hzm_Vol_extract_save_contents(contents) &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Audio&lt;/span&gt;.volBGM = contents[&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:hzm_vxa_vol&lt;/span&gt;][&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:bgm&lt;/span&gt;] &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Audio&lt;/span&gt;.volBGS = contents[&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:hzm_vxa_vol&lt;/span&gt;][&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:bgs&lt;/span&gt;] &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Audio&lt;/span&gt;.volSE = contents[&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:hzm_vxa_vol&lt;/span&gt;][&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:se&lt;/span&gt;] &lt;span class=&quot;synType&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(62,198,62);&quot;&gt;Audio&lt;/span&gt;.volME = contents[&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:hzm_vxa_vol&lt;/span&gt;][&lt;span class=&quot;synConstant&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(255,102,102);&quot;&gt;:me&lt;/span&gt;] &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;synPreProc&quot; style=&quot;background-repeat:no-repeat;padding:0px;margin:0px;color:rgb(147,85,230);&quot;&gt;end&lt;/span&gt;&lt;/pre&gt;</description>
		<category>Ace 스크립트</category>	<category>오디오</category>				<dc:creator>레기우스州</dc:creator>
			<guid isPermaLink="true">https://avangs.info/rgss_vx_ace/1822710</guid>
	<comments>https://avangs.info/rgss_vx_ace/1822710#comment</comments>			<pubDate>Sun, 09 Aug 2020 17:09:59 +0900</pubDate>
		</item><item>
			<title>LNX11 전투 RPGXP 전투처럼 만들기</title>
			<link>https://avangs.info/rgss_vx_ace/1735645</link>
				<description>&lt;p&gt;이 스크립트를 사용하면 전투화면을 RPGXP처럼 만들 수 있습니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;전투화면이 RPGXP 전투화면 스타일이 됩니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;span style=&quot;color:rgb(231,76,60);font-family:&#039;Comic Sans MS&#039;, cursive;font-size:48px;&quot;&gt;첫번째 스크립트&lt;/span&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;================첫번째 스크립트(모듈 아래에 삽입하세요.)======================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;==============================================================================&lt;/p&gt; &lt;p&gt;# ★ RGSS3-Extension&lt;/p&gt; &lt;p&gt;# LNX11a_XPスタイルバトル&lt;/p&gt; &lt;p&gt;# 戦闘画面をRPGツクールXP準拠のものに変更します。&lt;/p&gt; &lt;p&gt;#&lt;/p&gt; &lt;p&gt;# version : 1.12 (15/02/08)&lt;/p&gt; &lt;p&gt;# author : ももまる&lt;/p&gt; &lt;p&gt;# reference : http://peachround.blog.fc2.com/blog-entry-9.html&lt;/p&gt; &lt;p&gt;#&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ LNXスクリプト導入情報&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;$lnx_include = {} if $lnx_include == nil&lt;/p&gt; &lt;p&gt;$lnx_include[:lnx11a] = 112 # version&lt;/p&gt; &lt;p&gt;p &quot;OK:LNX11a_XPスタイルバトル ver1.12&quot;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;module LNX11&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 正規表現&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # アクター：バトラーグラフィック = &quot;ファイル名&quot;&lt;/p&gt; &lt;p&gt; RE_BATTLER = /(?:バトラーグラフィック|battler_graphic)\s*=\s*&quot;([^&quot;]*)&quot;/i&lt;/p&gt; &lt;p&gt; # アイテム/スキル：使用時アニメ = アニメーションID&lt;/p&gt; &lt;p&gt; RE_USE_ANIMATION = /(?:使用時アニメ|use_animation)\s*=\s*(\d+)/i&lt;/p&gt; &lt;p&gt; # アイテム/スキル：ヘルプ説明 = &quot;説明文&quot;&lt;/p&gt; &lt;p&gt; RE_SHORT_DESCRIPTION =/(?:ヘルプ説明|short_description)\s*=\s*&quot;([^&quot;]*)&quot;/i&lt;/p&gt; &lt;p&gt; # アイテム/スキル：ヘルプ非表示&lt;/p&gt; &lt;p&gt; RE_USABLEITEM_NO_DISPLAY = /(?:ヘルプ非表示|no_display)/i&lt;/p&gt; &lt;p&gt; # アイテム/スキル：使用時追加ウェイト = duration&lt;/p&gt; &lt;p&gt; RE_DISPLAY_WAIT = /(?:使用時追加ウェイト|display_wait)\s*=\s*(\d+)/i&lt;/p&gt; &lt;p&gt; # アイテム/スキル：終了時追加ウェイト = duration&lt;/p&gt; &lt;p&gt; RE_END_WAIT = /(?:終了時追加ウェイト|end_wait)\s*=\s*(\d+)/i&lt;/p&gt; &lt;p&gt; # 敵キャラ：通常攻撃アニメ = アニメーションID&lt;/p&gt; &lt;p&gt; RE_ATK_ANIMATION = /(?:通常攻撃アニメ|atk_animation)\s*=\s*(\d+)/i&lt;/p&gt; &lt;p&gt; # ステート：ステートアニメ = アニメーションID&lt;/p&gt; &lt;p&gt; RE_STATE_ANIMATION = /(?:ステートアニメ|state_animation)\s*=\s*(\d+)/i&lt;/p&gt; &lt;p&gt; # ステート：ポップアップ表示名 = &quot;表示名&quot;&lt;/p&gt; &lt;p&gt; RE_STATE_DISPLAY = /(?:ポップアップ表示名|display_name)\s*=\s*&quot;([^&quot;]*)&quot;/i&lt;/p&gt; &lt;p&gt; # ステート：ポップアップ非表示&lt;/p&gt; &lt;p&gt; RE_STATE_NO_DISPLAY = /(?:ポップアップ非表示|no_display)/i&lt;/p&gt; &lt;p&gt; # ステート：付加ポップアップ非表示&lt;/p&gt; &lt;p&gt; RE_STATE_ADD_NO_DISPLAY = /(?:付加ポップアップ非表示|add_no_display)/i&lt;/p&gt; &lt;p&gt; # ステート：解除ポップアップ非表示&lt;/p&gt; &lt;p&gt; RE_STATE_REM_NO_DISPLAY = /(?:解除ポップアップ非表示|remove_no_display)/i&lt;/p&gt; &lt;p&gt; # ステート：有利なステート&lt;/p&gt; &lt;p&gt; RE_STATE_ADVANTAGE = /(?:有利なステート|advantage_state)/i&lt;/p&gt; &lt;p&gt; # ステート：ポップアップタイプ = type_id&lt;/p&gt; &lt;p&gt; RE_STATE_TYPE = /(?:ポップアップタイプ|popup_type)\s*=\s*(\d+)/i&lt;/p&gt; &lt;p&gt; # ステート：付加ポップアップタイプ = type_id&lt;/p&gt; &lt;p&gt; RE_STATE_ADD_TYPE = /(?:付加ポップアップタイプ|add_popup_type)\s*=\s*(\d+)/i&lt;/p&gt; &lt;p&gt; # ステート：解除ポップアップタイプ = type_id&lt;/p&gt; &lt;p&gt; RE_STATE_REM_TYPE=/(?:解除ポップアップタイプ|remove_popup_type)\s*=\s*(\d+)/i&lt;/p&gt; &lt;p&gt; # ステート：修飾文字非表示&lt;/p&gt; &lt;p&gt; RE_STATE_NO_DECORATION = /(?:修飾文字非表示|no_decoration)/i&lt;/p&gt; &lt;p&gt; # ステート：付加修飾文字非表示&lt;/p&gt; &lt;p&gt; RE_STATE_ADD_NO_DECORATION = /(?:付加修飾文字非表示|add_no_decoration)/i&lt;/p&gt; &lt;p&gt; # ステート：解除修飾文字非表示&lt;/p&gt; &lt;p&gt; RE_STATE_REM_NO_DECORATION = /(?:解除修飾文字非表示|remove_no_decoration)/i&lt;/p&gt; &lt;p&gt; # &amp;lt;&amp;lt;ver1.10&amp;gt;&amp;gt;&lt;/p&gt; &lt;p&gt; # ステート：付加ポップアップ表示名 = &quot;表示名&quot;&lt;/p&gt; &lt;p&gt; RE_STATE_ADD_DISPLAY = &lt;/p&gt; &lt;p&gt; /(?:付加ポップアップ表示名|add_display_name)\s*=\s*&quot;([^&quot;]*)&quot;/i&lt;/p&gt; &lt;p&gt; # ステート：解除ポップアップ表示名 = &quot;表示名&quot;&lt;/p&gt; &lt;p&gt; RE_STATE_REM_DISPLAY = &lt;/p&gt; &lt;p&gt; /(?:解除ポップアップ表示名|remove_display_name)\s*=\s*&quot;([^&quot;]*)&quot;/i&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● バトルステータス更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # LNX11.バトルステータス更新&lt;/p&gt; &lt;p&gt; def self.battle_status_refresh&lt;/p&gt; &lt;p&gt; $game_temp.battle_status_refresh&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def self.バトルステータス更新&lt;/p&gt; &lt;p&gt; self.battle_status_refresh&lt;/p&gt; &lt;p&gt; end &lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● アクターエリア表示/非表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # LNX11.アクターエリア表示&lt;/p&gt; &lt;p&gt; def self.actor_area_show&lt;/p&gt; &lt;p&gt; self.actor_show&lt;/p&gt; &lt;p&gt; self.status_show&lt;/p&gt; &lt;p&gt; self.actor_bg_show&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def self.アクターエリア表示&lt;/p&gt; &lt;p&gt; self.actor_area_show&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # LNX11.アクターエリア非表示&lt;/p&gt; &lt;p&gt; def self.actor_area_hide&lt;/p&gt; &lt;p&gt; self.actor_hide&lt;/p&gt; &lt;p&gt; self.status_hide&lt;/p&gt; &lt;p&gt; self.actor_bg_hide&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def self.アクターエリア非表示&lt;/p&gt; &lt;p&gt; self.actor_area_hide&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● アクター表示/非表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # LNX11.アクター表示&lt;/p&gt; &lt;p&gt; def self.actor_show&lt;/p&gt; &lt;p&gt; $game_party.actor_invisible = false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def self.アクター表示&lt;/p&gt; &lt;p&gt; self.actor_show&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # LNX11.アクター非表示&lt;/p&gt; &lt;p&gt; def self.actor_hide&lt;/p&gt; &lt;p&gt; $game_party.actor_invisible = true&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def self.アクター非表示&lt;/p&gt; &lt;p&gt; self.actor_hide&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● バトルステータス表示/非表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # LNX11.バトルステータス表示&lt;/p&gt; &lt;p&gt; def self.status_show&lt;/p&gt; &lt;p&gt; $game_party.status_invisible = false&lt;/p&gt; &lt;p&gt; self.battle_status_refresh&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def self.バトルステータス表示&lt;/p&gt; &lt;p&gt; self.status_show&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # LNX11.バトルステータス非表示&lt;/p&gt; &lt;p&gt; def self.status_hide&lt;/p&gt; &lt;p&gt; $game_party.status_invisible = true&lt;/p&gt; &lt;p&gt; self.battle_status_refresh&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def self.バトルステータス非表示&lt;/p&gt; &lt;p&gt; self.status_hide&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● アクター背景表示/非表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # LNX11.アクター背景表示&lt;/p&gt; &lt;p&gt; def self.actor_bg_show&lt;/p&gt; &lt;p&gt; $game_party.actor_bg_invisible = false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def self.アクター背景表示&lt;/p&gt; &lt;p&gt; self.actor_bg_show&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # LNX11.アクター背景非表示&lt;/p&gt; &lt;p&gt; def self.actor_bg_hide&lt;/p&gt; &lt;p&gt; $game_party.actor_bg_invisible = true&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def self.アクター背景非表示&lt;/p&gt; &lt;p&gt; self.actor_bg_hide&lt;/p&gt; &lt;p&gt; end &lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● バトラーグラフィックのスクリプト指定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # LNX11.バトラーグラフィック(id, filename)&lt;/p&gt; &lt;p&gt; def self.battler_graphic(id ,filename)&lt;/p&gt; &lt;p&gt; if id.is_a?(Numeric) &amp;amp;&amp;amp; filename.is_a?(String)&lt;/p&gt; &lt;p&gt; p &quot;LNX11a:バトラーグラフィックを変更しました:ID#{id} #{filename}&quot;&lt;/p&gt; &lt;p&gt; $game_actors[id].battler_graphic_name = filename&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; errormes = &quot;LNX11a:バトラーグラフィック指定の引数が正しくありません。&quot;&lt;/p&gt; &lt;p&gt; p errormes, &quot;LNX11a:バトラーグラフィックの指定は行われませんでした。&quot;&lt;/p&gt; &lt;p&gt; msgbox errormes&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def self.バトラーグラフィック(id ,filename)&lt;/p&gt; &lt;p&gt; self.battler_graphic(id ,filename)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 任意のポップアップを生成&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # LNX11.ポップアップ(battler, popup, type, color, deco)&lt;/p&gt; &lt;p&gt; def self.make_popup(battler, popup, type = 0, color = :hp_damage, deco = nil)&lt;/p&gt; &lt;p&gt; return unless $game_party.in_battle&lt;/p&gt; &lt;p&gt; target = self.battler_search(battler)&lt;/p&gt; &lt;p&gt; unless target.is_a?(Game_Battler)&lt;/p&gt; &lt;p&gt; p &quot;LNX11a:任意のポップアップの生成に失敗しました。バトラー指定が&quot;&lt;/p&gt; &lt;p&gt; p &quot;LNX11a:間違っているか、バトラーが存在していない可能性があります。&quot;&lt;/p&gt; &lt;p&gt; return&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; $game_temp.popup_data.popup_custom(target, popup, type, color, deco) &lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def self.ポップアップ(battler, popup, type=0, color=:hp_damage, deco=nil)&lt;/p&gt; &lt;p&gt; self.make_popup(battler, popup, type, color, deco)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● バトラー指定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.battler_search(val)&lt;/p&gt; &lt;p&gt; if val.is_a?(String)&lt;/p&gt; &lt;p&gt; # 名前指定&lt;/p&gt; &lt;p&gt; a = ($game_party.members + $game_troop.members).find {|b| b.name == val }&lt;/p&gt; &lt;p&gt; return a&lt;/p&gt; &lt;p&gt; elsif val.is_a?(Array)&lt;/p&gt; &lt;p&gt; # インデックス指定&lt;/p&gt; &lt;p&gt; case val[0]&lt;/p&gt; &lt;p&gt; when :actor ; return $game_party.members[val[1]]&lt;/p&gt; &lt;p&gt; when :enemy ; return $game_troop.members[val[1]]&lt;/p&gt; &lt;p&gt; else ; return nil&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # オブジェクト&lt;/p&gt; &lt;p&gt; return val&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● バトルログプッシュ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # LNX11.バトルログ(text)&lt;/p&gt; &lt;p&gt; def self.battle_log_push(text)&lt;/p&gt; &lt;p&gt; return unless $game_party.in_battle&lt;/p&gt; &lt;p&gt; case BATTLELOG_TYPE&lt;/p&gt; &lt;p&gt; when 0..1 # バトルログ&lt;/p&gt; &lt;p&gt; BattleManager.log_window.add_text(text)&lt;/p&gt; &lt;p&gt; when 2 # 簡易ヘルプ表示&lt;/p&gt; &lt;p&gt; BattleManager.helpdisplay_set(text, 0)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def self.バトルログ(text)&lt;/p&gt; &lt;p&gt; self.battle_log_push(text)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● バトルログ消去&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # LNX11.バトルログ消去&lt;/p&gt; &lt;p&gt; def self.battle_log_clear&lt;/p&gt; &lt;p&gt; return unless $game_party.in_battle&lt;/p&gt; &lt;p&gt; case BATTLELOG_TYPE&lt;/p&gt; &lt;p&gt; when 0 # バトルログ&lt;/p&gt; &lt;p&gt; BattleManager.log_window.clear&lt;/p&gt; &lt;p&gt; when 1 # 蓄積型&lt;/p&gt; &lt;p&gt; BattleManager.log_window.clear&lt;/p&gt; &lt;p&gt; $game_temp.battlelog_clear = true&lt;/p&gt; &lt;p&gt; self.battle_wait(1)&lt;/p&gt; &lt;p&gt; when 2 # 簡易ヘルプ&lt;/p&gt; &lt;p&gt; BattleManager.helpdisplay_clear(0)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def self.バトルログ消去&lt;/p&gt; &lt;p&gt; self.battle_log_clear&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● バトルウェイト&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # LNX11.バトルウェイト(duration)&lt;/p&gt; &lt;p&gt; def self.battle_wait(duration)&lt;/p&gt; &lt;p&gt; return unless $game_party.in_battle&lt;/p&gt; &lt;p&gt; BattleManager.log_window.abs_wait(duration)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def self.バトルウェイト(duration)&lt;/p&gt; &lt;p&gt; self.battle_wait(duration)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 設定値&lt;/p&gt; &lt;p&gt; # ※ 設定を変更する場合、LNX11aconf を使用してください。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # &amp;lt;&amp;lt;ver1.00&amp;gt;&amp;gt;&lt;/p&gt; &lt;p&gt; if !$lnx_include[:lnx11aconf] || &lt;/p&gt; &lt;p&gt; $lnx_include[:lnx11aconf] &amp;amp;&amp;amp; $lnx_include[:lnx11aconf] &amp;lt; 100&lt;/p&gt; &lt;p&gt; DEFAULT_BATTLER_GRAPHIC = 0&lt;/p&gt; &lt;p&gt; DEFAULT_BG_COLOR = [Color.new(0, 0, 0, 0), Color.new(0, 0, 0, 0)]&lt;/p&gt; &lt;p&gt; ACTOR_SCREEN_TONE = false&lt;/p&gt; &lt;p&gt; TP_POPUP_TYPE = 1&lt;/p&gt; &lt;p&gt; INDEXZERO_NO_POPUP = true&lt;/p&gt; &lt;p&gt; ACTOR_BACKGROUND = 2&lt;/p&gt; &lt;p&gt; ACTOR_BACKGROUND_HEIGHT = 112&lt;/p&gt; &lt;p&gt; ACTOR_BG_GRADIENT_COLOR = [Color.new(0, 0, 0, 96), Color.new(0, 0, 0, 224)]&lt;/p&gt; &lt;p&gt; BATTLELOG_TYPE = 1&lt;/p&gt; &lt;p&gt; STORAGE_LINE_NUMBER = 6&lt;/p&gt; &lt;p&gt; STORAGE_LINE_HEIGHT = 20&lt;/p&gt; &lt;p&gt; STORAGE_UP_MESSAGE_TIME = 90&lt;/p&gt; &lt;p&gt; STORAGE_TURNEND_CLEAR = true&lt;/p&gt; &lt;p&gt; STORAGE_OFFSET = {:x =&amp;gt; 0, :y =&amp;gt; 6}&lt;/p&gt; &lt;p&gt; STORAGE_FONT = {:size =&amp;gt; 20, :out_color =&amp;gt; Color.new(0, 0, 0, 192)}&lt;/p&gt; &lt;p&gt; STORAGE_GRADIENT_COLOR = [Color.new(0, 0, 0, 128), Color.new(0, 0, 0, 0)]&lt;/p&gt; &lt;p&gt; POPUP_ADD_WAIT = 6&lt;/p&gt; &lt;p&gt; HELPDISPLAY_TYPE = 1&lt;/p&gt; &lt;p&gt; HELPDISPLAT_WAIT = 20&lt;/p&gt; &lt;p&gt; HELPDISPLAT_END_WAIT = 24&lt;/p&gt; &lt;p&gt; HELPDISPLAY_DESCRIPTION = {:size =&amp;gt; 20, :delimiter =&amp;gt; &quot; &quot;}&lt;/p&gt; &lt;p&gt; MESSAGE_TYPE = 2&lt;/p&gt; &lt;p&gt; MESSAGE_WINDOW_BACKGROUND = 1&lt;/p&gt; &lt;p&gt; MESSAGE_WINDOW_POSITION = 0&lt;/p&gt; &lt;p&gt; MESSAGE_WAIT = {:battle_start =&amp;gt; [120, false], :victory =&amp;gt; [ 60, false], &lt;/p&gt; &lt;p&gt; :defeat =&amp;gt; [120, false], :escape =&amp;gt; [120, false], &lt;/p&gt; &lt;p&gt; :drop_item =&amp;gt; [ 60, true], :levelup =&amp;gt; [ 60, true]}&lt;/p&gt; &lt;p&gt; MESSAGE_WINDOW_ENEMY_NAMES = false&lt;/p&gt; &lt;p&gt; LEVELUP_SE = RPG::SE.new(&quot;Up4&quot;, 90, 100)&lt;/p&gt; &lt;p&gt; DROPITEM_SE = RPG::SE.new(&quot;Item3&quot;, 80, 125)&lt;/p&gt; &lt;p&gt; ACTOR_CENTERING = true&lt;/p&gt; &lt;p&gt; ACTOR_SPACING_ADJUST = 32&lt;/p&gt; &lt;p&gt; ACTOR_OFFSET = {:x =&amp;gt; -16, :y =&amp;gt; 0}&lt;/p&gt; &lt;p&gt; ACTOR_PADDING = {:side =&amp;gt; 4, :bottom =&amp;gt; 8}&lt;/p&gt; &lt;p&gt; SCREEN_ANIMATION_OFFSET = 128&lt;/p&gt; &lt;p&gt; STATUS_OFFSET = {:x =&amp;gt; 64, :y =&amp;gt; -12}&lt;/p&gt; &lt;p&gt; STATUS_SIDE_PADDING = 6&lt;/p&gt; &lt;p&gt; STATUS_WIDTH = 72&lt;/p&gt; &lt;p&gt; STATUS_AUTOADJUST = true&lt;/p&gt; &lt;p&gt; STATUS_LINE_HEIGHT = 22&lt;/p&gt; &lt;p&gt; STATUS_NAME_SIZE = 20&lt;/p&gt; &lt;p&gt; STATUS_PARAM_SIZE = 23&lt;/p&gt; &lt;p&gt; STATUS_GAUGE_OPACITY = 192&lt;/p&gt; &lt;p&gt; ACTOR_COMMAND_NOSCROLL = true&lt;/p&gt; &lt;p&gt; ACTOR_COMMAND_HORIZON = false&lt;/p&gt; &lt;p&gt; ACTOR_COMMAND_ALIGNMENT = 0&lt;/p&gt; &lt;p&gt; ACTOR_COMMAND_WIDTH = 128&lt;/p&gt; &lt;p&gt; ACTOR_COMMAND_POSITION = 0&lt;/p&gt; &lt;p&gt; ACTOR_COMMAND_Y_POSITION = 0&lt;/p&gt; &lt;p&gt; ACTOR_COMMAND_OFFSET = {:x =&amp;gt; 0, :y =&amp;gt; -16}&lt;/p&gt; &lt;p&gt; PARTY_COMMAND_HORIZON = true&lt;/p&gt; &lt;p&gt; PARTY_COMMAND_ALIGNMENT = 1&lt;/p&gt; &lt;p&gt; PARTY_COMMAND_WIDTH = Graphics.width&lt;/p&gt; &lt;p&gt; PARTY_COMMAND_XY = {:x =&amp;gt; 0, :y =&amp;gt; 0}&lt;/p&gt; &lt;p&gt; CURSOR_NAME = &quot;&quot;&lt;/p&gt; &lt;p&gt; CURSOR_TONE = Tone.new(-34, 0, 68)&lt;/p&gt; &lt;p&gt; CURSOR_ANI_SPEED = 3&lt;/p&gt; &lt;p&gt; CURSOR_SPEED = 3&lt;/p&gt; &lt;p&gt; CURSOR_BLINK = true&lt;/p&gt; &lt;p&gt; CURSOR_MINMAX = {:min =&amp;gt; 48, :max =&amp;gt; Graphics.height}&lt;/p&gt; &lt;p&gt; CURSOR_OFFSET = {:x =&amp;gt; 0, :y =&amp;gt; 0}&lt;/p&gt; &lt;p&gt; HELP_ACTOR_PARAM = {:hp =&amp;gt; true ,:mp =&amp;gt; true ,:tp =&amp;gt; true ,:state =&amp;gt; true }&lt;/p&gt; &lt;p&gt; HELP_ENEMY_PARAM = {:hp =&amp;gt; false,:mp =&amp;gt; false,:tp =&amp;gt; false,:state =&amp;gt; true }&lt;/p&gt; &lt;p&gt; HELP_PARAM_WIDTH = 72&lt;/p&gt; &lt;p&gt; RANDOMSCOPE_DISPLAY = 1&lt;/p&gt; &lt;p&gt; ACTOR_POPUP_POSITION = 3&lt;/p&gt; &lt;p&gt; ENEMY_POPUP_POSITION = 1&lt;/p&gt; &lt;p&gt; LEVELUP_POPUP_POSITION = 3&lt;/p&gt; &lt;p&gt; ACTOR_POPUP_Y = -100&lt;/p&gt; &lt;p&gt; LEVELUP_POPUP_Y = -112&lt;/p&gt; &lt;p&gt; NUMBER_FONT = [&quot;Arial Black&quot;, &quot;VL Gothic&quot;]&lt;/p&gt; &lt;p&gt; TEXT_FONT = [&quot;Arial Black&quot;, &quot;VL Gothic&quot;]&lt;/p&gt; &lt;p&gt; TEXT_FONT_MCS = [&quot;VL Gothic&quot;]&lt;/p&gt; &lt;p&gt; LARGE_NUMBER = {:fontsize =&amp;gt; 38, :spacing =&amp;gt; -4, :line_height =&amp;gt; 26}&lt;/p&gt; &lt;p&gt; SMALL_NUMBER = {:fontsize =&amp;gt; 28, :spacing =&amp;gt; -4, :line_height =&amp;gt; 20}&lt;/p&gt; &lt;p&gt; TEXT_SIZERATE = {:normal =&amp;gt; 0.8, :left_right =&amp;gt; 0.7, :top_bottom =&amp;gt; 0.6}&lt;/p&gt; &lt;p&gt; TEXT_SIZERATE_MCS = 0.9&lt;/p&gt; &lt;p&gt; DECORATION_NUMBER = { &lt;/p&gt; &lt;p&gt; :critical =&amp;gt; [&quot;CRITICAL&quot;, 8], :weakness =&amp;gt; [&quot;WEAKNESS&quot;, 8],&lt;/p&gt; &lt;p&gt; :resist =&amp;gt; [&quot;RESIST&quot; , 8], :mp_damage =&amp;gt; [&quot;\mp&quot; , 4],&lt;/p&gt; &lt;p&gt; :mp_plus =&amp;gt; [&quot;\mp+&quot; , 4], :mp_minus =&amp;gt; [&quot;\mp-&quot; , 4],&lt;/p&gt; &lt;p&gt; :tp_plus =&amp;gt; [&quot;\tp+&quot; , 4], :tp_minus =&amp;gt; [&quot;\tp-&quot; , 4]}&lt;/p&gt; &lt;p&gt; DECORATION_TEXT = {&lt;/p&gt; &lt;p&gt; :add_state =&amp;gt; &quot;+%s&quot;, :rem_state =&amp;gt; &quot;-%s&quot;,&lt;/p&gt; &lt;p&gt; :add_buff =&amp;gt; &quot;%s UP&quot;, :add_debuff =&amp;gt; &quot;%s DOWN&quot;,&lt;/p&gt; &lt;p&gt; :rem_buff =&amp;gt; &quot;-%s Buff&quot;}&lt;/p&gt; &lt;p&gt; POPUP_VOCAB = {&lt;/p&gt; &lt;p&gt; :miss =&amp;gt; &quot;MISS!&quot;, :counter =&amp;gt; &quot;Counter&quot;,&lt;/p&gt; &lt;p&gt; :reflection =&amp;gt; &quot;Reflection&quot;, :substitute =&amp;gt; &quot;Substitute&quot;,&lt;/p&gt; &lt;p&gt; :levelup =&amp;gt; &quot;LEVELUP!&quot;}&lt;/p&gt; &lt;p&gt; POPUP_VOCAB_PARAMS = [&lt;/p&gt; &lt;p&gt; &quot;MAX\hp&quot;,&quot;MAX\mp&quot;,&quot;ATK&quot;,&quot;DEF&quot;,&quot;MATK&quot;,&quot;MDEF&quot;,&quot;AGI&quot;,&quot;LUCK&quot;]&lt;/p&gt; &lt;p&gt; POPUP_COLOR = {&lt;/p&gt; &lt;p&gt; :hp_damage =&amp;gt; [Color.new(255, 255, 255), Color.new( 0, 0, 0)],&lt;/p&gt; &lt;p&gt; :critical =&amp;gt; [Color.new(255, 255, 80), Color.new(224, 32, 0)],&lt;/p&gt; &lt;p&gt; :weakness =&amp;gt; [Color.new(255, 255, 255), Color.new( 0, 56, 144)],&lt;/p&gt; &lt;p&gt; :resist =&amp;gt; [Color.new(232, 224, 216), Color.new( 56, 48, 40)],&lt;/p&gt; &lt;p&gt; :hp_recovery =&amp;gt; [Color.new( 96, 255, 128), Color.new( 0, 64, 32)],&lt;/p&gt; &lt;p&gt; :mp_damage =&amp;gt; [Color.new(248, 80, 172), Color.new( 48, 0, 32)],&lt;/p&gt; &lt;p&gt; :mp_recovery =&amp;gt; [Color.new(160, 240, 255), Color.new( 32, 48, 144)],&lt;/p&gt; &lt;p&gt; :tp_damage =&amp;gt; [Color.new(248, 240, 64), Color.new( 0, 80, 40)],&lt;/p&gt; &lt;p&gt; :add_state =&amp;gt; [Color.new(255, 255, 255), Color.new( 0, 56, 144)],&lt;/p&gt; &lt;p&gt; :rem_state =&amp;gt; [Color.new(224, 232, 240), Color.new( 32, 64, 128, 128)],&lt;/p&gt; &lt;p&gt; :add_badstate =&amp;gt; [Color.new(255, 255, 255), Color.new( 0, 0, 0)],&lt;/p&gt; &lt;p&gt; :rem_badstate =&amp;gt; [Color.new(224, 224, 224), Color.new( 32, 32, 32, 128)],&lt;/p&gt; &lt;p&gt; :add_buff =&amp;gt; [Color.new(255, 255, 192), Color.new( 96, 64, 0)],&lt;/p&gt; &lt;p&gt; :add_debuff =&amp;gt; [Color.new(200, 224, 232), Color.new( 40, 48, 56)],&lt;/p&gt; &lt;p&gt; :rem_buff =&amp;gt; [Color.new(224, 224, 224), Color.new( 32, 32, 32, 128)],&lt;/p&gt; &lt;p&gt; :counter =&amp;gt; [Color.new(255, 255, 224), Color.new(128, 96, 0)],&lt;/p&gt; &lt;p&gt; :reflection =&amp;gt; [Color.new(224, 255, 255), Color.new( 0, 96, 128)],&lt;/p&gt; &lt;p&gt; :substitute =&amp;gt; [Color.new(224, 255, 224), Color.new( 0, 128, 64)],&lt;/p&gt; &lt;p&gt; :levelup =&amp;gt; [Color.new(255, 255, 255), Color.new( 0, 0, 0)],&lt;/p&gt; &lt;p&gt; }&lt;/p&gt; &lt;p&gt; POPUP_TYPE = {&lt;/p&gt; &lt;p&gt; :miss =&amp;gt; 0,:hp_damage =&amp;gt; 0,:hp_slipdamage =&amp;gt; 1,&lt;/p&gt; &lt;p&gt; :hp_recovery =&amp;gt; 0,:hp_regenerate =&amp;gt; 1,:hp_drain =&amp;gt; 0,&lt;/p&gt; &lt;p&gt; :hp_drainrecv =&amp;gt; 0,:mp_damage =&amp;gt; 0,:mp_slipdamage =&amp;gt; 1,&lt;/p&gt; &lt;p&gt; :mp_recovery =&amp;gt; 0,:mp_regenerate =&amp;gt; 1,:mp_drain =&amp;gt; 0,&lt;/p&gt; &lt;p&gt; :mp_drainrecv =&amp;gt; 0,:mp_paycost =&amp;gt; -1,:tp_damage =&amp;gt; 1,&lt;/p&gt; &lt;p&gt; :tp_charge =&amp;gt; -1,:tp_gain =&amp;gt; 7,:tp_regenerate =&amp;gt; 1,&lt;/p&gt; &lt;p&gt; :tp_paycost =&amp;gt; -1,:add_state =&amp;gt; 2,:rem_state =&amp;gt; 2,&lt;/p&gt; &lt;p&gt; :add_badstate =&amp;gt; 2,:rem_badstate =&amp;gt; 2,:add_debuff =&amp;gt; 3,&lt;/p&gt; &lt;p&gt; :rem_buff =&amp;gt; 3,:counter =&amp;gt; 6,:reflection =&amp;gt; 6,&lt;/p&gt; &lt;p&gt; :substitute =&amp;gt; 4,}&lt;/p&gt; &lt;p&gt; LARGE_MOVEMENT = {&lt;/p&gt; &lt;p&gt; :inirate =&amp;gt; 6.4, :gravity =&amp;gt; 0.68, :side_scatter =&amp;gt; 1.2,&lt;/p&gt; &lt;p&gt; :ref_height =&amp;gt; 32, :ref_factor =&amp;gt; 0.60, :ref_count =&amp;gt; 2,&lt;/p&gt; &lt;p&gt; :duration =&amp;gt; 40, :fadeout =&amp;gt; 20 }&lt;/p&gt; &lt;p&gt; SMALL_MOVEMENT = {&lt;/p&gt; &lt;p&gt; :inirate =&amp;gt; 4.4, :gravity =&amp;gt; 0.60, :side_scatter =&amp;gt; 0.0,&lt;/p&gt; &lt;p&gt; :ref_height =&amp;gt; 12, :ref_factor =&amp;gt; 0.70, :ref_count =&amp;gt; 0,&lt;/p&gt; &lt;p&gt; :duration =&amp;gt; 60, :fadeout =&amp;gt; 16 }&lt;/p&gt; &lt;p&gt; RISE_MOVEMENT = {:rising_speed =&amp;gt; 0.75, :line_spacing =&amp;gt; 0.9,&lt;/p&gt; &lt;p&gt; :duration =&amp;gt; 40, :fadeout =&amp;gt; 8 }&lt;/p&gt; &lt;p&gt; SLIDE_MOVEMENT = {:x_speed =&amp;gt; 2, :line_spacing =&amp;gt; 0.9,&lt;/p&gt; &lt;p&gt; :duration =&amp;gt; 50, :fadeout =&amp;gt; 32 }&lt;/p&gt; &lt;p&gt; OVERLAY_MOVEMENT = {:duration =&amp;gt; 36, :fadeout =&amp;gt; 32 }&lt;/p&gt; &lt;p&gt; FIX_TARGET_CHECKE = true&lt;/p&gt; &lt;p&gt; GUARD_TARGET_CHECKE = true&lt;/p&gt; &lt;p&gt; SMART_TARGET_SELECT = true&lt;/p&gt; &lt;p&gt; LAST_TARGET = true&lt;/p&gt; &lt;p&gt; LAST_PARTY_COMMAND = true &lt;/p&gt; &lt;p&gt; LAST_ACTOR_COMMAND = true&lt;/p&gt; &lt;p&gt; TROOP_X_SORT = true&lt;/p&gt; &lt;p&gt; PARTY_COMMAND_SKIP = true&lt;/p&gt; &lt;p&gt; FITTING_LIST = true&lt;/p&gt; &lt;p&gt; ENHANCED_WHITEN = true&lt;/p&gt; &lt;p&gt; DISABLED_DAMAGE_SHAKE = true&lt;/p&gt; &lt;p&gt; TROOP_X_SCREEN_FIX = true&lt;/p&gt; &lt;p&gt; TROOP_Y_OFFSET = 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # &amp;lt;&amp;lt;ver1.10&amp;gt;&amp;gt;&lt;/p&gt; &lt;p&gt; if !$lnx_include[:lnx11aconf] || &lt;/p&gt; &lt;p&gt; $lnx_include[:lnx11aconf] &amp;amp;&amp;amp; $lnx_include[:lnx11aconf] &amp;lt; 110&lt;/p&gt; &lt;p&gt; LARGE_NUMBER_NAME = &quot;&quot;&lt;/p&gt; &lt;p&gt; SMALL_NUMBER_NAME = &quot;&quot;&lt;/p&gt; &lt;p&gt; LARGE_BUFFS_NAME = &quot;&quot;&lt;/p&gt; &lt;p&gt; SMALL_BUFFS_NAME = &quot;&quot;&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ [追加]:Popup_Data&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# 戦闘中のポップアップをまとめて扱うクラス。ポップアップスプライトの&lt;/p&gt; &lt;p&gt;# initialize 時に自身を参照させて、ポップアップ内容を定義する際にも使います。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Popup_Data&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● クラス変数&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; @@make_methods = {} # ポップアップ作成メソッドのハッシュ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 定数(ポップアップのタイプID)&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; SPRING_LARGE = 0&lt;/p&gt; &lt;p&gt; SPRING_SMALL = 1&lt;/p&gt; &lt;p&gt; RISING_LARGE = 2&lt;/p&gt; &lt;p&gt; RISING_SMALL = 3&lt;/p&gt; &lt;p&gt; SLIDING_LARGE = 4&lt;/p&gt; &lt;p&gt; SLIDING_SMALL = 5&lt;/p&gt; &lt;p&gt; OVERLAY_LARGE = 6&lt;/p&gt; &lt;p&gt; OVERLAY_SMALL = 7&lt;/p&gt; &lt;p&gt; LEVELUP = :levelup&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 公開インスタンス変数&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; attr_accessor :type # ポップアップのタイプ&lt;/p&gt; &lt;p&gt; attr_accessor :popup # 表示する内容&lt;/p&gt; &lt;p&gt; attr_accessor :popup_size # ポップアップの大きさ&lt;/p&gt; &lt;p&gt; attr_accessor :color # 色&lt;/p&gt; &lt;p&gt; attr_accessor :deco # 修飾文字&lt;/p&gt; &lt;p&gt; attr_accessor :battler # ポップアップするバトラー&lt;/p&gt; &lt;p&gt; attr_accessor :delay # 表示開始までの時間&lt;/p&gt; &lt;p&gt; attr_accessor :viewport # ビューポート&lt;/p&gt; &lt;p&gt; attr_accessor :popup_wait # ポップアップウェイト&lt;/p&gt; &lt;p&gt; attr_accessor :buff_data # 能力強化/弱体 &amp;lt;&amp;lt;ver1.10&amp;gt;&amp;gt;&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● オブジェクト初期化&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def initialize&lt;/p&gt; &lt;p&gt; @sprites = []&lt;/p&gt; &lt;p&gt; @viewport = Viewport.new&lt;/p&gt; &lt;p&gt; @viewport.z = 120 # ポップアップの Z 座標&lt;/p&gt; &lt;p&gt; spb = Sprite_PopupBase.new&lt;/p&gt; &lt;p&gt; spb.create_number&lt;/p&gt; &lt;p&gt; spb.dispose&lt;/p&gt; &lt;p&gt; set_methods&lt;/p&gt; &lt;p&gt; refresh&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ポップアップ生成メソッドの登録&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_methods&lt;/p&gt; &lt;p&gt; @@make_methods[SPRING_LARGE] = method(:makeup_spring_large)&lt;/p&gt; &lt;p&gt; @@make_methods[SPRING_SMALL] = method(:makeup_spring_small)&lt;/p&gt; &lt;p&gt; @@make_methods[RISING_LARGE] = method(:makeup_rising_large)&lt;/p&gt; &lt;p&gt; @@make_methods[RISING_SMALL] = method(:makeup_rising_small)&lt;/p&gt; &lt;p&gt; @@make_methods[SLIDING_LARGE] = method(:makeup_sliding_large)&lt;/p&gt; &lt;p&gt; @@make_methods[SLIDING_SMALL] = method(:makeup_sliding_small)&lt;/p&gt; &lt;p&gt; @@make_methods[OVERLAY_LARGE] = method(:makeup_overlay_large)&lt;/p&gt; &lt;p&gt; @@make_methods[OVERLAY_SMALL] = method(:makeup_overlay_small)&lt;/p&gt; &lt;p&gt; @@make_methods[LEVELUP] = method(:makeup_levelup)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● スプライト解放&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def dispose&lt;/p&gt; &lt;p&gt; @sprites.each {|sprite| sprite.dispose}&lt;/p&gt; &lt;p&gt; @viewport.dispose&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● フレーム更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update&lt;/p&gt; &lt;p&gt; @sprites.each do |sprite|&lt;/p&gt; &lt;p&gt; sprite.update&lt;/p&gt; &lt;p&gt; @sprites.delete(sprite) if sprite.disposed?&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● リフレッシュ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def refresh&lt;/p&gt; &lt;p&gt; @type = 0&lt;/p&gt; &lt;p&gt; @popup = nil&lt;/p&gt; &lt;p&gt; @popup_size = :large&lt;/p&gt; &lt;p&gt; @color = :hp_damage&lt;/p&gt; &lt;p&gt; @deco = [&quot;&quot;, -1] # [テキスト, テキストの位置]&lt;/p&gt; &lt;p&gt; @battler = nil&lt;/p&gt; &lt;p&gt; @delay = 0&lt;/p&gt; &lt;p&gt; @popup_wait = false&lt;/p&gt; &lt;p&gt; # &amp;lt;&amp;lt;ver1.10&amp;gt;&amp;gt; 能力強化/弱体ポップアップを画像で表示する際に利用&lt;/p&gt; &lt;p&gt; @buff_data = [-1, -1] # [能力, 強化or弱体or解除]&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ポップアップを生成&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def makeup&lt;/p&gt; &lt;p&gt; if @@make_methods[@type]&lt;/p&gt; &lt;p&gt; @@make_methods[@type].call&lt;/p&gt; &lt;p&gt; @popup_wait = true&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ポップアップウェイト&lt;/p&gt; &lt;p&gt; # バトルログタイプが [2:ヘルプ表示] の場合のみ実行されます。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def add_wait&lt;/p&gt; &lt;p&gt; return if LNX11::BATTLELOG_TYPE != 2 || !@popup_wait&lt;/p&gt; &lt;p&gt; LNX11::POPUP_ADD_WAIT.times {BattleManager.log_window.abs_wait(1)}&lt;/p&gt; &lt;p&gt; @popup_wait = false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ポップアップ生成メソッド&lt;/p&gt; &lt;p&gt; # これらのメソッドを @@make_methods に登録して呼び出します。&lt;/p&gt; &lt;p&gt; # これはポップアップタイプの拡張を容易にするための仕様です。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def makeup_spring_large&lt;/p&gt; &lt;p&gt; # @type 0 : 跳ねるポップアップ(大)&lt;/p&gt; &lt;p&gt; @popup_size = :large&lt;/p&gt; &lt;p&gt; @sprites.push(Sprite_PopupSpring.new(self))&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def makeup_spring_small&lt;/p&gt; &lt;p&gt; # @type 1 : 跳ねるポップアップ(小)&lt;/p&gt; &lt;p&gt; @popup_size = :small&lt;/p&gt; &lt;p&gt; @delay = @battler.popup_delay[1]&lt;/p&gt; &lt;p&gt; @sprites.push(Sprite_PopupSpring.new(self))&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def makeup_rising_large&lt;/p&gt; &lt;p&gt; # @type 2 : ゆっくり上昇(大)&lt;/p&gt; &lt;p&gt; @popup_size = :large&lt;/p&gt; &lt;p&gt; @delay = @battler.popup_delay[2]&lt;/p&gt; &lt;p&gt; @sprites.push(Sprite_PopupRising.new(self))&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def makeup_rising_small&lt;/p&gt; &lt;p&gt; # @type 3 : ゆっくり上昇(小)&lt;/p&gt; &lt;p&gt; @popup_size = :small &lt;/p&gt; &lt;p&gt; @delay = @battler.popup_delay[2]&lt;/p&gt; &lt;p&gt; @sprites.push(Sprite_PopupRising.new(self))&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def makeup_sliding_large&lt;/p&gt; &lt;p&gt; # @type 4 : スライド(大)&lt;/p&gt; &lt;p&gt; @popup_size = :large&lt;/p&gt; &lt;p&gt; @delay = @battler.popup_delay[3]&lt;/p&gt; &lt;p&gt; @sprites.push(Sprite_PopupSliding.new(self))&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def makeup_sliding_small&lt;/p&gt; &lt;p&gt; # @type 5 : スライド(小)&lt;/p&gt; &lt;p&gt; @popup_size = :small&lt;/p&gt; &lt;p&gt; @delay = @battler.popup_delay[3]&lt;/p&gt; &lt;p&gt; @sprites.push(Sprite_PopupSliding.new(self)) &lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def makeup_overlay_large&lt;/p&gt; &lt;p&gt; # @type 6 : オーバーレイ(大)&lt;/p&gt; &lt;p&gt; @popup_size = :large&lt;/p&gt; &lt;p&gt; @sprites.push(Sprite_PopupOverlay.new(self))&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def makeup_overlay_small&lt;/p&gt; &lt;p&gt; # @type 7 : オーバーレイ(小)&lt;/p&gt; &lt;p&gt; @popup_size = :small&lt;/p&gt; &lt;p&gt; @sprites.push(Sprite_PopupOverlay.new(self))&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def makeup_levelup&lt;/p&gt; &lt;p&gt; # @type :levelup : レベルアップ&lt;/p&gt; &lt;p&gt; @battler.popup_delay[3] = 0&lt;/p&gt; &lt;p&gt; @popup_size = :large&lt;/p&gt; &lt;p&gt; @sprites.push(Sprite_PopupLevelUp.new(self))&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● TP のポップアップが有効か？&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def tp_popup_enabled?(target)&lt;/p&gt; &lt;p&gt; return false if !$data_system.opt_display_tp&lt;/p&gt; &lt;p&gt; return true if LNX11::TP_POPUP_TYPE == 0 # すべてポップアップ&lt;/p&gt; &lt;p&gt; return true if LNX11::TP_POPUP_TYPE == 1 &amp;amp;&amp;amp; target.actor? # アクターのみ&lt;/p&gt; &lt;p&gt; false # ポップアップしない&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 任意のポップアップ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_custom(target, popup, type = 0, color = :hp_damage, deco = nil)&lt;/p&gt; &lt;p&gt; refresh&lt;/p&gt; &lt;p&gt; @battler = target&lt;/p&gt; &lt;p&gt; @popup = popup&lt;/p&gt; &lt;p&gt; type = LNX11::POPUP_TYPE[type] if type.is_a?(Symbol)&lt;/p&gt; &lt;p&gt; @type = type&lt;/p&gt; &lt;p&gt; @color = color&lt;/p&gt; &lt;p&gt; @deco = LNX11::DECORATION_NUMBER[deco] if deco.is_a?(Symbol)&lt;/p&gt; &lt;p&gt; # ポップアップ作成&lt;/p&gt; &lt;p&gt; makeup&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● レベルアップのポップアップ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_levelup(target)&lt;/p&gt; &lt;p&gt; # 戦闘に参加している場合のみポップアップ&lt;/p&gt; &lt;p&gt; return unless $game_party.battle_members.include?(target)&lt;/p&gt; &lt;p&gt; refresh&lt;/p&gt; &lt;p&gt; @type = :levelup&lt;/p&gt; &lt;p&gt; @battler = target&lt;/p&gt; &lt;p&gt; @popup = LNX11::POPUP_VOCAB[:levelup]&lt;/p&gt; &lt;p&gt; @color = :levelup&lt;/p&gt; &lt;p&gt; # ポップアップ作成&lt;/p&gt; &lt;p&gt; makeup&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 単一テキストのポップアップ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_text(target, type)&lt;/p&gt; &lt;p&gt; refresh&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[type]&lt;/p&gt; &lt;p&gt; @battler = target&lt;/p&gt; &lt;p&gt; @popup = LNX11::POPUP_VOCAB[type]&lt;/p&gt; &lt;p&gt; @color = type&lt;/p&gt; &lt;p&gt; # ポップアップ作成&lt;/p&gt; &lt;p&gt; makeup&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ミスのポップアップ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_miss(target, item)&lt;/p&gt; &lt;p&gt; refresh&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[:miss]&lt;/p&gt; &lt;p&gt; @battler = target&lt;/p&gt; &lt;p&gt; @popup = LNX11::POPUP_VOCAB[:miss]&lt;/p&gt; &lt;p&gt; @color = :hp_damage&lt;/p&gt; &lt;p&gt; # ポップアップ作成&lt;/p&gt; &lt;p&gt; makeup&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● HP ダメージポップアップ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_hp_damage(target, item)&lt;/p&gt; &lt;p&gt; return if target.result.hp_damage == 0 &amp;amp;&amp;amp; item &amp;amp;&amp;amp; !item.damage.to_hp?&lt;/p&gt; &lt;p&gt; refresh&lt;/p&gt; &lt;p&gt; @popup = target.result.hp_damage&lt;/p&gt; &lt;p&gt; @battler = target&lt;/p&gt; &lt;p&gt; if target.result.hp_drain &amp;gt; 0&lt;/p&gt; &lt;p&gt; # 被吸収&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[:hp_drain]&lt;/p&gt; &lt;p&gt; # 弱点/耐性&lt;/p&gt; &lt;p&gt; if target.result.element_rate &amp;gt; 1&lt;/p&gt; &lt;p&gt; @deco = LNX11::DECORATION_NUMBER[:weakness]&lt;/p&gt; &lt;p&gt; @color = :weakness&lt;/p&gt; &lt;p&gt; elsif target.result.element_rate &amp;lt; 1&lt;/p&gt; &lt;p&gt; @deco = LNX11::DECORATION_NUMBER[:resist]&lt;/p&gt; &lt;p&gt; @color = :resist&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; @color = :hp_damage&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; elsif target.result.hp_damage &amp;gt; 0&lt;/p&gt; &lt;p&gt; # ダメージ&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[:hp_damage]&lt;/p&gt; &lt;p&gt; @color = :hp_damage&lt;/p&gt; &lt;p&gt; if target.result.critical&lt;/p&gt; &lt;p&gt; # クリティカル&lt;/p&gt; &lt;p&gt; @deco = LNX11::DECORATION_NUMBER[:critical]&lt;/p&gt; &lt;p&gt; @color = :critical&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # 弱点/耐性&lt;/p&gt; &lt;p&gt; if target.result.element_rate &amp;gt; 1&lt;/p&gt; &lt;p&gt; @deco = LNX11::DECORATION_NUMBER[:weakness]&lt;/p&gt; &lt;p&gt; @color = :weakness if @color != :critical&lt;/p&gt; &lt;p&gt; elsif target.result.element_rate &amp;lt; 1&lt;/p&gt; &lt;p&gt; @deco = LNX11::DECORATION_NUMBER[:resist]&lt;/p&gt; &lt;p&gt; @color = :resist if @color != :critical&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; elsif target.result.hp_damage &amp;lt; 0&lt;/p&gt; &lt;p&gt; # 回復&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[:hp_recovery]&lt;/p&gt; &lt;p&gt; @color = :hp_recovery&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # 0 ダメージ&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[:hp_damage]&lt;/p&gt; &lt;p&gt; @color = :hp_damage&lt;/p&gt; &lt;p&gt; end &lt;/p&gt; &lt;p&gt; # ポップアップ作成&lt;/p&gt; &lt;p&gt; makeup&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● MP ダメージポップアップ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_mp_damage(target, item)&lt;/p&gt; &lt;p&gt; return if target.dead? || target.result.mp_damage == 0&lt;/p&gt; &lt;p&gt; refresh&lt;/p&gt; &lt;p&gt; @popup = target.result.mp_damage&lt;/p&gt; &lt;p&gt; @battler = target&lt;/p&gt; &lt;p&gt; @deco = LNX11::DECORATION_NUMBER[:mp_damage]&lt;/p&gt; &lt;p&gt; if target.result.mp_drain &amp;gt; 0&lt;/p&gt; &lt;p&gt; # 被吸収&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[:mp_drain]&lt;/p&gt; &lt;p&gt; @color = :mp_damage&lt;/p&gt; &lt;p&gt; elsif target.result.mp_damage &amp;gt; 0&lt;/p&gt; &lt;p&gt; # ダメージ&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[:mp_damage]&lt;/p&gt; &lt;p&gt; @color = :mp_damage&lt;/p&gt; &lt;p&gt; elsif target.result.mp_damage &amp;lt; 0&lt;/p&gt; &lt;p&gt; # 回復&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[:mp_recovery]&lt;/p&gt; &lt;p&gt; @color = :mp_recovery&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # ポップアップ作成&lt;/p&gt; &lt;p&gt; makeup&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● TP ダメージポップアップ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_tp_damage(target, item)&lt;/p&gt; &lt;p&gt; return unless tp_popup_enabled?(target)&lt;/p&gt; &lt;p&gt; return if target.dead? || target.result.tp_damage == 0&lt;/p&gt; &lt;p&gt; refresh&lt;/p&gt; &lt;p&gt; @popup = target.result.tp_damage&lt;/p&gt; &lt;p&gt; @battler = target&lt;/p&gt; &lt;p&gt; deco = target.result.tp_damage &amp;gt; 0 ? :tp_minus : :tp_plus&lt;/p&gt; &lt;p&gt; @deco = LNX11::DECORATION_NUMBER[deco]&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[:tp_damage]&lt;/p&gt; &lt;p&gt; @color = :tp_damage&lt;/p&gt; &lt;p&gt; # ポップアップ作成&lt;/p&gt; &lt;p&gt; makeup&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● HP 吸収回復&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_hp_drain(target, hp_drain)&lt;/p&gt; &lt;p&gt; return if hp_drain == 0&lt;/p&gt; &lt;p&gt; refresh&lt;/p&gt; &lt;p&gt; @popup = hp_drain&lt;/p&gt; &lt;p&gt; @battler = target&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[:hp_drainrecv]&lt;/p&gt; &lt;p&gt; @color = :hp_recovery&lt;/p&gt; &lt;p&gt; # ポップアップ作成&lt;/p&gt; &lt;p&gt; makeup&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● MP 吸収回復&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_mp_drain(target, mp_drain)&lt;/p&gt; &lt;p&gt; return if mp_drain == 0&lt;/p&gt; &lt;p&gt; refresh&lt;/p&gt; &lt;p&gt; @popup = mp_drain&lt;/p&gt; &lt;p&gt; @battler = target&lt;/p&gt; &lt;p&gt; @deco = LNX11::DECORATION_NUMBER[:mp_damage]&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[:mp_drainrecv]&lt;/p&gt; &lt;p&gt; @color = :mp_recovery&lt;/p&gt; &lt;p&gt; # ポップアップ作成&lt;/p&gt; &lt;p&gt; makeup&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ステート付加のポップアップ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_added_states(target)&lt;/p&gt; &lt;p&gt; refresh&lt;/p&gt; &lt;p&gt; @battler = target&lt;/p&gt; &lt;p&gt; target.result.added_state_objects.each do |state|&lt;/p&gt; &lt;p&gt; next if state.id == target.death_state_id&lt;/p&gt; &lt;p&gt; next if state.icon_index == 0 &amp;amp;&amp;amp; LNX11::INDEXZERO_NO_POPUP&lt;/p&gt; &lt;p&gt; next if state.add_no_display? &lt;/p&gt; &lt;p&gt; if state.add_no_decoration?&lt;/p&gt; &lt;p&gt; @popup = state.add_display_name&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; @popup = sprintf(LNX11::DECORATION_TEXT[:add_state],&lt;/p&gt; &lt;p&gt; state.add_display_name)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; type = state.advantage? ? :add_state : :add_badstate&lt;/p&gt; &lt;p&gt; if state.add_popup_type&lt;/p&gt; &lt;p&gt; @type = state.add_popup_type&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[type]&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; @color = type&lt;/p&gt; &lt;p&gt; # ポップアップ作成&lt;/p&gt; &lt;p&gt; makeup&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ステート解除のポップアップ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_removed_states(target)&lt;/p&gt; &lt;p&gt; refresh&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[:rem_badstate]&lt;/p&gt; &lt;p&gt; @battler = target&lt;/p&gt; &lt;p&gt; target.result.removed_state_objects.each do |state|&lt;/p&gt; &lt;p&gt; next if state.id == target.death_state_id&lt;/p&gt; &lt;p&gt; next if state.icon_index == 0 &amp;amp;&amp;amp; LNX11::INDEXZERO_NO_POPUP&lt;/p&gt; &lt;p&gt; next if state.remove_no_display?&lt;/p&gt; &lt;p&gt; if state.remove_no_decoration?&lt;/p&gt; &lt;p&gt; @popup = state.remove_display_name&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; @popup = sprintf(LNX11::DECORATION_TEXT[:rem_state],&lt;/p&gt; &lt;p&gt; state.remove_display_name)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; type = state.advantage? ? :rem_state : :rem_badstate&lt;/p&gt; &lt;p&gt; if state.remove_popup_type&lt;/p&gt; &lt;p&gt; @type = state.remove_popup_type&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[type]&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; @color = type&lt;/p&gt; &lt;p&gt; # ポップアップ作成&lt;/p&gt; &lt;p&gt; makeup&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 能力強化／弱体のポップアップ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_buffs(target, buffs, fmt)&lt;/p&gt; &lt;p&gt; return if buffs.empty?&lt;/p&gt; &lt;p&gt; refresh&lt;/p&gt; &lt;p&gt; @battler = target&lt;/p&gt; &lt;p&gt; case fmt &lt;/p&gt; &lt;p&gt; when Vocab::BuffAdd &lt;/p&gt; &lt;p&gt; buffdeco = LNX11::DECORATION_TEXT[:add_buff]&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[:add_buff]&lt;/p&gt; &lt;p&gt; @color = :add_buff&lt;/p&gt; &lt;p&gt; @buff_data[1] = 0&lt;/p&gt; &lt;p&gt; when Vocab::DebuffAdd&lt;/p&gt; &lt;p&gt; buffdeco = LNX11::DECORATION_TEXT[:add_debuff]&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[:add_debuff]&lt;/p&gt; &lt;p&gt; @color = :add_debuff&lt;/p&gt; &lt;p&gt; @buff_data[1] = 1&lt;/p&gt; &lt;p&gt; when Vocab::BuffRemove&lt;/p&gt; &lt;p&gt; buffdeco = LNX11::DECORATION_TEXT[:rem_buff]&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[:rem_buff]&lt;/p&gt; &lt;p&gt; @color = :rem_buff&lt;/p&gt; &lt;p&gt; @buff_data[1] = 2&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; buffs.each do |param_id|&lt;/p&gt; &lt;p&gt; @popup = sprintf(buffdeco, LNX11::POPUP_VOCAB_PARAMS[param_id])&lt;/p&gt; &lt;p&gt; @buff_data[0] = param_id&lt;/p&gt; &lt;p&gt; # ポップアップ作成&lt;/p&gt; &lt;p&gt; makeup&lt;/p&gt; &lt;p&gt; @popup_wait = false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● HP 再生&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_regenerate_hp(target, hp_damage, paycost = false)&lt;/p&gt; &lt;p&gt; return if hp_damage == 0&lt;/p&gt; &lt;p&gt; refresh&lt;/p&gt; &lt;p&gt; @popup = hp_damage&lt;/p&gt; &lt;p&gt; @battler = target&lt;/p&gt; &lt;p&gt; if hp_damage &amp;gt; 0&lt;/p&gt; &lt;p&gt; # ダメージ&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[:hp_slipdamage]&lt;/p&gt; &lt;p&gt; @color = :hp_damage&lt;/p&gt; &lt;p&gt; elsif hp_damage &amp;lt; 0&lt;/p&gt; &lt;p&gt; # 回復&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[:hp_regenerate]&lt;/p&gt; &lt;p&gt; @color = :hp_recovery&lt;/p&gt; &lt;p&gt; end &lt;/p&gt; &lt;p&gt; # ポップアップ作成&lt;/p&gt; &lt;p&gt; makeup&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● MP 再生&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_regenerate_mp(target, mp_damage, paycost = false)&lt;/p&gt; &lt;p&gt; return if mp_damage == 0&lt;/p&gt; &lt;p&gt; refresh&lt;/p&gt; &lt;p&gt; @popup = mp_damage&lt;/p&gt; &lt;p&gt; @battler = target&lt;/p&gt; &lt;p&gt; @deco = LNX11::DECORATION_NUMBER[mp_damage &amp;gt; 0 ? :mp_minus : :mp_plus]&lt;/p&gt; &lt;p&gt; if mp_damage &amp;gt; 0&lt;/p&gt; &lt;p&gt; # ダメージ&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[paycost ? :mp_paycost : :mp_slipdamage]&lt;/p&gt; &lt;p&gt; @color = :mp_damage&lt;/p&gt; &lt;p&gt; elsif mp_damage &amp;lt; 0&lt;/p&gt; &lt;p&gt; # 回復&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[paycost ? :mp_paycost : :mp_regenerate]&lt;/p&gt; &lt;p&gt; @color = :mp_recovery&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # ポップアップ作成&lt;/p&gt; &lt;p&gt; makeup&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● TP 再生&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_regenerate_tp(target, tp_damage, paycost = false)&lt;/p&gt; &lt;p&gt; return unless tp_popup_enabled?(target)&lt;/p&gt; &lt;p&gt; return if tp_damage == 0&lt;/p&gt; &lt;p&gt; refresh&lt;/p&gt; &lt;p&gt; @popup = tp_damage&lt;/p&gt; &lt;p&gt; @battler = target&lt;/p&gt; &lt;p&gt; @deco = LNX11::DECORATION_NUMBER[tp_damage &amp;gt; 0 ? :tp_minus : :tp_plus]&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[paycost ? :tp_paycost : :tp_regenerate]&lt;/p&gt; &lt;p&gt; @color = :tp_damage&lt;/p&gt; &lt;p&gt; # ポップアップ作成&lt;/p&gt; &lt;p&gt; makeup&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● TP チャージ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_tp_charge(target, tp_damage)&lt;/p&gt; &lt;p&gt; return unless tp_popup_enabled?(target)&lt;/p&gt; &lt;p&gt; return if tp_damage == 0&lt;/p&gt; &lt;p&gt; refresh&lt;/p&gt; &lt;p&gt; @popup = tp_damage&lt;/p&gt; &lt;p&gt; @battler = target&lt;/p&gt; &lt;p&gt; @deco = LNX11::DECORATION_NUMBER[tp_damage &amp;gt; 0 ? :tp_minus : :tp_plus]&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[:tp_charge]&lt;/p&gt; &lt;p&gt; @color = :tp_damage&lt;/p&gt; &lt;p&gt; # ポップアップ作成&lt;/p&gt; &lt;p&gt; makeup&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● TP 得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_tp_gain(target, tp_damage)&lt;/p&gt; &lt;p&gt; return unless tp_popup_enabled?(target)&lt;/p&gt; &lt;p&gt; return if tp_damage == 0&lt;/p&gt; &lt;p&gt; refresh&lt;/p&gt; &lt;p&gt; @popup = tp_damage&lt;/p&gt; &lt;p&gt; @battler = target&lt;/p&gt; &lt;p&gt; @deco = LNX11::DECORATION_NUMBER[tp_damage &amp;gt; 0 ? :tp_minus : :tp_plus]&lt;/p&gt; &lt;p&gt; @type = LNX11::POPUP_TYPE[:tp_gain]&lt;/p&gt; &lt;p&gt; @color = :tp_damage&lt;/p&gt; &lt;p&gt; # ポップアップ作成&lt;/p&gt; &lt;p&gt; makeup&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ [追加]:Sprite_PopupBase&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# 戦闘中のダメージ表示等をポップアップ表示するためのスプライトの&lt;/p&gt; &lt;p&gt;# スーパークラス。サブクラスで細かい動きを定義します。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Sprite_PopupBase &amp;lt; Sprite&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● クラス変数&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; @@cache_number = []&lt;/p&gt; &lt;p&gt; @@cache_text = {}&lt;/p&gt; &lt;p&gt; @@w = []&lt;/p&gt; &lt;p&gt; @@h = []&lt;/p&gt; &lt;p&gt; @@priority = 0&lt;/p&gt; &lt;p&gt; @@count = 0&lt;/p&gt; &lt;p&gt; @@buf_bitmap = nil&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 定数&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; NUMBER_COLOR_SIZE = 8&lt;/p&gt; &lt;p&gt; NUMBERS = [0,1,2,3,4,5,6,7,8,9]&lt;/p&gt; &lt;p&gt; COLOR_KEYS = LNX11::POPUP_COLOR.keys &lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● オブジェクト初期化&lt;/p&gt; &lt;p&gt; # data : ポップアップデータ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def initialize(data = nil)&lt;/p&gt; &lt;p&gt; if data == nil || !data.battler.battle_member?&lt;/p&gt; &lt;p&gt; # 非表示のポップアップ&lt;/p&gt; &lt;p&gt; super(nil)&lt;/p&gt; &lt;p&gt; @remove = true&lt;/p&gt; &lt;p&gt; return&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # ポップアップデータを適用&lt;/p&gt; &lt;p&gt; super(data.viewport)&lt;/p&gt; &lt;p&gt; @battler = data.battler # ポップアップを表示するバトラー&lt;/p&gt; &lt;p&gt; @delay = data.delay # ディレイ(遅延) ※サブクラスによって扱いが違います&lt;/p&gt; &lt;p&gt; @popup_size = data.popup_size # ポップアップの大きさ 大/小&lt;/p&gt; &lt;p&gt; # 基本設定&lt;/p&gt; &lt;p&gt; @duration = 60 # 消え始める時間&lt;/p&gt; &lt;p&gt; @fadeout = 16 # 消える速さ&lt;/p&gt; &lt;p&gt; @rx = ry = 0 # XY座標&lt;/p&gt; &lt;p&gt; # Z座標&lt;/p&gt; &lt;p&gt; @rz = base_z * 128 + priority&lt;/p&gt; &lt;p&gt; popup_add&lt;/p&gt; &lt;p&gt; self.visible = false&lt;/p&gt; &lt;p&gt; # ポップアップデータからビットマップを作成&lt;/p&gt; &lt;p&gt; if data.popup.is_a?(Numeric)&lt;/p&gt; &lt;p&gt; # ダメージ値&lt;/p&gt; &lt;p&gt; self.bitmap = number(data.popup, data.color, data.popup_size, data.deco)&lt;/p&gt; &lt;p&gt; elsif data.popup.is_a?(String)&lt;/p&gt; &lt;p&gt; # テキスト&lt;/p&gt; &lt;p&gt; self.bitmap = text(data.popup, data.color, &lt;/p&gt; &lt;p&gt; data.popup_size, data.buff_data)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # 位置設定&lt;/p&gt; &lt;p&gt; self.ox = self.width / 2&lt;/p&gt; &lt;p&gt; self.oy = self.height / 2&lt;/p&gt; &lt;p&gt; set_position&lt;/p&gt; &lt;p&gt; start&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 解放&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def dispose&lt;/p&gt; &lt;p&gt; popup_remove&lt;/p&gt; &lt;p&gt; terminate&lt;/p&gt; &lt;p&gt; self.bitmap.dispose if self.bitmap&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● フレーム更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update&lt;/p&gt; &lt;p&gt; return if removed? || delay?&lt;/p&gt; &lt;p&gt; update_popup&lt;/p&gt; &lt;p&gt; update_xy&lt;/p&gt; &lt;p&gt; @duration -= 1&lt;/p&gt; &lt;p&gt; self.opacity -= @fadeout if @duration &amp;lt;= 0&lt;/p&gt; &lt;p&gt; dispose if self.opacity == 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 開始処理(サブクラスで定義)&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def start&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 終了処理(サブクラスで定義)&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def terminate&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● フレーム更新(サブクラスで定義)&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_popup&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ポップアップ Z 座標&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def base_z&lt;/p&gt; &lt;p&gt; 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ポップアップのプライオリティを返す&lt;/p&gt; &lt;p&gt; # 同一Z座標のポップアップで、後から生成されたものが手前に表示されるように&lt;/p&gt; &lt;p&gt; # Z座標の修正値をクラス変数で管理しています。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def priority&lt;/p&gt; &lt;p&gt; @@priority * 2&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ポップアップ追加&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_add&lt;/p&gt; &lt;p&gt; @@priority += 1&lt;/p&gt; &lt;p&gt; @@count += 1&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ポップアップ消去&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_remove&lt;/p&gt; &lt;p&gt; @remove = true&lt;/p&gt; &lt;p&gt; @@count -= 1&lt;/p&gt; &lt;p&gt; @@priority = 0 if @@count &amp;lt;= 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ディレイが残っている？&lt;/p&gt; &lt;p&gt; # サブクラスの update メソッドで使用します。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def delay?&lt;/p&gt; &lt;p&gt; @delay -= 1&lt;/p&gt; &lt;p&gt; self.visible = (@delay &amp;lt;= 0)&lt;/p&gt; &lt;p&gt; !self.visible&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ポップアップ消去済み？&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def removed?&lt;/p&gt; &lt;p&gt; @remove&lt;/p&gt; &lt;p&gt; end &lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 座標更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_xy&lt;/p&gt; &lt;p&gt; self.x = @rx&lt;/p&gt; &lt;p&gt; self.y = @ry&lt;/p&gt; &lt;p&gt; self.z = @rz&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ポップアップ位置の設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_position&lt;/p&gt; &lt;p&gt; @rx = @battler.screen_x&lt;/p&gt; &lt;p&gt; if @battler.actor?&lt;/p&gt; &lt;p&gt; pos = LNX11::ACTOR_POPUP_POSITION&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; pos = [LNX11::ENEMY_POPUP_POSITION, 2].min&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; case pos&lt;/p&gt; &lt;p&gt; when 0 ; @ry = @battler.screen_y # 足元&lt;/p&gt; &lt;p&gt; when 1 ; @ry = @battler.screen_y_center # 中心&lt;/p&gt; &lt;p&gt; when 2 ; @ry = @battler.screen_y_top # 頭上&lt;/p&gt; &lt;p&gt; when 3 ; @ry = Graphics.height + LNX11::ACTOR_POPUP_Y # Y座標統一(アクター)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 描画するテキストの矩形を取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def text_size(str, name, size, bold = false)&lt;/p&gt; &lt;p&gt; @@buf_bitmap = Bitmap.new(4, 4) if !@@buf_bitmap || @@buf_bitmap.disposed?&lt;/p&gt; &lt;p&gt; @@buf_bitmap.font.name = name&lt;/p&gt; &lt;p&gt; @@buf_bitmap.font.size = size&lt;/p&gt; &lt;p&gt; @@buf_bitmap.font.bold = bold&lt;/p&gt; &lt;p&gt; return @@buf_bitmap.text_size(str)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 数字ビットマップの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def bitmap_number(size = :large)&lt;/p&gt; &lt;p&gt; return @@cache_number[size == :large ? 0 : 1]&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 数字ビットマップキャッシュの作成&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def create_number&lt;/p&gt; &lt;p&gt; return if @@cache_number[0] &amp;amp;&amp;amp; !@@cache_number[0].disposed?&lt;/p&gt; &lt;p&gt; n_index = NUMBER_COLOR_SIZE&lt;/p&gt; &lt;p&gt; @@cache_number.clear&lt;/p&gt; &lt;p&gt; colors = LNX11::POPUP_COLOR.values # 色&lt;/p&gt; &lt;p&gt; name = LNX11::NUMBER_FONT&lt;/p&gt; &lt;p&gt; # 大・小の 2 パターンを作成する(ループ)&lt;/p&gt; &lt;p&gt; [LNX11::LARGE_NUMBER, LNX11::SMALL_NUMBER].each_with_index do |n_size, i|&lt;/p&gt; &lt;p&gt; next if get_number(i)&lt;/p&gt; &lt;p&gt; size = n_size[:fontsize]&lt;/p&gt; &lt;p&gt; # 数字の幅・高さ&lt;/p&gt; &lt;p&gt; w = NUMBERS.collect{|n| text_size(n.to_s, name, size).width}.max + 4&lt;/p&gt; &lt;p&gt; nh = NUMBERS.collect{|n| text_size(n.to_s, name, size).height}.max&lt;/p&gt; &lt;p&gt; h = n_size[:line_height]&lt;/p&gt; &lt;p&gt; @@w[i] = w&lt;/p&gt; &lt;p&gt; @@h[i] = h&lt;/p&gt; &lt;p&gt; # ビットマップ作成&lt;/p&gt; &lt;p&gt; bitmap = Bitmap.new(w * NUMBERS.size, h * [colors.size, n_index].min)&lt;/p&gt; &lt;p&gt; bitmap.font.name = LNX11::NUMBER_FONT&lt;/p&gt; &lt;p&gt; bitmap.font.size = n_size[:fontsize]&lt;/p&gt; &lt;p&gt; y = ((h - nh) / 2) - 1&lt;/p&gt; &lt;p&gt; # 色ごとに分けて描画する(ループ)&lt;/p&gt; &lt;p&gt; n_index.times do |col|&lt;/p&gt; &lt;p&gt; # 色を変更&lt;/p&gt; &lt;p&gt; bitmap.font.color.set(colors[col][0])&lt;/p&gt; &lt;p&gt; bitmap.font.out_color.set(colors[col][1])&lt;/p&gt; &lt;p&gt; # 文字ごとに分けて描画(ループ)&lt;/p&gt; &lt;p&gt; NUMBERS.size.times do |num|&lt;/p&gt; &lt;p&gt; bitmap.draw_text(num * w, (col * h) + y, w, nh, NUMBERS[num], 2)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; @@cache_number.push(bitmap)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; p &quot;LNX11a:数字ビットマップのキャッシュを作成しました。&quot;&lt;/p&gt; &lt;p&gt; # 数字ビットマップを表示する(テスト用)&lt;/p&gt; &lt;p&gt; # s = Sprite.new&lt;/p&gt; &lt;p&gt; # s.z = 1000000&lt;/p&gt; &lt;p&gt; # s.bitmap = @@cache_number[1] # 0 or 1&lt;/p&gt; &lt;p&gt; # loop do Graphics.update end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 数字ビットマップの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def get_number(i)&lt;/p&gt; &lt;p&gt; case i&lt;/p&gt; &lt;p&gt; when 0 # 大&lt;/p&gt; &lt;p&gt; return false if LNX11::LARGE_NUMBER_NAME.empty?&lt;/p&gt; &lt;p&gt; bitmap = Cache.system(LNX11::LARGE_NUMBER_NAME)&lt;/p&gt; &lt;p&gt; when 1 # 小&lt;/p&gt; &lt;p&gt; return false if LNX11::SMALL_NUMBER_NAME.empty?&lt;/p&gt; &lt;p&gt; bitmap = Cache.system(LNX11::SMALL_NUMBER_NAME)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; @@cache_number.push(bitmap)&lt;/p&gt; &lt;p&gt; @@w[i] = bitmap.width / NUMBERS.size&lt;/p&gt; &lt;p&gt; @@h[i] = bitmap.height / NUMBER_COLOR_SIZE&lt;/p&gt; &lt;p&gt; true&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ダメージ数を描画したビットマップの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def number(num, color, size = :large, deco = nil)&lt;/p&gt; &lt;p&gt; # 数値を文字列の配列にする&lt;/p&gt; &lt;p&gt; numbers = (num.abs.to_s).split(//)&lt;/p&gt; &lt;p&gt; # 色番号を取得&lt;/p&gt; &lt;p&gt; color_index = COLOR_KEYS.index(color)&lt;/p&gt; &lt;p&gt; # ポップアップサイズを設定&lt;/p&gt; &lt;p&gt; n_bitmap = bitmap_number(size)&lt;/p&gt; &lt;p&gt; if size == :large&lt;/p&gt; &lt;p&gt; n_size = LNX11::LARGE_NUMBER&lt;/p&gt; &lt;p&gt; i = 0&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; n_size = LNX11::SMALL_NUMBER&lt;/p&gt; &lt;p&gt; i = 1&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; spacing = n_size[:spacing]&lt;/p&gt; &lt;p&gt; w = @@w[i]&lt;/p&gt; &lt;p&gt; h = @@h[i]&lt;/p&gt; &lt;p&gt; # ダメージ値のビットマップサイズ&lt;/p&gt; &lt;p&gt; @bw = w * numbers.size + spacing * (numbers.size - 1)&lt;/p&gt; &lt;p&gt; @bh = h&lt;/p&gt; &lt;p&gt; # 修飾文字の描画&lt;/p&gt; &lt;p&gt; @offset_x = @offset_y = 0&lt;/p&gt; &lt;p&gt; text_bitmap = deco_text(deco,color,n_size[:fontsize]) if deco[1] &amp;gt;= 0&lt;/p&gt; &lt;p&gt; # ビットマップを作成&lt;/p&gt; &lt;p&gt; bitmap = Bitmap.new(@bw, @bh) &lt;/p&gt; &lt;p&gt; # 塗りつぶし(テスト用)&lt;/p&gt; &lt;p&gt; # bitmap.fill_rect(bitmap.rect, Color.new(0,0,0,128))&lt;/p&gt; &lt;p&gt; # ダメージ値を描画&lt;/p&gt; &lt;p&gt; rect = Rect.new(0, h * color_index, w, h)&lt;/p&gt; &lt;p&gt; numbers.size.times do |n|&lt;/p&gt; &lt;p&gt; rect.x = numbers[n].to_i * w&lt;/p&gt; &lt;p&gt; bitmap.blt(w * n + spacing * n + @offset_x, @offset_y, n_bitmap, rect) &lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # 修飾文字の描画をコールバック&lt;/p&gt; &lt;p&gt; @decoblt.call(bitmap) if @decoblt&lt;/p&gt; &lt;p&gt; @decoblt = nil&lt;/p&gt; &lt;p&gt; # ビットマップを返す&lt;/p&gt; &lt;p&gt; bitmap&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 修飾文字の描画&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def deco_text(deco, color, sizerate)&lt;/p&gt; &lt;p&gt; # 元の幅・高さ&lt;/p&gt; &lt;p&gt; ow = @bw&lt;/p&gt; &lt;p&gt; oh = @bh&lt;/p&gt; &lt;p&gt; case deco[1] &lt;/p&gt; &lt;p&gt; when 2 # ダメージ値の下&lt;/p&gt; &lt;p&gt; # テキストのビットマップを取得&lt;/p&gt; &lt;p&gt; size = decosize(deco[0], sizerate, :top_bottom)&lt;/p&gt; &lt;p&gt; text_bitmap = text(deco[0], color, size)&lt;/p&gt; &lt;p&gt; # テキストの幅・高さ&lt;/p&gt; &lt;p&gt; tw = text_bitmap.width&lt;/p&gt; &lt;p&gt; th = text_bitmap.height * 0.8&lt;/p&gt; &lt;p&gt; # 最終的なビットマップのサイズ&lt;/p&gt; &lt;p&gt; @bw = [@bw, tw].max&lt;/p&gt; &lt;p&gt; @bh += th&lt;/p&gt; &lt;p&gt; # ダメージ値の描画位置の修正&lt;/p&gt; &lt;p&gt; @offset_x = (@bw - ow) / 2&lt;/p&gt; &lt;p&gt; @offset_y = 0&lt;/p&gt; &lt;p&gt; # 修飾文字の描画位置を設定&lt;/p&gt; &lt;p&gt; x = (@bw - tw) / 2&lt;/p&gt; &lt;p&gt; y = oh * 0.8&lt;/p&gt; &lt;p&gt; when 4 # ダメージ値の左&lt;/p&gt; &lt;p&gt; # テキストのビットマップを取得&lt;/p&gt; &lt;p&gt; size = decosize(deco[0], sizerate, :left_right)&lt;/p&gt; &lt;p&gt; text_bitmap = text(deco[0], color, size)&lt;/p&gt; &lt;p&gt; # テキストの幅・高さ&lt;/p&gt; &lt;p&gt; tw = text_bitmap.width&lt;/p&gt; &lt;p&gt; th = text_bitmap.height&lt;/p&gt; &lt;p&gt; # 最終的なビットマップのサイズ&lt;/p&gt; &lt;p&gt; @bw += tw&lt;/p&gt; &lt;p&gt; @bh = [@bh, th].max&lt;/p&gt; &lt;p&gt; # ダメージ値の描画位置の修正&lt;/p&gt; &lt;p&gt; @offset_x = tw&lt;/p&gt; &lt;p&gt; @offset_y = (@bh - oh) / 2&lt;/p&gt; &lt;p&gt; # 修飾文字の描画位置を設定&lt;/p&gt; &lt;p&gt; x = 2&lt;/p&gt; &lt;p&gt; y = (@bh - th) / 2&lt;/p&gt; &lt;p&gt; when 6 # ダメージ値の右&lt;/p&gt; &lt;p&gt; # テキストのビットマップを取得&lt;/p&gt; &lt;p&gt; size = decosize(deco[0], sizerate, :left_right)&lt;/p&gt; &lt;p&gt; text_bitmap = text(deco[0], color, size)&lt;/p&gt; &lt;p&gt; # テキストの幅・高さ&lt;/p&gt; &lt;p&gt; tw = text_bitmap.width&lt;/p&gt; &lt;p&gt; th = text_bitmap.height&lt;/p&gt; &lt;p&gt; # 最終的なビットマップのサイズ&lt;/p&gt; &lt;p&gt; @bw += tw&lt;/p&gt; &lt;p&gt; @bh = [@bh, th].max&lt;/p&gt; &lt;p&gt; # ダメージ値の描画位置の修正&lt;/p&gt; &lt;p&gt; @offset_x = 0&lt;/p&gt; &lt;p&gt; @offset_y = (@bh - oh) / 2&lt;/p&gt; &lt;p&gt; # 修飾文字の描画位置を設定&lt;/p&gt; &lt;p&gt; x = ow&lt;/p&gt; &lt;p&gt; y = (@bh - th) / 2&lt;/p&gt; &lt;p&gt; when 8 # ダメージ値の上&lt;/p&gt; &lt;p&gt; # テキストのビットマップを取得&lt;/p&gt; &lt;p&gt; size = decosize(deco[0], sizerate, :top_bottom)&lt;/p&gt; &lt;p&gt; text_bitmap = text(deco[0], color, size)&lt;/p&gt; &lt;p&gt; # テキストの幅・高さ&lt;/p&gt; &lt;p&gt; tw = text_bitmap.width&lt;/p&gt; &lt;p&gt; th = text_bitmap.height * 0.8&lt;/p&gt; &lt;p&gt; # 最終的なビットマップのサイズ&lt;/p&gt; &lt;p&gt; @bw = [@bw, tw].max&lt;/p&gt; &lt;p&gt; @bh += th&lt;/p&gt; &lt;p&gt; # ダメージ値の描画位置の修正&lt;/p&gt; &lt;p&gt; @offset_x = (@bw - ow) / 2&lt;/p&gt; &lt;p&gt; @offset_y = @bh - oh&lt;/p&gt; &lt;p&gt; # 修飾文字の描画位置を設定&lt;/p&gt; &lt;p&gt; x = (@bw - tw) / 2&lt;/p&gt; &lt;p&gt; y = 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # 修飾文字の描画(コールバック)&lt;/p&gt; &lt;p&gt; @decoblt = Proc.new {|bitmap|&lt;/p&gt; &lt;p&gt; bitmap.blt(x, y, text_bitmap, text_bitmap.rect)&lt;/p&gt; &lt;p&gt; text_bitmap.dispose}&lt;/p&gt; &lt;p&gt; return text_bitmap&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 修飾文字のサイズ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def decosize(text, size, pos)&lt;/p&gt; &lt;p&gt; if text.length != text.bytesize&lt;/p&gt; &lt;p&gt; return size * LNX11::TEXT_SIZERATE[pos] * LNX11::TEXT_SIZERATE_MCS&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; return size * LNX11::TEXT_SIZERATE[pos]&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● テキストを描画したビットマップの取得&lt;/p&gt; &lt;p&gt; # ステートやダメージ値の修飾文字の描画に使用します。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def text(text, color, size = :large, buff_data = [-1, -1])&lt;/p&gt; &lt;p&gt; # キャッシュがあればそれを返す(無ければ作成)&lt;/p&gt; &lt;p&gt; key = text + color.to_s + size.to_s&lt;/p&gt; &lt;p&gt; if @@cache_text[key] &amp;amp;&amp;amp; !@@cache_text[key].disposed?&lt;/p&gt; &lt;p&gt; return @@cache_text[key].clone &lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # 用語の置き換え&lt;/p&gt; &lt;p&gt; text.gsub!(&quot;\hp&quot;) { Vocab::hp_a } if text.include?(&quot;\hp&quot;)&lt;/p&gt; &lt;p&gt; text.gsub!(&quot;\mp&quot;) { Vocab::mp_a } if text.include?(&quot;\mp&quot;) &lt;/p&gt; &lt;p&gt; text.gsub!(&quot;\tp&quot;) { Vocab::tp_a } if text.include?(&quot;\tp&quot;)&lt;/p&gt; &lt;p&gt; # &amp;lt;&amp;lt;ver1.10&amp;gt;&amp;gt; テキストの頭に _ があれば対応する画像ファイルを参照する&lt;/p&gt; &lt;p&gt; if text[/^[\_]./]&lt;/p&gt; &lt;p&gt; bitmap = get_text_bitmap(text, color, size)&lt;/p&gt; &lt;p&gt; # キャッシュに保存&lt;/p&gt; &lt;p&gt; @@cache_text[key] = bitmap&lt;/p&gt; &lt;p&gt; # ビットマップを返す&lt;/p&gt; &lt;p&gt; return bitmap.clone&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # &amp;lt;&amp;lt;ver1.10&amp;gt;&amp;gt; &lt;/p&gt; &lt;p&gt; # 能力強化/弱体のポップアップで、ファイル名が指定されていればそれを返す&lt;/p&gt; &lt;p&gt; if buff_data[0] &amp;gt;= 0 &amp;amp;&amp;amp;&lt;/p&gt; &lt;p&gt; (size == :large &amp;amp;&amp;amp; !LNX11::LARGE_BUFFS_NAME.empty?) ||&lt;/p&gt; &lt;p&gt; (size == :small &amp;amp;&amp;amp; !LNX11::SMALL_BUFFS_NAME.empty?)&lt;/p&gt; &lt;p&gt; bitmap = get_buff_bitmap(buff_data, size)&lt;/p&gt; &lt;p&gt; # キャッシュに保存&lt;/p&gt; &lt;p&gt; @@cache_text[key] = bitmap&lt;/p&gt; &lt;p&gt; # ビットマップを返す&lt;/p&gt; &lt;p&gt; return bitmap.clone&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # テキストにマルチバイト文字があれば日本語用フォントを使う&lt;/p&gt; &lt;p&gt; if text.length != text.bytesize&lt;/p&gt; &lt;p&gt; fontname = LNX11::TEXT_FONT_MCS&lt;/p&gt; &lt;p&gt; sizerate = LNX11::TEXT_SIZERATE[:normal] * LNX11::TEXT_SIZERATE_MCS&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; fontname = LNX11::TEXT_FONT&lt;/p&gt; &lt;p&gt; sizerate = LNX11::TEXT_SIZERATE[:normal]&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # ポップアップサイズを設定&lt;/p&gt; &lt;p&gt; case size&lt;/p&gt; &lt;p&gt; when :large ; fontsize = LNX11::LARGE_NUMBER[:fontsize] * sizerate&lt;/p&gt; &lt;p&gt; when :small ; fontsize = LNX11::SMALL_NUMBER[:fontsize] * sizerate&lt;/p&gt; &lt;p&gt; else ; fontsize = size&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # テキストサイズ計算&lt;/p&gt; &lt;p&gt; rect = text_size(text, fontname, fontsize)&lt;/p&gt; &lt;p&gt; rect.width += 2&lt;/p&gt; &lt;p&gt; # ビットマップを作成&lt;/p&gt; &lt;p&gt; bitmap = Bitmap.new(rect.width, rect.height) &lt;/p&gt; &lt;p&gt; # 塗りつぶし(テスト用)&lt;/p&gt; &lt;p&gt; # bitmap.fill_rect(bitmap.rect, Color.new(0,0,0,128)) &lt;/p&gt; &lt;p&gt; # フォント設定&lt;/p&gt; &lt;p&gt; bitmap.font.name = fontname&lt;/p&gt; &lt;p&gt; bitmap.font.size = fontsize&lt;/p&gt; &lt;p&gt; bitmap.font.color.set(LNX11::POPUP_COLOR[color][0])&lt;/p&gt; &lt;p&gt; bitmap.font.out_color.set(LNX11::POPUP_COLOR[color][1])&lt;/p&gt; &lt;p&gt; # テキスト描画&lt;/p&gt; &lt;p&gt; bitmap.draw_text(rect, text, 1)&lt;/p&gt; &lt;p&gt; # キャッシュに保存&lt;/p&gt; &lt;p&gt; @@cache_text[key] = bitmap&lt;/p&gt; &lt;p&gt; # ビットマップを返す&lt;/p&gt; &lt;p&gt; bitmap.clone&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 能力強化/弱体ビットマップの取得 &amp;lt;&amp;lt;ver1.10&amp;gt;&amp;gt;&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def get_buff_bitmap(buff_data, size)&lt;/p&gt; &lt;p&gt; case size&lt;/p&gt; &lt;p&gt; when :large ; src_bitmap = Cache.system(LNX11::LARGE_BUFFS_NAME)&lt;/p&gt; &lt;p&gt; when :small ; src_bitmap = Cache.system(LNX11::SMALL_BUFFS_NAME)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; src_rect = Rect.new&lt;/p&gt; &lt;p&gt; src_rect.width = src_bitmap.width / 2&lt;/p&gt; &lt;p&gt; src_rect.height = src_bitmap.height / 12&lt;/p&gt; &lt;p&gt; src_rect.x = (buff_data[0] / 4) * src_rect.width&lt;/p&gt; &lt;p&gt; src_rect.y = (buff_data[0] % 4) * src_rect.height * 3 +&lt;/p&gt; &lt;p&gt; buff_data[1] * src_rect.height&lt;/p&gt; &lt;p&gt; bitmap = Bitmap.new(src_rect.width, src_rect.height)&lt;/p&gt; &lt;p&gt; bitmap.blt(0, 0, src_bitmap, src_rect)&lt;/p&gt; &lt;p&gt; bitmap&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● テキストビットマップの取得 &amp;lt;&amp;lt;ver1.10&amp;gt;&amp;gt;&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def get_text_bitmap(text, color, size)&lt;/p&gt; &lt;p&gt; # クリティカルカラーかつ、弱点/耐性なら参照するビットマップを変更&lt;/p&gt; &lt;p&gt; if LNX11::POPUP_COLOR[color] == LNX11::POPUP_COLOR[:critical] &amp;amp;&amp;amp;&lt;/p&gt; &lt;p&gt; (text == LNX11::DECORATION_NUMBER[:weakness][0] ||&lt;/p&gt; &lt;p&gt; text == LNX11::DECORATION_NUMBER[:resist][0])&lt;/p&gt; &lt;p&gt; # ファイル名に _critcolor を加える&lt;/p&gt; &lt;p&gt; text += &quot;_critcolor&quot;&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # MPダメージ/回復(符号なし)なら参照するビットマップを変更&lt;/p&gt; &lt;p&gt; if text == LNX11::DECORATION_NUMBER[:mp_damage][0]&lt;/p&gt; &lt;p&gt; # カラーに応じてファイル名を変更&lt;/p&gt; &lt;p&gt; case LNX11::POPUP_COLOR[color]&lt;/p&gt; &lt;p&gt; when LNX11::POPUP_COLOR[:mp_damage] ; text += &quot;_damage&quot;&lt;/p&gt; &lt;p&gt; when LNX11::POPUP_COLOR[:mp_recovery] ; text += &quot;_recovery&quot;&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # popup_xxxxxx_(large or small)&lt;/p&gt; &lt;p&gt; Cache.system(&quot;popup&quot; + text + (size == :large ? &quot;_large&quot; : &quot;_small&quot;))&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ [追加]:Sprite_PopupSpring&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# 通常の跳ねるポップアップ。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Sprite_PopupSpring &amp;lt; Sprite_PopupBase&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ポップアップ Z 座標&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def base_z&lt;/p&gt; &lt;p&gt; 14&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 開始処理&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def start&lt;/p&gt; &lt;p&gt; # 動き設定&lt;/p&gt; &lt;p&gt; set_movement&lt;/p&gt; &lt;p&gt; # ディレイ設定 同じタイプのポップアップが重ならないようにする&lt;/p&gt; &lt;p&gt; if @popup_size == :small&lt;/p&gt; &lt;p&gt; self.oy -= @battler.popup_delay[1]&lt;/p&gt; &lt;p&gt; @delay_clear = (@delay == 0)&lt;/p&gt; &lt;p&gt; dy = self.bitmap.height * 0.8&lt;/p&gt; &lt;p&gt; @battler.popup_delay[1] += dy&lt;/p&gt; &lt;p&gt; @delay = 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 終了処理&lt;/p&gt; &lt;p&gt; #-------------------------------------------------------------------------- &lt;/p&gt; &lt;p&gt; def terminate&lt;/p&gt; &lt;p&gt; # 一番上のポップアップなら、ディレイを初期化する&lt;/p&gt; &lt;p&gt; @battler.popup_delay[1] = 0 if @delay_clear&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 投射運動の設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_movement&lt;/p&gt; &lt;p&gt; if @popup_size == :large&lt;/p&gt; &lt;p&gt; movement = LNX11::LARGE_MOVEMENT&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; movement = LNX11::SMALL_MOVEMENT&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; @fall = -movement[:inirate]&lt;/p&gt; &lt;p&gt; @gravity = movement[:gravity]&lt;/p&gt; &lt;p&gt; @side = movement[:side_scatter] * rand(0) * (rand(2) == 0 ? -1 : 1)&lt;/p&gt; &lt;p&gt; @ref_move = movement[:ref_height]&lt;/p&gt; &lt;p&gt; @ref_factor = movement[:ref_factor]&lt;/p&gt; &lt;p&gt; @ref_count = movement[:ref_count]&lt;/p&gt; &lt;p&gt; @duration = movement[:duration]&lt;/p&gt; &lt;p&gt; @fadeout = movement[:fadeout]&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● フレーム更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_popup&lt;/p&gt; &lt;p&gt; update_freefall&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 投射運動の更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_freefall&lt;/p&gt; &lt;p&gt; if @ref_count &amp;gt;= 0&lt;/p&gt; &lt;p&gt; # X:左右移動&lt;/p&gt; &lt;p&gt; @rx += @side&lt;/p&gt; &lt;p&gt; # Y:自由落下&lt;/p&gt; &lt;p&gt; @ry += @fall&lt;/p&gt; &lt;p&gt; @ref_move -= @fall&lt;/p&gt; &lt;p&gt; @fall += @gravity&lt;/p&gt; &lt;p&gt; # 跳ね返り&lt;/p&gt; &lt;p&gt; if @ref_move &amp;lt;= 0 &amp;amp;&amp;amp; @fall &amp;gt;= 0&lt;/p&gt; &lt;p&gt; @ref_count -= 1&lt;/p&gt; &lt;p&gt; @fall = -@fall * @ref_factor&lt;/p&gt; &lt;p&gt; end &lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ [追加]:Sprite_PopupRising&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# 少しずつ上昇するポップアップ。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Sprite_PopupRising &amp;lt; Sprite_PopupBase&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ポップアップ Z 座標&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def base_z&lt;/p&gt; &lt;p&gt; 6&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 開始処理&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def start&lt;/p&gt; &lt;p&gt; # 動き設定&lt;/p&gt; &lt;p&gt; set_movement&lt;/p&gt; &lt;p&gt; self.opacity = 0&lt;/p&gt; &lt;p&gt; d = self.bitmap.height * LNX11::RISE_MOVEMENT[:line_spacing]&lt;/p&gt; &lt;p&gt; @delay_count = d / @rising_speed &lt;/p&gt; &lt;p&gt; @battler.popup_delay[2] += @delay_count&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 動きの設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_movement&lt;/p&gt; &lt;p&gt; @rising_speed = LNX11::RISE_MOVEMENT[:rising_speed]&lt;/p&gt; &lt;p&gt; @duration = LNX11::RISE_MOVEMENT[:duration]&lt;/p&gt; &lt;p&gt; @fadeout = LNX11::RISE_MOVEMENT[:fadeout]&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● フレーム更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_popup&lt;/p&gt; &lt;p&gt; @delay_count -= 1&lt;/p&gt; &lt;p&gt; @battler.popup_delay[2] -= 1 if @delay_count &amp;gt;= 0&lt;/p&gt; &lt;p&gt; @ry -= @rising_speed # すこしずつ上昇&lt;/p&gt; &lt;p&gt; self.opacity += 32 if @duration &amp;gt; 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ [追加]:Sprite_PopupSliding&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# スライド表示するポップアップ。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Sprite_PopupSliding &amp;lt; Sprite_PopupBase&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ポップアップ Z 座標&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def base_z&lt;/p&gt; &lt;p&gt; 8&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 開始処理&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def start&lt;/p&gt; &lt;p&gt; # 動き設定&lt;/p&gt; &lt;p&gt; set_movement&lt;/p&gt; &lt;p&gt; d = self.bitmap.height * LNX11::SLIDE_MOVEMENT[:line_spacing]&lt;/p&gt; &lt;p&gt; self.oy += @delay + d / 2 if @delay &amp;gt; 0&lt;/p&gt; &lt;p&gt; self.opacity = 0&lt;/p&gt; &lt;p&gt; # ディレイ設定 同じタイプのポップアップが重ならないようにする&lt;/p&gt; &lt;p&gt; @delay_clear = (@delay == 0)&lt;/p&gt; &lt;p&gt; @battler.popup_delay[3] += (@delay &amp;lt;= 0 ? d / 2 : d)&lt;/p&gt; &lt;p&gt; @delay = 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 終了処理&lt;/p&gt; &lt;p&gt; #-------------------------------------------------------------------------- &lt;/p&gt; &lt;p&gt; def terminate&lt;/p&gt; &lt;p&gt; # 一番下のポップアップなら、ディレイを初期化する&lt;/p&gt; &lt;p&gt; @battler.popup_delay[3] = 0 if @delay_clear&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 動きの設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_movement&lt;/p&gt; &lt;p&gt; @x_speed = LNX11::SLIDE_MOVEMENT[:x_speed]&lt;/p&gt; &lt;p&gt; @duration = LNX11::SLIDE_MOVEMENT[:duration]&lt;/p&gt; &lt;p&gt; @fadeout = LNX11::SLIDE_MOVEMENT[:fadeout]&lt;/p&gt; &lt;p&gt; # フェードインのスライド分だけ X を移動&lt;/p&gt; &lt;p&gt; @rx -= @x_speed * 255.0 / @fadeout&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● フレーム更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_popup&lt;/p&gt; &lt;p&gt; @rx += @x_speed if opacity != 255 # スライド&lt;/p&gt; &lt;p&gt; self.opacity += @fadeout if @duration &amp;gt; 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ [追加]:Sprite_PopupOverlay&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# オーバーレイポップアップ。自身の複製を加算合成で重ね合わせます。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Sprite_PopupOverlay &amp;lt; Sprite_PopupBase&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ポップアップ Z 座標&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def base_z&lt;/p&gt; &lt;p&gt; 10&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 開始処理&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def start&lt;/p&gt; &lt;p&gt; @duration = LNX11::OVERLAY_MOVEMENT[:duration]&lt;/p&gt; &lt;p&gt; @fadeout = LNX11::OVERLAY_MOVEMENT[:fadeout]&lt;/p&gt; &lt;p&gt; # オーバーレイの作成&lt;/p&gt; &lt;p&gt; create_overlay&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 終了処理&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def terminate&lt;/p&gt; &lt;p&gt; @overlay.dispose&lt;/p&gt; &lt;p&gt; @overlay = nil&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● オーバーレイ(複製)の作成&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def create_overlay&lt;/p&gt; &lt;p&gt; @overlay = Sprite.new&lt;/p&gt; &lt;p&gt; @overlay.bitmap = self.bitmap&lt;/p&gt; &lt;p&gt; @overlay.viewport = self.viewport&lt;/p&gt; &lt;p&gt; @overlay.ox = self.ox&lt;/p&gt; &lt;p&gt; @overlay.oy = self.oy&lt;/p&gt; &lt;p&gt; @overlay.visible = false&lt;/p&gt; &lt;p&gt; @overlay.blend_type = 1&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● フレーム更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_popup&lt;/p&gt; &lt;p&gt; self.opacity += @fadeout * 2 if @duration &amp;gt; 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● フレーム更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; update_overlay&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● オーバーレイの更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_overlay&lt;/p&gt; &lt;p&gt; return if self.disposed? || @overlay.opacity == 0&lt;/p&gt; &lt;p&gt; @overlay.x = self.x&lt;/p&gt; &lt;p&gt; @overlay.y = self.y&lt;/p&gt; &lt;p&gt; @overlay.z = self.z&lt;/p&gt; &lt;p&gt; # 拡大・消去&lt;/p&gt; &lt;p&gt; @overlay.zoom_x += 0.16&lt;/p&gt; &lt;p&gt; @overlay.zoom_y += 0.12&lt;/p&gt; &lt;p&gt; @overlay.opacity -= 20&lt;/p&gt; &lt;p&gt; @overlay.visible = (@overlay.opacity != 0)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ [追加]:Sprite_PopupLevelUp&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# レベルアップのポップアップ。スライドポップアップを継承しています。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Sprite_PopupLevelUp &amp;lt; Sprite_PopupSliding&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ポップアップ Z 座標&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def base_z&lt;/p&gt; &lt;p&gt; 32&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ポップアップ位置の設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_position&lt;/p&gt; &lt;p&gt; @rx = @battler.screen_x - LNX11::ACTOR_OFFSET[:x]&lt;/p&gt; &lt;p&gt; case LNX11::LEVELUP_POPUP_POSITION&lt;/p&gt; &lt;p&gt; when 0 ; @ry = @battler.screen_y # 足元&lt;/p&gt; &lt;p&gt; when 1 ; @ry = @battler.screen_y_center # 中心&lt;/p&gt; &lt;p&gt; when 2 ; @ry = @battler.screen_y_top # 頭上&lt;/p&gt; &lt;p&gt; when 3 ; @ry = Graphics.height + LNX11::LEVELUP_POPUP_Y # Y座標統一&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● フレーム更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_popup&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; # リザルト中なら自動的に消去しない&lt;/p&gt; &lt;p&gt; @duration += 1 if $game_troop.all_dead? || $game_message.busy?&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Bitmap&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Bitmap&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:カーソル用三角形の描画&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def lnx_cursor_triangle(size, color, oy = 0, grad = 1)&lt;/p&gt; &lt;p&gt; color = color.clone&lt;/p&gt; &lt;p&gt; x = (self.width - size) / 2&lt;/p&gt; &lt;p&gt; y = (self.height - size) / 2 + oy&lt;/p&gt; &lt;p&gt; rect = Rect.new(x, y, size, 1)&lt;/p&gt; &lt;p&gt; count = size / 2&lt;/p&gt; &lt;p&gt; minus = 128 / count / 2&lt;/p&gt; &lt;p&gt; count.times do&lt;/p&gt; &lt;p&gt; clear_rect(rect)&lt;/p&gt; &lt;p&gt; fill_rect(rect, color)&lt;/p&gt; &lt;p&gt; color.red = [color.red - minus * grad, 0].max&lt;/p&gt; &lt;p&gt; color.green = [color.green - minus * grad, 0].max&lt;/p&gt; &lt;p&gt; color.blue = [color.blue - minus * grad, 0].max&lt;/p&gt; &lt;p&gt; rect.y += rect.height&lt;/p&gt; &lt;p&gt; clear_rect(rect)&lt;/p&gt; &lt;p&gt; fill_rect(rect, color) &lt;/p&gt; &lt;p&gt; color.red = [color.red - minus * grad, 0].max&lt;/p&gt; &lt;p&gt; color.green = [color.green - minus * grad, 0].max&lt;/p&gt; &lt;p&gt; color.blue = [color.blue - minus * grad, 0].max&lt;/p&gt; &lt;p&gt; rect.x += 1&lt;/p&gt; &lt;p&gt; rect.y += rect.height&lt;/p&gt; &lt;p&gt; rect.width -= 2&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ [追加]:Sprite_TargetCursor&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# 対象選択されているバトラーや行動選択中のアクターを示すアローカーソルです。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;class Sprite_TargetCursor &amp;lt; Sprite&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● クラス変数&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; @@cursor_cache = nil&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 公開インスタンス変数&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; attr_accessor :battler # バトラー&lt;/p&gt; &lt;p&gt; attr_accessor :blink # 点滅(対象の選択中)&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● オブジェクト初期化&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def initialize(viewport = nil)&lt;/p&gt; &lt;p&gt; super(viewport)&lt;/p&gt; &lt;p&gt; @wait = LNX11::CURSOR_ANI_SPEED&lt;/p&gt; &lt;p&gt; @speed = [LNX11::CURSOR_SPEED, 1].max&lt;/p&gt; &lt;p&gt; @battler = nil&lt;/p&gt; &lt;p&gt; @sub_cursor = []&lt;/p&gt; &lt;p&gt; @blink = false&lt;/p&gt; &lt;p&gt; self.bitmap = cursor_bitmap&lt;/p&gt; &lt;p&gt; partition = self.bitmap.width / self.height&lt;/p&gt; &lt;p&gt; self.src_rect.set(0, 0, self.width / partition, self.height)&lt;/p&gt; &lt;p&gt; self.ox = self.width / 2&lt;/p&gt; &lt;p&gt; self.oy = self.height / 2&lt;/p&gt; &lt;p&gt; self.x = @rx = @tx = 0&lt;/p&gt; &lt;p&gt; self.y = @ry = @ty = 0&lt;/p&gt; &lt;p&gt; self.z = 98&lt;/p&gt; &lt;p&gt; self.visible = false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 解放&lt;/p&gt; &lt;p&gt; #-------------------------------------------------------------------------- &lt;/p&gt; &lt;p&gt; def dispose&lt;/p&gt; &lt;p&gt; dispose_subcursor&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● サブカーソル作成&lt;/p&gt; &lt;p&gt; # メンバー全体にカーソルを表示するために複数のカーソルを作成します。&lt;/p&gt; &lt;p&gt; #-------------------------------------------------------------------------- &lt;/p&gt; &lt;p&gt; def create_subcursor(members)&lt;/p&gt; &lt;p&gt; return unless @sub_cursor.empty?&lt;/p&gt; &lt;p&gt; members.each_with_index do |battler, i|&lt;/p&gt; &lt;p&gt; @sub_cursor[i] = Sprite_TargetCursor.new(self.viewport)&lt;/p&gt; &lt;p&gt; @sub_cursor[i].set(@rx, @ry)&lt;/p&gt; &lt;p&gt; @sub_cursor[i].set(battler, true)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● サブカーソル解放&lt;/p&gt; &lt;p&gt; #-------------------------------------------------------------------------- &lt;/p&gt; &lt;p&gt; def dispose_subcursor&lt;/p&gt; &lt;p&gt; @sub_cursor.each {|sprite| sprite.dispose }&lt;/p&gt; &lt;p&gt; @sub_cursor = []&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● サブカーソル更新&lt;/p&gt; &lt;p&gt; #-------------------------------------------------------------------------- &lt;/p&gt; &lt;p&gt; def update_subcursor&lt;/p&gt; &lt;p&gt; @sub_cursor.each {|sprite| sprite.update }&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ビットマップの設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def cursor_bitmap&lt;/p&gt; &lt;p&gt; if !LNX11::CURSOR_NAME.empty?&lt;/p&gt; &lt;p&gt; return Cache.system(LNX11::CURSOR_NAME)&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # カーソルファイル名が指定されていなければRGSS側で生成&lt;/p&gt; &lt;p&gt; return @@cursor_cache if @@cursor_cache &amp;amp;&amp;amp; !@@cursor_cache.disposed?&lt;/p&gt; &lt;p&gt; @@cursor_cache = Bitmap.new(32, 32)&lt;/p&gt; &lt;p&gt; color = Color.new(0, 0, 0)&lt;/p&gt; &lt;p&gt; @@cursor_cache.lnx_cursor_triangle(26, color, 2)&lt;/p&gt; &lt;p&gt; 2.times {@@cursor_cache.blur}&lt;/p&gt; &lt;p&gt; color.set(255, 255, 255)&lt;/p&gt; &lt;p&gt; @@cursor_cache.lnx_cursor_triangle(24, color, 1, 0.5)&lt;/p&gt; &lt;p&gt; tone = LNX11::CURSOR_TONE ? LNX11::CURSOR_TONE : $game_system.window_tone&lt;/p&gt; &lt;p&gt; r = 118 + tone.red&lt;/p&gt; &lt;p&gt; g = 118 + tone.green&lt;/p&gt; &lt;p&gt; b = 118 + tone.blue&lt;/p&gt; &lt;p&gt; color.set(r, g, b, 232)&lt;/p&gt; &lt;p&gt; @@cursor_cache.lnx_cursor_triangle(20, color, 0)&lt;/p&gt; &lt;p&gt; @@cursor_cache.lnx_cursor_triangle(20, color, 1)&lt;/p&gt; &lt;p&gt; p &quot;LNX11a:カーソルビットマップを作成しました。&quot;&lt;/p&gt; &lt;p&gt; return @@cursor_cache&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● カーソルの表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def show&lt;/p&gt; &lt;p&gt; self.x = @rx = @tx&lt;/p&gt; &lt;p&gt; self.y = @ry = @ty&lt;/p&gt; &lt;p&gt; self.visible = true&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● カーソルの非表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def hide&lt;/p&gt; &lt;p&gt; dispose_subcursor&lt;/p&gt; &lt;p&gt; @battler = nil&lt;/p&gt; &lt;p&gt; self.visible = false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 移動平均&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def sma(a, b, p)&lt;/p&gt; &lt;p&gt; # a = 目標位置 b = 現在地&lt;/p&gt; &lt;p&gt; return a if a == b || (a - b).abs &amp;lt; 0.3 || p == 1&lt;/p&gt; &lt;p&gt; result = ((a + b * (p.to_f - 1)) / p.to_f)&lt;/p&gt; &lt;p&gt; return (a - result).abs &amp;lt;= 1.0 ? (b &amp;lt; a ? b + 0.3 : b - 0.3) : result&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● フレーム更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update&lt;/p&gt; &lt;p&gt; update_subcursor&lt;/p&gt; &lt;p&gt; self.opacity = @sub_cursor.empty? ? 255 : 0&lt;/p&gt; &lt;p&gt; return if !visible || !@sub_cursor.empty?&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; # 点滅&lt;/p&gt; &lt;p&gt; if LNX11::CURSOR_BLINK&lt;/p&gt; &lt;p&gt; self.blend_type = @blink &amp;amp;&amp;amp; Graphics.frame_count / 3 % 2 == 0 ? 1 : 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # アニメーションを進める&lt;/p&gt; &lt;p&gt; @wait -= 1&lt;/p&gt; &lt;p&gt; if @wait &amp;lt;= 0&lt;/p&gt; &lt;p&gt; @wait += LNX11::CURSOR_ANI_SPEED&lt;/p&gt; &lt;p&gt; self.src_rect.x += self.width&lt;/p&gt; &lt;p&gt; self.src_rect.x = 0 if self.src_rect.x &amp;gt;= self.bitmap.width&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # カーソルの座標を更新&lt;/p&gt; &lt;p&gt; set_xy if @battler &amp;amp;&amp;amp; @sub_cursor.empty?&lt;/p&gt; &lt;p&gt; self.x = @rx = sma(@tx, @rx, @speed)&lt;/p&gt; &lt;p&gt; self.y = @ry = sma(@ty, @ry, @speed)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● カーソル位置の設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set(*args)&lt;/p&gt; &lt;p&gt; if args[0].is_a?(Numeric)&lt;/p&gt; &lt;p&gt; # 引数一つ目が数値なら、XY指定&lt;/p&gt; &lt;p&gt; @battler = nil&lt;/p&gt; &lt;p&gt; set_xy(args[0], args[1])&lt;/p&gt; &lt;p&gt; @blink = args[2] ? args[2] : false&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # バトラーorシンボル指定&lt;/p&gt; &lt;p&gt; if @battler != args[0]&lt;/p&gt; &lt;p&gt; @battler = args[0]&lt;/p&gt; &lt;p&gt; dispose_subcursor&lt;/p&gt; &lt;p&gt; case args[0]&lt;/p&gt; &lt;p&gt; when :party ; create_subcursor($game_party.members)&lt;/p&gt; &lt;p&gt; when :troop ; create_subcursor($game_troop.alive_members)&lt;/p&gt; &lt;p&gt; when :troop_random ; create_subcursor($game_troop.alive_members)&lt;/p&gt; &lt;p&gt; else ; args[0] ? set_xy : hide&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; @blink = args[1] ? args[1] : false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # スピードが1かカーソルが非表示なら表示に変える&lt;/p&gt; &lt;p&gt; show if @sub_cursor.empty? &amp;amp;&amp;amp; (@speed == 1 || !visible)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● カーソル位置をバトラーの位置に設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_xy(x = nil, y = nil)&lt;/p&gt; &lt;p&gt; if x &lt;/p&gt; &lt;p&gt; # 直接指定&lt;/p&gt; &lt;p&gt; x += LNX11::CURSOR_OFFSET[:x]&lt;/p&gt; &lt;p&gt; y += LNX11::CURSOR_OFFSET[:y]&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # バトラーの座標&lt;/p&gt; &lt;p&gt; x = @battler.screen_x + LNX11::CURSOR_OFFSET[:x]&lt;/p&gt; &lt;p&gt; y = @battler.screen_y_top + LNX11::CURSOR_OFFSET[:y]&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; @tx = x&lt;/p&gt; &lt;p&gt; minmax = LNX11::CURSOR_MINMAX&lt;/p&gt; &lt;p&gt; @ty = [[y, minmax[:min] + self.oy].max, minmax[:max]].min&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ [追加]:Sprite_OneLine_BattleLog&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# バトルログを動的に表示するスプライトです。単体では1行しか表示できませんが、&lt;/p&gt; &lt;p&gt;# 複数同時に扱うことで複数行の表示を実装しています。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Sprite_OneLine_BattleLog &amp;lt; Sprite&lt;/p&gt; &lt;p&gt; @@grad_cache = nil&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 公開インスタンス変数&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; attr_accessor :position # 表示位置(行)&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● オブジェクト初期化&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def initialize(width, height, max_line_number)&lt;/p&gt; &lt;p&gt; super(nil)&lt;/p&gt; &lt;p&gt; @rx = @ry = 0&lt;/p&gt; &lt;p&gt; @line_height = height&lt;/p&gt; &lt;p&gt; @max_line_number = max_line_number&lt;/p&gt; &lt;p&gt; @position = -1&lt;/p&gt; &lt;p&gt; @visible = true&lt;/p&gt; &lt;p&gt; self.ox = -LNX11::STORAGE_OFFSET[:x]&lt;/p&gt; &lt;p&gt; self.oy = -LNX11::STORAGE_OFFSET[:y]&lt;/p&gt; &lt;p&gt; self.opacity = 0&lt;/p&gt; &lt;p&gt; self.z = 96&lt;/p&gt; &lt;p&gt; self.bitmap = Bitmap.new(width * 0.75, height)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 解放&lt;/p&gt; &lt;p&gt; #-------------------------------------------------------------------------- &lt;/p&gt; &lt;p&gt; def dispose&lt;/p&gt; &lt;p&gt; self.bitmap.dispose&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● スプライトの表示&lt;/p&gt; &lt;p&gt; #-------------------------------------------------------------------------- &lt;/p&gt; &lt;p&gt; def show&lt;/p&gt; &lt;p&gt; @visible = true&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● スプライトの非表示&lt;/p&gt; &lt;p&gt; #-------------------------------------------------------------------------- &lt;/p&gt; &lt;p&gt; def hide&lt;/p&gt; &lt;p&gt; @visible = false&lt;/p&gt; &lt;p&gt; @position = -1&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 表示しているか？&lt;/p&gt; &lt;p&gt; #-------------------------------------------------------------------------- &lt;/p&gt; &lt;p&gt; def visible?&lt;/p&gt; &lt;p&gt; @visible&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● フレーム更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update&lt;/p&gt; &lt;p&gt; return if self.opacity == 0&lt;/p&gt; &lt;p&gt; self.opacity += @visible &amp;amp;&amp;amp; @position &amp;gt;= 0 ? 24 : -24&lt;/p&gt; &lt;p&gt; self.visible = self.opacity &amp;gt; 0&lt;/p&gt; &lt;p&gt; return unless @visible # 不可視状態なら座標を更新しない&lt;/p&gt; &lt;p&gt; @ry = (target_y + (@ry * 5)) / 6.0 if target_y &amp;lt; @ry&lt;/p&gt; &lt;p&gt; @rx += 2 if @rx &amp;lt; 0&lt;/p&gt; &lt;p&gt; self.x = @rx&lt;/p&gt; &lt;p&gt; self.y = @ry&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● テキストの描画&lt;/p&gt; &lt;p&gt; # 自身が持つ Bitmap で描画するのではなく、Window の contents から&lt;/p&gt; &lt;p&gt; # コピーします(Sprite からでは Window_Base#draw_text_ex が扱えないため)。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_text(window, position)&lt;/p&gt; &lt;p&gt; self.bitmap.clear&lt;/p&gt; &lt;p&gt; # 横グラデーション&lt;/p&gt; &lt;p&gt; if @@grad_cache &amp;amp;&amp;amp; !@@grad_cache.disposed?&lt;/p&gt; &lt;p&gt; self.bitmap.blt(0, 0, @@grad_cache, self.bitmap.rect)&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; color = LNX11::STORAGE_GRADIENT_COLOR&lt;/p&gt; &lt;p&gt; fillrect = self.bitmap.rect&lt;/p&gt; &lt;p&gt; fillrect.width /= 2&lt;/p&gt; &lt;p&gt; self.bitmap.gradient_fill_rect(fillrect, color[0], color[1])&lt;/p&gt; &lt;p&gt; @@grad_cache = self.bitmap.clone&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # contents からコピー&lt;/p&gt; &lt;p&gt; self.bitmap.blt(4, 0, window.contents, self.bitmap.rect)&lt;/p&gt; &lt;p&gt; self.opacity = 1&lt;/p&gt; &lt;p&gt; @rx = -8&lt;/p&gt; &lt;p&gt; @position = position&lt;/p&gt; &lt;p&gt; @ry = target_y&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 位置の繰り上げ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def up_position&lt;/p&gt; &lt;p&gt; @position -= 1&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● メッセージが空か？(表示待ち)&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def mes_empty?&lt;/p&gt; &lt;p&gt; @position &amp;lt; 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 移動するべき Y 座標&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def target_y&lt;/p&gt; &lt;p&gt; @position * @line_height&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Window_BattleLog&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# 戦闘の進行を実況表示するウィンドウです。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Window_BattleLog &amp;lt; Window_Selectable&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:オブジェクト初期化&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_initialize :initialize&lt;/p&gt; &lt;p&gt; def initialize&lt;/p&gt; &lt;p&gt; lnx11a_initialize&lt;/p&gt; &lt;p&gt; # バトルログタイプが 1 以上なら非表示にする&lt;/p&gt; &lt;p&gt; @storage_number = 0&lt;/p&gt; &lt;p&gt; hide if LNX11::BATTLELOG_TYPE &amp;gt;= 1&lt;/p&gt; &lt;p&gt; BattleManager.log_window = self&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:文章の配列のクリア&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def lines_clear&lt;/p&gt; &lt;p&gt; @lines.clear if LNX11::BATTLELOG_TYPE == 1&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:指定ウェイト&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def abs_wait(wait)&lt;/p&gt; &lt;p&gt; @method_wait.call(wait) if @method_wait&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:メッセージ速度の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def message_speed&lt;/p&gt; &lt;p&gt; return 20&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:エフェクト実行が終わるまでウェイト&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def wait_for_effect&lt;/p&gt; &lt;p&gt; return if LNX11::BATTLELOG_TYPE &amp;gt; 0&lt;/p&gt; &lt;p&gt; @method_wait_for_effect.call if @method_wait_for_effect&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:アニメーションのウェイト用メソッドの設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def method_wait_for_animation=(method)&lt;/p&gt; &lt;p&gt; @method_wait_for_animation = method&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:アニメーション再生が終わるまでウェイト&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def wait_for_animation&lt;/p&gt; &lt;p&gt; @method_wait_for_animation.call if @method_wait_for_animation&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ウィンドウ高さの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_window_height :window_height&lt;/p&gt; &lt;p&gt; def window_height&lt;/p&gt; &lt;p&gt; LNX11::BATTLELOG_TYPE == 1 ? fitting_height(1) : lnx11a_window_height&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:最大行数の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_max_line_number :max_line_number&lt;/p&gt; &lt;p&gt; def max_line_number&lt;/p&gt; &lt;p&gt; num = LNX11::STORAGE_LINE_NUMBER&lt;/p&gt; &lt;p&gt; LNX11::BATTLELOG_TYPE == 1 ? num : lnx11a_max_line_number&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:行の高さを取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def line_height&lt;/p&gt; &lt;p&gt; LNX11::BATTLELOG_TYPE == 1 ? LNX11::STORAGE_LINE_HEIGHT : super&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:フォント設定のリセット&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def reset_font_settings&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; return unless LNX11::BATTLELOG_TYPE == 1&lt;/p&gt; &lt;p&gt; contents.font.size = LNX11::STORAGE_FONT[:size]&lt;/p&gt; &lt;p&gt; contents.font.out_color.set(LNX11::STORAGE_FONT[:out_color])&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:データ行数の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_line_number :line_number&lt;/p&gt; &lt;p&gt; def line_number&lt;/p&gt; &lt;p&gt; return 0 if LNX11::BATTLELOG_TYPE == 2&lt;/p&gt; &lt;p&gt; LNX11::BATTLELOG_TYPE == 1 ? @storage_number : lnx11a_line_number&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:背景スプライトの作成&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_create_back_sprite :create_back_sprite &lt;/p&gt; &lt;p&gt; def create_back_sprite&lt;/p&gt; &lt;p&gt; if LNX11::BATTLELOG_TYPE == 1&lt;/p&gt; &lt;p&gt; # 蓄積型&lt;/p&gt; &lt;p&gt; create_message_sprite&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # 背景&lt;/p&gt; &lt;p&gt; lnx11a_create_back_sprite&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:背景スプライトの解放&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_dispose_back_sprite :dispose_back_sprite&lt;/p&gt; &lt;p&gt; def dispose_back_sprite&lt;/p&gt; &lt;p&gt; if LNX11::BATTLELOG_TYPE == 1&lt;/p&gt; &lt;p&gt; # 蓄積型&lt;/p&gt; &lt;p&gt; dispose_message_sprite&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # 背景&lt;/p&gt; &lt;p&gt; lnx11a_dispose_back_sprite&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:メッセージスプライトの作成&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def create_message_sprite&lt;/p&gt; &lt;p&gt; # メッセージスプライト 行数分だけ作成する&lt;/p&gt; &lt;p&gt; @mes_position = 0 # 次にメッセージを表示させる位置&lt;/p&gt; &lt;p&gt; @mesup_count = LNX11::STORAGE_UP_MESSAGE_TIME # ログが進行するまでの時間&lt;/p&gt; &lt;p&gt; @mes_sprites = Array.new(max_line_number + 1) {&lt;/p&gt; &lt;p&gt; Sprite_OneLine_BattleLog.new(self.width, line_height, max_line_number)}&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:メッセージスプライトの解放&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def dispose_message_sprite&lt;/p&gt; &lt;p&gt; @mes_sprites.each {|sprite| sprite.dispose }&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:メッセージスプライトを表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def show_message_sprite&lt;/p&gt; &lt;p&gt; @mes_sprites.each {|sprite| sprite.show }&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:メッセージスプライトを非表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def hide_message_sprite&lt;/p&gt; &lt;p&gt; @mes_sprites.each {|sprite| sprite.hide }&lt;/p&gt; &lt;p&gt; @mes_position = 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:メッセージスプライトを一つ進める&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def up_message_sprite&lt;/p&gt; &lt;p&gt; @mes_sprites.each {|sprite| sprite.up_position }&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:空のメッセージスプライトを返す&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def empty_message_sprite&lt;/p&gt; &lt;p&gt; @mes_sprites.each {|sprite| return sprite if sprite.mes_empty? }&lt;/p&gt; &lt;p&gt; @mes_sprites[0]&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:メッセージスプライトの更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_message_sprite&lt;/p&gt; &lt;p&gt; # バトルログ消去フラグが有効&lt;/p&gt; &lt;p&gt; if $game_temp.battlelog_clear&lt;/p&gt; &lt;p&gt; $game_temp.battlelog_clear = false&lt;/p&gt; &lt;p&gt; # スプライトが表示されていれば非表示にする&lt;/p&gt; &lt;p&gt; if @mes_sprites[0].visible?&lt;/p&gt; &lt;p&gt; hide_message_sprite&lt;/p&gt; &lt;p&gt; lines_clear&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # ログの自動進行&lt;/p&gt; &lt;p&gt; @mesup_count -= 1&lt;/p&gt; &lt;p&gt; if @mesup_count &amp;lt;= 0 &amp;amp;&amp;amp; @mes_position &amp;gt; 0&lt;/p&gt; &lt;p&gt; up_message_sprite&lt;/p&gt; &lt;p&gt; @mes_position -= 1&lt;/p&gt; &lt;p&gt; @mesup_count = LNX11::STORAGE_UP_MESSAGE_TIME&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; @mes_sprites.each {|sprite| sprite.update }&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:メッセージスプライトのリフレッシュ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def refresh_message_sprite&lt;/p&gt; &lt;p&gt; # 文章が無ければ何もしない&lt;/p&gt; &lt;p&gt; return if @lines.empty? &lt;/p&gt; &lt;p&gt; # スプライトを表示する&lt;/p&gt; &lt;p&gt; show_message_sprite unless @mes_sprites[0].visible? &lt;/p&gt; &lt;p&gt; # 文章の描画&lt;/p&gt; &lt;p&gt; contents.clear&lt;/p&gt; &lt;p&gt; @lines[0] = last_text&lt;/p&gt; &lt;p&gt; return if @lines[0].empty? &lt;/p&gt; &lt;p&gt; draw_line(0)&lt;/p&gt; &lt;p&gt; @storage_number += 1&lt;/p&gt; &lt;p&gt; # ウィンドウの内容をスプライトにコピー&lt;/p&gt; &lt;p&gt; empty_message_sprite.set_text(self, @mes_position)&lt;/p&gt; &lt;p&gt; # スプライト位置の変動 &lt;/p&gt; &lt;p&gt; if @mes_position &amp;lt; max_line_number&lt;/p&gt; &lt;p&gt; @mes_position += 1&lt;/p&gt; &lt;p&gt; elsif @mesup_count &amp;gt; 0&lt;/p&gt; &lt;p&gt; up_message_sprite&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; @mesup_count = (LNX11::STORAGE_UP_MESSAGE_TIME * 1.5).truncate&lt;/p&gt; &lt;p&gt; end &lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:フレーム更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; update_message_sprite if LNX11::BATTLELOG_TYPE == 1&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:リフレッシュ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_refresh :refresh&lt;/p&gt; &lt;p&gt; def refresh&lt;/p&gt; &lt;p&gt; return if LNX11::BATTLELOG_TYPE == 2&lt;/p&gt; &lt;p&gt; LNX11::BATTLELOG_TYPE == 1 ? refresh_message_sprite : lnx11a_refresh&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:クリア&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_clear :clear&lt;/p&gt; &lt;p&gt; def clear&lt;/p&gt; &lt;p&gt; return if LNX11::BATTLELOG_TYPE == 2&lt;/p&gt; &lt;p&gt; LNX11::BATTLELOG_TYPE == 1 ? @storage_number = 0 : lnx11a_clear&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:一行戻る&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_back_one :back_one&lt;/p&gt; &lt;p&gt; def back_one&lt;/p&gt; &lt;p&gt; if LNX11::BATTLELOG_TYPE == 1&lt;/p&gt; &lt;p&gt; # 蓄積型&lt;/p&gt; &lt;p&gt; @storage_number = [@storage_number - 1, 0].max&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # 通常&lt;/p&gt; &lt;p&gt; lnx11a_back_one&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:指定した行に戻る&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_back_to :back_to&lt;/p&gt; &lt;p&gt; def back_to(line_number)&lt;/p&gt; &lt;p&gt; if LNX11::BATTLELOG_TYPE == 1&lt;/p&gt; &lt;p&gt; # 蓄積型&lt;/p&gt; &lt;p&gt; @storage_number -= 1 while @storage_number &amp;gt; line_number&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # 通常&lt;/p&gt; &lt;p&gt; lnx11a_back_to(line_number)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ウェイト&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_wait :wait&lt;/p&gt; &lt;p&gt; def wait&lt;/p&gt; &lt;p&gt; return if LNX11::BATTLELOG_TYPE == 2&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_wait&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:スキル／アイテム使用の表示&lt;/p&gt; &lt;p&gt; # 使用時アニメーションの処理を追加します。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_display_use_item :display_use_item&lt;/p&gt; &lt;p&gt; def display_use_item(subject, item)&lt;/p&gt; &lt;p&gt; if item.use_animation &amp;gt; 0&lt;/p&gt; &lt;p&gt; # 使用時アニメーションが設定されていれば再生&lt;/p&gt; &lt;p&gt; subject.animation_id = item.use_animation&lt;/p&gt; &lt;p&gt; subject.animation_mirror = false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_display_use_item(subject, item)&lt;/p&gt; &lt;p&gt; # アニメーションのウェイト&lt;/p&gt; &lt;p&gt; wait_for_animation if item.use_animation &amp;gt; 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ポップアップデータの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_data&lt;/p&gt; &lt;p&gt; $game_temp.popup_data&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:反撃の表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_display_counter :display_counter&lt;/p&gt; &lt;p&gt; def display_counter(target, item)&lt;/p&gt; &lt;p&gt; # ポップアップ&lt;/p&gt; &lt;p&gt; popup_data.popup_text(target, :counter)&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_display_counter(target, item)&lt;/p&gt; &lt;p&gt; # ポップアップウェイト&lt;/p&gt; &lt;p&gt; popup_data.add_wait&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:反射の表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_display_reflection :display_reflection&lt;/p&gt; &lt;p&gt; def display_reflection(target, item)&lt;/p&gt; &lt;p&gt; # ポップアップ&lt;/p&gt; &lt;p&gt; popup_data.popup_text(target, :reflection)&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_display_reflection(target, item)&lt;/p&gt; &lt;p&gt; # ポップアップウェイト&lt;/p&gt; &lt;p&gt; popup_data.add_wait&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:身代わりの表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_display_substitute :display_substitute&lt;/p&gt; &lt;p&gt; def display_substitute(substitute, target)&lt;/p&gt; &lt;p&gt; # ポップアップ&lt;/p&gt; &lt;p&gt; popup_data.popup_text(substitute, :substitute)&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_display_substitute(substitute, target)&lt;/p&gt; &lt;p&gt; # ポップアップウェイト&lt;/p&gt; &lt;p&gt; popup_data.add_wait&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:失敗の表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_display_failure :display_failure&lt;/p&gt; &lt;p&gt; def display_failure(target, item)&lt;/p&gt; &lt;p&gt; if target.result.hit? &amp;amp;&amp;amp; !target.result.success&lt;/p&gt; &lt;p&gt; # ポップアップ (ミスと同じ扱いにする)&lt;/p&gt; &lt;p&gt; popup_data.popup_miss(target, item)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_display_failure(target, item)&lt;/p&gt; &lt;p&gt; # ポップアップウェイト&lt;/p&gt; &lt;p&gt; popup_data.add_wait&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ミスの表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_display_miss :display_miss&lt;/p&gt; &lt;p&gt; def display_miss(target, item)&lt;/p&gt; &lt;p&gt; # ポップアップ&lt;/p&gt; &lt;p&gt; popup_data.popup_miss(target, item)&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ &lt;/p&gt; &lt;p&gt; lnx11a_display_miss(target, item)&lt;/p&gt; &lt;p&gt; # ポップアップウェイト&lt;/p&gt; &lt;p&gt; popup_data.add_wait&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:回避の表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_display_evasion :display_evasion&lt;/p&gt; &lt;p&gt; def display_evasion(target, item)&lt;/p&gt; &lt;p&gt; # ポップアップ (ミスと同じ扱いにする)&lt;/p&gt; &lt;p&gt; popup_data.popup_miss(target, item)&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ &lt;/p&gt; &lt;p&gt; lnx11a_display_evasion(target, item)&lt;/p&gt; &lt;p&gt; # ポップアップウェイト&lt;/p&gt; &lt;p&gt; popup_data.add_wait&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:HP ダメージ表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_display_hp_damage :display_hp_damage&lt;/p&gt; &lt;p&gt; def display_hp_damage(target, item)&lt;/p&gt; &lt;p&gt; # ポップアップ&lt;/p&gt; &lt;p&gt; popup_data.popup_hp_damage(target, item)&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_display_hp_damage(target, item)&lt;/p&gt; &lt;p&gt; # ポップアップウェイト&lt;/p&gt; &lt;p&gt; popup_data.add_wait&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:MP ダメージ表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_display_mp_damage :display_mp_damage&lt;/p&gt; &lt;p&gt; def display_mp_damage(target, item)&lt;/p&gt; &lt;p&gt; # ポップアップ&lt;/p&gt; &lt;p&gt; popup_data.popup_mp_damage(target, item)&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_display_mp_damage(target, item)&lt;/p&gt; &lt;p&gt; # ポップアップウェイト&lt;/p&gt; &lt;p&gt; popup_data.add_wait&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:TP ダメージ表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_display_tp_damage :display_tp_damage&lt;/p&gt; &lt;p&gt; def display_tp_damage(target, item)&lt;/p&gt; &lt;p&gt; # ポップアップ&lt;/p&gt; &lt;p&gt; popup_data.popup_tp_damage(target, item)&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_display_tp_damage(target, item)&lt;/p&gt; &lt;p&gt; # ポップアップウェイト&lt;/p&gt; &lt;p&gt; popup_data.add_wait&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ステート付加の表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_display_added_states :display_added_states&lt;/p&gt; &lt;p&gt; def display_added_states(target)&lt;/p&gt; &lt;p&gt; # ポップアップ&lt;/p&gt; &lt;p&gt; popup_data.popup_added_states(target)&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_display_added_states(target)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ステート解除の表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_display_removed_states :display_removed_states&lt;/p&gt; &lt;p&gt; def display_removed_states(target)&lt;/p&gt; &lt;p&gt; # ポップアップ&lt;/p&gt; &lt;p&gt; popup_data.popup_removed_states(target)&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_display_removed_states(target)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:能力強化／弱体の表示（個別）&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_display_buffs :display_buffs&lt;/p&gt; &lt;p&gt; def display_buffs(target, buffs, fmt)&lt;/p&gt; &lt;p&gt; # ポップアップ&lt;/p&gt; &lt;p&gt; popup_data.popup_buffs(target, buffs, fmt)&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_display_buffs(target, buffs, fmt)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ RPG::BaseItem&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# アクター、職業、スキル、アイテム、武器、防具、敵キャラ、およびステートの&lt;/p&gt; &lt;p&gt;# スーパークラス。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class RPG::BaseItem &lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:バトラーグラフィックファイル名を取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def default_battler_graphic&lt;/p&gt; &lt;p&gt; # キャッシュがある場合、それを返す&lt;/p&gt; &lt;p&gt; return @default_battler_graphic if @default_battler_graphic&lt;/p&gt; &lt;p&gt; # メモ取得&lt;/p&gt; &lt;p&gt; re = LNX11::RE_BATTLER =~ note&lt;/p&gt; &lt;p&gt; @default_battler_graphic = re ? $1 : &quot;&quot;&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:敵キャラの通常攻撃アニメの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def atk_animation&lt;/p&gt; &lt;p&gt; # キャッシュがある場合、それを返す&lt;/p&gt; &lt;p&gt; return @atk_animation if @atk_animation&lt;/p&gt; &lt;p&gt; # メモ取得&lt;/p&gt; &lt;p&gt; re = LNX11::RE_ATK_ANIMATION =~ note&lt;/p&gt; &lt;p&gt; @atk_animation = re ? $1.to_i : 1&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ RPG::UsableItem&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# スキルとアイテムのスーパークラス。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;class RPG::UsableItem &amp;lt; RPG::BaseItem&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:対象の選択操作が必要か否かを取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_need_selection? :need_selection?&lt;/p&gt; &lt;p&gt; def need_selection?&lt;/p&gt; &lt;p&gt; LNX11::FIX_TARGET_CHECKE &amp;amp;&amp;amp; scope &amp;gt; 0 ? true : lnx11a_need_selection?&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:使用時アニメの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def use_animation&lt;/p&gt; &lt;p&gt; # キャッシュがある場合、それを返す&lt;/p&gt; &lt;p&gt; return @use_animation if @use_animation&lt;/p&gt; &lt;p&gt; # メモ取得&lt;/p&gt; &lt;p&gt; re = LNX11::RE_USE_ANIMATION =~ note&lt;/p&gt; &lt;p&gt; @use_animation = re ? $1.to_i : 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:簡易ヘルプ非表示の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def no_display&lt;/p&gt; &lt;p&gt; # キャッシュがある場合、それを返す&lt;/p&gt; &lt;p&gt; return @no_display if @no_display&lt;/p&gt; &lt;p&gt; # メモ取得&lt;/p&gt; &lt;p&gt; re = LNX11::RE_USABLEITEM_NO_DISPLAY =~ note&lt;/p&gt; &lt;p&gt; @no_display = re ? true : false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:使用時追加ウェイトの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def display_wait&lt;/p&gt; &lt;p&gt; # キャッシュがある場合、それを返す&lt;/p&gt; &lt;p&gt; return @display_wait if @display_wait&lt;/p&gt; &lt;p&gt; # メモ取得&lt;/p&gt; &lt;p&gt; re = LNX11::RE_DISPLAY_WAIT =~ note&lt;/p&gt; &lt;p&gt; @display_wait = re ? $1.to_i : LNX11::HELPDISPLAT_WAIT&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:終了時追加ウェイトの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def end_wait&lt;/p&gt; &lt;p&gt; # キャッシュがある場合、それを返す&lt;/p&gt; &lt;p&gt; return @end_wait if @end_wait&lt;/p&gt; &lt;p&gt; # メモ取得&lt;/p&gt; &lt;p&gt; re = LNX11::RE_END_WAIT =~ note&lt;/p&gt; &lt;p&gt; @end_wait = re ? $1.to_i : LNX11::HELPDISPLAT_END_WAIT&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:簡易ヘルプ説明を取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def short_description&lt;/p&gt; &lt;p&gt; # キャッシュがある場合、それを返す&lt;/p&gt; &lt;p&gt; return @short_description if @short_description&lt;/p&gt; &lt;p&gt; # メモ取得&lt;/p&gt; &lt;p&gt; re = LNX11::RE_SHORT_DESCRIPTION =~ note&lt;/p&gt; &lt;p&gt; @short_description = re ? $1 : &quot;&quot;&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ RPG::State&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# ステートのデータクラス。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class RPG::State &amp;lt; RPG::BaseItem&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ステートアニメの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def state_animation&lt;/p&gt; &lt;p&gt; # キャッシュがある場合、それを返す&lt;/p&gt; &lt;p&gt; return @state_animation if @state_animation&lt;/p&gt; &lt;p&gt; # メモ取得&lt;/p&gt; &lt;p&gt; re = LNX11::RE_STATE_ANIMATION =~ note&lt;/p&gt; &lt;p&gt; @state_animation = re ? $1.to_i : 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ポップアップ表示名の取得&lt;/p&gt; &lt;p&gt; # &amp;lt;&amp;lt;ver1.10&amp;gt;&amp;gt;&lt;/p&gt; &lt;p&gt; # このメソッドは付加/解除ポップアップ表示名が設定されていない場合のみ&lt;/p&gt; &lt;p&gt; # 呼び出されるようになりました。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def display_name&lt;/p&gt; &lt;p&gt; # キャッシュがある場合、それを返す&lt;/p&gt; &lt;p&gt; return @display_name if @display_name&lt;/p&gt; &lt;p&gt; # メモ取得&lt;/p&gt; &lt;p&gt; re = LNX11::RE_STATE_DISPLAY =~ note&lt;/p&gt; &lt;p&gt; @display_name = re ? $1 : name&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:付加ポップアップ表示名の取得 &amp;lt;&amp;lt;ver1.10&amp;gt;&amp;gt;&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def add_display_name&lt;/p&gt; &lt;p&gt; # キャッシュがある場合、それを返す&lt;/p&gt; &lt;p&gt; return @add_display_name if @add_display_name&lt;/p&gt; &lt;p&gt; # メモ取得&lt;/p&gt; &lt;p&gt; re = LNX11::RE_STATE_ADD_DISPLAY =~ note&lt;/p&gt; &lt;p&gt; @add_display_name = re ? $1 : display_name&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:解除ポップアップ表示名の取得 &amp;lt;&amp;lt;ver1.10&amp;gt;&amp;gt;&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def remove_display_name&lt;/p&gt; &lt;p&gt; # キャッシュがある場合、それを返す&lt;/p&gt; &lt;p&gt; return @remove_display_name if @remove_display_name&lt;/p&gt; &lt;p&gt; # メモ取得&lt;/p&gt; &lt;p&gt; re = LNX11::RE_STATE_REM_DISPLAY =~ note&lt;/p&gt; &lt;p&gt; @remove_display_name = re ? $1 : display_name&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ポップアップ非表示の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def no_display?&lt;/p&gt; &lt;p&gt; # キャッシュがある場合、それを返す&lt;/p&gt; &lt;p&gt; return @no_display if @no_display&lt;/p&gt; &lt;p&gt; # 付加/解除のどちらかで設定されていれば無視する&lt;/p&gt; &lt;p&gt; if LNX11::RE_STATE_ADD_NO_DISPLAY =~ note ||&lt;/p&gt; &lt;p&gt; LNX11::RE_STATE_REM_NO_DISPLAY =~ note&lt;/p&gt; &lt;p&gt; return @no_display = false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # メモ取得&lt;/p&gt; &lt;p&gt; re = LNX11::RE_STATE_NO_DISPLAY =~ note&lt;/p&gt; &lt;p&gt; @no_display = re ? true : false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:付加ポップアップ非表示の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def add_no_display?&lt;/p&gt; &lt;p&gt; return true if no_display?&lt;/p&gt; &lt;p&gt; # キャッシュがある場合、それを返す&lt;/p&gt; &lt;p&gt; return @add_no_display if @add_no_display&lt;/p&gt; &lt;p&gt; # メモ取得&lt;/p&gt; &lt;p&gt; re = LNX11::RE_STATE_ADD_NO_DISPLAY =~ note&lt;/p&gt; &lt;p&gt; @add_no_display = re ? true : false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:解除ポップアップ非表示の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def remove_no_display?&lt;/p&gt; &lt;p&gt; return true if no_display?&lt;/p&gt; &lt;p&gt; # キャッシュがある場合、それを返す&lt;/p&gt; &lt;p&gt; return @remove_no_display if @remove_no_display&lt;/p&gt; &lt;p&gt; # メモ取得&lt;/p&gt; &lt;p&gt; re = LNX11::RE_STATE_REM_NO_DISPLAY =~ note&lt;/p&gt; &lt;p&gt; @remove_no_display = re ? true : false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:有利なステートの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def advantage?&lt;/p&gt; &lt;p&gt; # キャッシュがある場合、それを返す&lt;/p&gt; &lt;p&gt; return @advantage if @advantage&lt;/p&gt; &lt;p&gt; # メモ取得&lt;/p&gt; &lt;p&gt; re = LNX11::RE_STATE_ADVANTAGE =~ note&lt;/p&gt; &lt;p&gt; @advantage = re ? true : false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ポップアップタイプの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_type&lt;/p&gt; &lt;p&gt; # キャッシュがある場合、それを返す&lt;/p&gt; &lt;p&gt; return @popup_type if @popup_type != nil&lt;/p&gt; &lt;p&gt; # 付加/解除のどちらかで設定されていれば無視する&lt;/p&gt; &lt;p&gt; if LNX11::RE_STATE_ADD_TYPE =~ note ||&lt;/p&gt; &lt;p&gt; LNX11::RE_STATE_REM_TYPE =~ note&lt;/p&gt; &lt;p&gt; return @popup_type = false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # メモ取得&lt;/p&gt; &lt;p&gt; re = LNX11::RE_STATE_TYPE =~ note&lt;/p&gt; &lt;p&gt; @popup_type = re ? $1.to_i : false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:付加ポップアップタイプの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def add_popup_type&lt;/p&gt; &lt;p&gt; return popup_type if popup_type&lt;/p&gt; &lt;p&gt; # キャッシュがある場合、それを返す&lt;/p&gt; &lt;p&gt; return @add_popup_type if @add_popup_type != nil&lt;/p&gt; &lt;p&gt; # メモ取得&lt;/p&gt; &lt;p&gt; re = LNX11::RE_STATE_ADD_TYPE =~ note&lt;/p&gt; &lt;p&gt; @add_popup_type = re ? $1.to_i : false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:解除ポップアップタイプの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def remove_popup_type&lt;/p&gt; &lt;p&gt; return popup_type if popup_type&lt;/p&gt; &lt;p&gt; # キャッシュがある場合、それを返す&lt;/p&gt; &lt;p&gt; return @remove_popup_type if @remove_popup_type != nil&lt;/p&gt; &lt;p&gt; # メモ取得&lt;/p&gt; &lt;p&gt; re = LNX11::RE_STATE_REM_TYPE =~ note&lt;/p&gt; &lt;p&gt; @remove_popup_type = re ? $1.to_i : false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:修飾文字非表示の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def no_decoration?&lt;/p&gt; &lt;p&gt; # キャッシュがある場合、それを返す&lt;/p&gt; &lt;p&gt; return @no_decoration if @no_decoration&lt;/p&gt; &lt;p&gt; # 付加/解除のどちらかで設定されていれば無視する&lt;/p&gt; &lt;p&gt; if LNX11::RE_STATE_ADD_NO_DECORATION =~ note ||&lt;/p&gt; &lt;p&gt; LNX11::RE_STATE_REM_NO_DECORATION =~ note&lt;/p&gt; &lt;p&gt; return @no_decoration = false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # メモ取得&lt;/p&gt; &lt;p&gt; re = LNX11::RE_STATE_NO_DECORATION =~ note&lt;/p&gt; &lt;p&gt; @no_decoration = re ? true : false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:付加修飾文字非表示の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def add_no_decoration?&lt;/p&gt; &lt;p&gt; return true if no_decoration?&lt;/p&gt; &lt;p&gt; # キャッシュがある場合、それを返す&lt;/p&gt; &lt;p&gt; return @add_no_decoration if @add_no_decoration&lt;/p&gt; &lt;p&gt; # メモ取得&lt;/p&gt; &lt;p&gt; re = LNX11::RE_STATE_ADD_NO_DECORATION =~ note&lt;/p&gt; &lt;p&gt; @add_no_decoration = re ? true : false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:解除修飾文字非表示の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def remove_no_decoration?&lt;/p&gt; &lt;p&gt; return true if no_decoration?&lt;/p&gt; &lt;p&gt; # キャッシュがある場合、それを返す&lt;/p&gt; &lt;p&gt; return @remove_no_decoration if @remove_no_decoration&lt;/p&gt; &lt;p&gt; # メモ取得&lt;/p&gt; &lt;p&gt; re = LNX11::RE_STATE_REM_NO_DECORATION =~ note&lt;/p&gt; &lt;p&gt; @remove_no_decoration = re ? true : false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ BattleManager&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# 戦闘の進行を管理するモジュールです。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class &amp;lt;&amp;lt; BattleManager&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:公開インスタンス変数&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; attr_reader :preemptive # 先制攻撃フラグ&lt;/p&gt; &lt;p&gt; attr_reader :surprise # 不意打ちフラグ&lt;/p&gt; &lt;p&gt; attr_accessor :log_window # バトルログウィンドウ&lt;/p&gt; &lt;p&gt; attr_accessor :update_for_wait_method # ウェイト中のフレーム更新&lt;/p&gt; &lt;p&gt; attr_accessor :helpdisplay_set_method # 簡易ヘルプ表示&lt;/p&gt; &lt;p&gt; attr_accessor :helpdisplay_clear_method # 簡易ヘルプ消去&lt;/p&gt; &lt;p&gt; attr_accessor :helpdisplay_wait_short_method # 簡易ヘルプ・短時間ウェイト&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:簡易ヘルプ表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def helpdisplay_set(*args)&lt;/p&gt; &lt;p&gt; @helpdisplay_set_method.call(*args) if @helpdisplay_set_method&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:簡易ヘルプ消去&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def helpdisplay_clear(*args)&lt;/p&gt; &lt;p&gt; @helpdisplay_clear_method.call(*args) if @helpdisplay_clear_method&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:簡易ヘルプ・短時間ウェイト&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def helpdisplay_wait_short&lt;/p&gt; &lt;p&gt; @helpdisplay_wait_short_method.call if @helpdisplay_wait_short_method&lt;/p&gt; &lt;p&gt; end &lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:キー入力待ち&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def helpdisplay_wait_input&lt;/p&gt; &lt;p&gt; return if $game_message.helpdisplay_texts.empty?&lt;/p&gt; &lt;p&gt; return if LNX11::MESSAGE_TYPE == 0&lt;/p&gt; &lt;p&gt; return if !@helpdisplay_wait_input || !@update_for_wait_method&lt;/p&gt; &lt;p&gt; update_for_wait_method.call while !Input.press?(:B) &amp;amp;&amp;amp; !Input.press?(:C)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:メッセージ進行の SE 再生&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def messagedisplay_se_play&lt;/p&gt; &lt;p&gt; return if !@helpdisplay_se&lt;/p&gt; &lt;p&gt; @helpdisplay_se.play &lt;/p&gt; &lt;p&gt; @helpdisplay_se = nil if @helpdisplay_se == LNX11::LEVELUP_SE&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:メッセージ進行&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def process_messagedisplay(wait)&lt;/p&gt; &lt;p&gt; return if $game_message.helpdisplay_texts.empty?&lt;/p&gt; &lt;p&gt; return if LNX11::MESSAGE_TYPE == 0&lt;/p&gt; &lt;p&gt; $game_temp.battlelog_clear = true&lt;/p&gt; &lt;p&gt; BattleManager.log_window.update&lt;/p&gt; &lt;p&gt; if LNX11::BATTLELOG_TYPE == 2 || LNX11::MESSAGE_TYPE == 2&lt;/p&gt; &lt;p&gt; # 簡易ヘルプ&lt;/p&gt; &lt;p&gt; $game_message.helpdisplay_texts.each do |text|&lt;/p&gt; &lt;p&gt; helpdisplay_wait_short&lt;/p&gt; &lt;p&gt; messagedisplay_se_play&lt;/p&gt; &lt;p&gt; helpdisplay_set(text, wait)&lt;/p&gt; &lt;p&gt; helpdisplay_wait_input&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; helpdisplay_clear&lt;/p&gt; &lt;p&gt; elsif LNX11::BATTLELOG_TYPE == 0&lt;/p&gt; &lt;p&gt; # VXAceデフォルト&lt;/p&gt; &lt;p&gt; BattleManager.log_window.clear&lt;/p&gt; &lt;p&gt; $game_message.helpdisplay_texts.each do |text|&lt;/p&gt; &lt;p&gt; messagedisplay_se_play&lt;/p&gt; &lt;p&gt; BattleManager.log_window.add_text(text)&lt;/p&gt; &lt;p&gt; BattleManager.log_window.abs_wait(wait)&lt;/p&gt; &lt;p&gt; helpdisplay_wait_input&lt;/p&gt; &lt;p&gt; max = BattleManager.log_window.max_line_number&lt;/p&gt; &lt;p&gt; # 表示がいっぱいになったら消去&lt;/p&gt; &lt;p&gt; if BattleManager.log_window.line_number &amp;gt;= max&lt;/p&gt; &lt;p&gt; BattleManager.log_window.clear&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; BattleManager.log_window.clear&lt;/p&gt; &lt;p&gt; elsif LNX11::BATTLELOG_TYPE == 1&lt;/p&gt; &lt;p&gt; # 蓄積型&lt;/p&gt; &lt;p&gt; $game_message.helpdisplay_texts.each do |text|&lt;/p&gt; &lt;p&gt; messagedisplay_se_play&lt;/p&gt; &lt;p&gt; BattleManager.log_window.add_text(text)&lt;/p&gt; &lt;p&gt; BattleManager.log_window.abs_wait(wait)&lt;/p&gt; &lt;p&gt; helpdisplay_wait_input&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; $game_temp.battlelog_clear = true&lt;/p&gt; &lt;p&gt; BattleManager.log_window.update&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; $game_message.helpdisplay_texts.clear&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:メッセージ表示が終わるまでウェイト&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_wait_for_message :wait_for_message&lt;/p&gt; &lt;p&gt; def wait_for_message&lt;/p&gt; &lt;p&gt; # 簡易ヘルプ表示&lt;/p&gt; &lt;p&gt; process_messagedisplay(@helpdisplay_wait ? @helpdisplay_wait : 60)&lt;/p&gt; &lt;p&gt; return if $game_message.texts.empty?&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_wait_for_message&lt;/p&gt; &lt;p&gt; end &lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:戦闘開始&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_battle_start :battle_start&lt;/p&gt; &lt;p&gt; def battle_start &lt;/p&gt; &lt;p&gt; @helpdisplay_wait = LNX11::MESSAGE_WAIT[:battle_start][0]&lt;/p&gt; &lt;p&gt; @helpdisplay_wait_input = LNX11::MESSAGE_WAIT[:battle_start][1]&lt;/p&gt; &lt;p&gt; # メッセージウィンドウへのテキスト追加を禁止する&lt;/p&gt; &lt;p&gt; $game_message.add_disabled&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_battle_start&lt;/p&gt; &lt;p&gt; # メッセージウィンドウへのテキスト追加を許可する&lt;/p&gt; &lt;p&gt; $game_message.add_enabled&lt;/p&gt; &lt;p&gt; @helpdisplay_wait = nil&lt;/p&gt; &lt;p&gt; @helpdisplay_wait_input = nil&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:勝利の処理&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_process_victory :process_victory&lt;/p&gt; &lt;p&gt; def process_victory&lt;/p&gt; &lt;p&gt; @helpdisplay_wait = LNX11::MESSAGE_WAIT[:victory][0]&lt;/p&gt; &lt;p&gt; @helpdisplay_wait_input = LNX11::MESSAGE_WAIT[:victory][1]&lt;/p&gt; &lt;p&gt; # メッセージウィンドウへのテキスト追加を禁止する&lt;/p&gt; &lt;p&gt; $game_message.add_disabled&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; success = lnx11a_process_victory&lt;/p&gt; &lt;p&gt; # メッセージウィンドウへのテキスト追加を許可する&lt;/p&gt; &lt;p&gt; $game_message.add_enabled&lt;/p&gt; &lt;p&gt; @helpdisplay_wait = nil&lt;/p&gt; &lt;p&gt; @helpdisplay_wait_input = nil&lt;/p&gt; &lt;p&gt; return success&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:逃走の処理&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_process_escape :process_escape&lt;/p&gt; &lt;p&gt; def process_escape&lt;/p&gt; &lt;p&gt; @helpdisplay_wait = LNX11::MESSAGE_WAIT[:escape][0]&lt;/p&gt; &lt;p&gt; @helpdisplay_wait_input = LNX11::MESSAGE_WAIT[:escape][1]&lt;/p&gt; &lt;p&gt; # メッセージウィンドウへのテキスト追加を禁止する&lt;/p&gt; &lt;p&gt; $game_message.add_disabled&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; success = lnx11a_process_escape&lt;/p&gt; &lt;p&gt; # メッセージウィンドウへのテキスト追加を許可する&lt;/p&gt; &lt;p&gt; $game_message.add_enabled&lt;/p&gt; &lt;p&gt; @helpdisplay_wait = nil&lt;/p&gt; &lt;p&gt; @helpdisplay_wait_input = nil&lt;/p&gt; &lt;p&gt; return success&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:敗北の処理&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_process_defeat :process_defeat&lt;/p&gt; &lt;p&gt; def process_defeat&lt;/p&gt; &lt;p&gt; @helpdisplay_wait = LNX11::MESSAGE_WAIT[:defeat][0]&lt;/p&gt; &lt;p&gt; @helpdisplay_wait_input = LNX11::MESSAGE_WAIT[:defeat][1]&lt;/p&gt; &lt;p&gt; # メッセージウィンドウへのテキスト追加を禁止する&lt;/p&gt; &lt;p&gt; $game_message.add_disabled&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; success = lnx11a_process_defeat&lt;/p&gt; &lt;p&gt; # メッセージウィンドウへのテキスト追加を許可する&lt;/p&gt; &lt;p&gt; $game_message.add_enabled&lt;/p&gt; &lt;p&gt; @helpdisplay_wait = nil&lt;/p&gt; &lt;p&gt; @helpdisplay_wait_input = nil&lt;/p&gt; &lt;p&gt; return success&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ドロップアイテムの獲得と表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_gain_drop_items :gain_drop_items&lt;/p&gt; &lt;p&gt; def gain_drop_items&lt;/p&gt; &lt;p&gt; helpdisplay_clear&lt;/p&gt; &lt;p&gt; @helpdisplay_wait = LNX11::MESSAGE_WAIT[:drop_item][0]&lt;/p&gt; &lt;p&gt; @helpdisplay_wait_input = LNX11::MESSAGE_WAIT[:drop_item][1]&lt;/p&gt; &lt;p&gt; @helpdisplay_se = LNX11::DROPITEM_SE&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_gain_drop_items&lt;/p&gt; &lt;p&gt; @helpdisplay_wait = nil&lt;/p&gt; &lt;p&gt; @helpdisplay_wait_input = nil&lt;/p&gt; &lt;p&gt; @helpdisplay_se = nil&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:経験値の獲得とレベルアップの表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def gain_exp&lt;/p&gt; &lt;p&gt; @helpdisplay_wait = LNX11::MESSAGE_WAIT[:levelup][0]&lt;/p&gt; &lt;p&gt; @helpdisplay_wait_input = LNX11::MESSAGE_WAIT[:levelup][1]&lt;/p&gt; &lt;p&gt; $game_party.all_members.each do |actor|&lt;/p&gt; &lt;p&gt; @helpdisplay_se = LNX11::LEVELUP_SE&lt;/p&gt; &lt;p&gt; actor.gain_exp($game_troop.exp_total)&lt;/p&gt; &lt;p&gt; # レベルアップ毎にメッセージ表示ウェイト&lt;/p&gt; &lt;p&gt; wait_for_message&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; @helpdisplay_wait = nil&lt;/p&gt; &lt;p&gt; @helpdisplay_wait_input = nil&lt;/p&gt; &lt;p&gt; @helpdisplay_se = nil&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Game_Temp&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# セーブデータに含まれない、一時的なデータを扱うクラスです。このクラスのイン&lt;/p&gt; &lt;p&gt;# スタンスは $game_temp で参照されます。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Game_Temp&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:公開インスタンス変数&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; attr_accessor :popup_data # ポップアップスプライト&lt;/p&gt; &lt;p&gt; attr_accessor :actor_battler_graphic # アクターのバトラーグラフィック&lt;/p&gt; &lt;p&gt; attr_accessor :battlelog_clear # バトルログ消去フラグ&lt;/p&gt; &lt;p&gt; attr_accessor :target_cursor_sprite # ターゲットカーソルスプライト&lt;/p&gt; &lt;p&gt; attr_accessor :last_target_cursor # 対象選択のカーソル記憶&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:オブジェクト初期化&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_initialize :initialize&lt;/p&gt; &lt;p&gt; def initialize&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_initialize&lt;/p&gt; &lt;p&gt; # 追加&lt;/p&gt; &lt;p&gt; @popup_data = nil&lt;/p&gt; &lt;p&gt; @actor_battler_graphic = []&lt;/p&gt; &lt;p&gt; @battlelog_clear = false&lt;/p&gt; &lt;p&gt; @battle_status_refresh = nil&lt;/p&gt; &lt;p&gt; @target_cursor_sprite = nil&lt;/p&gt; &lt;p&gt; clear_last_target_cursor&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:バトルステータス更新メソッドの設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def method_battle_status_refresh=(method)&lt;/p&gt; &lt;p&gt; @battle_status_refresh = method&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:バトルステータス更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def battle_status_refresh&lt;/p&gt; &lt;p&gt; return unless $game_party.in_battle&lt;/p&gt; &lt;p&gt; @battle_status_refresh.call if @battle_status_refresh&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:対象選択のカーソル記憶をクリア&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def clear_last_target_cursor&lt;/p&gt; &lt;p&gt; @last_target_cursor = {:actor =&amp;gt; nil, :enemy =&amp;gt; nil}&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Game_Action&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# 戦闘行動を扱うクラスです。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Game_Action&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ターゲットの配列作成&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_make_targets :make_targets&lt;/p&gt; &lt;p&gt; def make_targets &lt;/p&gt; &lt;p&gt; if LNX11::TROOP_X_SORT&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼んでソート&lt;/p&gt; &lt;p&gt; return lnx11a_make_targets.sort {|a,b| a.screen_x &amp;lt;=&amp;gt; b.screen_x}&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; return lnx11a_make_targets&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Game_ActionResult&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# 戦闘行動の結果を扱うクラスです。属性に関する結果を追加します。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Game_ActionResult&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 公開インスタンス変数&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; attr_accessor :element_rate # 属性修正値&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ダメージ値のクリア&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_clear_damage_values :clear_damage_values&lt;/p&gt; &lt;p&gt; def clear_damage_values&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_clear_damage_values&lt;/p&gt; &lt;p&gt; # 属性修正値をクリア&lt;/p&gt; &lt;p&gt; @element_rate = 1.0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:属性修正値の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def element_rate&lt;/p&gt; &lt;p&gt; return @element_rate if @element_rate&lt;/p&gt; &lt;p&gt; @element_rate = 1.0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Game_BattlerBase&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# バトラーを扱う基本のクラスです。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Game_BattlerBase&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ポップアップデータの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_data&lt;/p&gt; &lt;p&gt; $game_temp.popup_data&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:スキル使用コストの支払い&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_pay_skill_cost :pay_skill_cost&lt;/p&gt; &lt;p&gt; def pay_skill_cost(skill)&lt;/p&gt; &lt;p&gt; rmp = self.mp&lt;/p&gt; &lt;p&gt; rtp = self.tp&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ &lt;/p&gt; &lt;p&gt; lnx11a_pay_skill_cost(skill)&lt;/p&gt; &lt;p&gt; return unless $game_party.in_battle&lt;/p&gt; &lt;p&gt; # ポップアップ&lt;/p&gt; &lt;p&gt; popup_data.popup_regenerate_mp(self, (rmp - self.mp).truncate, true)&lt;/p&gt; &lt;p&gt; popup_data.popup_regenerate_tp(self, (rtp - self.tp).truncate, true)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Game_Battler&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# スプライトに関するメソッドを追加したバトラーのクラスです。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Game_Battler &amp;lt; Game_BattlerBase&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 公開インスタンス変数&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; attr_accessor :loop_animation_id # ループアニメーション ID&lt;/p&gt; &lt;p&gt; attr_accessor :loop_animation_mirror # ループアニメーション 左右反転フラグ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:スプライトのエフェクトをクリア&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_clear_sprite_effects :clear_sprite_effects&lt;/p&gt; &lt;p&gt; def clear_sprite_effects&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_clear_sprite_effects&lt;/p&gt; &lt;p&gt; @loop_animation_id = 0&lt;/p&gt; &lt;p&gt; @loop_animation_mirror = false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:アニメーション ID の設定&lt;/p&gt; &lt;p&gt; #-------------------------------------------------------------------------- &lt;/p&gt; &lt;p&gt; def animation_id=(id)&lt;/p&gt; &lt;p&gt; return unless battle_member?&lt;/p&gt; &lt;p&gt; @animation_id = id&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ステートのループアニメーションの設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_state_animation&lt;/p&gt; &lt;p&gt; # 表示優先度が高いステートを優先&lt;/p&gt; &lt;p&gt; sort_states&lt;/p&gt; &lt;p&gt; anime = @states.collect {|id| $data_states[id].state_animation }&lt;/p&gt; &lt;p&gt; anime.delete(0)&lt;/p&gt; &lt;p&gt; @loop_animation_id = anime[0] ? anime[0] : 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ステート情報をクリア&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_clear_states :clear_states&lt;/p&gt; &lt;p&gt; def clear_states&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_clear_states&lt;/p&gt; &lt;p&gt; # ステートアニメ設定&lt;/p&gt; &lt;p&gt; set_state_animation&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ステートの付加&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_add_state :add_state&lt;/p&gt; &lt;p&gt; def add_state(state_id)&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_add_state(state_id)&lt;/p&gt; &lt;p&gt; # ステートアニメ設定&lt;/p&gt; &lt;p&gt; set_state_animation&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ステートの解除&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_remove_state :remove_state&lt;/p&gt; &lt;p&gt; def remove_state(state_id)&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_remove_state(state_id)&lt;/p&gt; &lt;p&gt; # ステートアニメ設定&lt;/p&gt; &lt;p&gt; set_state_animation&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ポップアップディレイの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_delay&lt;/p&gt; &lt;p&gt; return @popup_delay if @popup_delay&lt;/p&gt; &lt;p&gt; popup_delay_clear&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ポップアップディレイの設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_delay=(delay)&lt;/p&gt; &lt;p&gt; @popup_delay = delay&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ポップアップディレイの設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_delay_clear&lt;/p&gt; &lt;p&gt; @popup_delay = Array.new(16) { 0 }&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:スキル／アイテムの属性修正値を取得&lt;/p&gt; &lt;p&gt; # 弱点/耐性の判定を追加します。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_item_element_rate :item_element_rate&lt;/p&gt; &lt;p&gt; def item_element_rate(user, item)&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; rate = lnx11a_item_element_rate(user, item)&lt;/p&gt; &lt;p&gt; return rate unless $game_party.in_battle&lt;/p&gt; &lt;p&gt; # レートを結果に保存する&lt;/p&gt; &lt;p&gt; @result.element_rate = rate&lt;/p&gt; &lt;p&gt; rate&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ダメージの処理&lt;/p&gt; &lt;p&gt; # 吸収による回復のポップアップを生成します。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_execute_damage :execute_damage&lt;/p&gt; &lt;p&gt; def execute_damage(user)&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_execute_damage(user)&lt;/p&gt; &lt;p&gt; return unless $game_party.in_battle&lt;/p&gt; &lt;p&gt; # ポップアップ&lt;/p&gt; &lt;p&gt; popup_data.popup_hp_drain(user, @result.hp_drain)&lt;/p&gt; &lt;p&gt; popup_data.popup_mp_drain(user, @result.mp_drain)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:HP の再生&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_regenerate_hp :regenerate_hp&lt;/p&gt; &lt;p&gt; def regenerate_hp&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_regenerate_hp&lt;/p&gt; &lt;p&gt; return unless $game_party.in_battle&lt;/p&gt; &lt;p&gt; # ポップアップ&lt;/p&gt; &lt;p&gt; popup_data.popup_regenerate_hp(self, @result.hp_damage)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:MP の再生&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_regenerate_mp :regenerate_mp&lt;/p&gt; &lt;p&gt; def regenerate_mp&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_regenerate_mp&lt;/p&gt; &lt;p&gt; return unless $game_party.in_battle&lt;/p&gt; &lt;p&gt; # ポップアップ&lt;/p&gt; &lt;p&gt; popup_data.popup_regenerate_mp(self, @result.mp_damage)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:TP の再生&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_regenerate_tp :regenerate_tp&lt;/p&gt; &lt;p&gt; def regenerate_tp&lt;/p&gt; &lt;p&gt; rtp = self.tp.to_i&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_regenerate_tp&lt;/p&gt; &lt;p&gt; return unless $game_party.in_battle&lt;/p&gt; &lt;p&gt; # ポップアップ&lt;/p&gt; &lt;p&gt; popup_data.popup_regenerate_tp(self, rtp - self.tp.to_i)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 被ダメージによる TP チャージ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_charge_tp_by_damage :charge_tp_by_damage&lt;/p&gt; &lt;p&gt; def charge_tp_by_damage(damage_rate)&lt;/p&gt; &lt;p&gt; rtp = self.tp.to_i&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_charge_tp_by_damage(damage_rate)&lt;/p&gt; &lt;p&gt; return unless $game_party.in_battle&lt;/p&gt; &lt;p&gt; # ポップアップ&lt;/p&gt; &lt;p&gt; popup_data.popup_tp_charge(self, rtp - self.tp.to_i)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:スキル／アイテムの使用者側への効果(TP 得)&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_item_user_effect :item_user_effect&lt;/p&gt; &lt;p&gt; def item_user_effect(user, item)&lt;/p&gt; &lt;p&gt; rtp = user.tp.to_i&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_item_user_effect(user, item)&lt;/p&gt; &lt;p&gt; return unless $game_party.in_battle&lt;/p&gt; &lt;p&gt; # ポップアップ&lt;/p&gt; &lt;p&gt; popup_data.popup_tp_gain(user, rtp - user.tp.to_i)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:高さの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def bitmap_height&lt;/p&gt; &lt;p&gt; return @bitmap_height if @bitmap_height&lt;/p&gt; &lt;p&gt; @bitmap_height = 0&lt;/p&gt; &lt;p&gt; end &lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:高さの設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def bitmap_height=(y)&lt;/p&gt; &lt;p&gt; @bitmap_height = y&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:バトル画面 Y 座標(頭上)の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def screen_y_top&lt;/p&gt; &lt;p&gt; screen_y - @bitmap_height&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:バトル画面 Y 座標(中心)の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def screen_y_center&lt;/p&gt; &lt;p&gt; screen_y - @bitmap_height / 2&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Game_Actor&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# アクターを扱うクラスです。このクラスは Game_Actors クラス（$game_actors）&lt;/p&gt; &lt;p&gt;# の内部で使用され、Game_Party クラス（$game_party）からも参照されます。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Game_Actor &amp;lt; Game_Battler&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:公開インスタンス変数&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; attr_accessor :battler_graphic_name # 後指定のバトラーグラフィック&lt;/p&gt; &lt;p&gt; attr_accessor :refresh_battler_graphic # バトラーグラフィックの更新フラグ&lt;/p&gt; &lt;p&gt; attr_accessor :screen_x # バトル画面 X 座標&lt;/p&gt; &lt;p&gt; attr_accessor :screen_y # バトル画面 Y 座標&lt;/p&gt; &lt;p&gt; attr_accessor :last_actor_command # 最後に選択したコマンド&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:スプライトを使うか？&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def use_sprite?&lt;/p&gt; &lt;p&gt; return true # 使う&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:バトル画面 Z 座標の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def screen_z&lt;/p&gt; &lt;p&gt; return $game_party.members_screen_z[0] if index == nil&lt;/p&gt; &lt;p&gt; return $game_party.members_screen_z[index] # Game_EnemyのZ座標は100&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ダメージ効果の実行&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_perform_damage_effect :perform_damage_effect&lt;/p&gt; &lt;p&gt; def perform_damage_effect&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_perform_damage_effect&lt;/p&gt; &lt;p&gt; # シェイクを無効にしている場合、シェイクをクリア&lt;/p&gt; &lt;p&gt; $game_troop.screen.clear_shake if LNX11::DISABLED_DAMAGE_SHAKE&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:コラプス効果の実行&lt;/p&gt; &lt;p&gt; # アクターの[特徴&amp;gt;その他&amp;gt;消滅エフェクト]の設定を適用するようにします。&lt;/p&gt; &lt;p&gt; # 処理内容は Game_Enemy のものとほぼ同一です。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def perform_collapse_effect&lt;/p&gt; &lt;p&gt; if $game_party.in_battle&lt;/p&gt; &lt;p&gt; case collapse_type&lt;/p&gt; &lt;p&gt; when 0&lt;/p&gt; &lt;p&gt; @sprite_effect_type = :collapse&lt;/p&gt; &lt;p&gt; Sound.play_actor_collapse&lt;/p&gt; &lt;p&gt; when 1&lt;/p&gt; &lt;p&gt; @sprite_effect_type = :boss_collapse&lt;/p&gt; &lt;p&gt; Sound.play_boss_collapse1&lt;/p&gt; &lt;p&gt; when 2&lt;/p&gt; &lt;p&gt; @sprite_effect_type = :instant_collapse&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:グラフィック設定の配列を返す&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def graphic_name_index&lt;/p&gt; &lt;p&gt; case LNX11::DEFAULT_BATTLER_GRAPHIC&lt;/p&gt; &lt;p&gt; when 0 ; [@face_name, @face_index]&lt;/p&gt; &lt;p&gt; when 1 ; [@character_name, @character_index]&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:グラフィックの変更&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_set_graphic :set_graphic&lt;/p&gt; &lt;p&gt; def set_graphic(*args)&lt;/p&gt; &lt;p&gt; face = graphic_name_index&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_set_graphic(*args)&lt;/p&gt; &lt;p&gt; @refresh_battler_graphic = (face != graphic_name_index)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:デフォルトバトラーグラフィックの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def facebattler&lt;/p&gt; &lt;p&gt; $game_temp.actor_battler_graphic[id]&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; def facebattler=(bitmap)&lt;/p&gt; &lt;p&gt; facebattler.dispose if facebattler &amp;amp;&amp;amp; !facebattler.disposed?&lt;/p&gt; &lt;p&gt; $game_temp.actor_battler_graphic[id] = bitmap&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:後指定のバトラーグラフィックファイル名の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def battler_graphic_name&lt;/p&gt; &lt;p&gt; return @battler_graphic_name if @battler_graphic_name != nil&lt;/p&gt; &lt;p&gt; @battler_graphic_name = &quot;&quot;&lt;/p&gt; &lt;p&gt; end &lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:後指定のバトラーグラフィックファイル名の指定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def battler_graphic_name=(filename)&lt;/p&gt; &lt;p&gt; @battler_graphic_name = filename&lt;/p&gt; &lt;p&gt; @refresh_battler_graphic = true&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:顔グラフィックを描画して返す&lt;/p&gt; &lt;p&gt; # 処理内容は Window_Base の draw_face に準じたものです。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def draw_face(face_name, face_index, enabled = true)&lt;/p&gt; &lt;p&gt; fw = 96&lt;/p&gt; &lt;p&gt; fh = 96&lt;/p&gt; &lt;p&gt; # ビットマップを作成して返す&lt;/p&gt; &lt;p&gt; bitmap = Cache.face(face_name)&lt;/p&gt; &lt;p&gt; rect = Rect.new(face_index % 4 * fw, face_index / 4 * fh, fw, fh)&lt;/p&gt; &lt;p&gt; face = Bitmap.new(fw, fh)&lt;/p&gt; &lt;p&gt; color = LNX11::DEFAULT_BG_COLOR&lt;/p&gt; &lt;p&gt; face.gradient_fill_rect(face.rect, color[0], color[1], true) &lt;/p&gt; &lt;p&gt; face.blt(0, 0, bitmap, rect)&lt;/p&gt; &lt;p&gt; bitmap.dispose&lt;/p&gt; &lt;p&gt; face&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:歩行グラフィックを描画して返す&lt;/p&gt; &lt;p&gt; # 処理内容は Window_Base の draw_character に準じたものです。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def draw_character(character_name, character_index)&lt;/p&gt; &lt;p&gt; return unless character_name&lt;/p&gt; &lt;p&gt; bitmap = Cache.character(character_name)&lt;/p&gt; &lt;p&gt; sign = character_name[/^[\!\$]./]&lt;/p&gt; &lt;p&gt; if sign &amp;amp;&amp;amp; sign.include?(&#039;$&#039;)&lt;/p&gt; &lt;p&gt; cw = bitmap.width / 3&lt;/p&gt; &lt;p&gt; ch = bitmap.height / 4&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; cw = bitmap.width / 12&lt;/p&gt; &lt;p&gt; ch = bitmap.height / 8&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; n = character_index&lt;/p&gt; &lt;p&gt; src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)&lt;/p&gt; &lt;p&gt; character = Bitmap.new(cw, ch)&lt;/p&gt; &lt;p&gt; color = LNX11::DEFAULT_BG_COLOR&lt;/p&gt; &lt;p&gt; character.gradient_fill_rect(character.rect, color[0], color[1], true) &lt;/p&gt; &lt;p&gt; character.blt(0, 0, bitmap, src_rect)&lt;/p&gt; &lt;p&gt; character&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:デフォルトバトラーグラフィック設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def default_battler_graphic&lt;/p&gt; &lt;p&gt; case LNX11::DEFAULT_BATTLER_GRAPHIC&lt;/p&gt; &lt;p&gt; when 0 # 顔グラフィック&lt;/p&gt; &lt;p&gt; self.facebattler = draw_face(@face_name, @face_index)&lt;/p&gt; &lt;p&gt; when 1 # 歩行グラフィック&lt;/p&gt; &lt;p&gt; self.facebattler = draw_character(@character_name, @character_index)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:バトラーグラフィックの更新&lt;/p&gt; &lt;p&gt; # Sprite_Batter が利用するオブジェクトを更新します。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_battler_graphic&lt;/p&gt; &lt;p&gt; @battler_hue = 0&lt;/p&gt; &lt;p&gt; if !battler_graphic_name.empty?&lt;/p&gt; &lt;p&gt; # スクリプトで指定されている&lt;/p&gt; &lt;p&gt; @battler_name = @battler_graphic_name&lt;/p&gt; &lt;p&gt; dispose_facebattler&lt;/p&gt; &lt;p&gt; elsif !actor.default_battler_graphic.empty?&lt;/p&gt; &lt;p&gt; # メモで指定されている&lt;/p&gt; &lt;p&gt; @battler_name = actor.default_battler_graphic&lt;/p&gt; &lt;p&gt; dispose_facebattler&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # 何も指定されていない&lt;/p&gt; &lt;p&gt; @battler_name = &quot;&quot;&lt;/p&gt; &lt;p&gt; default_battler_graphic&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # 更新したので更新フラグを取り消す&lt;/p&gt; &lt;p&gt; @refresh_battler_graphic = false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:バトラー用顔グラフィックの解放&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def dispose_facebattler&lt;/p&gt; &lt;p&gt; return if self.facebattler == nil&lt;/p&gt; &lt;p&gt; self.facebattler.dispose&lt;/p&gt; &lt;p&gt; self.facebattler = nil&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:レベルアップメッセージの表示&lt;/p&gt; &lt;p&gt; # レベルアップのポップアップを追加します。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_display_level_up :display_level_up&lt;/p&gt; &lt;p&gt; def display_level_up(new_skills)&lt;/p&gt; &lt;p&gt; popup_data.popup_levelup(self) if $game_party.in_battle&lt;/p&gt; &lt;p&gt; lnx11a_display_level_up(new_skills)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Game_Enemy&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# 敵キャラを扱うクラスです。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Game_Enemy &amp;lt; Game_Battler&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:バトルメンバー判定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def battle_member?&lt;/p&gt; &lt;p&gt; true&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:通常攻撃 アニメーション ID の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def atk_animation&lt;/p&gt; &lt;p&gt; # メモを参照&lt;/p&gt; &lt;p&gt; enemy.atk_animation&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Game_Party&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# パーティを扱うクラスです。所持金やアイテムなどの情報が含まれます。このクラ&lt;/p&gt; &lt;p&gt;# スのインスタンスは $game_party で参照されます。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Game_Party &amp;lt; Game_Unit&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:公開インスタンス変数&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; attr_accessor :actor_invisible # アクター非表示&lt;/p&gt; &lt;p&gt; attr_accessor :status_invisible # バトルステータス非表示&lt;/p&gt; &lt;p&gt; attr_accessor :actor_bg_invisible # アクター背景非表示&lt;/p&gt; &lt;p&gt; attr_accessor :last_party_command # 最後に選択したパーティコマンド&lt;/p&gt; &lt;p&gt; attr_accessor :members_screen_x # バトルメンバー分のX座標配列&lt;/p&gt; &lt;p&gt; attr_accessor :members_screen_x_nooffset # X:オフセットなし&lt;/p&gt; &lt;p&gt; attr_accessor :members_screen_y # バトルメンバー分のY座標配列&lt;/p&gt; &lt;p&gt; attr_accessor :members_screen_z # バトルメンバー分のZ座標配列&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:バトルメンバーの座標設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_members_xyz&lt;/p&gt; &lt;p&gt; return if members.size == 0&lt;/p&gt; &lt;p&gt; # 座標をまとめて設定&lt;/p&gt; &lt;p&gt; set_screen_x&lt;/p&gt; &lt;p&gt; set_screen_y&lt;/p&gt; &lt;p&gt; set_screen_z&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:バトルメンバーの座標設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_members_battle_graphic&lt;/p&gt; &lt;p&gt; $game_party.battle_members.each {|actor| actor.update_battler_graphic}&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:バトル画面 X 座標の設定&lt;/p&gt; &lt;p&gt; # ここで設定した座標は Game_Actor や ステータス表示等で利用されます。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_screen_x&lt;/p&gt; &lt;p&gt; @members_screen_x = []&lt;/p&gt; &lt;p&gt; @members_screen_x_nooffset = []&lt;/p&gt; &lt;p&gt; padding = LNX11::ACTOR_PADDING[:side]&lt;/p&gt; &lt;p&gt; if LNX11::ACTOR_CENTERING&lt;/p&gt; &lt;p&gt; # アクターのセンタリングが有効&lt;/p&gt; &lt;p&gt; a_spacing = LNX11::ACTOR_SPACING_ADJUST&lt;/p&gt; &lt;p&gt; padding += (max_battle_members - battle_members.size) * a_spacing&lt;/p&gt; &lt;p&gt; width = (Graphics.width - padding * 2) / battle_members.size&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # アクターのセンタリングが無効&lt;/p&gt; &lt;p&gt; width = (Graphics.width - padding * 2) / max_battle_members&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; battle_members.each_with_index do |actor, i|&lt;/p&gt; &lt;p&gt; offset = LNX11::ACTOR_OFFSET[:x]&lt;/p&gt; &lt;p&gt; @members_screen_x_nooffset[i] = width * i + width / 2 + padding&lt;/p&gt; &lt;p&gt; @members_screen_x[i] = @members_screen_x_nooffset[i] + offset&lt;/p&gt; &lt;p&gt; actor.screen_x = @members_screen_x[i]&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:バトル画面 Y 座標の設定&lt;/p&gt; &lt;p&gt; # ここで設定した座標は Game_Actor や ステータス表示等で利用されます。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_screen_y&lt;/p&gt; &lt;p&gt; offset = LNX11::ACTOR_OFFSET[:y]&lt;/p&gt; &lt;p&gt; ay = Graphics.height - LNX11::ACTOR_PADDING[:bottom] + offset&lt;/p&gt; &lt;p&gt; @members_screen_y = Array.new(max_battle_members) {ay}&lt;/p&gt; &lt;p&gt; battle_members.each {|actor| actor.screen_y = ay}&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:バトル画面 Z 座標の設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_screen_z&lt;/p&gt; &lt;p&gt; # 便宜上、XYと同じように配列を作成しておく&lt;/p&gt; &lt;p&gt; az = LNX11::ACTOR_SCREEN_TONE ? 150 : -10&lt;/p&gt; &lt;p&gt; @members_screen_z = Array.new(max_battle_members) {az}&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:戦闘開始処理&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def on_battle_start&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; # バトルステータスの更新&lt;/p&gt; &lt;p&gt; $game_temp.battle_status_refresh&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Game_Troop&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# 敵グループおよび戦闘に関するデータを扱うクラスです。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Game_Troop &amp;lt; Game_Unit&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:セットアップ&lt;/p&gt; &lt;p&gt; # 敵グループの座標修正処理を追加します。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_setup :setup&lt;/p&gt; &lt;p&gt; def setup(*args)&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_setup(*args)&lt;/p&gt; &lt;p&gt; # 敵グループの座標修正&lt;/p&gt; &lt;p&gt; @enemies.each do |enemy|&lt;/p&gt; &lt;p&gt; # X:解像度がデフォルトでない場合に位置を補正する&lt;/p&gt; &lt;p&gt; if LNX11::TROOP_X_SCREEN_FIX&lt;/p&gt; &lt;p&gt; enemy.screen_x *= Graphics.width.to_f / 544&lt;/p&gt; &lt;p&gt; enemy.screen_x.truncate&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; enemy.screen_y += LNX11::TROOP_Y_OFFSET&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:敵キャラ名の配列取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_enemy_names :enemy_names&lt;/p&gt; &lt;p&gt; def enemy_names&lt;/p&gt; &lt;p&gt; LNX11::MESSAGE_WINDOW_ENEMY_NAMES ? lnx11a_enemy_names : []&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Game_Message&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# 文章や選択肢などを表示するメッセージウィンドウの状態を扱うクラスです。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Game_Message&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:公開インスタンス変数&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; attr_reader :helpdisplay_texts # 簡易ヘルプ配列&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:簡易ヘルプ配列の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def helpdisplay_texts&lt;/p&gt; &lt;p&gt; return @helpdisplay_texts if @helpdisplay_texts&lt;/p&gt; &lt;p&gt; @helpdisplay_texts = []&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:クリア&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_clear :clear&lt;/p&gt; &lt;p&gt; def clear&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_clear&lt;/p&gt; &lt;p&gt; @helpdisplay_texts = []&lt;/p&gt; &lt;p&gt; @add_disabled = false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:テキストの追加&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_add :add&lt;/p&gt; &lt;p&gt; def add(text)&lt;/p&gt; &lt;p&gt; # テキストの追加が禁止されてる場合、簡易ヘルプ表示用の配列に追加する&lt;/p&gt; &lt;p&gt; if @add_disabled&lt;/p&gt; &lt;p&gt; @helpdisplay_texts = [] unless @helpdisplay_texts&lt;/p&gt; &lt;p&gt; @helpdisplay_texts.push(text)&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_add(text)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:テキスト追加の禁止&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def add_disabled&lt;/p&gt; &lt;p&gt; return if LNX11::MESSAGE_TYPE == 0&lt;/p&gt; &lt;p&gt; @add_disabled = true&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:テキスト追加の禁止&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def add_enabled&lt;/p&gt; &lt;p&gt; return if LNX11::MESSAGE_TYPE == 0&lt;/p&gt; &lt;p&gt; @add_disabled = false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Sprite_Battler&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# バトラー表示用のスプライトです。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Sprite_Battler &amp;lt; Sprite_Base&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ターゲットカーソルのバトラーの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def cursor_battler&lt;/p&gt; &lt;p&gt; $game_temp.target_cursor_sprite.battler&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ターゲットカーソルの点滅状態に対応したシンボルを返す&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def cursor_effect&lt;/p&gt; &lt;p&gt; $game_temp.target_cursor_sprite.blink ? :target_whiten : :command_whiten&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:対象選択フラッシュの設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def setup_cursor_effect &lt;/p&gt; &lt;p&gt; if cursor_battler == @battler ||&lt;/p&gt; &lt;p&gt; (cursor_battler == :party &amp;amp;&amp;amp; @battler.actor?) ||&lt;/p&gt; &lt;p&gt; ([:troop, :troop_random].include?(cursor_battler) &amp;amp;&amp;amp; !@battler.actor?)&lt;/p&gt; &lt;p&gt; if @effect_type == nil || @effect_type != cursor_effect&lt;/p&gt; &lt;p&gt; start_effect(cursor_effect)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # フラッシュエフェクト終了&lt;/p&gt; &lt;p&gt; end_cursor_effect&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:対象選択フラッシュの終了&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def end_cursor_effect &lt;/p&gt; &lt;p&gt; if [:target_whiten, :command_whiten].include?(@effect_type)&lt;/p&gt; &lt;p&gt; @effect_type = nil&lt;/p&gt; &lt;p&gt; @effect_duration = 0&lt;/p&gt; &lt;p&gt; revert_to_normal&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:アニメーションスプライトの設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def animation_set_sprites(frame)&lt;/p&gt; &lt;p&gt; o = self.opacity&lt;/p&gt; &lt;p&gt; self.opacity = 255 if !@battler_visible || @effect_duration &amp;gt; 0&lt;/p&gt; &lt;p&gt; # スーパークラスのメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; super(frame)&lt;/p&gt; &lt;p&gt; self.opacity = o&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:アニメーションの原点設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_animation_origin&lt;/p&gt; &lt;p&gt; # スーパークラスのメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; # 画面アニメーションがアクターに再生されたら&lt;/p&gt; &lt;p&gt; if @animation.position == 3 &amp;amp;&amp;amp; @battler != nil &amp;amp;&amp;amp; @battler.actor?&lt;/p&gt; &lt;p&gt; # アニメーションのY座標を修正&lt;/p&gt; &lt;p&gt; @ani_oy += LNX11::SCREEN_ANIMATION_OFFSET&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:転送元ビットマップの更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_update_bitmap :update_bitmap&lt;/p&gt; &lt;p&gt; def update_bitmap&lt;/p&gt; &lt;p&gt; if @battler.actor? &amp;amp;&amp;amp; @battler.refresh_battler_graphic&lt;/p&gt; &lt;p&gt; # バトラーグラフィックが変更されていれば更新する&lt;/p&gt; &lt;p&gt; @battler.update_battler_graphic&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; if @battler.actor? &amp;amp;&amp;amp; @battler.facebattler != nil&lt;/p&gt; &lt;p&gt; # バトラー用顔グラフィックが作成されていれば、&lt;/p&gt; &lt;p&gt; # それを Sprite の Bitmap とする&lt;/p&gt; &lt;p&gt; new_bitmap = @battler.facebattler&lt;/p&gt; &lt;p&gt; if bitmap != new_bitmap&lt;/p&gt; &lt;p&gt; self.bitmap = new_bitmap&lt;/p&gt; &lt;p&gt; init_visibility&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_update_bitmap&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:新しいアニメーションの設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_setup_new_animation :setup_new_animation&lt;/p&gt; &lt;p&gt; def setup_new_animation&lt;/p&gt; &lt;p&gt; lnx11a_setup_new_animation&lt;/p&gt; &lt;p&gt; # ループアニメーションの設定&lt;/p&gt; &lt;p&gt; if @battler.loop_animation_id &amp;gt; 0 &amp;amp;&amp;amp; (@loop_animation == nil ||&lt;/p&gt; &lt;p&gt; @battler.loop_animation_id != @loop_animation.id)&lt;/p&gt; &lt;p&gt; animation = $data_animations[@battler.loop_animation_id]&lt;/p&gt; &lt;p&gt; mirror = @battler.loop_animation_mirror&lt;/p&gt; &lt;p&gt; start_loop_animation(animation, mirror)&lt;/p&gt; &lt;p&gt; elsif @battler.loop_animation_id == 0 &amp;amp;&amp;amp; @loop_animation&lt;/p&gt; &lt;p&gt; end_loop_animation&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:新しいエフェクトの設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_setup_new_effect :setup_new_effect&lt;/p&gt; &lt;p&gt; def setup_new_effect&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_setup_new_effect&lt;/p&gt; &lt;p&gt; # フラッシュエフェクト設定&lt;/p&gt; &lt;p&gt; if @battler_visible &amp;amp;&amp;amp; cursor_battler&lt;/p&gt; &lt;p&gt; setup_cursor_effect&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # フラッシュエフェクト終了&lt;/p&gt; &lt;p&gt; end_cursor_effect&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:エフェクトの開始&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_start_effect :start_effect&lt;/p&gt; &lt;p&gt; def start_effect(effect_type)&lt;/p&gt; &lt;p&gt; # エフェクト開始の追加&lt;/p&gt; &lt;p&gt; @effect_type = effect_type&lt;/p&gt; &lt;p&gt; case @effect_type&lt;/p&gt; &lt;p&gt; when :target_whiten&lt;/p&gt; &lt;p&gt; @effect_duration = 40&lt;/p&gt; &lt;p&gt; @battler_visible = true&lt;/p&gt; &lt;p&gt; when :command_whiten&lt;/p&gt; &lt;p&gt; @effect_duration = 80&lt;/p&gt; &lt;p&gt; @battler_visible = true&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_start_effect(effect_type)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:エフェクトの更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_update_effect :update_effect&lt;/p&gt; &lt;p&gt; def update_effect&lt;/p&gt; &lt;p&gt; # エフェクト更新の追加&lt;/p&gt; &lt;p&gt; if @effect_duration &amp;gt; 0&lt;/p&gt; &lt;p&gt; @effect_duration -= 1&lt;/p&gt; &lt;p&gt; case @effect_type&lt;/p&gt; &lt;p&gt; when :target_whiten&lt;/p&gt; &lt;p&gt; update_target_whiten&lt;/p&gt; &lt;p&gt; when :command_whiten&lt;/p&gt; &lt;p&gt; update_command_whiten&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; @effect_duration += 1&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_update_effect&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:対象選択フラッシュエフェクトの更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_target_whiten&lt;/p&gt; &lt;p&gt; alpha = @effect_duration &amp;lt; 20 ? @effect_duration : 40 - @effect_duration&lt;/p&gt; &lt;p&gt; self.color.set(255, 255, 255, 0)&lt;/p&gt; &lt;p&gt; self.color.alpha = (alpha + 1) * 2&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:コマンド選択フラッシュエフェクトの更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_command_whiten&lt;/p&gt; &lt;p&gt; alpha = @effect_duration &amp;lt; 40 ? @effect_duration : 80 - @effect_duration&lt;/p&gt; &lt;p&gt; self.color.set(255, 255, 255, 0)&lt;/p&gt; &lt;p&gt; self.color.alpha = alpha * 2&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:高さの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def bitmap_height&lt;/p&gt; &lt;p&gt; self.bitmap.height&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:位置の更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_update_position :update_position&lt;/p&gt; &lt;p&gt; def update_position&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_update_position&lt;/p&gt; &lt;p&gt; # 高さを更新&lt;/p&gt; &lt;p&gt; @battler.bitmap_height = bitmap_height&lt;/p&gt; &lt;p&gt; # 可視状態を更新&lt;/p&gt; &lt;p&gt; self.visible = !$game_party.actor_invisible if @battler.actor?&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; if LNX11::ENHANCED_WHITEN&lt;/p&gt; &lt;p&gt; # 白フラッシュを強めにする&lt;/p&gt; &lt;p&gt; #------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:白フラッシュエフェクトの更新&lt;/p&gt; &lt;p&gt; #------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_whiten&lt;/p&gt; &lt;p&gt; self.color.set(255, 255, 255, 0)&lt;/p&gt; &lt;p&gt; self.color.alpha = 192 - (16 - @effect_duration) * 12&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ループアニメーションの追加&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:クラス変数&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; @@loop_ani_checker = []&lt;/p&gt; &lt;p&gt; @@loop_ani_spr_checker = []&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:オブジェクト初期化&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_initialize :initialize&lt;/p&gt; &lt;p&gt; def initialize(viewport, battler = nil)&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_initialize(viewport, battler)&lt;/p&gt; &lt;p&gt; # ループアニメの残り時間&lt;/p&gt; &lt;p&gt; @loop_ani_duration = 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:解放&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_dispose :dispose&lt;/p&gt; &lt;p&gt; def dispose&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_dispose&lt;/p&gt; &lt;p&gt; # ループアニメを解放&lt;/p&gt; &lt;p&gt; dispose_loop_animation&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:フレーム更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_update :update&lt;/p&gt; &lt;p&gt; def update&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_update&lt;/p&gt; &lt;p&gt; update_loop_animation&lt;/p&gt; &lt;p&gt; @@loop_ani_checker.clear&lt;/p&gt; &lt;p&gt; @@loop_ani_spr_checker.clear&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ループアニメーション表示中判定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def loop_animation?&lt;/p&gt; &lt;p&gt; @loop_animation != nil&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ループアニメーションの開始&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def start_loop_animation(animation, mirror = false)&lt;/p&gt; &lt;p&gt; dispose_loop_animation&lt;/p&gt; &lt;p&gt; @loop_animation = animation&lt;/p&gt; &lt;p&gt; if @loop_animation&lt;/p&gt; &lt;p&gt; @loop_ani_mirror = mirror&lt;/p&gt; &lt;p&gt; set_loop_animation_rate&lt;/p&gt; &lt;p&gt; @loop_ani_duration = @loop_animation.frame_max * @loop_ani_rate + 1&lt;/p&gt; &lt;p&gt; load_loop_animation_bitmap&lt;/p&gt; &lt;p&gt; make_loop_animation_sprites&lt;/p&gt; &lt;p&gt; set_loop_animation_origin&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ループアニメーションの速度を設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_loop_animation_rate&lt;/p&gt; &lt;p&gt; if $lnx_include[:lnx09]&lt;/p&gt; &lt;p&gt; # LNX09 を導入している&lt;/p&gt; &lt;p&gt; default = LNX09::DEFAULT_BATTLE_SPEED_RATE&lt;/p&gt; &lt;p&gt; if @loop_animation.speed_rate&lt;/p&gt; &lt;p&gt; @loop_ani_rate = @loop_animation.speed_rate&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; @loop_ani_rate = default&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; @loop_ani_rate = 4&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ループアニメーション グラフィックの読み込み&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def load_loop_animation_bitmap&lt;/p&gt; &lt;p&gt; animation1_name = @loop_animation.animation1_name&lt;/p&gt; &lt;p&gt; animation1_hue = @loop_animation.animation1_hue&lt;/p&gt; &lt;p&gt; animation2_name = @loop_animation.animation2_name&lt;/p&gt; &lt;p&gt; animation2_hue = @loop_animation.animation2_hue&lt;/p&gt; &lt;p&gt; @loop_ani_bitmap1 = Cache.animation(animation1_name, animation1_hue)&lt;/p&gt; &lt;p&gt; @loop_ani_bitmap2 = Cache.animation(animation2_name, animation2_hue)&lt;/p&gt; &lt;p&gt; if @@_reference_count.include?(@loop_ani_bitmap1)&lt;/p&gt; &lt;p&gt; @@_reference_count[@loop_ani_bitmap1] += 1&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; @@_reference_count[@loop_ani_bitmap1] = 1&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; if @@_reference_count.include?(@loop_ani_bitmap2)&lt;/p&gt; &lt;p&gt; @@_reference_count[@loop_ani_bitmap2] += 1&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; @@_reference_count[@loop_ani_bitmap2] = 1&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; Graphics.frame_reset&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ループアニメーションスプライトの作成&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def make_loop_animation_sprites&lt;/p&gt; &lt;p&gt; @loop_ani_sprites = []&lt;/p&gt; &lt;p&gt; if @use_sprite &amp;amp;&amp;amp; !@@loop_ani_spr_checker.include?(@loop_animation)&lt;/p&gt; &lt;p&gt; 16.times do&lt;/p&gt; &lt;p&gt; sprite = ::Sprite.new(viewport)&lt;/p&gt; &lt;p&gt; sprite.visible = false&lt;/p&gt; &lt;p&gt; @loop_ani_sprites.push(sprite)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; if @loop_animation.position == 3&lt;/p&gt; &lt;p&gt; @@loop_ani_spr_checker.push(@loop_animation)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; @loop_ani_duplicated = @@loop_ani_checker.include?(@loop_animation)&lt;/p&gt; &lt;p&gt; if !@loop_ani_duplicated &amp;amp;&amp;amp; @loop_animation.position == 3&lt;/p&gt; &lt;p&gt; @@loop_ani_checker.push(@loop_animation)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ループアニメーションの原点設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_loop_animation_origin&lt;/p&gt; &lt;p&gt; if @loop_animation.position == 3&lt;/p&gt; &lt;p&gt; if viewport == nil&lt;/p&gt; &lt;p&gt; @loop_ani_ox = Graphics.width / 2&lt;/p&gt; &lt;p&gt; @loop_ani_oy = Graphics.height / 2&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; @loop_ani_ox = viewport.rect.width / 2&lt;/p&gt; &lt;p&gt; @loop_ani_oy = viewport.rect.height / 2&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; @loop_ani_ox = x - ox + width / 2&lt;/p&gt; &lt;p&gt; @loop_ani_oy = y - oy + height / 2&lt;/p&gt; &lt;p&gt; if @loop_animation.position == 0&lt;/p&gt; &lt;p&gt; @loop_ani_oy -= height / 2&lt;/p&gt; &lt;p&gt; elsif @loop_animation.position == 2&lt;/p&gt; &lt;p&gt; @loop_ani_oy += height / 2&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ループアニメーションの解放&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def dispose_loop_animation&lt;/p&gt; &lt;p&gt; if @loop_ani_bitmap1&lt;/p&gt; &lt;p&gt; @@_reference_count[@loop_ani_bitmap1] -= 1&lt;/p&gt; &lt;p&gt; if @@_reference_count[@loop_ani_bitmap1] == 0&lt;/p&gt; &lt;p&gt; @loop_ani_bitmap1.dispose&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; if @loop_ani_bitmap2&lt;/p&gt; &lt;p&gt; @@_reference_count[@loop_ani_bitmap2] -= 1&lt;/p&gt; &lt;p&gt; if @@_reference_count[@loop_ani_bitmap2] == 0&lt;/p&gt; &lt;p&gt; @loop_ani_bitmap2.dispose&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; if @loop_ani_sprites&lt;/p&gt; &lt;p&gt; @loop_ani_sprites.each {|sprite| sprite.dispose }&lt;/p&gt; &lt;p&gt; @loop_ani_sprites = nil&lt;/p&gt; &lt;p&gt; @loop_animation = nil&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; @loop_ani_bitmap1 = nil&lt;/p&gt; &lt;p&gt; @loop_ani_bitmap2 = nil&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ループアニメーションの更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_loop_animation&lt;/p&gt; &lt;p&gt; return unless loop_animation?&lt;/p&gt; &lt;p&gt; @loop_ani_duration -= 1&lt;/p&gt; &lt;p&gt; if @loop_ani_duration % @loop_ani_rate == 0&lt;/p&gt; &lt;p&gt; if @loop_ani_duration &amp;gt; 0&lt;/p&gt; &lt;p&gt; frame_index = @loop_animation.frame_max&lt;/p&gt; &lt;p&gt; speed = (@loop_ani_duration + @loop_ani_rate - 1) / @loop_ani_rate&lt;/p&gt; &lt;p&gt; frame_index -= speed&lt;/p&gt; &lt;p&gt; loop_animation_set_sprites(@loop_animation.frames[frame_index])&lt;/p&gt; &lt;p&gt; @loop_animation.timings.each do |timing|&lt;/p&gt; &lt;p&gt; loop_animation_process_timing(timing) if timing.frame == frame_index&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # 残り時間を再設定してループ&lt;/p&gt; &lt;p&gt; @loop_ani_duration = @loop_animation.frame_max * @loop_ani_rate + 1&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ループアニメーションの終了&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def end_loop_animation&lt;/p&gt; &lt;p&gt; dispose_loop_animation&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ループアニメーションスプライトの設定&lt;/p&gt; &lt;p&gt; # frame : フレームデータ（RPG::Animation::Frame）&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def loop_animation_set_sprites(frame)&lt;/p&gt; &lt;p&gt; cell_data = frame.cell_data&lt;/p&gt; &lt;p&gt; @loop_ani_sprites.each_with_index do |sprite, i|&lt;/p&gt; &lt;p&gt; next unless sprite&lt;/p&gt; &lt;p&gt; pattern = cell_data[i, 0]&lt;/p&gt; &lt;p&gt; if !pattern || pattern &amp;lt; 0&lt;/p&gt; &lt;p&gt; sprite.visible = false&lt;/p&gt; &lt;p&gt; next&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; sprite.bitmap = pattern &amp;lt; 100 ? @loop_ani_bitmap1 : @loop_ani_bitmap2&lt;/p&gt; &lt;p&gt; sprite.visible = true&lt;/p&gt; &lt;p&gt; sprite.src_rect.set(pattern % 5 * 192,&lt;/p&gt; &lt;p&gt; pattern % 100 / 5 * 192, 192, 192)&lt;/p&gt; &lt;p&gt; if @loop_ani_mirror&lt;/p&gt; &lt;p&gt; sprite.x = @loop_ani_ox - cell_data[i, 1]&lt;/p&gt; &lt;p&gt; sprite.y = @loop_ani_oy + cell_data[i, 2]&lt;/p&gt; &lt;p&gt; sprite.angle = (360 - cell_data[i, 4])&lt;/p&gt; &lt;p&gt; sprite.mirror = (cell_data[i, 5] == 0)&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; sprite.x = @loop_ani_ox + cell_data[i, 1]&lt;/p&gt; &lt;p&gt; sprite.y = @loop_ani_oy + cell_data[i, 2]&lt;/p&gt; &lt;p&gt; sprite.angle = cell_data[i, 4]&lt;/p&gt; &lt;p&gt; sprite.mirror = (cell_data[i, 5] == 1)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; sprite.z = self.z + 316 + i &lt;/p&gt; &lt;p&gt; sprite.ox = 96&lt;/p&gt; &lt;p&gt; sprite.oy = 96&lt;/p&gt; &lt;p&gt; sprite.zoom_x = cell_data[i, 3] / 100.0&lt;/p&gt; &lt;p&gt; sprite.zoom_y = cell_data[i, 3] / 100.0&lt;/p&gt; &lt;p&gt; sprite.opacity = cell_data[i, 6] * self.opacity / 255.0&lt;/p&gt; &lt;p&gt; sprite.blend_type = cell_data[i, 7]&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:SE とフラッシュのタイミング処理&lt;/p&gt; &lt;p&gt; # timing : タイミングデータ（RPG::Animation::Timing）&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def loop_animation_process_timing(timing)&lt;/p&gt; &lt;p&gt; timing.se.play unless @loop_ani_duplicated&lt;/p&gt; &lt;p&gt; case timing.flash_scope&lt;/p&gt; &lt;p&gt; when 1&lt;/p&gt; &lt;p&gt; self.flash(timing.flash_color, timing.flash_duration * @loop_ani_rate)&lt;/p&gt; &lt;p&gt; when 2&lt;/p&gt; &lt;p&gt; if viewport &amp;amp;&amp;amp; !@loop_ani_duplicated&lt;/p&gt; &lt;p&gt; duration = timing.flash_duration * @loop_ani_rate&lt;/p&gt; &lt;p&gt; viewport.flash(timing.flash_color, duration)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; when 3&lt;/p&gt; &lt;p&gt; self.flash(nil, timing.flash_duration * @loop_ani_rate)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Spriteset_Battle&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# バトル画面のスプライトをまとめたクラスです。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Spriteset_Battle&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:オブジェクト初期化&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_initialize :initialize&lt;/p&gt; &lt;p&gt; def initialize&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_initialize&lt;/p&gt; &lt;p&gt; # アクターエリアの背景の作成&lt;/p&gt; &lt;p&gt; create_actor_background&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:解放&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_dispose :dispose&lt;/p&gt; &lt;p&gt; def dispose&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_dispose&lt;/p&gt; &lt;p&gt; # アクターエリアの背景の解放&lt;/p&gt; &lt;p&gt; dispose_actor_background&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:フレーム更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_update :update&lt;/p&gt; &lt;p&gt; def update&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_update&lt;/p&gt; &lt;p&gt; # アクターエリアの背景の更新&lt;/p&gt; &lt;p&gt; update_actor_background&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:アクターのビューポート&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def actor_viewport&lt;/p&gt; &lt;p&gt; LNX11::ACTOR_SCREEN_TONE ? @viewport1 : @viewport2&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:アクターエリアの背景の作成&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def create_actor_background&lt;/p&gt; &lt;p&gt; return if LNX11::ACTOR_BACKGROUND == 0&lt;/p&gt; &lt;p&gt; viewport = actor_viewport&lt;/p&gt; &lt;p&gt; height = LNX11::ACTOR_BACKGROUND_HEIGHT&lt;/p&gt; &lt;p&gt; case LNX11::ACTOR_BACKGROUND&lt;/p&gt; &lt;p&gt; when 1&lt;/p&gt; &lt;p&gt; # グラデーション&lt;/p&gt; &lt;p&gt; @actor_background = Sprite.new&lt;/p&gt; &lt;p&gt; back = Bitmap.new(Graphics.width, height)&lt;/p&gt; &lt;p&gt; color = LNX11::ACTOR_BG_GRADIENT_COLOR&lt;/p&gt; &lt;p&gt; back.gradient_fill_rect(back.rect, color[0], color[1], true) &lt;/p&gt; &lt;p&gt; @actor_background.bitmap = back&lt;/p&gt; &lt;p&gt; when 2&lt;/p&gt; &lt;p&gt; # ウィンドウ&lt;/p&gt; &lt;p&gt; @actor_background = Window_Base.new(0, 0, Graphics.width, height)&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; if LNX11::ACTOR_BACKGROUND.is_a?(String)&lt;/p&gt; &lt;p&gt; # ファイル指定&lt;/p&gt; &lt;p&gt; @actor_background = Sprite.new&lt;/p&gt; &lt;p&gt; @actor_background.bitmap = Cache.system(LNX11::ACTOR_BACKGROUND)&lt;/p&gt; &lt;p&gt; @actor_background.x = Graphics.width / 2&lt;/p&gt; &lt;p&gt; @actor_background.ox = @actor_background.bitmap.width / 2&lt;/p&gt; &lt;p&gt; height = @actor_background.bitmap.height&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; @actor_background.viewport = viewport&lt;/p&gt; &lt;p&gt; @actor_background.y = Graphics.height - height&lt;/p&gt; &lt;p&gt; @actor_background.z = viewport == @viewport1 ? 120 : -20&lt;/p&gt; &lt;p&gt; update_actor_background&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:アクターエリアの背景の解放&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def dispose_actor_background&lt;/p&gt; &lt;p&gt; return unless @actor_background&lt;/p&gt; &lt;p&gt; @actor_background.bitmap.dispose if @actor_background.is_a?(Sprite)&lt;/p&gt; &lt;p&gt; @actor_background.dispose&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:アクターエリアの背景の更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_actor_background&lt;/p&gt; &lt;p&gt; return unless @actor_background&lt;/p&gt; &lt;p&gt; @actor_background.visible = !$game_party.actor_bg_invisible&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:アクタースプライトの作成&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def create_actors&lt;/p&gt; &lt;p&gt; # 座標とグラフィックの設定&lt;/p&gt; &lt;p&gt; $game_party.set_members_xyz&lt;/p&gt; &lt;p&gt; $game_party.set_members_battle_graphic&lt;/p&gt; &lt;p&gt; # スプライトの作成&lt;/p&gt; &lt;p&gt; viewport = actor_viewport&lt;/p&gt; &lt;p&gt; @actor_sprites = $game_party.battle_members.collect do |actor|&lt;/p&gt; &lt;p&gt; Sprite_Battler.new(viewport, actor)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:アクタースプライトの更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_actors&lt;/p&gt; &lt;p&gt; @actor_sprites.each {|sprite| sprite.update }&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Scene_Battle&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# バトル画面の処理を行うクラスです。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Scene_Battle &amp;lt; Scene_Base&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:簡易ヘルプのメソッド設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_helpdisplay_methods&lt;/p&gt; &lt;p&gt; BattleManager.update_for_wait_method = method(:update_for_wait)&lt;/p&gt; &lt;p&gt; BattleManager.helpdisplay_set_method = method(:helpdisplay_set)&lt;/p&gt; &lt;p&gt; BattleManager.helpdisplay_clear_method = method(:helpdisplay_clear)&lt;/p&gt; &lt;p&gt; BattleManager.helpdisplay_wait_short_method=method(:helpdisplay_wait_short)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:簡易ヘルプ表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def helpdisplay_set(item, duration = nil)&lt;/p&gt; &lt;p&gt; @wait_short_disabled = false&lt;/p&gt; &lt;p&gt; @targethelp_window.show.set_item(item)&lt;/p&gt; &lt;p&gt; @targethelp_window.update&lt;/p&gt; &lt;p&gt; wait(duration ? duration : 20)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:簡易ヘルプ消去&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def helpdisplay_clear(duration = nil)&lt;/p&gt; &lt;p&gt; return if !@targethelp_window.visible&lt;/p&gt; &lt;p&gt; @wait_short_disabled = false&lt;/p&gt; &lt;p&gt; @targethelp_window.clear&lt;/p&gt; &lt;p&gt; @targethelp_window.hide&lt;/p&gt; &lt;p&gt; wait(duration ? duration : 10)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:簡易ヘルプ・短時間ウェイト&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def helpdisplay_wait_short&lt;/p&gt; &lt;p&gt; return if !@targethelp_window.visible || @wait_short_disabled&lt;/p&gt; &lt;p&gt; @wait_short_disabled = true # 連続で短時間ウェイトが実行されないように&lt;/p&gt; &lt;p&gt; @targethelp_window.clear&lt;/p&gt; &lt;p&gt; abs_wait_short&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:バトラーのエフェクト実行中？&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def battler_effect?&lt;/p&gt; &lt;p&gt; @spriteset.effect?&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:コマンド［逃げる］&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_command_escape :command_escape&lt;/p&gt; &lt;p&gt; def command_escape&lt;/p&gt; &lt;p&gt; @party_command_window.close&lt;/p&gt; &lt;p&gt; @party_command_window.openness = 0 if LNX11::MESSAGE_TYPE == 2&lt;/p&gt; &lt;p&gt; @status_window.unselect&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_command_escape&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:スキル／アイテムの使用&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_use_item :use_item&lt;/p&gt; &lt;p&gt; def use_item&lt;/p&gt; &lt;p&gt; # 簡易ヘルプ表示&lt;/p&gt; &lt;p&gt; item = @subject.current_action.item&lt;/p&gt; &lt;p&gt; if LNX11::BATTLELOG_TYPE == 2 &amp;amp;&amp;amp; !item.no_display&lt;/p&gt; &lt;p&gt; helpdisplay_set(item, item.display_wait)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_use_item&lt;/p&gt; &lt;p&gt; # 簡易ヘルプ消去・エフェクトが終わるまで待つ&lt;/p&gt; &lt;p&gt; if LNX11::BATTLELOG_TYPE == 2&lt;/p&gt; &lt;p&gt; wait(item.end_wait) &lt;/p&gt; &lt;p&gt; helpdisplay_clear&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; wait_for_effect&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:開始処理&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_start :start&lt;/p&gt; &lt;p&gt; def start&lt;/p&gt; &lt;p&gt; set_helpdisplay_methods&lt;/p&gt; &lt;p&gt; @last_party_members = party_members&lt;/p&gt; &lt;p&gt; $game_temp.method_battle_status_refresh = method(:refresh_status)&lt;/p&gt; &lt;p&gt; $game_temp.clear_last_target_cursor&lt;/p&gt; &lt;p&gt; $game_party.all_members.each {|actor| actor.last_actor_command = 0 }&lt;/p&gt; &lt;p&gt; reset_sprite_effects&lt;/p&gt; &lt;p&gt; standby_message_window_position&lt;/p&gt; &lt;p&gt; create_targetcursor&lt;/p&gt; &lt;p&gt; create_popup&lt;/p&gt; &lt;p&gt; #元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_start&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:終了処理&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_terminate :terminate&lt;/p&gt; &lt;p&gt; def terminate&lt;/p&gt; &lt;p&gt; $game_message.clear&lt;/p&gt; &lt;p&gt; dispose_targetcursor&lt;/p&gt; &lt;p&gt; dispose_popup&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_terminate&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:アクターのスプライト情報の初期化&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def reset_sprite_effects&lt;/p&gt; &lt;p&gt; $game_party.battle_members.each do |actor|&lt;/p&gt; &lt;p&gt; actor.popup_delay_clear&lt;/p&gt; &lt;p&gt; actor.set_state_animation&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:全ウィンドウの作成&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_create_all_windows :create_all_windows&lt;/p&gt; &lt;p&gt; def create_all_windows&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_create_all_windows&lt;/p&gt; &lt;p&gt; create_targethelp_window&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ステータスウィンドウの作成&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_create_status_window :create_status_window&lt;/p&gt; &lt;p&gt; def create_status_window&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_create_status_window&lt;/p&gt; &lt;p&gt; @status_window.set_xy&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:情報表示ビューポートの作成&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_create_info_viewport :create_info_viewport&lt;/p&gt; &lt;p&gt; def create_info_viewport&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_create_info_viewport&lt;/p&gt; &lt;p&gt; # ビューポートを修正&lt;/p&gt; &lt;p&gt; @info_viewport.rect.y = Graphics.height - LNX11::ACTOR_BACKGROUND_HEIGHT&lt;/p&gt; &lt;p&gt; @info_viewport.rect.height = LNX11::ACTOR_BACKGROUND_HEIGHT&lt;/p&gt; &lt;p&gt; @status_window.viewport = nil&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:パーティコマンドウィンドウの作成&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_create_party_command_window :create_party_command_window&lt;/p&gt; &lt;p&gt; def create_party_command_window&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_create_party_command_window&lt;/p&gt; &lt;p&gt; @party_command_window.viewport = nil&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:アクターコマンドウィンドウの作成&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_create_actor_command_window :create_actor_command_window&lt;/p&gt; &lt;p&gt; def create_actor_command_window&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_create_actor_command_window&lt;/p&gt; &lt;p&gt; @actor_command_window.viewport = nil&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ログウィンドウの作成&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_create_log_window :create_log_window&lt;/p&gt; &lt;p&gt; def create_log_window&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_create_log_window&lt;/p&gt; &lt;p&gt; # ウェイトメソッド&lt;/p&gt; &lt;p&gt; @log_window.method_wait_for_animation = method(:wait_for_animation)&lt;/p&gt; &lt;p&gt; end &lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ターゲットカーソルの作成&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def create_targetcursor&lt;/p&gt; &lt;p&gt; @targetcursor = Sprite_TargetCursor.new&lt;/p&gt; &lt;p&gt; $game_temp.target_cursor_sprite = @targetcursor&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ターゲットカーソルの解放&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def dispose_targetcursor&lt;/p&gt; &lt;p&gt; @targetcursor.dispose&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ターゲットヘルプウィンドウの作成&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def create_targethelp_window&lt;/p&gt; &lt;p&gt; @targethelp_window = Window_TargetHelp.new&lt;/p&gt; &lt;p&gt; @targethelp_window.visible = false&lt;/p&gt; &lt;p&gt; # ターゲット選択ウィンドウに関連付ける&lt;/p&gt; &lt;p&gt; @actor_window.help_window = @targethelp_window&lt;/p&gt; &lt;p&gt; @enemy_window.help_window = @targethelp_window&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ポップアップの作成&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def create_popup&lt;/p&gt; &lt;p&gt; $game_temp.popup_data = Popup_Data.new&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ポップアップの解放&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def dispose_popup&lt;/p&gt; &lt;p&gt; $game_temp.popup_data.dispose&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ポップアップデータの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def popup_data&lt;/p&gt; &lt;p&gt; $game_temp.popup_data&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:フレーム更新（基本）&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_update_basic :update_basic&lt;/p&gt; &lt;p&gt; def update_basic&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_update_basic&lt;/p&gt; &lt;p&gt; # 追加したオブジェクトの更新&lt;/p&gt; &lt;p&gt; update_targetcursor&lt;/p&gt; &lt;p&gt; update_popup&lt;/p&gt; &lt;p&gt; refresh_actors&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:パーティメンバーの ID 配列の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def party_members&lt;/p&gt; &lt;p&gt; $game_party.battle_members.collect {|actor| actor.id }&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:メンバーが入れ替わったらオブジェクトを再作成する&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def refresh_actors&lt;/p&gt; &lt;p&gt; a_party_members = party_members&lt;/p&gt; &lt;p&gt; return if @last_party_members == a_party_members&lt;/p&gt; &lt;p&gt; @last_party_members = a_party_members&lt;/p&gt; &lt;p&gt; $game_party.battle_members.each {|actor| actor.sprite_effect_type=:appear }&lt;/p&gt; &lt;p&gt; reset_sprite_effects&lt;/p&gt; &lt;p&gt; @spriteset.dispose_actors&lt;/p&gt; &lt;p&gt; @spriteset.create_actors&lt;/p&gt; &lt;p&gt; status_clear&lt;/p&gt; &lt;p&gt; refresh_status&lt;/p&gt; &lt;p&gt; Graphics.frame_reset&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ステータスウィンドウの情報を更新(メンバー交代用)&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def status_clear&lt;/p&gt; &lt;p&gt; @status_window.all_clear&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:メッセージウィンドウの位置の初期化&lt;/p&gt; &lt;p&gt; # 毎フレーム呼び出すことで、イベントコマンド以外のメッセージの位置を&lt;/p&gt; &lt;p&gt; # 固定します。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def standby_message_window_position&lt;/p&gt; &lt;p&gt; $game_message.background = LNX11::MESSAGE_WINDOW_BACKGROUND&lt;/p&gt; &lt;p&gt; $game_message.position = LNX11::MESSAGE_WINDOW_POSITION&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:メッセージウィンドウを開く処理の更新&lt;/p&gt; &lt;p&gt; # ステータスウィンドウなどが閉じ終わるまでオープン度を 0 にする。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_message_open&lt;/p&gt; &lt;p&gt; if $game_message.busy?&lt;/p&gt; &lt;p&gt; @party_command_window.close&lt;/p&gt; &lt;p&gt; @actor_command_window.close&lt;/p&gt; &lt;p&gt; $game_temp.battlelog_clear = true&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; standby_message_window_position&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ターゲットカーソル更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_targetcursor&lt;/p&gt; &lt;p&gt; # 選択中のバトラーの座標を設定する&lt;/p&gt; &lt;p&gt; if @actor_window.active&lt;/p&gt; &lt;p&gt; # アクター選択ウィンドウがアクティブ&lt;/p&gt; &lt;p&gt; @targetcursor.set(@actor_window.targetcursor, true)&lt;/p&gt; &lt;p&gt; elsif @enemy_window.active&lt;/p&gt; &lt;p&gt; # 敵キャラ選択ウィンドウがアクティブ&lt;/p&gt; &lt;p&gt; @targetcursor.set(@enemy_window.targetcursor, true)&lt;/p&gt; &lt;p&gt; elsif @status_window.index &amp;gt;= 0&lt;/p&gt; &lt;p&gt; # ステータスウィンドウがアクティブ&lt;/p&gt; &lt;p&gt; @targetcursor.set(@status_window.actor)&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # どれもアクティブでない場合は非表示&lt;/p&gt; &lt;p&gt; @targetcursor.hide&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; @targetcursor.update&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ポップアップ更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_popup&lt;/p&gt; &lt;p&gt; # ポップアップスプライトの更新&lt;/p&gt; &lt;p&gt; popup_data.update&lt;/p&gt; &lt;p&gt; end &lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:パーティコマンド選択の開始&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_start_party_command_selection :start_party_command_selection&lt;/p&gt; &lt;p&gt; def start_party_command_selection&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_start_party_command_selection&lt;/p&gt; &lt;p&gt; # バトルログ削除&lt;/p&gt; &lt;p&gt; @log_window.lines_clear&lt;/p&gt; &lt;p&gt; $game_temp.battlelog_clear = LNX11::STORAGE_TURNEND_CLEAR&lt;/p&gt; &lt;p&gt; @actor_command = false&lt;/p&gt; &lt;p&gt; # 2ターン目以降のパーテイコマンドスキップ&lt;/p&gt; &lt;p&gt; return unless @party_command_skip&lt;/p&gt; &lt;p&gt; @party_command_skip = false&lt;/p&gt; &lt;p&gt; command_fight if !scene_changing? &amp;amp;&amp;amp; @party_command_window.active&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:アクターコマンド選択の開始&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_start_actor_command_selection :start_actor_command_selection&lt;/p&gt; &lt;p&gt; def start_actor_command_selection&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_start_actor_command_selection&lt;/p&gt; &lt;p&gt; @actor_command = true&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ターン終了&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_turn_end :turn_end&lt;/p&gt; &lt;p&gt; def turn_end&lt;/p&gt; &lt;p&gt; @party_command_skip = (LNX11::PARTY_COMMAND_SKIP &amp;amp;&amp;amp; @actor_command)&lt;/p&gt; &lt;p&gt; @actor_command = false&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_turn_end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:アクターの選択したアイテム・スキルを返す&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def actor_selection_item&lt;/p&gt; &lt;p&gt; case @actor_command_window.current_symbol&lt;/p&gt; &lt;p&gt; when :attack ; $data_skills[BattleManager.actor.attack_skill_id]&lt;/p&gt; &lt;p&gt; when :skill ; @skill&lt;/p&gt; &lt;p&gt; when :item ; @item&lt;/p&gt; &lt;p&gt; when :guard ; $data_skills[BattleManager.actor.guard_skill_id]&lt;/p&gt; &lt;p&gt; else ; nil&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:コマンド［防御］&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_command_guard :command_guard&lt;/p&gt; &lt;p&gt; def command_guard&lt;/p&gt; &lt;p&gt; if LNX11::GUARD_TARGET_CHECKE&lt;/p&gt; &lt;p&gt; BattleManager.actor.input.set_guard&lt;/p&gt; &lt;p&gt; # アクター選択&lt;/p&gt; &lt;p&gt; select_actor_selection&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_command_guard&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:アクター選択の開始&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_select_actor_selection :select_actor_selection&lt;/p&gt; &lt;p&gt; def select_actor_selection&lt;/p&gt; &lt;p&gt; # ターゲットチェック&lt;/p&gt; &lt;p&gt; @actor_window.set_target(actor_selection_item)&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_select_actor_selection&lt;/p&gt; &lt;p&gt; # ターゲットチェック&lt;/p&gt; &lt;p&gt; @actor_window.set_target_refresh(actor_selection_item, BattleManager.actor)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:敵キャラ選択の開始&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_select_enemy_selection :select_enemy_selection&lt;/p&gt; &lt;p&gt; def select_enemy_selection&lt;/p&gt; &lt;p&gt; # ターゲットチェック&lt;/p&gt; &lt;p&gt; @enemy_window.set_target(actor_selection_item)&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_select_enemy_selection&lt;/p&gt; &lt;p&gt; # ターゲットチェック&lt;/p&gt; &lt;p&gt; @enemy_window.set_target_refresh(actor_selection_item, BattleManager.actor)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]アクター［キャンセル］&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_on_actor_cancel :on_actor_cancel&lt;/p&gt; &lt;p&gt; def on_actor_cancel&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_on_actor_cancel&lt;/p&gt; &lt;p&gt; # 防御の場合&lt;/p&gt; &lt;p&gt; case @actor_command_window.current_symbol&lt;/p&gt; &lt;p&gt; when :guard&lt;/p&gt; &lt;p&gt; @actor_command_window.activate&lt;/p&gt; &lt;p&gt; end &lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:攻撃アニメーションの表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_show_attack_animation :show_attack_animation&lt;/p&gt; &lt;p&gt; def show_attack_animation(targets)&lt;/p&gt; &lt;p&gt; if @subject.actor?&lt;/p&gt; &lt;p&gt; lnx11a_show_attack_animation(targets)&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # 敵の通常攻撃アニメーション&lt;/p&gt; &lt;p&gt; show_normal_animation(targets, @subject.atk_animation, false)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ LNX11_Window_ActiveVisible&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# バトル画面でターゲット選択中にウィンドウを非表示にするための&lt;/p&gt; &lt;p&gt;# ウィンドウ用モジュールです。&lt;/p&gt; &lt;p&gt;# ウィンドウの active と visible を連動させる役割があります。&lt;/p&gt; &lt;p&gt;# Window_ActorCommand,Window_BattleSkill, Window_BattleItem で&lt;/p&gt; &lt;p&gt;# インクルードされます。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;module LNX11_Window_ActiveVisible&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:ウィンドウのアクティブ化&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def activate&lt;/p&gt; &lt;p&gt; self.show&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:ウィンドウの非アクティブ化&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def deactivate&lt;/p&gt; &lt;p&gt; @help_window != nil ? self.hide : self.visible = false&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ LNX11_Window_FittingList&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# バトル画面のスキルリスト・アイテムリストを項目数に合わせてリサイズする&lt;/p&gt; &lt;p&gt;# ウィンドウ用モジュールです。&lt;/p&gt; &lt;p&gt;# Window_BattleSkill, Window_BattleItem でインクルードされます。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;module LNX11_Window_FittingList&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ウィンドウの高さ(最大)&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def max_height&lt;/p&gt; &lt;p&gt; @info_viewport.rect.y - @help_window.height&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:リフレッシュ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def refresh&lt;/p&gt; &lt;p&gt; make_item_list&lt;/p&gt; &lt;p&gt; self.height = [fitting_height(row_max), max_height].min&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; self.oy = 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ LNX11_Window_TargetHelp&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# バトル画面で、ターゲット選択中にヘルプウィンドウを表示するための&lt;/p&gt; &lt;p&gt;# ウィンドウ用モジュールです。&lt;/p&gt; &lt;p&gt;# Window_BattleActor, Window_BattleEnemy でインクルードされます。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;module LNX11_Window_TargetHelp&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ターゲットチェック&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_target(actor_selection_item)&lt;/p&gt; &lt;p&gt; @cursor_fix = @cursor_all = @cursor_random = false&lt;/p&gt; &lt;p&gt; item = actor_selection_item&lt;/p&gt; &lt;p&gt; if actor_selection_item &amp;amp;&amp;amp; !item.lnx11a_need_selection?&lt;/p&gt; &lt;p&gt; # カーソルを固定&lt;/p&gt; &lt;p&gt; @cursor_fix = true&lt;/p&gt; &lt;p&gt; # 全体&lt;/p&gt; &lt;p&gt; @cursor_all = item.for_all? &lt;/p&gt; &lt;p&gt; # ランダム&lt;/p&gt; &lt;p&gt; if item.for_random?&lt;/p&gt; &lt;p&gt; @cursor_all = true&lt;/p&gt; &lt;p&gt; @cursor_random = true&lt;/p&gt; &lt;p&gt; @random_number = item.number_of_targets&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # 戦闘不能の味方が対象か？&lt;/p&gt; &lt;p&gt; @dead_friend = item.for_dead_friend?&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ターゲットチェック(リフレッシュ後)&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_target_refresh(actor_selection_item, actor)&lt;/p&gt; &lt;p&gt; item = actor_selection_item&lt;/p&gt; &lt;p&gt; # 使用者が対象なら、使用者にカーソルを合わせる&lt;/p&gt; &lt;p&gt; select($game_party.members.index(actor)) if @cursor_fix &amp;amp;&amp;amp; item.for_user?&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:ウィンドウの表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def show&lt;/p&gt; &lt;p&gt; @help_window.show&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:ウィンドウの非表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def hide&lt;/p&gt; &lt;p&gt; @help_window.hide&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ [追加]:Window_TargetHelp&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# ターゲットの名前情報やスキルやアイテムの名前を表示します。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Window_TargetHelp &amp;lt; Window_Help&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 公開インスタンス変数&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; attr_accessor :random_number # 効果範囲ランダムの数&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:オブジェクト初期化&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def initialize&lt;/p&gt; &lt;p&gt; super(1) # 1行ヘルプ&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:ウィンドウの非表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def hide&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; clear&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:アイテム名設定&lt;/p&gt; &lt;p&gt; # item : スキル、アイテム、バトラー等&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_item(item)&lt;/p&gt; &lt;p&gt; set_text(item ? item : &quot;&quot;) # itemの説明ではなく、item自体を渡すようにする&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ゲージ幅&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def gauge_width&lt;/p&gt; &lt;p&gt; LNX11::HELP_PARAM_WIDTH&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ゲージ幅(余白を含む)&lt;/p&gt; &lt;p&gt; #-------------------------------------------------------------------------- &lt;/p&gt; &lt;p&gt; def gauge_width_spacing&lt;/p&gt; &lt;p&gt; LNX11::HELP_PARAM_WIDTH + 4&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● パラメータエリアの幅&lt;/p&gt; &lt;p&gt; #-------------------------------------------------------------------------- &lt;/p&gt; &lt;p&gt; def param_width(size)&lt;/p&gt; &lt;p&gt; gauge_width_spacing * size&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 効果範囲ランダムの数の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def random_number&lt;/p&gt; &lt;p&gt; # 全角にして返す&lt;/p&gt; &lt;p&gt; @random_number.to_s.tr(&#039;0-9&#039;,&#039;０-９&#039;)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:リフレッシュ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def refresh&lt;/p&gt; &lt;p&gt; contents.clear&lt;/p&gt; &lt;p&gt; change_color(normal_color)&lt;/p&gt; &lt;p&gt; if @text == :party&lt;/p&gt; &lt;p&gt; draw_text(contents.rect, &quot;All Allies&quot;, 1)&lt;/p&gt; &lt;p&gt; elsif @text == :troop&lt;/p&gt; &lt;p&gt; draw_text(contents.rect, &quot;All Enemies&quot;, 1)&lt;/p&gt; &lt;p&gt; elsif @text == :troop_random&lt;/p&gt; &lt;p&gt; case LNX11::RANDOMSCOPE_DISPLAY&lt;/p&gt; &lt;p&gt; when 0 ; draw_text(contents.rect, &quot;All Enemies (Random)&quot;, 1)&lt;/p&gt; &lt;p&gt; when 1 ; draw_text(contents.rect, &quot;#{random_number} Random Enemies&quot;, 1)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; elsif @text.is_a?(Game_Battler)&lt;/p&gt; &lt;p&gt; # 選択対象の情報を描画&lt;/p&gt; &lt;p&gt; draw_target_info&lt;/p&gt; &lt;p&gt; elsif @text.is_a?(RPG::UsableItem)&lt;/p&gt; &lt;p&gt; # アイテムかスキルならアイテム名を描画&lt;/p&gt; &lt;p&gt; draw_item_name_help(@text)&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # 通常のテキスト&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● 選択対象の情報の描画&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def draw_target_info&lt;/p&gt; &lt;p&gt; # バトラー情報の描画&lt;/p&gt; &lt;p&gt; param = @text.actor? ? LNX11::HELP_ACTOR_PARAM : LNX11::HELP_ENEMY_PARAM&lt;/p&gt; &lt;p&gt; # ゲージ付きステータス配列&lt;/p&gt; &lt;p&gt; status = [param[:hp],param[:mp],param[:tp]&amp;amp;&amp;amp;$data_system.opt_display_tp]&lt;/p&gt; &lt;p&gt; # 名前&lt;/p&gt; &lt;p&gt; x = contents_width / 2 - contents.text_size(@text.name).width / 2&lt;/p&gt; &lt;p&gt; name_width = contents.text_size(@text.name).width + 4&lt;/p&gt; &lt;p&gt; if !status.include?(true)&lt;/p&gt; &lt;p&gt; # ゲージ付きステータスを描画しない場合&lt;/p&gt; &lt;p&gt; draw_targethelp_name(@text, x, name_width, param[:hp])&lt;/p&gt; &lt;p&gt; x += name_width&lt;/p&gt; &lt;p&gt; state_width = contents_width - x&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # ゲージ付きステータスを描画する場合&lt;/p&gt; &lt;p&gt; status.delete(false)&lt;/p&gt; &lt;p&gt; x -= param_width(status.size) / 2&lt;/p&gt; &lt;p&gt; draw_targethelp_name(@text, x, name_width, param[:hp])&lt;/p&gt; &lt;p&gt; x += name_width&lt;/p&gt; &lt;p&gt; state_width = contents_width - x - param_width(status.size)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # ステートアイコン&lt;/p&gt; &lt;p&gt; if param[:state]&lt;/p&gt; &lt;p&gt; draw_actor_icons(@text, x, 0, state_width) &lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # パラメータの描画&lt;/p&gt; &lt;p&gt; x = contents_width - param_width(status.size)&lt;/p&gt; &lt;p&gt; # HP&lt;/p&gt; &lt;p&gt; if param[:hp]&lt;/p&gt; &lt;p&gt; draw_actor_hp(@text, x, 0, gauge_width)&lt;/p&gt; &lt;p&gt; x += gauge_width_spacing&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # MP&lt;/p&gt; &lt;p&gt; if param[:mp]&lt;/p&gt; &lt;p&gt; draw_actor_mp(@text, x, 0, gauge_width)&lt;/p&gt; &lt;p&gt; x += gauge_width_spacing&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # TP&lt;/p&gt; &lt;p&gt; if param[:tp] &amp;amp;&amp;amp; $data_system.opt_display_tp&lt;/p&gt; &lt;p&gt; draw_actor_tp(@text, x, 0, gauge_width)&lt;/p&gt; &lt;p&gt; x += gauge_width_spacing&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● ターゲットの名前描画&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def draw_targethelp_name(actor, x, name_width, hp)&lt;/p&gt; &lt;p&gt; if hp&lt;/p&gt; &lt;p&gt; # HPゲージを伴う場合(HPが少ない場合、名前の色が変化する)&lt;/p&gt; &lt;p&gt; draw_actor_name(actor, x, 0, name_width)&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; text = actor.name&lt;/p&gt; &lt;p&gt; draw_text(x, 0, text_size(text).width + 4, line_height, text)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● アイテムの描画(中央揃え)&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def draw_item_name_help(item)&lt;/p&gt; &lt;p&gt; case LNX11::HELPDISPLAY_TYPE&lt;/p&gt; &lt;p&gt; when 0 # アイコン+名前&lt;/p&gt; &lt;p&gt; w = contents.text_size(@text.name).width + 28&lt;/p&gt; &lt;p&gt; when 1 # 名前のみ&lt;/p&gt; &lt;p&gt; w = contents.text_size(@text.name).width + 4&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # 簡易説明文の描画&lt;/p&gt; &lt;p&gt; if !@text.short_description.empty?&lt;/p&gt; &lt;p&gt; des = LNX11::HELPDISPLAY_DESCRIPTION&lt;/p&gt; &lt;p&gt; contents.font.size = des[:size]&lt;/p&gt; &lt;p&gt; text = des[:delimiter] + @text.short_description&lt;/p&gt; &lt;p&gt; rect = contents.text_size(text)&lt;/p&gt; &lt;p&gt; w += rect.width&lt;/p&gt; &lt;p&gt; x = (contents_width - w) / 2&lt;/p&gt; &lt;p&gt; y = (line_height - rect.height) / 2&lt;/p&gt; &lt;p&gt; draw_text(x, y, w, line_height, text, 2)&lt;/p&gt; &lt;p&gt; reset_font_settings&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # 名前の描画&lt;/p&gt; &lt;p&gt; x = (contents_width - w) / 2&lt;/p&gt; &lt;p&gt; case LNX11::HELPDISPLAY_TYPE&lt;/p&gt; &lt;p&gt; when 0 # アイコン+名前&lt;/p&gt; &lt;p&gt; draw_item_name(@text, x, 0, true, w)&lt;/p&gt; &lt;p&gt; when 1 # 名前のみ&lt;/p&gt; &lt;p&gt; draw_text(x, 0, contents_width, line_height, @text.name)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Window_PartyCommand&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# バトル画面で、戦うか逃げるかを選択するウィンドウです。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Window_PartyCommand &amp;lt; Window_Command&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:オブジェクト初期化&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_initialize :initialize&lt;/p&gt; &lt;p&gt; def initialize&lt;/p&gt; &lt;p&gt; $game_party.last_party_command = nil&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_initialize&lt;/p&gt; &lt;p&gt; # 座標を設定&lt;/p&gt; &lt;p&gt; self.x = LNX11::PARTY_COMMAND_XY[:x]&lt;/p&gt; &lt;p&gt; self.y = LNX11::PARTY_COMMAND_XY[:y]&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:ウィンドウ幅の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def window_width&lt;/p&gt; &lt;p&gt; return LNX11::PARTY_COMMAND_WIDTH&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:表示行数の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def visible_line_number&lt;/p&gt; &lt;p&gt; return LNX11::PARTY_COMMAND_HORIZON ? 1 : @list.size&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:桁数の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def col_max&lt;/p&gt; &lt;p&gt; return LNX11::PARTY_COMMAND_HORIZON ? @list.size : 1&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:アライメントの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def alignment&lt;/p&gt; &lt;p&gt; return LNX11::PARTY_COMMAND_ALIGNMENT&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:横に項目が並ぶときの空白の幅を取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def spacing&lt;/p&gt; &lt;p&gt; return 8&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:ウィンドウを開く&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def open&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; # 最後に選択したコマンドを選択&lt;/p&gt; &lt;p&gt; return self unless LNX11::LAST_PARTY_COMMAND&lt;/p&gt; &lt;p&gt; last_command = $game_party.last_party_command&lt;/p&gt; &lt;p&gt; if last_command &amp;amp;&amp;amp; @list.include?(last_command)&lt;/p&gt; &lt;p&gt; select(@list.index(last_command))&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; self&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ウィンドウを閉じる&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def close&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; # 選択したコマンドを記憶&lt;/p&gt; &lt;p&gt; $game_party.last_party_command = @list[index] if index &amp;gt;= 0&lt;/p&gt; &lt;p&gt; self&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Window_ActorCommand&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# バトル画面で、アクターの行動を選択するウィンドウです。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Window_ActorCommand &amp;lt; Window_Command&lt;/p&gt; &lt;p&gt; include LNX11_Window_ActiveVisible&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:ウィンドウ幅の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def window_width&lt;/p&gt; &lt;p&gt; return LNX11::ACTOR_COMMAND_WIDTH&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:表示行数の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def visible_line_number&lt;/p&gt; &lt;p&gt; list_size = LNX11::ACTOR_COMMAND_NOSCROLL ? @list.size : 4&lt;/p&gt; &lt;p&gt; return LNX11::ACTOR_COMMAND_HORIZON ? 1 : list_size&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:桁数の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def col_max&lt;/p&gt; &lt;p&gt; return LNX11::ACTOR_COMMAND_HORIZON ? [@list.size, 1].max : 1&lt;/p&gt; &lt;p&gt; end &lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:アライメントの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def alignment&lt;/p&gt; &lt;p&gt; return LNX11::ACTOR_COMMAND_ALIGNMENT&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:横に項目が並ぶときの空白の幅を取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def spacing&lt;/p&gt; &lt;p&gt; return 8&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:X 座標をアクターに合わせる&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def actor_x(actor)&lt;/p&gt; &lt;p&gt; ax = $game_party.members_screen_x_nooffset[actor.index] - self.width / 2&lt;/p&gt; &lt;p&gt; pad = LNX11::STATUS_SIDE_PADDING / 2&lt;/p&gt; &lt;p&gt; # 画面内に収める&lt;/p&gt; &lt;p&gt; self.x = [[ax, pad].max, Graphics.width - pad - self.width].min&lt;/p&gt; &lt;p&gt; self.x += LNX11::ACTOR_COMMAND_OFFSET[:x]&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:Y 座標をアクターに合わせる&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def actor_y(actor)&lt;/p&gt; &lt;p&gt; self.y = actor.screen_y_top - self.height&lt;/p&gt; &lt;p&gt; self.y += LNX11::ACTOR_COMMAND_OFFSET[:y]&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:固定 Y 座標&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def screen_y&lt;/p&gt; &lt;p&gt; if LNX11::ACTOR_COMMAND_Y_POSITION == 0&lt;/p&gt; &lt;p&gt; self.y = Graphics.height - self.height + LNX11::ACTOR_COMMAND_OFFSET[:y]&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; self.y = LNX11::ACTOR_COMMAND_OFFSET[:y]&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:セットアップ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_setup :setup&lt;/p&gt; &lt;p&gt; def setup(actor)&lt;/p&gt; &lt;p&gt; # 前のアクターのコマンドを記憶&lt;/p&gt; &lt;p&gt; @actor.last_actor_command = @list[index] if @actor&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_setup(actor)&lt;/p&gt; &lt;p&gt; self.arrows_visible = !LNX11::ACTOR_COMMAND_NOSCROLL&lt;/p&gt; &lt;p&gt; self.height = window_height&lt;/p&gt; &lt;p&gt; self.oy = 0&lt;/p&gt; &lt;p&gt; # アクターコマンドの表示位置で分岐&lt;/p&gt; &lt;p&gt; case LNX11::ACTOR_COMMAND_POSITION&lt;/p&gt; &lt;p&gt; when 0&lt;/p&gt; &lt;p&gt; # アクターの頭上&lt;/p&gt; &lt;p&gt; actor_x(actor)&lt;/p&gt; &lt;p&gt; actor_y(actor)&lt;/p&gt; &lt;p&gt; when 1&lt;/p&gt; &lt;p&gt; # Y 座標固定&lt;/p&gt; &lt;p&gt; actor_x(actor)&lt;/p&gt; &lt;p&gt; screen_y&lt;/p&gt; &lt;p&gt; when 2&lt;/p&gt; &lt;p&gt; # XY固定&lt;/p&gt; &lt;p&gt; self.x = LNX11::ACTOR_COMMAND_OFFSET[:x]&lt;/p&gt; &lt;p&gt; screen_y&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # 最後に選択したコマンドを選択&lt;/p&gt; &lt;p&gt; return unless LNX11::LAST_ACTOR_COMMAND&lt;/p&gt; &lt;p&gt; last_command = @actor.last_actor_command&lt;/p&gt; &lt;p&gt; if last_command &amp;amp;&amp;amp; @list.include?(last_command)&lt;/p&gt; &lt;p&gt; select(@list.index(last_command))&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Window_BattleStatus&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# バトル画面で、パーティメンバーのステータスを表示するウィンドウです。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Window_BattleStatus &amp;lt; Window_Selectable&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:公開インスタンス変数&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; attr_reader :min_offset # ステータス描画 X 座標の位置修正&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:オブジェクト初期化&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_initialize :initialize&lt;/p&gt; &lt;p&gt; def initialize&lt;/p&gt; &lt;p&gt; @actor_last_status = Array.new($game_party.max_battle_members) { nil } &lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_initialize&lt;/p&gt; &lt;p&gt; # ウィンドウを最初から表示&lt;/p&gt; &lt;p&gt; self.openness = 255&lt;/p&gt; &lt;p&gt; self.opacity = 0&lt;/p&gt; &lt;p&gt; update_invisible&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:行の高さを取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def line_height&lt;/p&gt; &lt;p&gt; return LNX11::STATUS_LINE_HEIGHT&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:標準パディングサイズの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def standard_padding&lt;/p&gt; &lt;p&gt; return 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:表示行数の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def visible_line_number&lt;/p&gt; &lt;p&gt; return $data_system.opt_display_tp ? 4 : 3&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:桁数の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def col_max&lt;/p&gt; &lt;p&gt; return [item_max, 1].max&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:横に項目が並ぶときの空白の幅を取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def spacing&lt;/p&gt; &lt;p&gt; return 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:項目の高さを取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def item_height&lt;/p&gt; &lt;p&gt; self.height&lt;/p&gt; &lt;p&gt; end &lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:ウィンドウ幅の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def window_width&lt;/p&gt; &lt;p&gt; Graphics.width&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ウィンドウ高さの取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_window_height :window_height&lt;/p&gt; &lt;p&gt; def window_height&lt;/p&gt; &lt;p&gt; # 一行目(名前・ステート)の高さを確保する&lt;/p&gt; &lt;p&gt; lnx11a_window_height - line_height + [24, line_height].max&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:カーソルの更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_cursor&lt;/p&gt; &lt;p&gt; # カーソルを表示しない&lt;/p&gt; &lt;p&gt; cursor_rect.empty&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:システム色の取得&lt;/p&gt; &lt;p&gt; # ゲージ幅が短すぎる場合、HP,MP,TP の文字を非表示にします。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def system_color&lt;/p&gt; &lt;p&gt; gauge_area_width - @min_offset &amp;gt;= 52 ? super : Color.new&lt;/p&gt; &lt;p&gt; end &lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:ゲージ背景色の取得&lt;/p&gt; &lt;p&gt; # ゲージの透明度を適用します。 &lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def gauge_back_color&lt;/p&gt; &lt;p&gt; color = super&lt;/p&gt; &lt;p&gt; color.alpha *= LNX11::STATUS_GAUGE_OPACITY / 255.0&lt;/p&gt; &lt;p&gt; color&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:ゲージの描画&lt;/p&gt; &lt;p&gt; # ゲージの透明度を適用します。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def draw_gauge(x, y, width, rate, color1, color2)&lt;/p&gt; &lt;p&gt; oparate = LNX11::STATUS_GAUGE_OPACITY / 255.0&lt;/p&gt; &lt;p&gt; color1.alpha *= oparate&lt;/p&gt; &lt;p&gt; color2.alpha *= oparate&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:フレーム更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; update_invisible&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:表示状態更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_invisible&lt;/p&gt; &lt;p&gt; self.contents_opacity = $game_party.status_invisible ? 0 : 255&lt;/p&gt; &lt;p&gt; end &lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:アクターオブジェクト取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def actor&lt;/p&gt; &lt;p&gt; $game_party.members[@index]&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:座標の設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_xy&lt;/p&gt; &lt;p&gt; # ステータス位置の調整:画面からはみ出ないようにする&lt;/p&gt; &lt;p&gt; pw = $game_party.members_screen_x.last + LNX11::STATUS_OFFSET[:x]&lt;/p&gt; &lt;p&gt; pw += gauge_area_width / 2&lt;/p&gt; &lt;p&gt; right_end = Graphics.width - LNX11::STATUS_SIDE_PADDING&lt;/p&gt; &lt;p&gt; min_offset = pw &amp;gt; right_end ? pw - right_end : 0&lt;/p&gt; &lt;p&gt; # ステータスのオフセットを適用&lt;/p&gt; &lt;p&gt; self.x = LNX11::STATUS_OFFSET[:x] - min_offset&lt;/p&gt; &lt;p&gt; self.y = LNX11::STATUS_OFFSET[:y] + Graphics.height - self.height&lt;/p&gt; &lt;p&gt; # ステータス幅の自動調整:位置を調整した分だけ幅を縮める&lt;/p&gt; &lt;p&gt; @min_offset = LNX11::STATUS_AUTOADJUST ? min_offset : 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:ゲージエリアの幅を取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def gauge_area_width&lt;/p&gt; &lt;p&gt; return LNX11::STATUS_WIDTH&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:表示するステート数の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def states(actor, width)&lt;/p&gt; &lt;p&gt; icons = (actor.state_icons + actor.buff_icons)[0, width / 24]&lt;/p&gt; &lt;p&gt; icons.size&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:名前とステートの描画(1行表示)&lt;/p&gt; &lt;p&gt; # width の範囲で名前を左揃え、ステートアイコンを右揃えで描画します。&lt;/p&gt; &lt;p&gt; # ステートを優先して表示するため、アイコンが多すぎて名前の表示領域が&lt;/p&gt; &lt;p&gt; # 極端に狭くなる場合は名前を描画しません。&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def draw_actor_name_with_icons(actor, x, y, width = 128, draw_name = true)&lt;/p&gt; &lt;p&gt; # アイコンのY座標補正&lt;/p&gt; &lt;p&gt; iy = ([line_height, 24].max - 24) / 2&lt;/p&gt; &lt;p&gt; # 名前のY座標補正&lt;/p&gt; &lt;p&gt; ny = ([line_height, 24].max - LNX11::STATUS_NAME_SIZE) / 2&lt;/p&gt; &lt;p&gt; # 表示するステート数を取得&lt;/p&gt; &lt;p&gt; icon = states(actor, width)&lt;/p&gt; &lt;p&gt; if icon &amp;gt; 0&lt;/p&gt; &lt;p&gt; # 表示するべきステートがある場合&lt;/p&gt; &lt;p&gt; name_width = width - icon * 24&lt;/p&gt; &lt;p&gt; ix = x + width - icon * 24&lt;/p&gt; &lt;p&gt; if name_width &amp;gt;= contents.font.size * 2 &amp;amp;&amp;amp; draw_name&lt;/p&gt; &lt;p&gt; # 名前の表示領域(width) が フォントサイズ * 2 以上なら両方を描画&lt;/p&gt; &lt;p&gt; draw_actor_name(actor, x, y + ny, name_width)&lt;/p&gt; &lt;p&gt; iw = width - name_width&lt;/p&gt; &lt;p&gt; draw_actor_icons(actor, ix, y + iy, iw)&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # ステートのみ描画&lt;/p&gt; &lt;p&gt; draw_actor_icons(actor, ix, y + iy, width)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; elsif draw_name&lt;/p&gt; &lt;p&gt; # ない場合、名前のみ描画&lt;/p&gt; &lt;p&gt; draw_actor_name(actor, x, y + ny, width)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:リフレッシュ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def refresh&lt;/p&gt; &lt;p&gt; set_xy&lt;/p&gt; &lt;p&gt; draw_all_items&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:項目を描画する矩形の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def item_rect(index)&lt;/p&gt; &lt;p&gt; rect = super&lt;/p&gt; &lt;p&gt; rect.x = $game_party.members_screen_x[index] - gauge_area_width / 2&lt;/p&gt; &lt;p&gt; rect.width = gauge_area_width&lt;/p&gt; &lt;p&gt; rect&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:基本エリアの矩形を取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def basic_area_rect(index)&lt;/p&gt; &lt;p&gt; rect = item_rect(index)&lt;/p&gt; &lt;p&gt; rect&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:ゲージエリアの矩形を取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def gauge_area_rect(index)&lt;/p&gt; &lt;p&gt; rect = basic_area_rect(index)&lt;/p&gt; &lt;p&gt; rect.y += [24, line_height].max&lt;/p&gt; &lt;p&gt; rect.x += @min_offset&lt;/p&gt; &lt;p&gt; rect&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:基本エリアの描画&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def draw_basic_area(rect, actor)&lt;/p&gt; &lt;p&gt; # フォントサイズ変更&lt;/p&gt; &lt;p&gt; contents.font.size = [LNX11::STATUS_NAME_SIZE, 8].max&lt;/p&gt; &lt;p&gt; # 名前とステートを描画&lt;/p&gt; &lt;p&gt; dn = LNX11::STATUS_NAME_SIZE &amp;gt; 0 # 名前を描画するか？&lt;/p&gt; &lt;p&gt; width = gauge_area_width - @min_offset&lt;/p&gt; &lt;p&gt; rest = width % 24&lt;/p&gt; &lt;p&gt; width += 24 - rest if rest &amp;gt; 0&lt;/p&gt; &lt;p&gt; draw_actor_name_with_icons(actor, rect.x, rect.y, width, dn)&lt;/p&gt; &lt;p&gt; # フォントサイズを元に戻す&lt;/p&gt; &lt;p&gt; reset_font_settings&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ゲージエリアの描画&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_draw_gauge_area :draw_gauge_area&lt;/p&gt; &lt;p&gt; def draw_gauge_area(*args)&lt;/p&gt; &lt;p&gt; # フォントサイズ変更&lt;/p&gt; &lt;p&gt; contents.font.size = LNX11::STATUS_PARAM_SIZE&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_draw_gauge_area(*args)&lt;/p&gt; &lt;p&gt; # フォントサイズを元に戻す&lt;/p&gt; &lt;p&gt; reset_font_settings&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:ゲージエリアの描画（TP あり）&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def draw_gauge_area_with_tp(rect, actor)&lt;/p&gt; &lt;p&gt; width = gauge_area_width - @min_offset&lt;/p&gt; &lt;p&gt; draw_actor_hp(actor, rect.x, rect.y, width)&lt;/p&gt; &lt;p&gt; draw_actor_mp(actor, rect.x, rect.y + line_height, width)&lt;/p&gt; &lt;p&gt; draw_actor_tp(actor, rect.x, rect.y + line_height * 2, width)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:ゲージエリアの描画（TP なし）&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def draw_gauge_area_without_tp(rect, actor)&lt;/p&gt; &lt;p&gt; draw_actor_hp(actor, rect.x, rect.y, gauge_area_width)&lt;/p&gt; &lt;p&gt; draw_actor_mp(actor, rect.x, rect.y + line_height, gauge_area_width)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:項目の描画&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def draw_item(index)&lt;/p&gt; &lt;p&gt; actor = $game_party.battle_members[index]&lt;/p&gt; &lt;p&gt; a_status = status(actor)&lt;/p&gt; &lt;p&gt; # ステータスが変化した場合のみ描画する&lt;/p&gt; &lt;p&gt; return if @actor_last_status[index] == a_status&lt;/p&gt; &lt;p&gt; @actor_last_status[index] = a_status&lt;/p&gt; &lt;p&gt; contents.clear_rect(item_rect(index))&lt;/p&gt; &lt;p&gt; draw_basic_area(basic_area_rect(index), actor)&lt;/p&gt; &lt;p&gt; draw_gauge_area(gauge_area_rect(index), actor)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:アクターのステータス配列を返す&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def status(actor)&lt;/p&gt; &lt;p&gt; if $data_system.opt_display_tp&lt;/p&gt; &lt;p&gt; return [actor.name, actor.state_icons + actor.buff_icons,&lt;/p&gt; &lt;p&gt; actor.mhp, actor.hp, actor.mmp, actor.mp, actor.max_tp, actor.tp]&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; # TP を除くステータス配列&lt;/p&gt; &lt;p&gt; return [actor.name, actor.state_icons + actor.buff_icons,&lt;/p&gt; &lt;p&gt; actor.mhp, actor.hp, actor.mmp, actor.mp]&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:内容の消去&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def all_clear&lt;/p&gt; &lt;p&gt; contents.clear&lt;/p&gt; &lt;p&gt; @actor_last_status = Array.new($game_party.max_battle_members) { nil } &lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Window_BattleActor&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# バトル画面で、行動対象のアクターを選択するウィンドウです。&lt;/p&gt; &lt;p&gt;# 選択機能だけを持つ不可視のウィンドウとして扱います。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Window_BattleActor &amp;lt; Window_BattleStatus&lt;/p&gt; &lt;p&gt; include LNX11_Window_TargetHelp&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:オブジェクト初期化&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_wba_initialize :initialize&lt;/p&gt; &lt;p&gt; def initialize(info_viewport)&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_wba_initialize(info_viewport)&lt;/p&gt; &lt;p&gt; # ウィンドウを画面外に移動&lt;/p&gt; &lt;p&gt; self.y = Graphics.height&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:ヘルプテキスト更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_help&lt;/p&gt; &lt;p&gt; @help_window.set_item(targetcursor)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ターゲットカーソルに渡すオブジェクト&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def targetcursor&lt;/p&gt; &lt;p&gt; @cursor_all ? :party : actor&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:ウィンドウ幅の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def window_width&lt;/p&gt; &lt;p&gt; 64&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:全項目の描画&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def draw_all_items&lt;/p&gt; &lt;p&gt; # 何もしない &lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:項目の描画&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def draw_item(index)&lt;/p&gt; &lt;p&gt; # 何もしない&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:リフレッシュ&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def refresh&lt;/p&gt; &lt;p&gt; # 何もしない&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ウィンドウの表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_show :show&lt;/p&gt; &lt;p&gt; def show&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_show&lt;/p&gt; &lt;p&gt; # 最後に選択したアクターを選択&lt;/p&gt; &lt;p&gt; last_target = $game_temp.last_target_cursor[:actor]&lt;/p&gt; &lt;p&gt; if last_target &amp;amp;&amp;amp; $game_party.members.include?(last_target) &amp;amp;&amp;amp;&lt;/p&gt; &lt;p&gt; LNX11::LAST_TARGET&lt;/p&gt; &lt;p&gt; select($game_party.members.index(last_target))&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; # スマートターゲットセレクト&lt;/p&gt; &lt;p&gt; if LNX11::SMART_TARGET_SELECT &amp;amp;&amp;amp; !@cursor_fix&lt;/p&gt; &lt;p&gt; if @dead_friend &amp;amp;&amp;amp; (!last_target || last_target &amp;amp;&amp;amp; last_target.alive?)&lt;/p&gt; &lt;p&gt; dead_actor = $game_party.dead_members[0]&lt;/p&gt; &lt;p&gt; select($game_party.members.index(dead_actor)) if dead_actor&lt;/p&gt; &lt;p&gt; elsif !@dead_friend &amp;amp;&amp;amp; (!last_target || last_target &amp;amp;&amp;amp; last_target.dead?)&lt;/p&gt; &lt;p&gt; alive_actor = $game_party.alive_members[0]&lt;/p&gt; &lt;p&gt; select($game_party.members.index(alive_actor)) if alive_actor&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; self&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ウィンドウの非表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_hide :hide&lt;/p&gt; &lt;p&gt; def hide&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_hide&lt;/p&gt; &lt;p&gt; # 選択したアクターを記憶&lt;/p&gt; &lt;p&gt; $game_temp.last_target_cursor[:actor] = actor&lt;/p&gt; &lt;p&gt; self&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Window_BattleEnemy&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# バトル画面で、行動対象の敵キャラを選択するウィンドウです。&lt;/p&gt; &lt;p&gt;# 横並びの不可視のウィンドウとして扱います。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Window_BattleEnemy &amp;lt; Window_Selectable&lt;/p&gt; &lt;p&gt; include LNX11_Window_TargetHelp&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:オブジェクト初期化&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_initialize :initialize&lt;/p&gt; &lt;p&gt; def initialize(info_viewport)&lt;/p&gt; &lt;p&gt; # 敵キャラオブジェクトの設定&lt;/p&gt; &lt;p&gt; set_enemy&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_initialize(info_viewport)&lt;/p&gt; &lt;p&gt; # ウィンドウを画面外に移動&lt;/p&gt; &lt;p&gt; self.y = Graphics.height&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:敵キャラオブジェクトの設定&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def set_enemy&lt;/p&gt; &lt;p&gt; if LNX11::TROOP_X_SORT&lt;/p&gt; &lt;p&gt; @troop = $game_troop.alive_members.sort {|a,b| a.screen_x &amp;lt;=&amp;gt; b.screen_x}&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; @troop = $game_troop.alive_members&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [再定義]:敵キャラオブジェクト取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def enemy&lt;/p&gt; &lt;p&gt; @troop[@index]&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:ウィンドウ幅の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def window_width&lt;/p&gt; &lt;p&gt; 64&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:指定行数に適合するウィンドウの高さを計算&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def fitting_height(line_number)&lt;/p&gt; &lt;p&gt; super(1)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:桁数の取得&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def col_max&lt;/p&gt; &lt;p&gt; return item_max&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [オーバーライド]:ヘルプテキスト更新&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update_help&lt;/p&gt; &lt;p&gt; @help_window.random_number = @random_number&lt;/p&gt; &lt;p&gt; @help_window.set_item(targetcursor)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [追加]:ターゲットカーソルに渡すオブジェクト&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def targetcursor&lt;/p&gt; &lt;p&gt; @cursor_all ? (@cursor_random ? :troop_random : :troop) : enemy&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ウィンドウの表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_show :show&lt;/p&gt; &lt;p&gt; def show&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_show&lt;/p&gt; &lt;p&gt; # 敵キャラオブジェクトの設定&lt;/p&gt; &lt;p&gt; set_enemy&lt;/p&gt; &lt;p&gt; return self unless LNX11::LAST_TARGET&lt;/p&gt; &lt;p&gt; # 最後に選択した敵キャラを選択&lt;/p&gt; &lt;p&gt; last_target = $game_temp.last_target_cursor[:enemy]&lt;/p&gt; &lt;p&gt; if last_target &amp;amp;&amp;amp; @troop.include?(last_target)&lt;/p&gt; &lt;p&gt; select(@troop.index(last_target))&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; self&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # ● [エイリアス]:ウィンドウの非表示&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; alias :lnx11a_hide :hide&lt;/p&gt; &lt;p&gt; def hide&lt;/p&gt; &lt;p&gt; # 元のメソッドを呼ぶ&lt;/p&gt; &lt;p&gt; lnx11a_hide&lt;/p&gt; &lt;p&gt; # 選択した敵キャラを記憶&lt;/p&gt; &lt;p&gt; $game_temp.last_target_cursor[:enemy] = enemy&lt;/p&gt; &lt;p&gt; self&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Window_BattleSkill&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# いくつかのモジュールをインクルードします。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Window_BattleSkill &amp;lt; Window_SkillList&lt;/p&gt; &lt;p&gt; include LNX11_Window_ActiveVisible&lt;/p&gt; &lt;p&gt; include LNX11_Window_FittingList if LNX11::FITTING_LIST&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ■ Window_BattleItem&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# いくつかのモジュールをインクルードします。&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Window_BattleItem &amp;lt; Window_ItemList&lt;/p&gt; &lt;p&gt; include LNX11_Window_ActiveVisible&lt;/p&gt; &lt;p&gt; include LNX11_Window_FittingList if LNX11::FITTING_LIST&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt;# l:5608&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;span style=&quot;font-size:48px;&quot;&gt;&lt;span style=&quot;font-family:&#039;Comic Sans MS&#039;, cursive;&quot;&gt;&lt;span style=&quot;color:#e74c3c;&quot;&gt; 두번째 스크립트&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;===============================두번째 스크립트(BattleManager에 덮어씌우세요.)====================================&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ** BattleManager&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# This module manages battle progress.&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;module BattleManager&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Setup&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.setup(troop_id, can_escape = true, can_lose = false)&lt;/p&gt; &lt;p&gt; init_members&lt;/p&gt; &lt;p&gt; $game_troop.setup(troop_id)&lt;/p&gt; &lt;p&gt; @can_escape = can_escape&lt;/p&gt; &lt;p&gt; @can_lose = can_lose&lt;/p&gt; &lt;p&gt; make_escape_ratio&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Initialize Member Variables&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.init_members&lt;/p&gt; &lt;p&gt; @phase = :init # Battle Progress Phase&lt;/p&gt; &lt;p&gt; @can_escape = false # Can Escape Flag&lt;/p&gt; &lt;p&gt; @can_lose = false # Can Lose Flag&lt;/p&gt; &lt;p&gt; @event_proc = nil # Event Callback&lt;/p&gt; &lt;p&gt; @preemptive = false # Preemptive Attack Flag&lt;/p&gt; &lt;p&gt; @surprise = false # Surprise Flag&lt;/p&gt; &lt;p&gt; @actor_index = -1 # Actor for Which Command Is Being Entered&lt;/p&gt; &lt;p&gt; @action_forced = nil # Force Action&lt;/p&gt; &lt;p&gt; @map_bgm = nil # For Memorizing Pre-Battle BGM&lt;/p&gt; &lt;p&gt; @map_bgs = nil # For Memorizing Pre-Battle BGS&lt;/p&gt; &lt;p&gt; @action_battlers = [] # Action Order List&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Processing at Encounter Time&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.on_encounter&lt;/p&gt; &lt;p&gt; @preemptive = (rand &amp;lt; rate_preemptive)&lt;/p&gt; &lt;p&gt; @surprise = (rand &amp;lt; rate_surprise &amp;amp;&amp;amp; !@preemptive)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Get Probability of Preemptive Attack&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.rate_preemptive&lt;/p&gt; &lt;p&gt; $game_party.rate_preemptive($game_troop.agi)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Get Probability of Surprise&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.rate_surprise&lt;/p&gt; &lt;p&gt; $game_party.rate_surprise($game_troop.agi)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Save BGM and BGS&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.save_bgm_and_bgs&lt;/p&gt; &lt;p&gt; @map_bgm = RPG::BGM.last&lt;/p&gt; &lt;p&gt; @map_bgs = RPG::BGS.last&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Play Battle BGM&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.play_battle_bgm&lt;/p&gt; &lt;p&gt; $game_system.battle_bgm.play&lt;/p&gt; &lt;p&gt; RPG::BGS.stop&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Play Battle End ME&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.play_battle_end_me&lt;/p&gt; &lt;p&gt; $game_system.battle_end_me.play&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Resume BGM and BGS&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.replay_bgm_and_bgs&lt;/p&gt; &lt;p&gt; @map_bgm.replay unless $BTEST&lt;/p&gt; &lt;p&gt; @map_bgs.replay unless $BTEST&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Create Escape Success Probability&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.make_escape_ratio&lt;/p&gt; &lt;p&gt; @escape_ratio = 1.5 - 1.0 * $game_troop.agi / $game_party.agi&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Determine if Turn Is Executing&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.in_turn?&lt;/p&gt; &lt;p&gt; @phase == :turn&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Determine if Turn Is Ending&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.turn_end?&lt;/p&gt; &lt;p&gt; @phase == :turn_end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Determine if Battle Is Aborting&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.aborting?&lt;/p&gt; &lt;p&gt; @phase == :aborting&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Get Whether Escape Is Possible&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.can_escape?&lt;/p&gt; &lt;p&gt; @can_escape&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Get Actor for Which Command Is Being Entered&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.actor&lt;/p&gt; &lt;p&gt; @actor_index &amp;gt;= 0 ? $game_party.members[@actor_index] : nil&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Clear Actor for Which Command Is Being Entered&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.clear_actor&lt;/p&gt; &lt;p&gt; @actor_index = -1&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * To Next Command Input&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.next_command&lt;/p&gt; &lt;p&gt; begin&lt;/p&gt; &lt;p&gt; if !actor || !actor.next_command&lt;/p&gt; &lt;p&gt; @actor_index += 1&lt;/p&gt; &lt;p&gt; return false if @actor_index &amp;gt;= $game_party.members.size&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end until actor.inputable?&lt;/p&gt; &lt;p&gt; return true&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * To Previous Command Input&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.prior_command&lt;/p&gt; &lt;p&gt; begin&lt;/p&gt; &lt;p&gt; if !actor || !actor.prior_command&lt;/p&gt; &lt;p&gt; @actor_index -= 1&lt;/p&gt; &lt;p&gt; return false if @actor_index &amp;lt; 0&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end until actor.inputable?&lt;/p&gt; &lt;p&gt; return true&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Set Proc for Callback to Event&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.event_proc=(proc)&lt;/p&gt; &lt;p&gt; @event_proc = proc&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Set Wait Method&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.method_wait_for_message=(method)&lt;/p&gt; &lt;p&gt; @method_wait_for_message = method&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Wait Until Message Display has Finished&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.wait_for_message&lt;/p&gt; &lt;p&gt; @method_wait_for_message.call if @method_wait_for_message&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Battle Start&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.battle_start&lt;/p&gt; &lt;p&gt; $game_system.battle_count += 1&lt;/p&gt; &lt;p&gt; $game_party.on_battle_start&lt;/p&gt; &lt;p&gt; $game_troop.on_battle_start&lt;/p&gt; &lt;p&gt; $game_troop.enemy_names.each do |name|&lt;/p&gt; &lt;p&gt; $game_message.add(sprintf(Vocab::Emerge, name))&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; if @preemptive&lt;/p&gt; &lt;p&gt; $game_message.add(sprintf(Vocab::Preemptive, $game_party.name))&lt;/p&gt; &lt;p&gt; elsif @surprise&lt;/p&gt; &lt;p&gt; $game_message.add(sprintf(Vocab::Surprise, $game_party.name))&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; wait_for_message&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Battle Abort&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.abort&lt;/p&gt; &lt;p&gt; @phase = :aborting&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Determine Win/Loss Results&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.judge_win_loss&lt;/p&gt; &lt;p&gt; if @phase&lt;/p&gt; &lt;p&gt; return process_abort if $game_party.members.empty?&lt;/p&gt; &lt;p&gt; return process_defeat if $game_party.all_dead?&lt;/p&gt; &lt;p&gt; return process_victory if $game_troop.all_dead?&lt;/p&gt; &lt;p&gt; return process_abort if aborting?&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; return false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Victory Processing&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.process_victory&lt;/p&gt; &lt;p&gt; play_battle_end_me&lt;/p&gt; &lt;p&gt; replay_bgm_and_bgs&lt;/p&gt; &lt;p&gt; $game_message.add(sprintf(Vocab::Victory, $game_party.name))&lt;/p&gt; &lt;p&gt; display_exp&lt;/p&gt; &lt;p&gt; gain_gold&lt;/p&gt; &lt;p&gt; gain_drop_items&lt;/p&gt; &lt;p&gt; gain_exp&lt;/p&gt; &lt;p&gt; SceneManager.return&lt;/p&gt; &lt;p&gt; battle_end(0)&lt;/p&gt; &lt;p&gt; return true&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Escape Processing&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.process_escape&lt;/p&gt; &lt;p&gt; $game_message.add(sprintf(Vocab::EscapeStart, $game_party.name))&lt;/p&gt; &lt;p&gt; success = @preemptive ? true : (rand &amp;lt; @escape_ratio)&lt;/p&gt; &lt;p&gt; Sound.play_escape&lt;/p&gt; &lt;p&gt; if success&lt;/p&gt; &lt;p&gt; process_abort&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; @escape_ratio += 0.1&lt;/p&gt; &lt;p&gt; $game_message.add(&#039;\.&#039; + Vocab::EscapeFailure)&lt;/p&gt; &lt;p&gt; $game_party.clear_actions&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; wait_for_message&lt;/p&gt; &lt;p&gt; return success&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Abort Processing&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.process_abort&lt;/p&gt; &lt;p&gt; replay_bgm_and_bgs&lt;/p&gt; &lt;p&gt; SceneManager.return&lt;/p&gt; &lt;p&gt; battle_end(1)&lt;/p&gt; &lt;p&gt; return true&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Defeat Processing&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.process_defeat&lt;/p&gt; &lt;p&gt; if @can_lose&lt;/p&gt; &lt;p&gt; revive_battle_members&lt;/p&gt; &lt;p&gt; replay_bgm_and_bgs&lt;/p&gt; &lt;p&gt; SceneManager.return&lt;/p&gt; &lt;p&gt; else&lt;/p&gt; &lt;p&gt; SceneManager.goto(Scene_Gameover)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; battle_end(2)&lt;/p&gt; &lt;p&gt; return true&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Revive Battle Members (When Defeated)&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.revive_battle_members&lt;/p&gt; &lt;p&gt; $game_party.battle_members.each do |actor|&lt;/p&gt; &lt;p&gt; actor.hp = 1 if actor.dead?&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * End Battle &lt;/p&gt; &lt;p&gt; # result : Result (0: Win 1: Escape 2: Lose)&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.battle_end(result)&lt;/p&gt; &lt;p&gt; @phase = nil&lt;/p&gt; &lt;p&gt; @event_proc.call(result) if @event_proc&lt;/p&gt; &lt;p&gt; $game_party.on_battle_end&lt;/p&gt; &lt;p&gt; $game_troop.on_battle_end&lt;/p&gt; &lt;p&gt; SceneManager.exit if $BTEST&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Start Command Input&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.input_start&lt;/p&gt; &lt;p&gt; if @phase != :input&lt;/p&gt; &lt;p&gt; @phase = :input&lt;/p&gt; &lt;p&gt; $game_party.make_actions&lt;/p&gt; &lt;p&gt; $game_troop.make_actions&lt;/p&gt; &lt;p&gt; clear_actor&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; return !@surprise &amp;amp;&amp;amp; $game_party.inputable?&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Start Turn&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.turn_start&lt;/p&gt; &lt;p&gt; @phase = :turn&lt;/p&gt; &lt;p&gt; clear_actor&lt;/p&gt; &lt;p&gt; $game_troop.increase_turn&lt;/p&gt; &lt;p&gt; make_action_orders&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * End Turn&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.turn_end&lt;/p&gt; &lt;p&gt; @phase = :turn_end&lt;/p&gt; &lt;p&gt; @preemptive = false&lt;/p&gt; &lt;p&gt; @surprise = false&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Display EXP Earned&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.display_exp&lt;/p&gt; &lt;p&gt; if $game_troop.exp_total &amp;gt; 0&lt;/p&gt; &lt;p&gt; text = sprintf(Vocab::ObtainExp, $game_troop.exp_total)&lt;/p&gt; &lt;p&gt; $game_message.add(&#039;\.&#039; + text)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Gold Acquisition and Display&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.gain_gold&lt;/p&gt; &lt;p&gt; if $game_troop.gold_total &amp;gt; 0&lt;/p&gt; &lt;p&gt; text = sprintf(Vocab::ObtainGold, $game_troop.gold_total)&lt;/p&gt; &lt;p&gt; $game_message.add(&#039;\.&#039; + text)&lt;/p&gt; &lt;p&gt; $game_party.gain_gold($game_troop.gold_total)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; wait_for_message&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Dropped Item Acquisition and Display&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.gain_drop_items&lt;/p&gt; &lt;p&gt; $game_troop.make_drop_items.each do |item|&lt;/p&gt; &lt;p&gt; $game_party.gain_item(item, 1)&lt;/p&gt; &lt;p&gt; $game_message.add(sprintf(Vocab::ObtainItem, item.name))&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; wait_for_message&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * EXP Acquisition and Level Up Display&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.gain_exp&lt;/p&gt; &lt;p&gt; $game_party.all_members.each do |actor|&lt;/p&gt; &lt;p&gt; actor.gain_exp($game_troop.exp_total)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; wait_for_message&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Create Action Order&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.make_action_orders&lt;/p&gt; &lt;p&gt; @action_battlers = []&lt;/p&gt; &lt;p&gt; @action_battlers += $game_party.members unless @surprise&lt;/p&gt; &lt;p&gt; @action_battlers += $game_troop.members unless @preemptive&lt;/p&gt; &lt;p&gt; @action_battlers.each {|battler| battler.make_speed }&lt;/p&gt; &lt;p&gt; @action_battlers.sort! {|a,b| b.speed - a.speed }&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Force Action&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.force_action(battler)&lt;/p&gt; &lt;p&gt; @action_forced = battler&lt;/p&gt; &lt;p&gt; @action_battlers.delete(battler)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Get Forced State of Battle Action&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.action_forced?&lt;/p&gt; &lt;p&gt; @action_forced != nil&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Get Battler Subjected to Forced Action&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.action_forced_battler&lt;/p&gt; &lt;p&gt; @action_forced&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Clear Forcing of Battle Action&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.clear_action_force&lt;/p&gt; &lt;p&gt; @action_forced = nil&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Get Next Action Subject&lt;/p&gt; &lt;p&gt; # Get the battler from the beginning of the action order list.&lt;/p&gt; &lt;p&gt; # If an actor not currently in the party is obtained (occurs when index&lt;/p&gt; &lt;p&gt; # is nil, immediately after escaping in battle events etc.), skip them.&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def self.next_subject&lt;/p&gt; &lt;p&gt; loop do&lt;/p&gt; &lt;p&gt; battler = @action_battlers.shift&lt;/p&gt; &lt;p&gt; return nil unless battler&lt;/p&gt; &lt;p&gt; next unless battler.index &amp;amp;&amp;amp; battler.alive?&lt;/p&gt; &lt;p&gt; return battler&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt;</description>
		<category>Ace 스크립트</category>	<category>전투</category>				<dc:creator>큔.</dc:creator>
			<guid isPermaLink="true">https://avangs.info/rgss_vx_ace/1735645</guid>
	<comments>https://avangs.info/rgss_vx_ace/1735645#comment</comments>			<pubDate>Fri, 23 Nov 2018 17:35:02 +0900</pubDate>
		</item><item>
			<title>브라우저 열기 스크립트</title>
			<link>https://avangs.info/rgss_vx_ace/1723910</link>
				<description>&lt;p&gt;a = Win32API.new(&quot;shell32&quot;,&quot;ShellExcute&quot;,[&#039;L&#039;,&#039;P&#039;,&#039;P&#039;,&#039;P&#039;,&#039;P&#039;,&#039;L&#039;],&#039;L&#039;)&lt;/p&gt; &lt;p&gt;a.call(0,&quot;open&quot;,&quot;주소&quot;,0,0,5);&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;위에 스크립트는 이벤트에서 사용할 수 없는 것입니다. 커먼 이벤트도 안됩니다.&lt;/p&gt; &lt;p&gt;스크립트 편집기에서만 사용 가능합니다.&lt;/p&gt; &lt;p&gt;주소라 써져있는 곳에 주소를 입력하면 됩니다.&lt;/p&gt;</description>
		<category>Ace 스크립트</category>	<category>온라인</category>				<dc:creator>큔.</dc:creator>
			<guid isPermaLink="true">https://avangs.info/rgss_vx_ace/1723910</guid>
	<comments>https://avangs.info/rgss_vx_ace/1723910#comment</comments>			<pubDate>Sun, 09 Sep 2018 18:11:37 +0900</pubDate>
		</item><item>
			<title>GG침 스크립트</title>
			<link>https://avangs.info/rgss_vx_ace/1714410</link>
				<description>&lt;p&gt; &lt;/p&gt; &lt;p&gt;이 스크립트는 게임 데이터를 날아가고 게임을 끄게 하는 것입니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;이 스크립트는 Scenes 또는 장면 처리에 만드셔야 합니다.&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt;# ** Scene_GG&lt;/p&gt; &lt;p&gt;#------------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt;# 게임 항복을 처리하는 스크립트입니다.&lt;/p&gt; &lt;p&gt;#==============================================================================&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;class Scene_GG &amp;lt; Scene_Base&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Start Processing&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def start&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; play_gameover_music&lt;/p&gt; &lt;p&gt; fadeout_frozen_graphics&lt;/p&gt; &lt;p&gt; create_background&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Termination Processing&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def terminate&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; dispose_background&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Frame Update&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def update&lt;/p&gt; &lt;p&gt; super&lt;/p&gt; &lt;p&gt; goto_title if Input.trigger?(:C)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Execute Transition&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def perform_transition&lt;/p&gt; &lt;p&gt; Graphics.transition(fadein_speed)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Play Music on GG Screen&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def play_gameover_music&lt;/p&gt; &lt;p&gt; RPG::BGM.stop&lt;/p&gt; &lt;p&gt; RPG::BGS.stop&lt;/p&gt; &lt;p&gt; $data_system.gameover_me.play&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Fade Out Frozen Graphics&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def fadeout_frozen_graphics&lt;/p&gt; &lt;p&gt; Graphics.transition(fadeout_speed)&lt;/p&gt; &lt;p&gt; Graphics.freeze&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Create Background&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def create_background&lt;/p&gt; &lt;p&gt; @sprite = Sprite.new&lt;/p&gt; &lt;p&gt; @sprite.bitmap = Cache.system(&quot;YouAreGG&quot;)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Free Background&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def dispose_background&lt;/p&gt; &lt;p&gt; @sprite.bitmap.dispose&lt;/p&gt; &lt;p&gt; @sprite.dispose&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Get Fade Out Speed&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def fadeout_speed&lt;/p&gt; &lt;p&gt; return 60&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Get Fade In Speed&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def fadein_speed&lt;/p&gt; &lt;p&gt; return 120&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; # * Transition to Title Screen&lt;/p&gt; &lt;p&gt; #--------------------------------------------------------------------------&lt;/p&gt; &lt;p&gt; def goto_title&lt;/p&gt; &lt;p&gt; fadeout_all&lt;/p&gt; &lt;p&gt; SaveManager.delete_all&lt;/p&gt; &lt;p&gt; SceneManager.exit&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;GG 스크린(/Graphics/System에 복사하세요.&lt;/p&gt; &lt;p&gt;파일은 첨부되어있습니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;GG 처리할떄 SceneManager.goto(Scene_GG)&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;그 다음 스크립트는 Materials 아래 삽입 후 적으세요.&lt;/p&gt; &lt;p&gt;module SaveManager&lt;/p&gt; &lt;p&gt; extend self&lt;/p&gt; &lt;p&gt; def delete_all&lt;/p&gt; &lt;p&gt; arr = Dir[&quot;Save[0-9][0-9].rvdata2&quot;]&lt;/p&gt; &lt;p&gt; arr.each do |i|&lt;/p&gt; &lt;p&gt; File.delete(i) if File.exist?(i)&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt; end&lt;/p&gt; &lt;p&gt;end&lt;/p&gt; &lt;p&gt; &lt;/p&gt;</description>
		<category>Ace 스크립트</category>	<category>타이틀/게임오버</category>				<dc:creator>큔.</dc:creator>
			<guid isPermaLink="true">https://avangs.info/rgss_vx_ace/1714410</guid>
	<comments>https://avangs.info/rgss_vx_ace/1714410#comment</comments>			<pubDate>Wed, 18 Jul 2018 22:00:36 +0900</pubDate>
		</item><item>
			<title>파티 개별 인벤토리 스크립트</title>
			<link>https://avangs.info/rgss_vx_ace/1710221</link>
				<description>&lt;p&gt;다운로드 - https://pastebin.com/e5NiXP6y&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;출처 - http://cobbtocs.co.uk/wp/?p=135&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;내용 : 메인 인벤토리와 서브인벤토리를 구분해서 아이템을 저장한다.&lt;/p&gt; &lt;p&gt;서브인벤토리의 개수는 코드를 몇 줄 추가하는 것으로 늘릴 수 있다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;사용법 : $game_party.change_inventory(&quot;서브인벤토리 이름&quot;) 을 스크립트로 호출한다.&lt;/p&gt; &lt;p&gt;ex. $game_party.change_inventory(&quot;Sub&quot;)&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;</description>
		<category>Ace 스크립트</category>	<category>메뉴</category>				<dc:creator>안나카레리나</dc:creator>
			<guid isPermaLink="true">https://avangs.info/rgss_vx_ace/1710221</guid>
	<comments>https://avangs.info/rgss_vx_ace/1710221#comment</comments>			<pubDate>Mon, 25 Jun 2018 15:23:49 +0900</pubDate>
		</item><item>
			<title>기본전투의 커스텀 명중률 제작</title>
			<link>https://avangs.info/rgss_vx_ace/1707681</link>
				<description>&lt;p&gt; &lt;/p&gt; &lt;p&gt;https://victorenginescripts.wordpress.com/rpg-maker-vx-ace/custom-hit-formula/&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;* 사용법&lt;/p&gt; &lt;p&gt;Victor engine base 모듈과 Custom hit formula를 스크립트에 삽입한 후,&lt;/p&gt; &lt;p&gt;데이터베이스의 무기/스킬의 메모란에 커스텀 계산식을 입력한다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;커스텀 계산식의 입력 양식은 다음과 같다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p style=&quot;background-color:transparent;color:rgb(53,60,65);font-family:&#039;Times New Roman&#039;;font-size:14px;font-style:normal;font-variant:normal;font-weight:400;letter-spacing:normal;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;word-spacing:0px;&quot;&gt;&amp;lt;hit formula&amp;gt;&lt;/p&gt; &lt;p style=&quot;background-color:transparent;color:rgb(0,0,0);font-family:&#039;Times New Roman&#039;;font-size:12px;font-style:normal;font-variant:normal;font-weight:400;letter-spacing:normal;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;word-spacing:0px;&quot;&gt; &lt;/p&gt; &lt;p style=&quot;background-color:transparent;color:rgb(53,60,65);font-family:&#039;Times New Roman&#039;;font-size:14px;font-style:normal;font-variant:normal;font-weight:400;letter-spacing:normal;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;word-spacing:0px;&quot;&gt;formula(이 위치에 계산식을 입력)&lt;/p&gt; &lt;p style=&quot;background-color:transparent;color:rgb(0,0,0);font-family:&#039;Times New Roman&#039;;font-size:12px;font-style:normal;font-variant:normal;font-weight:400;letter-spacing:normal;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;word-spacing:0px;&quot;&gt; &lt;/p&gt; &lt;p style=&quot;background-color:transparent;color:rgb(53,60,65);font-family:&#039;Times New Roman&#039;;font-size:14px;font-style:normal;font-variant:normal;font-weight:400;letter-spacing:normal;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;word-spacing:0px;&quot;&gt;&amp;lt;/hit formula&amp;gt;&lt;/p&gt; &lt;p style=&quot;background-color:transparent;color:rgb(53,60,65);font-family:&#039;Times New Roman&#039;;font-size:14px;font-style:normal;font-variant:normal;font-weight:400;letter-spacing:normal;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;word-spacing:0px;&quot;&gt; &lt;/p&gt; &lt;p style=&quot;background-color:transparent;color:rgb(0,0,0);font-family:&#039;Times New Roman&#039;;font-size:12px;font-style:normal;font-variant:normal;font-weight:400;letter-spacing:normal;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;word-spacing:0px;&quot;&gt;&lt;i style=&quot;color:rgb(0,0,0);font-size:12px;height:auto;line-height:18px;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;padding-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0px;&quot;&gt;&lt;/i&gt;&lt;/p&gt; &lt;p&gt;* 예제&lt;/p&gt; &lt;p style=&quot;background-color:transparent;color:rgb(53,60,65);font-family:&#039;Times New Roman&#039;;font-size:14px;font-style:normal;font-variant:normal;font-weight:400;letter-spacing:normal;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;word-spacing:0px;&quot;&gt;던전 앤 드래곤 시리즈의 명중굴림 판정이 도입 가능하다.&lt;/p&gt; &lt;p style=&quot;background-color:transparent;color:rgb(53,60,65);font-family:&#039;Times New Roman&#039;;font-size:14px;font-style:normal;font-variant:normal;font-weight:400;letter-spacing:normal;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;word-spacing:0px;&quot;&gt; &lt;/p&gt; &lt;p style=&quot;background-color:transparent;color:rgb(53,60,65);font-family:&#039;Times New Roman&#039;;font-size:14px;font-style:normal;font-variant:normal;font-weight:400;letter-spacing:normal;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;word-spacing:0px;&quot;&gt;&amp;lt;hit formula&amp;gt;&lt;/p&gt; &lt;p style=&quot;text-align:left;color:rgb(53,60,65);text-transform:none;text-indent:0px;letter-spacing:normal;font-size:14px;font-variant:normal;margin-top:0px;margin-bottom:0px;word-spacing:0px;background-color:transparent;&quot;&gt;1 + rand(20) + a.agi &lt;sup&gt;1)&lt;/sup&gt;&amp;gt; b.luk&lt;sup&gt;2)&lt;/sup&gt;&lt;br /&gt; &amp;lt;/hit formula&amp;gt;&lt;/p&gt; &lt;p style=&quot;background-color:transparent;color:rgb(53,60,65);font-size:14px;font-style:normal;font-variant:normal;font-weight:400;letter-spacing:normal;margin-bottom:0px;margin-top:0px;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;word-spacing:0px;&quot;&gt; &lt;/p&gt; &lt;p&gt;* 주의사항&lt;/p&gt; &lt;p&gt;커스텀 계산식은 명중률에만 관여하며, 회피율은 따로 판정하지 않는다.&lt;/p&gt; &lt;p&gt;크리티컬 확률에도 관여하지 않는다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;1) 던전 앤 드래곤 시리즈의 Base Attack Bonus에 해당&lt;/p&gt; &lt;p&gt;2) Armor Class에 해당&lt;/p&gt;</description>
		<category>Ace 스크립트</category>	<category>전투</category>				<dc:creator>안나카레리나</dc:creator>
			<guid isPermaLink="true">https://avangs.info/rgss_vx_ace/1707681</guid>
	<comments>https://avangs.info/rgss_vx_ace/1707681#comment</comments>			<pubDate>Sun, 10 Jun 2018 19:19:32 +0900</pubDate>
		</item><item>
			<title>LUD Script Package</title>
			<link>https://avangs.info/rgss_vx_ace/1654574</link>
				<description>&lt;p&gt;제작한 스크립트중 일부를 공개합니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;img alt=&quot;ss.PNG&quot; src=&quot;http://avangs.info/files/attach/images/275392/574/654/001/4347b094749ad17e7ad092a730432e5e.PNG&quot; style=&quot;height:229px;width:300px;&quot; /&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;파일받기 : &lt;u&gt;&lt;a href=&quot;http://avangs.info/?module=file&amp;amp;act=procFileDownload&amp;amp;file_srl=1654584&amp;amp;sid=1a61e0f5952d384bac20316ebc01b84c&amp;amp;module_srl=275392&quot;&gt;LUD Script Package ver 1.2 by LuD.zip&lt;/a&gt;&lt;/u&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;다음과 같은 스크립트들을 포함한 스크립트 모음집 입니다.&lt;/p&gt; &lt;p&gt;Core Script 와 필요한 스크립트들을 선택해서 제작중인 프로젝트에 복사해 사용하면 됩니다.&lt;/p&gt; &lt;p&gt;사용법은 각 스크립트의 주석과 예제 이벤트를 참고해 주시기 바랍니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;LuD Core Script&lt;/p&gt; &lt;p&gt; - 스크립트를 사용하기 위한 기본 스크립트 입니다. 2017.8.15 현재 1.2 버전 입니다. ※ LuD 스크립트들 제일 위쪽으로 위치해야 합니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;StartON&lt;/p&gt; &lt;p&gt; - 시작시 스위치, 변수, 플레이어 방향, 화면의 페이드 아웃 을 설정합니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;EventPOS&lt;/p&gt; &lt;p&gt; - 이벤트의 표시 위치를 조정합니다. (실제 이벤트의 좌표는 변하지 않습니다.)&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;GetCharPosition&lt;/p&gt; &lt;p&gt; - 대상을 기준으로한 4방향 x, y 좌표를 얻습니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;MultiChoice&lt;/p&gt; &lt;p&gt; - 여러 선택지를 사용합니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;MoveSwitch&lt;/p&gt; &lt;p&gt; - 설정한 스위치가 ON 이면 이동을 금지시킵니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;DashSwitch&lt;/p&gt; &lt;p&gt; - 설정한 스위치가 ON 이면 달리기를 금지시킵니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;PictureAngle&lt;/p&gt; &lt;p&gt; - 그림의 표시로 사용된 그림의 각도를 조정합니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;SimpleLight&lt;/p&gt; &lt;p&gt; - 간단한 광원효과를 표현합니다. : Graphics/System 폴더에 광원효과 파일이 있어야 합니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;ImageEvent&lt;/p&gt; &lt;p&gt; - Graphics/Pictures 폴더에 있는 그림파일을 캐릭터 그림으로 사용합니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;InputCommand&lt;/p&gt; &lt;p&gt; - 문장을 입력받습니다. ※ (&lt;u&gt;&lt;a href=&quot;http://avangs.info/rgss_vx_ace/465698&quot;&gt;The Korean - 조합한글 by 허걱&lt;/a&gt;&lt;/u&gt;) 필요!&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;Notice&lt;/p&gt; &lt;p&gt; - 간단한 알림창을 표시합니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;ForceComEvent&lt;/p&gt; &lt;p&gt; - 커먼이벤트를 실행합니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;CutScene&lt;/p&gt; &lt;p&gt; - 스킬/아이템 사용 전 커먼이벤트를 실행합니다. ※ ForceComEvent 필요!&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;GameOverEvent&lt;/p&gt; &lt;p&gt; - 게임오버 전/후에 커먼이벤트를 실행합니다. ※ ForceComEvent 필요!&lt;/p&gt;</description>
		<category>Ace 스크립트</category>	<category>기타</category>				<dc:creator>LuD</dc:creator>
			<guid isPermaLink="true">https://avangs.info/rgss_vx_ace/1654574</guid>
	<comments>https://avangs.info/rgss_vx_ace/1654574#comment</comments>			<pubDate>Tue, 15 Aug 2017 23:52:12 +0900</pubDate>
		</item><item>
			<title>레이어 맵 &lt;layer&gt; 기능</title>
			<link>https://avangs.info/rgss_vx_ace/1652199</link>
				<description>&lt;p&gt;&lt;img alt=&quot;s.png&quot; src=&quot;http://avangs.info/./files/attach/images/275392/199/652/001/4b9bf6061206a863e766b94ec8581cd7.png&quot; style=&quot;height:283px;width:300px;&quot; /&gt; &lt;img alt=&quot;ss.png&quot; src=&quot;http://avangs.info/./files/attach/images/275392/199/652/001/c94d8dcbd3fe256d14d616a2f23fddd1.png&quot; style=&quot;height:229px;width:300px;&quot; /&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;왼쪽맵처럼 만들고 아래처럼 설정하면 오른쪽맵처럼 다른맵이 같이 표시됩니다.&lt;/p&gt; &lt;p&gt;&lt;img alt=&quot;sss.png&quot; src=&quot;http://avangs.info/./files/attach/images/275392/199/652/001/7fc1d3e829e1b30a540285991fd3fb86.png&quot; /&gt;&lt;/p&gt; &lt;p&gt;사용법은 파일예제나 스크립트 윗부분의 주석을 참고하세요.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;간단히 설명하면 실제 활동하는 맵 위에 &amp;lt;layer&amp;gt; 라는 이름으로된 맵은 실제맵의 레이어로 사용할 수 있습니다.&lt;/p&gt; &lt;p&gt;맵설정의 노트에서&lt;/p&gt; &lt;p&gt;&amp;lt;layer&amp;gt;&lt;/p&gt; &lt;p&gt;설정들..&lt;/p&gt; &lt;p&gt;&amp;lt;/layer&amp;gt;&lt;/p&gt; &lt;p&gt;해서 설정하거나 &amp;lt;layer 설정=값&amp;gt;&lt;/p&gt; &lt;p&gt;으로 하나씩 설정해줄수도 있습니다.&lt;/p&gt; &lt;p&gt;설정이나 값은 예제나 스크립트윗부분 녹색으로된 주석들 참고해 주세요.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;5%정도 미완성인 느낌이지만;;&lt;/p&gt; &lt;p&gt;미완성인 느낌을 고칠 실력이 안된다 판단해서 오류는 없는 시점에서 배포합니다.&lt;/p&gt; &lt;p&gt;(기능추가등은 예정이 없네요)&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;예제 다운받기 : &lt;a href=&quot;http://avangs.info/?module=file&amp;amp;act=procFileDownload&amp;amp;file_srl=1652846&amp;amp;sid=4a53b6e00c22aaaeba031d231a5f5c7b&amp;amp;module_srl=275392&quot;&gt;LayerMap Test.zip&lt;/a&gt;&lt;/p&gt;</description>
		<category>Ace 스크립트</category>	<category>맵/타일</category>				<dc:creator>LuD</dc:creator>
			<guid isPermaLink="true">https://avangs.info/rgss_vx_ace/1652199</guid>
	<comments>https://avangs.info/rgss_vx_ace/1652199#comment</comments>			<pubDate>Thu, 03 Aug 2017 23:31:28 +0900</pubDate>
		</item><item>
			<title>아이템 레어리티 스크립트 (번역기 돌림)</title>
			<link>https://avangs.info/rgss_vx_ace/1649277</link>
				<description>&lt;p style=&quot;border:0px;margin:0px 0px 1em;padding:0px;&quot;&gt;&lt;img alt=&quot;itemRarity1.jpg&quot; src=&quot;http://avangs.info/./files/attach/images/275392/277/649/001/50261b9bbe7b16455b1d82ec5b0b89c8.jpg&quot; /&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size:12px;&quot;&gt;&lt;span style=&quot;background-color:rgb(255,255,255);color:rgb(102,102,102);font-family:Arial, sans-serif;&quot;&gt;이 스크립트는 아이템 등급을 아이템과 장비에 할당하도록 허용합니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p style=&quot;border:0px;margin:0px 0px 1em;padding:0px;&quot;&gt;&lt;span style=&quot;font-size:12px;&quot;&gt;&lt;span style=&quot;font-style:normal;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;line-height:inherit;&quot;&gt;&lt;span style=&quot;font-family:Arial, sans-serif;&quot;&gt;&lt;span style=&quot;vertical-align:baseline;&quot;&gt;&lt;span style=&quot;color:rgb(102,102,102);&quot;&gt;&lt;span style=&quot;letter-spacing:normal;&quot;&gt;&lt;span&gt;&lt;span style=&quot;text-transform:none;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;word-spacing:0px;&quot;&gt;&lt;span style=&quot;background-color:rgb(255,255,255);&quot;&gt;&lt;span&gt;&lt;span&gt;아이템 등급은 이름 색상으로 표시됩니다. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;border:0px;margin:0px 0px 1em;padding:0px;&quot;&gt; &lt;/p&gt; &lt;p style=&quot;border:0px;margin:0px 0px 1em;padding:0px;&quot;&gt;&lt;span style=&quot;font-size:12px;&quot;&gt;&lt;span style=&quot;font-style:normal;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;font-weight:300;&quot;&gt;&lt;span&gt;&lt;span style=&quot;line-height:inherit;&quot;&gt;&lt;span style=&quot;font-family:Arial, sans-serif;&quot;&gt;&lt;span style=&quot;vertical-align:baseline;&quot;&gt;&lt;span style=&quot;color:#666666;&quot;&gt;&lt;span style=&quot;letter-spacing:normal;&quot;&gt;&lt;span&gt;&lt;span style=&quot;text-transform:none;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;word-spacing:0px;&quot;&gt;&lt;span style=&quot;background-color:#ffffff;&quot;&gt;&lt;span&gt;&lt;span&gt;기본적으로 모든 이름은 흰색입니다. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;border:0px;margin:0px 0px 1em;padding:0px;&quot;&gt;&lt;span style=&quot;background-color:rgb(255,255,255);color:rgb(102,102,102);font-family:Arial, sans-serif;&quot;&gt;다른 등급의 아이템을 다른 색상을 갖도록 사용자 정의 할 수 있습니다&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;border:0px;margin:0px 0px 1em;padding:0px;&quot;&gt; &lt;/p&gt; &lt;p style=&quot;border:0px;margin:0px 0px 1em;padding:0px;&quot;&gt;&lt;strong&gt;- 사용법 -&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;아이템 등급에 대한 메모 태그 항목을 지정합니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;----------------------------------------------------------------&lt;/p&gt; &lt;pre&gt; &amp;lt;item rarity: x&amp;gt;&lt;/pre&gt; &lt;p&gt;----------------------------------------------------------------&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p style=&quot;border:0px;margin:0px 0px 1em;padding:0px;&quot;&gt;&lt;span style=&quot;font-size:12px;&quot;&gt;&lt;span style=&quot;font-style:normal;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;font-weight:300;&quot;&gt;&lt;span&gt;&lt;span style=&quot;line-height:inherit;&quot;&gt;&lt;span style=&quot;font-family:Arial, sans-serif;&quot;&gt;&lt;span style=&quot;vertical-align:baseline;&quot;&gt;&lt;span style=&quot;color:#666666;&quot;&gt;&lt;span style=&quot;letter-spacing:normal;&quot;&gt;&lt;span&gt;&lt;span style=&quot;text-transform:none;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;word-spacing:0px;&quot;&gt;&lt;span style=&quot;background-color:#ffffff;&quot;&gt;&lt;span&gt;&lt;span&gt;여기서 x는 숫자입니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;border:0px;margin:0px 0px 1em;padding:0px;&quot;&gt;&lt;span style=&quot;font-size:12px;&quot;&gt;&lt;span style=&quot;font-style:normal;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;font-weight:300;&quot;&gt;&lt;span&gt;&lt;span style=&quot;line-height:inherit;&quot;&gt;&lt;span style=&quot;font-family:Arial, sans-serif;&quot;&gt;&lt;span style=&quot;vertical-align:baseline;&quot;&gt;&lt;span style=&quot;color:#666666;&quot;&gt;&lt;span style=&quot;letter-spacing:normal;&quot;&gt;&lt;span&gt;&lt;span style=&quot;text-transform:none;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;word-spacing:0px;&quot;&gt;&lt;span style=&quot;background-color:#ffffff;&quot;&gt;&lt;span&gt;&lt;span&gt;구성에서는 각각의 아이템 등급과 관련된 색상을 설정할 수 있습니다 . &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;border:0px;margin:0px 0px 1em;padding:0px;&quot;&gt;&lt;span style=&quot;font-size:12px;&quot;&gt;&lt;span style=&quot;font-style:normal;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;font-weight:300;&quot;&gt;&lt;span&gt;&lt;span style=&quot;line-height:inherit;&quot;&gt;&lt;span style=&quot;font-family:Arial, sans-serif;&quot;&gt;&lt;span style=&quot;vertical-align:baseline;&quot;&gt;&lt;span style=&quot;color:#666666;&quot;&gt;&lt;span style=&quot;letter-spacing:normal;&quot;&gt;&lt;span&gt;&lt;span style=&quot;text-transform:none;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;word-spacing:0px;&quot;&gt;&lt;span style=&quot;background-color:#ffffff;&quot;&gt;&lt;span&gt;&lt;span&gt;색상은 RGB 형식으로 지정됩니다. 몇 가지 샘플 항목이 제공됩니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;border:0px;margin:0px 0px 1em;padding:0px;&quot;&gt; &lt;/p&gt; &lt;p style=&quot;border:0px;margin:0px 0px 1em;padding:0px;&quot;&gt;&lt;span style=&quot;font-size:12px;&quot;&gt;&lt;span style=&quot;font-style:normal;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;font-weight:300;&quot;&gt;&lt;span&gt;&lt;span style=&quot;line-height:inherit;&quot;&gt;&lt;span style=&quot;font-family:Arial, sans-serif;&quot;&gt;&lt;span style=&quot;vertical-align:baseline;&quot;&gt;&lt;span style=&quot;color:#666666;&quot;&gt;&lt;span style=&quot;letter-spacing:normal;&quot;&gt;&lt;span&gt;&lt;span style=&quot;text-transform:none;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;word-spacing:0px;&quot;&gt;&lt;span style=&quot;background-color:#ffffff;&quot;&gt;&lt;span&gt;&lt;span&gt;출처: http://himeworks.com/2014/03/item-rarity/&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;pre&gt; #=============================================================================== Title: Item Rarity Author: Hime Date: Mar 26, 2014 URL: http://www.himeworks.com/2014/03/25/item-rarity/ -------------------------------------------------------------------------------- ** Change log Apr 11, 2014 - fixed bug where item color affects other rows as well Mar 26, 2014 - Fixed bug where loading skills crashed. You can now tag skills with rarity - Extended to all base item objects Mar 25, 2014 - Initial release -------------------------------------------------------------------------------- ** Terms of Use * Free to use in non-commercial projects * Contact me for commercial use * No real support. The script is provided as-is * Will do bug fixes, but no compatibility patches * Features may be requested but no guarantees, especially if it is non-trivial * Credits to Hime Works in your project * Preserve this header -------------------------------------------------------------------------------- ** Description This script allows you to assign item rarities to items and equips. Rarity is indicated by name colour: by default, all names are white. You can customize this so that different rarity levels have different colours. -------------------------------------------------------------------------------- ** Installation In the script editor, place this script below Materials and above Main -------------------------------------------------------------------------------- ** Usage To specify rarity, note-tag items and equips with &amp;lt;item rarity: x&amp;gt; Where x is a number. In the configuration, you can set up the colours associated with each rarity level. #=============================================================================== =end $imported = {} if $imported.nil? $imported[:TH_ItemRarity] = true #=============================================================================== # ** Configuration #=============================================================================== module TH module Item_Rarity # Colours associated with each rarity. The colours are specified as # RGB values. So for example, White is [255, 255, 255] Colour_Map = { 1 =&amp;gt; [255, 255, 255], 2 =&amp;gt; [204, 255, 137], 3 =&amp;gt; [197, 122, 255], 4 =&amp;gt; [255, 84, 0], } Regex = /&amp;lt;item[-_ ]rarity:\s*(\d+)\s*&amp;gt;/i #=============================================================================== # ** Rest of script #=============================================================================== @@rarity_colour_map = nil def self.rarity_colour_map unless @@rarity_colour_map @@rarity_colour_map = {} Colour_Map.each do |i, arr| @@rarity_colour_map[i] = Color.new(*arr) end end return @@rarity_colour_map end end end module RPG class BaseItem def rarity load_notetag_item_rarity unless @rarity return @rarity end def load_notetag_item_rarity @rarity = 1 res = self.note.match(TH::Item_Rarity::Regex) if res @rarity = res[1].to_i end end def rarity_colour TH::Item_Rarity.rarity_colour_map[self.rarity] end end end class Window_Base &amp;lt; Window #----------------------------------------------------------------------------- # Replaced #----------------------------------------------------------------------------- def draw_item_name(item, x, y, enabled = true, width = 172) return unless item draw_icon(item.icon_index, x, y, enabled) change_color(item.rarity_colour, enabled) draw_text(x + 24, y, width, line_height, item.name) change_color(normal_color, enabled) end end #=============================================================================== # Instance Item extension #=============================================================================== if $imported[&quot;TH_InstanceItems&quot;] module RPG class BaseItem alias :th_item_rarity_refresh :refresh def refresh th_item_rarity_refresh refresh_item_rarity end def refresh_item_rarity var = InstanceManager.get_template(self).rarity @rarity = make_item_rarity(InstanceManager.make_full_copy(var)) end def make_item_rarity(rarity) rarity end end end end&lt;/pre&gt;</description>
		<category>Ace 스크립트</category>	<category>HUD</category>				<dc:creator>부초</dc:creator>
			<guid isPermaLink="true">https://avangs.info/rgss_vx_ace/1649277</guid>
	<comments>https://avangs.info/rgss_vx_ace/1649277#comment</comments>			<pubDate>Fri, 21 Jul 2017 13:32:07 +0900</pubDate>
		</item><item>
			<title>(링크)RPG VX ACE 블랙잭 스크립트</title>
			<link>https://avangs.info/rgss_vx_ace/1643942</link>
				<description>&lt;p&gt;&lt;a href=&quot;https://forums.rpgmakerweb.com/index.php?threads/late-rmw-2016-christmas-gift-blackjack-mini-game-rgss3.72719/&quot;&gt;https://forums.rpgmakerweb.com/index.php?threads/late-rmw-2016-christmas-gift-blackjack-mini-game-rgss3.72719/&lt;/a&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;외국 사이트 입니다. 빙냥이님이 찾아주셨어요!&lt;/p&gt;</description>
		<category>Ace 스크립트</category>	<category>기타</category>				<dc:creator>게임애호가</dc:creator>
			<guid isPermaLink="true">https://avangs.info/rgss_vx_ace/1643942</guid>
	<comments>https://avangs.info/rgss_vx_ace/1643942#comment</comments>			<pubDate>Sun, 18 Jun 2017 01:04:11 +0900</pubDate>
		</item><item>
			<title>SPRG 컨버터 NEXT</title>
			<link>https://avangs.info/rgss_vx_ace/1581039</link>
				<description>&lt;a href=&quot;https://drive.google.com/file/d/0B0SN89W6sTl7V2loSXgyMjVRMm8/view?usp=sharing&quot;&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://drive.google.com/file/d/0B0SN89W6sTl7V2loSXgyMjVRMm8/view?usp=sharing&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://drive.google.com/file/d/0B0SN89W6sTl7V2loSXgyMjVRMm8/view?usp=sharing&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://avangs.info/files/attach/images/275392/039/581/001/51258951b90ec7f85eea40c8291b27d1.jpg&quot; alt=&quot;SRPGconNEXT_title.jpg&quot; width=&quot;544&quot; height=&quot;416&quot; /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;RPG VX ACE에서 노가다만 잘하면 동료 최대수를 무제한으로 늘릴수 있는 스크립트가 있습니다.&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;반 액알 반 턴제인데 예제 다운받아서 해보시면 압니다.&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;일본어 스트립트를 강제로 한글로 바꿔서 오류가 있을수 있습니다만 데모 전투는 잘 돌아가더군요. 잘 분석해서 사용하시면 오류없이 사용가능합니다.&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;사용법은 딱히 알려드리지 않겠습니다. 저도 사용법 익히느라 게임 몇개 말아먹어서...&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;혹시 버그를 발견하고 수정하신분은 새로 게시글로 올려주시기 바랍니다.&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;다운로드 링크 ↓&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://drive.google.com/file/d/0B0SN89W6sTl7V2loSXgyMjVRMm8/view?usp=sharing&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://drive.google.com/file/d/0B0SN89W6sTl7V2loSXgyMjVRMm8/view?usp=sharing&quot;&gt;https://drive.google.com/file/d/0B0SN89W6sTl7V2loSXgyMjVRMm8/view?usp=sharing&lt;/a&gt;&lt;/p&gt;</description>
		<category>Ace 스크립트</category>	<category>전투</category>				<dc:creator>게임애호가</dc:creator>
			<guid isPermaLink="true">https://avangs.info/rgss_vx_ace/1581039</guid>
	<comments>https://avangs.info/rgss_vx_ace/1581039#comment</comments>			<pubDate>Thu, 09 Jun 2016 06:53:29 +0900</pubDate>
		</item><item>
			<title>Tomoaky&#039;s RGSS3_SRPG ver.0.15a 한국어번역</title>
			<link>https://avangs.info/rgss_vx_ace/1579657</link>
				<description>&lt;p style=&quot;font-size:12px;&quot;&gt;원출처: http://hikimoki.sakura.ne.jp/&lt;/p&gt; &lt;p style=&quot;font-size:12px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style=&quot;font-size:12px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style=&quot;font-size:12px;&quot;&gt;제가 직접 번역하긴 했습니다만&lt;/p&gt; &lt;p style=&quot;font-size:12px;&quot;&gt;저는 일본어를 못하기때문에 구글 번역기의 도움을 받아서 번역했습니다.&lt;/p&gt; &lt;p style=&quot;font-size:12px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style=&quot;font-size:12px;&quot;&gt;원본 데모를 직접 번역한 것이 아니라&lt;/p&gt; &lt;p style=&quot;font-size:12px;&quot;&gt;한글번역 VX Ace로 새 프로젝트를 만들고 데모를 그대로 따라 만든 것이라 어딘가 잘못된 부분이 있을수도 있습니다. 사소한 몇 가지 원본 데모와 다르게 한 것도 있습니다.&lt;/p&gt; &lt;p style=&quot;font-size:12px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style=&quot;font-size:12px;&quot;&gt;어디가 어떻게 번역되었는지는 이 링크를 참고해주세요.&lt;br /&gt;&lt;/p&gt; &lt;p style=&quot;font-size:12px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;https://docs.google.com/spreadsheets/d/1N0xovn9em2jBztiHfRB0d4wOHncQZxaIay4Vb2b-2yg/edit?usp=sharing&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;첨부파일에 포함된 readme.txt는 일본어로 된 사용설명서입니다.&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;처음 시작지점에서 위쪽의 NPC에게 말을 걸어서 실행하는 전투에서 오른쪽의 두 몬스터중 플레이어에 더 가까운 몬스터는 수면상태에 빠져있는데&lt;/p&gt; &lt;p&gt;기본공격으로 공격하면 게임이 꺼지는 버그가 있습니다. 원본 데모에도 있는 버그더군요.&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;아방스에서 구한 한글 번역 VX Ace에 기본적으로 포함되는 스크립트인 전체키 입력 확장 스크립트와 이름 입력의 처리 스크립트를 함께 사용하면&lt;/p&gt; &lt;p&gt;SRPG 전투중 여는 옵션창에서 옵션 변경을 위해 왼쪽 오른쪽키를 한번 누르면 되는것이 적용되지 않는 문제가 있어 해당 스크립트 둘은 지웠습니다. (꾹 누르고 있으면 바뀝니다)&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;160605 오후 3시 47분 추가 : 수면상태인 적을 공격하면 게임이 꺼지는 버그를 단순히 해당 문제가 발생했던 부분 스크립트의 앞에 #을 붙여 주석처리해버림으로써 임시 해결한 버전을 같이 올립니다. 파일명 뒤에 수정이라고 되어있는 겁니다.&lt;/p&gt; &lt;p&gt;해당 스크립트는 Game_SrpgEvent의 789~792번째 줄입니다.&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;160611 오전 11시 : 원본 데모에서 옮겨오는 걸 빼먹은 애니매이션 111~115번을 추가하고, 또 일부 번역을 고치고 동봉된 매뉴얼을 제가 한 번역에 맞춰 (구글번역기의 도움으로) 한국어화한 파일을 추가한 버젼을 첨부파일에 추가합니다. 파일 명에 160611이 추가된 것을 받으세요. 위의 버그가 주석처리된 버전입니다.&lt;/p&gt; &lt;p&gt;매뉴얼은 구글 번역기의 도움을 받은게 거의 대부분이니 일본어말투가 좀 남아있습니다.&lt;/p&gt;</description>
		<category>Ace 스크립트</category>	<category>전투</category>	<category>SRPG</category>			<dc:creator>초코빙수</dc:creator>
			<guid isPermaLink="true">https://avangs.info/rgss_vx_ace/1579657</guid>
	<comments>https://avangs.info/rgss_vx_ace/1579657#comment</comments>			<pubDate>Sun, 05 Jun 2016 13:32:01 +0900</pubDate>
		</item><item>
			<title>Map Zoom Ace by MGC</title>
			<link>https://avangs.info/rgss_vx_ace/1549525</link>
				<description>&lt;div align=&quot;center&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/C8Czqd5wMC0&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; width=&quot;420&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.rgss-factory.net/2012/04/15/ace-map-zoom-ace-zoom-de-la-carte/&quot;&gt;http://www.rgss-factory.net/2012/04/15/ace-map-zoom-ace-zoom-de-la-carte/&lt;/a&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp; 유명한 스크립트라서 소개한줄 알았는데 없었나보네요. MGC님께서 제작하신 맵 줌 스크립트입니다. 주의하실점이라면 아무래도 해당 스크립트가 커스텀 Tile 클래스를 사용하는 터라 이 부분을 건드리는 타 스크립트와의 사이에선 문제가 생길 수도 있다는 점입니다.(물론 그런 스크립트가 많지는 않겠지만요.)&lt;br /&gt;&lt;/p&gt;</description>
		<category>Ace 스크립트</category>	<category>맵/타일</category>				<dc:creator>습작</dc:creator>
			<guid isPermaLink="true">https://avangs.info/rgss_vx_ace/1549525</guid>
	<comments>https://avangs.info/rgss_vx_ace/1549525#comment</comments>			<pubDate>Sun, 28 Feb 2016 12:53:49 +0900</pubDate>
		</item><item>
			<title>Item Choice Help Window for Ace</title>
			<link>https://avangs.info/rgss_vx_ace/1544340</link>
				<description>&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt; &lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:544px;;height:auto;max-width:100%&quot;&gt;&lt;span dir=&quot;http://cfile7.uf.tistory.com/original/272BA53B56C10BD60AD889&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://avangs.info/files/attach/images/275392/340/544/001/cf5f80245864781b4d71be410172a341.png&quot; alt=&quot;Cap 2016-02-15 08-17-44-174.png&quot; height=&quot;416&quot; width=&quot;544&quot; /&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;br /&gt; &lt;div style=&quot;border-style: solid; border-width: 1px; border-color: rgb(193, 193, 193); background-color: rgb(238, 238, 238); padding: 10px;&quot; class=&quot;txc-textbox&quot;&gt; 소개 &lt;/div&gt; &lt;br /&gt; &amp;nbsp; 아방스 질문과 답변 게시판에 버섯수프님께서 문의하신 기능을 담아보았습니다. 아이템 선택의 처리시 도움말창이 표시됩니다.&lt;br /&gt; &lt;br /&gt; &lt;div style=&quot;border-style: solid; border-width: 1px; border-color: rgb(193, 193, 193); background-color: rgb(238, 238, 238); padding: 10px;&quot; class=&quot;txc-textbox&quot;&gt; Download &lt;/div&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt; &lt;p align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://eternalworld.tistory.com/459&quot;&gt;http://eternalworld.tistory.com/459&lt;/a&gt;&lt;br /&gt; &lt;/p&gt; &lt;p&gt; &lt;br /&gt; &amp;nbsp; 경우에 따라선 타 메시지 스크립트와 혼용시 문제가 발생할 수도 있습니다.&lt;br /&gt; &lt;br /&gt; &lt;/p&gt; &lt;div style=&quot;border-style: solid; border-width: 1px; border-color: rgb(193, 193, 193); background-color: rgb(238, 238, 238); padding: 10px;&quot; class=&quot;txc-textbox&quot;&gt; 수정내역 &lt;/div&gt; &lt;br /&gt; &lt;ul style=&quot;list-style-type: disc;&quot;&gt;&lt;li&gt;1.0.0&lt;/li&gt;&lt;ul style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;realese&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;</description>
		<category>Ace 스크립트</category>	<category>메시지</category>				<dc:creator>습작</dc:creator>
			<guid isPermaLink="true">https://avangs.info/rgss_vx_ace/1544340</guid>
	<comments>https://avangs.info/rgss_vx_ace/1544340#comment</comments>			<pubDate>Mon, 15 Feb 2016 08:24:25 +0900</pubDate>
		</item>	</channel>
</rss>
