HOME
ツクール
RGSS
テクニック
ゲーム紹介
制作中のゲーム
ダウンロード
掲示板
ブログ
EnDREss DREamERブログ
PCパーツ・ソフト通販(仮)
DIYチューンブログ
リンク
アクマの脳髄様「変身」スキル「バトルレイアウト変更」対応版
コンセプト
題名の通り、バトルレイアウト変更に対応させたもの。
挿入位置
「バトルレイアウト変更」「個別武器コマンド」より下に。
完成すると
スキル使用の変身で顔グラとサイドビューのキャラグラが変わる。
その他、設定や使用方法はアクマの脳髄様のスクリプトと同様です。
更新履歴
9/13:個別武器コマンドの修正に対応。 ========== 2011年 ============================================================ 7/14:「特殊ダメージ計算式」に対応。 ========== 2010年 ============================================================ 6/28:「連携スキル」でエラーを出すのを修正。 6/24:個別武器コマンド「非表示スキル」に対応。 5/4:個別武器コマンドとの併用スキル表示不具合再修正。 3/28:個別武器コマンドとの併用スキル表示不具合対応。 3/22:フロントビュー敵キャラのアクター変身不具合修正。 3/6:個別武器コマンド」との併用に対応。 サイドビューでのキャラの表示不具合修正。 2/2:サイドビューで敵がアクターに変身した時のバトラー表示不具合修正。
「
アクマの脳髄
」様の「「変身」ステート&スキル Ver 1.01」改変素材です。
最新版の・・・・・・
バトルレイアウト変更
を使用して下さい
#============================================================================== # ☆ RGSS2(VX)専用 「変身」ステート&スキル Ver 1.01 #------------------------------------------------------------------------------ # 河原 つつみ # 連絡先 :『アクマの脳髄』http://www.akunou.com/ #------------------------------------------------------------------------------ # Original 桜雅 在土 様 #------------------------------------------------------------------------------ # かつてスクリプトシェルフ様で配布されていた # 『XRXS27. 特殊効果 SuperEX「変身」』をVX向けに # 移植&大幅に機能変更/追加したものです。 # このスクリプトについて、原作者である桜雅 在土 様に問い合わせたり # しないで下さい。 # # ◆主なオリジナルとの相違点 # 変身中、属性修正値とステートの付加成功率は、変身対象のものを # 参照するようになります。 # 変身中は、自分が元々習得していたスキルは使用できなくなり、 # 変身対象のスキルを使用できるようになります(敵味方問わず)。 # 変身状態をステート化したことで、変身時メッセージや解除条件などを # データベース上で自由に設定できます。 # # ◆準備 # 変身状態用にステートを一つ用意し、『戦闘終了時に解除』オプションを # 付けて下さい。 # 『この状態になったときのメッセージ』内に「MN」と入力することで、 # 変身対象の名前を表示できます。 # # 例 : はMNに変身した! # 表示: ラルフはスライムに変身した! # # その他の項目はお好みで。 # また、戦闘不能ステートの『解除するステート』の項で # この変身状態用ステートにチェックを入れるのも忘れずに。 # 次に変身用のスキルを用意し、『使用可能時』を『バトルのみ』として # 『ステート変化』の項で変身状態用ステートを『+』に設定して下さい。 # # ◆仕様 # あくまでもスキルのみです。変身アイテムなどは作れません。 # 変身用スキルは戦闘中専用のスキルです。 # 変身状態は戦闘終了後や戦闘不能時に解除されます。 # 変身中は、変身スキルを再度使用することで変身が解除されます。 # 変身中バトラーが致死ダメージを受けてコラプスエフェクトに移行する直前、 # バトラーグラフィックが元のものに戻るのは仕様です。 # #============================================================================== #============================================================================== # EnDlEss DREamER「バトルレイアウト変更対応版」 # URL:http://mitsu-evo.6.ql.bz/ # 製作者 mitsu-evo # Last:2011/9/13 # 『アクマの脳髄』様の「変身」スクリプトを「バトルレイアウト変更」に # 対応させたスクリプト。 # ▼ 素材より下で、「バトルレイアウト変更」「個別武器コマンド」スクリプトより下に。 # 仕様 : 変身に伴い、顔グラやサイドビューのバトラーが変更される。 # その他、使用方法は上記と同じく変更点はありません。 # このスクリプトをアクマの脳髄「河原 つつみ」様に # 問い合わせたりすることのないようにお願い致します。 #============================================================================== =begin 9/13:個別武器コマンドの修正に対応。 =end #=begin $ed_rgss2 = {} if $ed_rgss2 == nil $ed_rgss2["ed_metamor_skill"] = true #============================================================================== # ■ AKUNOU #------------------------------------------------------------------------------ # カスタマイズポイント #============================================================================== module AKUNOU ACTOR_BATTLER_NAME = [] # ここは書き換えないで下さい # 『変身』したことにするステートID METAMOR_STATE_ID = 20 # 変身中、変身解除用に変身スキルを習得させるか? METAMOR_LEARN_ACTOR = false # アクター側の設定 METAMOR_LEARN_ENEMY = false # エネミー側の設定 # 変身解除用の変身スキルのID METAMOR_SKILL_ID = 84 # エネミーがアクターに変身した際のバトラーグラフィック # ACTOR_BATTLER_NAME[アクターID] = "バトラーグラフィック名" # といった感じで記述して下さい # 他スクリプト等でアクタースプライトを導入している場合は # この設定は必要ありません。以下4行を全てコメントアウト # (ACTOR_BATTLER_NAME[数値]の前に『#』を付ける)して下さい ACTOR_BATTLER_NAME[1] = "$karg.png" ACTOR_BATTLER_NAME[2] = "$rowy.png" ACTOR_BATTLER_NAME[3] = "$yuri.png" ACTOR_BATTLER_NAME[4] = "$pirea.png" ACTOR_BATTLER_NAME[15] = "$zapan.png" ACTOR_BATTLER_NAME[16] = "$fate.png" end #============================================================================== # ■ RPG #============================================================================== module RPG class Skill < UsableItem def metamorphose? return self.plus_state_set.include?(AKUNOU::METAMOR_STATE_ID) end end class State def metamor? return (self.id == AKUNOU::METAMOR_STATE_ID) end end end #============================================================================== # ■ Game_Battler #============================================================================== class Game_Battler #-------------------------------------------------------------------------- # ● 公開インスタンス変数 #-------------------------------------------------------------------------- attr_accessor :battler_name # バトラーグラフィック attr_accessor :battler_hue # バトラー色調 attr_accessor :metamor_target # 変身対象 attr_accessor :battler_name_original # バトラーグラフィック初期値 readerが元 attr_accessor :battler_hue_original # バトラー色調初期値 readerが元 attr_accessor :face_battle_id_original # バトラーの顔グラID初期値 attr_accessor :face_battle_name_original # バトラーの顔グラファイル名 #-------------------------------------------------------------------------- # ● 変身ターゲットの初期化 #-------------------------------------------------------------------------- def clear_metamor @metamor_target = nil @battler_name_original = self.actor? ? body_name : @battler_name @battler_hue_original = @battler_hue @face_battle_id_original = self.actor? ? @face_battle_id : 0 # 追加 end #-------------------------------------------------------------------------- # ● MaxHP の取得 #-------------------------------------------------------------------------- alias akunou2_maxhp maxhp def maxhp(original = false) return @metamor_target.maxhp(true) if metamor_check(original) akunou2_maxhp end #-------------------------------------------------------------------------- # ● MaxMP の取得 #-------------------------------------------------------------------------- alias akunou2_maxmp maxmp def maxmp(original = false) return @metamor_target.maxmp(true) if metamor_check(original) akunou2_maxmp end #-------------------------------------------------------------------------- # ● 攻撃力の取得 #-------------------------------------------------------------------------- alias akunou2_atk atk def atk(original = false) return @metamor_target.atk(true) if metamor_check(original) akunou2_atk end #-------------------------------------------------------------------------- # ● 防御力の取得 #-------------------------------------------------------------------------- alias akunou2_def def def def(original = false) return @metamor_target.def(true) if metamor_check(original) akunou2_def end #-------------------------------------------------------------------------- # ● 精神力の取得 #-------------------------------------------------------------------------- alias akunou2_spi spi def spi(original = false) return @metamor_target.spi(true) if metamor_check(original) akunou2_spi end #-------------------------------------------------------------------------- # ● 敏捷性の取得 #-------------------------------------------------------------------------- alias akunou2_agi agi def agi(original = false) return @metamor_target.agi(true) if metamor_check(original) akunou2_agi end #-------------------------------------------------------------------------- if $ed_rgss2["ed_sp_damage_calculation"] #-------------------------------------------------------------------------- # ● 武器攻撃力の取得 #-------------------------------------------------------------------------- alias ed_metamor_skill_damage_base_wp_atk damage_base_wp_atk def damage_base_wp_atk(original = false) return @metamor_target.damage_base_wp_atk(true) if metamor_check(original) ed_metamor_skill_damage_base_wp_atk end #-------------------------------------------------------------------------- # ● 防具防御力(装甲)の取得 #-------------------------------------------------------------------------- alias ed_metamor_skill_damage_base_ar_def damage_base_ar_def def damage_base_ar_def(original = false) return @metamor_target.damage_base_ar_def(true) if metamor_check(original) ed_metamor_skill_damage_base_ar_def end #-------------------------------------------------------------------------- # ● 武器精神力の取得 #-------------------------------------------------------------------------- alias ed_metamor_skill_damage_base_wp_spi damage_base_wp_spi def damage_base_wp_spi(original = false) return @metamor_target.damage_base_wp_spi(true) if metamor_check(original) ed_metamor_skill_damage_base_wp_spi end end #-------------------------------------------------------------------------- #-------------------------------------------------------------------------- # ● ステートの解除 # state_id : ステート ID #-------------------------------------------------------------------------- alias akunou2_remove_state remove_state def remove_state(state_id) if $data_states[state_id].metamor? return unless state?(state_id) # このステートが付加されていない? if state_id == 1 and @hp == 0 # 戦闘不能 (ステート 1 番) なら @hp = 1 # HP を 1 に変更する end @battler_name = @battler_name_original @battler_hue = @battler_hue_original if $ed_rgss2["ed_battle_scene"] == true @face_battle_id = @face_battle_id_original #追加 @face_battle_name = @face_battle_name_original #追加 end @metamor_target = nil # HP/MP最大値変更への対応 self.hp = self.hp self.mp = self.mp @states.delete(state_id) # ID を @states 配列から削除 @state_turns.delete(state_id) # ターン数記憶用ハッシュから削除 else # 呼び戻す akunou2_remove_state(state_id) end end #-------------------------------------------------------------------------- # ● スキルの効果適用 # user : スキルの使用者 # skill : スキル #-------------------------------------------------------------------------- alias akunou2_skill_effect skill_effect def skill_effect(user, skill, target = nil) akunou2_skill_effect(user, skill) metamor_effect(target) if skill.metamorphose? end #-------------------------------------------------------------------------- # ○ 変身のチェック #-------------------------------------------------------------------------- def metamor_check(original = false) if !@metamor_target.nil? and @metamor_target != self and original == false return true end return false end #-------------------------------------------------------------------------- # ○ 変身の効果適用 #-------------------------------------------------------------------------- def metamor_effect(target) return if !state?(AKUNOU::METAMOR_STATE_ID) reverse = false if target != nil and @metamor_target == nil if target.metamor_target == nil if target == self reverse = true else # 変身状態で無い場合、変身 @metamor_target = target end else if target.metamor_target == self reverse = true else # 対象が変身状態の場合、対象の変身対象に変身する。 @metamor_target = target.metamor_target end end else reverse = true remove = true if target != nil end if reverse # 変身状態の場合、変身を解除する remove_state(AKUNOU::METAMOR_STATE_ID) # 解除したステートを記録する if remove or (target != self and target.metamor_target != self) @removed_states.push(AKUNOU::METAMOR_STATE_ID) end @added_states.delete(AKUNOU::METAMOR_STATE_ID) else metamor_actions_setup if !actor? end # HP/MP最大値変更への対応 self.hp = self.hp self.mp = self.mp end end #============================================================================== # ■ Game_Actor #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ● セットアップ # actor_id : アクター ID #-------------------------------------------------------------------------- alias akunou2_setup setup def setup(actor_id) akunou2_setup(actor_id) clear_metamor recover_all end #-------------------------------------------------------------------------- # ● 属性修正値の取得 # element_id : 属性 ID #-------------------------------------------------------------------------- def element_rate(element_id) if !@metamor_target.nil? and @metamor_target != self if @metamor_target.actor? rank = @metamor_target.class.element_ranks[element_id] else rank = @metamor_target.enemy.element_ranks[element_id] end else rank = self.class.element_ranks[element_id] end result = [0,200,150,100,50,0,-100][rank] for armor in armors.compact result /= 2 if armor.element_set.include?(element_id) end for state in states result /= 2 if state.element_set.include?(element_id) end return result end #-------------------------------------------------------------------------- # ● ステートの付加成功率の取得 # state_id : ステート ID #-------------------------------------------------------------------------- alias akunou2_state_probability state_probability def state_probability(state_id, original = false) return @metamor_target.state_probability(state_id, true) if metamor_check(original) akunou2_state_probability(state_id) end #-------------------------------------------------------------------------- # ● 命中率の取得 #-------------------------------------------------------------------------- alias akunou2_hit hit def hit(original = false) return @metamor_target.hit if metamor_check(original) akunou2_hit end #-------------------------------------------------------------------------- # ● 回避率の取得 #-------------------------------------------------------------------------- alias akunou2_eva eva def eva(original = false) return @metamor_target.eva if metamor_check(original) akunou2_eva end #-------------------------------------------------------------------------- # ● クリティカル率の取得 #-------------------------------------------------------------------------- alias akunou2_cri cri def cri(original = false) return @metamor_target.cri if metamor_check(original) akunou2_cri end #-------------------------------------------------------------------------- # ◎ スキルの使用可能判定 # skill : スキル #-------------------------------------------------------------------------- def skill_can_use?(skill) return super end #-------------------------------------------------------------------------- # ○ アクターに変身用のグラフィック #-------------------------------------------------------------------------- def body_name if AKUNOU::ACTOR_BATTLER_NAME[self.id] != nil return AKUNOU::ACTOR_BATTLER_NAME[self.id] end return @battler_name end end #============================================================================== # ■ Game_Enemy #============================================================================== class Game_Enemy < Game_Battler #-------------------------------------------------------------------------- # ● オブジェクト初期化 # index : 敵グループ内インデックス # enemy_id : 敵キャラ ID #-------------------------------------------------------------------------- alias akunou2_initialize initialize def initialize(index, enemy_id) akunou2_initialize(index, enemy_id) @metamor_actions = enemy.actions clear_metamor end #-------------------------------------------------------------------------- # ● 命中率の取得 #-------------------------------------------------------------------------- alias akunou2_hit hit def hit(original = false) if metamor_check(original) return @metamor_target.hit#(true) end akunou2_hit end #-------------------------------------------------------------------------- # ● 回避率の取得 #-------------------------------------------------------------------------- alias akunou2_eva eva def eva(original = false) if metamor_check(original) return @metamor_target.eva#(true) end akunou2_eva end #-------------------------------------------------------------------------- # ● クリティカル率の取得 #-------------------------------------------------------------------------- alias akunou2_cri cri def cri(original = false) if metamor_check(original) return @metamor_target.cri#(true) end akunou2_cri end #-------------------------------------------------------------------------- # ● 属性修正値の取得 # element_id : 属性 ID #-------------------------------------------------------------------------- def element_rate(element_id) if !@metamor_target.nil? and @metamor_target != self if @metamor_target.actor? rank = @metamor_target.class.element_ranks[element_id] else rank = @metamor_target.enemy.element_ranks[element_id] end else rank = enemy.element_ranks[element_id] end result = [0,200,150,100,50,0,-100][rank] for state in states result /= 2 if state.element_set.include?(element_id) end return result end #-------------------------------------------------------------------------- # ● ステートの付加成功率の取得 # state_id : ステート ID #-------------------------------------------------------------------------- alias akunou2_state_probability state_probability def state_probability(state_id, original = false) return @metamor_target.state_probability(state_id, true) if metamor_check(original) akunou2_state_probability(state_id) end #-------------------------------------------------------------------------- # ● 変身 # enemy_id : 変身先の敵キャラ ID #-------------------------------------------------------------------------- alias akunou2_transform transform def transform(enemy_id) akunou2_transform(enemy_id) @battler_name_original = @battler_name @battler_hue_original = @battler_hue end #-------------------------------------------------------------------------- # ○ 行動の配列 #-------------------------------------------------------------------------- def enemy_actions(original = false) if metamor_check(original) if @metamor_target.actor? return @metamor_actions else if AKUNOU::METAMOR_LEARN_ENEMY actions = @metamor_target.enemy.actions.clone for action in actions return actions if action.skill_id == (AKUNOU::METAMOR_SKILL_ID) end actions.push(RPG::Enemy::Action.new) actions[actions.size - 1].kind = 1 actions[actions.size - 1].skill_id = (AKUNOU::METAMOR_SKILL_ID) return actions else return @metamor_target.enemy.actions end end end return enemy.actions end #-------------------------------------------------------------------------- # ○ 変身によるアクション生成 #-------------------------------------------------------------------------- def metamor_actions_setup return if @metamor_target.nil? or !@metamor_target.actor? target_skills = [] size = [[0, @metamor_target.skills.size].max, 5].min if @metamor_target.skills.size > size while target_skills.size < size target_skills.push(@metamor_target.skills[rand(@metamor_target.skills.size)].id) target_skills.compact! target_skills.uniq! end else for i in 0...size target_skills.push(@metamor_target.skills[i].id) end end target_skills.push(AKUNOU::METAMOR_SKILL_ID) if AKUNOU::METAMOR_LEARN_ENEMY target_skills.uniq! @metamor_actions = [] for i in 0..target_skills.size @metamor_actions.push(RPG::Enemy::Action.new) if i > 0 @metamor_actions[i].kind = 1 @metamor_actions[i].skill_id = target_skills[i - 1] end end end #-------------------------------------------------------------------------- # ◎ 戦闘行動の作成 #-------------------------------------------------------------------------- def make_action @action.clear return unless movable? available_actions = [] rating_max = 0 for action in enemy_actions next unless conditions_met?(action) if action.kind == 1 next unless skill_can_use?($data_skills[action.skill_id]) end available_actions.push(action) rating_max = [rating_max, action.rating].max end ratings_total = 0 rating_zero = rating_max - 3 for action in available_actions next if action.rating <= rating_zero ratings_total += action.rating - rating_zero end return if ratings_total == 0 value = rand(ratings_total) for action in available_actions next if action.rating <= rating_zero if value < action.rating - rating_zero @action.kind = action.kind @action.basic = action.basic @action.skill_id = action.skill_id @action.decide_random_target return else value -= action.rating - rating_zero end end end end if $ed_rgss2["ed_weapon_command"] == true # 個別武器コマンド対応用 #============================================================================== # ■ Window_Skill #------------------------------------------------------------------------------ # スキル画面などで、使用できるスキルの一覧を表示するウィンドウです。 #============================================================================== class Window_Skill < Window_Selectable #-------------------------------------------------------------------------- # ● 個別武器用リフレッシュ #-------------------------------------------------------------------------- def weapon_skill_refresh @data = [] @weapons = @actor.battle_weapons if @actor.select_weapon != nil and @actor.select_weapon != 999 @used_weapon = @weapons[@actor.select_weapon] end # 変身用の記述 if @actor.metamor_target.nil? skills = @actor.skills else if @actor.metamor_target.actor? skills = @actor.metamor_target.skills else skills = [] for action in @actor.metamor_target.enemy_actions(true) skills.push($data_skills[action.skill_id]) if action.skill? end end skills.push($data_skills[AKUNOU::METAMOR_SKILL_ID]) if AKUNOU::METAMOR_LEARN_ACTOR skills.uniq! end @weapons = @actor.battle_weapons if @actor.select_weapon != nil and @actor.select_weapon != 999 @used_weapon = @weapons[@actor.select_weapon] end if @actor.select_weapon != 999 @data = [] for skill in skills skill_elements = skill.element_set weapon_elements = @used_weapon == nil ? [1] : @used_weapon.element_set if weapon_elements == [] element = nil else element = weapon_elements - skill_elements end if $imported["HiddenSkill"] == true next unless include?(skill) end # 武器の属性より武器からスキル属性を引いた数が小さければ # その武器は使用スキルの属性を持っているのでスキル発動可能。 @data.push(skill) if element.size < weapon_elements.size# == [] if skill.id == @actor.last_skill_id self.index = @data.size - 1 else self.index = 0 end end else#if @actor.select_weapon == 999 @data = [] for skill in skills if $imported["HiddenSkill"] == true next unless include?(skill) end @data.push(skill) if skill.id == @actor.last_skill_id self.index = @data.size - 1 end end end @item_max = @data.size create_contents for i in 0...@item_max draw_item(i) end end end else #============================================================================== # ■ Window_Skill #------------------------------------------------------------------------------ # スキル画面などで、使用できるスキルの一覧を表示するウィンドウです。 #============================================================================== class Window_Skill < Window_Selectable #-------------------------------------------------------------------------- # ◎ リフレッシュ #-------------------------------------------------------------------------- def refresh @data = [] if @actor.metamor_target.nil? skills = @actor.skills else if @actor.metamor_target.actor? skills = @actor.metamor_target.skills else skills = [] for action in @actor.metamor_target.enemy_actions(true) skills.push($data_skills[action.skill_id]) if action.skill? end end skills.push($data_skills[AKUNOU::METAMOR_SKILL_ID]) if AKUNOU::METAMOR_LEARN_ACTOR skills.uniq! end for skill in skills @data.push(skill) if skill.id == @actor.last_skill_id self.index = @data.size - 1 end end @item_max = @data.size create_contents for i in 0...@item_max draw_item(i) end end end end #if $ed_rgss2["ed_weapon_command"] == false #============================================================================== # ■ Scene_Battle #------------------------------------------------------------------------------ # バトル画面の処理を行うクラスです。 #============================================================================== class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # ● 戦闘行動の実行 : スキル #-------------------------------------------------------------------------- alias akunou2_execute_action_skill execute_action_skill def execute_action_skill skill = @active_battler.action.skill if skill.metamorphose? text = @active_battler.name + skill.message1 @message_window.add_instant_text(text) unless skill.message2.empty? wait(10) @message_window.add_instant_text(skill.message2) end targets = [@active_battler] sub_target = @active_battler.action.make_targets[0] display_animation(targets, skill.animation_id) @active_battler.mp -= @active_battler.calc_mp_cost(skill) $game_temp.common_event_id = skill.common_event_id for target in targets target.skill_effect(@active_battler, skill, sub_target) display_action_effects(target, skill) end else # 呼び戻す akunou2_execute_action_skill end end #-------------------------------------------------------------------------- # ● アクターグラフィックの変更 #-------------------------------------------------------------------------- def change_actor_graphics if @active_battler.metamor_target.actor? if $ed_rgss2["ed_battle_scene"] == true @active_battler.battler_name_original = @active_battler.battler_name#追加 @active_battler.battler_hue_original = @active_battler.battler_hue#追加 @active_battler.face_battle_id_original = @active_battler.face_battle_id#追加 @active_battler.face_battle_name_original = @active_battler.face_battle_name#追加 @active_battler.face_battle_id = @active_battler.metamor_target.face_battle_id#追加 @active_battler.face_battle_name = @active_battler.metamor_target.face_battle_name#追加 if @active_battler.actor? @active_battler.battler_name = @active_battler.metamor_target.battler_name @active_battler.battler_hue = @active_battler.metamor_target.battler_hue else if $game_system.ed_battle_mode? == true @active_battler.battler_name = @active_battler.metamor_target.battler_name else @active_battler.battler_name = @active_battler.metamor_target.character_name end @active_battler.battler_hue = @active_battler.metamor_target.character_index end else @active_battler.battler_name = @active_battler.metamor_target.body_name @active_battler.battler_hue = 0 end else @active_battler.battler_name = @active_battler.metamor_target.battler_name end end #-------------------------------------------------------------------------- # ◎ 付加されたステートの表示 # target : 対象者 # obj : スキルまたはアイテム #-------------------------------------------------------------------------- alias ed_metamor_skill_display_added_states display_added_states def display_added_states(target, obj = nil) for state in target.added_states if target.actor? next if state.message1.empty? message1 = state.message1.dup if state.metamor? message1.gsub!("MN") { @active_battler.metamor_target.name } end text = target.name + message1 else next if state.message2.empty? message2 = state.message2.dup if state.metamor? message2.gsub!("MN") { @active_battler.metamor_target.name } end text = target.name + message2 end if state.metamor? change_actor_graphics end if state.id == 1 # 戦闘不能 target.perform_collapse end @message_window.replace_instant_text(text) wait(20) end end end #=end
Copyright (C)
永遠の夢に向かって
. All Rights Reserved.
テンプレートのpondt
リサーチ