设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2656|回复: 12
打印 上一主题 下一主题

[已经解决] 即時的戰鬥腳本如何加入狀態變換頭像的指令?(已解決)

[复制链接]

Lv2.观梦者

梦石
0
星屑
399
在线时间
36 小时
注册时间
2017-11-9
帖子
19
跳转到指定楼层
1
发表于 2017-12-1 13:07:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 cht94512 于 2018-1-15 15:26 编辑

但沒有支緩把角色不同狀態以不同戰鬥圖顯示,例如攻擊時用生氣表情、受傷所以想請教一下如何在腳本加入這指令 (作為不懂RGSS的人試了多天也沒成功) ,感激不盡!!!!更新:
感謝下面的大大建議,在這裡上載了測試工程,希望有大神幫幫忙><
十分感謝!!!!

Project1.rar

438.19 KB, 下载次数: 83

Lv2.观梦者

梦石
0
星屑
399
在线时间
36 小时
注册时间
2017-11-9
帖子
19
2
 楼主| 发表于 2017-12-2 10:27:01 | 只看该作者
本帖最后由 cht94512 于 2017-12-5 11:50 编辑

補充,之前看到有專用作頭像變換的RGSS,但多番嘗試都接駁不能,在update更新開始就不懂得接駁回上面的腳本了。詳情在工程中可見。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36124
在线时间
10712 小时
注册时间
2009-3-15
帖子
4806
3
发表于 2017-12-4 09:50:00 | 只看该作者
没有大神理LZ呢..
建议传个测试用的工程方便大家研究..

点评

謝謝大大的建議。  发表于 2017-12-5 11:50
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36124
在线时间
10712 小时
注册时间
2009-3-15
帖子
4806
4
发表于 2017-12-5 14:52:46 | 只看该作者
这工程就算没了头像变化..也会报错啊喂..

点评

所以他把两个战斗系统放在一起是想,玩什么..  发表于 2017-12-6 13:37
不,因為CIB戰鬥系統跟頭象變換是一起的,而即時戰鬥與以上兩個的作者是不同的,所以是CIB兩個戰鬥 VS 即時戰鬥這兩方有衝突。  发表于 2017-12-6 12:43
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
399
在线时间
36 小时
注册时间
2017-11-9
帖子
19
5
 楼主| 发表于 2017-12-7 13:15:52 | 只看该作者
是這樣的,一個作者做了即時戰鬥的腳本,但沒有相應的頭像變換腳本,
而另一位作者做了一個改良非即時戰鬥的腳本(CIB戰鬥那個)而同時他做了頭像變換腳本可以連著戰鬥一起用,
我是想用即時戰鬥再加入頭像變換,但不知如何把現在的頭像變換腳本改成即時戰鬥可用。

点评

上传了脚本..勉强是能够变换头像..  发表于 2017-12-7 17:40
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36124
在线时间
10712 小时
注册时间
2009-3-15
帖子
4806
6
发表于 2017-12-7 14:11:12 | 只看该作者
本帖最后由 soulsaga 于 2017-12-7 17:40 编辑
cht94512 发表于 2017-12-7 13:15
是這樣的,一個作者做了即時戰鬥的腳本,但沒有相應的頭像變換腳本,
而另一位作者做了一個改良非即時戰鬥 ...

CIB?不是CTB吗..
头像变换是依靠CTB脚本的....
我尽了努力..只能搞成这样..没法完全还原原来的效果..

即时战斗整合头像变换.zip

169.33 KB, 下载次数: 67

点评

是CTB,一直打錯了XDD  发表于 2017-12-7 22:05

评分

参与人数 2星屑 +80 +2 收起 理由
RyanBern + 80 + 1 认可答案
cht94512 + 1 认可答案

查看全部评分

回复 支持 2 反对 0

使用道具 举报

Lv2.观梦者

梦石
0
星屑
399
在线时间
36 小时
注册时间
2017-11-9
帖子
19
7
 楼主| 发表于 2017-12-7 22:03:42 | 只看该作者
好強大!!!辛苦了,太感謝大大了!!!
現在攻擊時會轉頭象,但攻擊完直到下回合前都沒有變回正常,
我看看能不能自己修改一下做成原有效果@@
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
399
在线时间
36 小时
注册时间
2017-11-9
帖子
19
8
 楼主| 发表于 2018-1-15 15:25:52 | 只看该作者
本帖最后由 cht94512 于 2018-1-15 15:34 编辑

在網上找到一個是可以做到這效果,而且與ACB不衝突的腳本。放在下方供有需要人士使用
----------------------------------------------------------------------------------------------------

RUBY 代码复制
  1. # ▼▲▼ No111. バトラーモーションXC. ver.3β ▼▲▼
  2. #
  3. # update 2006/10/22
  4. #
  5. #==============================================================================
  6. # □ カスタマイズポイント
  7. #==============================================================================
  8. module NO111
  9.   #
  10.   # 「自動アニメ」頻度(低いほうが頻繁)
  11.   #
  12.   AUTO_FREQUENCY = 4
  13.   #
  14.   # 「自動アニメ」:自動的に下一桁を加算するモーションの配列
  15.   #
  16.   AUTO_UPDATES = [1,31,41,51,101,221,231,801,811,951]
  17.   #
  18.   # アニメを繰り返すモーションの配列
  19.   #  (下一桁は1、1,2,3,4...8 の次に1, と繰り返します)
  20.   #
  21.   AUTO_LOOP = [1,41,51,101,221,231,801,811]
  22.   #
  23.   # 自動的に10加算して続行するモーション配列
  24.   #  (951,952,953...と続き、958の次に961に移ります。)
  25.   #
  26.   AUTO_NEXT = [951]
  27.   #
  28.   # 初期モーションランダム
  29.   #  ( 下一桁の1~8ランダム復帰を有効にします )
  30.   #
  31.   RANDOM_STARTUP = false
  32.   #--------------------------------------------------------------------------
  33.   # 基本フォーム
  34.   #--------------------------------------------------------------------------
  35.   #BASIC       =   1              # (固定)待機:基本
  36.   #DOWN        =  91              # (固定)戦闘不能
  37.   STEP3_ATTACK = 111              # 通常攻撃  :行動側アニメ時
  38.   STEP4_ATTACK = 121              # 通常攻撃  :対象側アニメ時
  39.   STEP3_GUARD  =  61              # 防御選択  :行動側アニメ時
  40.   STEP4_GUARD  =  61              # 防御選択  :対象側アニメ時
  41.   STEP3_ITEM   = 241              # アイテム使用:行動側アニメ時
  42.   STEP4_ITEM   = 251              # アイテム使用:対象側アニメ時
  43.   STEP4_DAMAGE =  71              # ダメージ受け
  44.   STEP4_GUARD  =  61              # 攻撃を防御時
  45.   STEP4_AVOID  =  51              # 回避時
  46.   STEP4_HEALED = 151              # 回復受け時
  47.   STEPS_ESCAPE = 901              # 逃げる
  48.   WIN_ACTION   = 951              # 戦闘勝利時
  49.   #--------------------------------------------------------------------------
  50.   # スキル
  51.   #--------------------------------------------------------------------------
  52.   # スキル個別フォーム ハッシュ(優先)
  53.   STEP3_SKILL_FORMS  = {56=>221}
  54.   STEP4_SKILL_FORMS  = {56=>231}
  55.   #
  56.   STEP3_SKILL  = 201              # スキル(非魔法):行動側アニメ時
  57.   STEP4_SKILL  = 211              # スキル(非魔法):対象側アニメ時
  58.   STEP3_MAGIC  = 221              # スキル( 魔法 ):行動側アニメ時
  59.   STEP4_MAGIC  = 231              # スキル( 魔法 ):対象側アニメ時
  60.   STEP3_HEAL   = 261              # スキル( 回復 ):行動側アニメ時
  61.   STEP4_HEAL   = 271              # スキル( 回復 ):対象側アニメ時
  62.   #
  63.   # 「回避」だと判断するダメージ表示文字列配列
  64.   #
  65.   AVOID_TEXT = ["Miss", "Guard!"]
  66.   #
  67.   # "回復スキル"であると判断するスキルのID 配列
  68.   #
  69.   HEAL_SKILL_IDS = [102,103]
  70.   #--------------------------------------------------------------------------
  71.   # ステート
  72.   #--------------------------------------------------------------------------
  73.   # マイナスステート 基本フォームID値
  74.   MINUS_STATE_DEFAULT_FORM_ID = 81
  75.   # 指定ステート個別フォームID ハッシュ(優先)
  76.   STATE_FORMS = {2=>82, 3=>83, 4=>84, 5=>85, 6=>86, 7=>87, 8=>88}
  77.   # マイナスステートであると判断するステートID配列
  78.   MINUS_STATE_IDS = [1, 2, 3, 4, 5, 6, 7, 8]
  79.   # モーション変更禁止ステート (石化など)
  80.   FORM_FIX_STATES = [2, 7]
  81. end
  82. #==============================================================================
  83. # RPG::Skill # 魔法スキルがどうか?
  84. #==============================================================================
  85. module RPG
  86.   class Skill
  87.     def is_a_magic?
  88.       return (self.str_f < self.int_f)
  89.     end
  90.   end
  91. end
  92. #==============================================================================
  93. # □ RPG_FileTest # バトラーグラフィックの有無
  94. #==============================================================================
  95. module RPG_FileTest
  96.   def RPG_FileTest.battler_exist?(filename)
  97.     return RPG::Cache.battler(filename, 0) rescue return false
  98.   end
  99. end
  100. #==============================================================================
  101. # --- フォーム 機構 ---
  102. #==============================================================================
  103. module XRXS_Forms
  104.   def battler_name
  105.     return @battler_motion_name == nil ? super : @battler_motion_name
  106.   end
  107.   attr_reader   :form_id
  108.   def form_id=(id)
  109.     @form_id = id
  110.     # フォーム ID の変化に対応
  111.     case @form_id
  112.     when nil, 0, 1
  113.       filename = nil
  114.       exist    = true
  115.     else
  116.       filename = @battler_name + "_" + sprintf("%03d", self.form_id)
  117.       exist    = RPG_FileTest.battler_exist?(filename)
  118.     end
  119.     @battler_motion_name = filename if exist
  120.   end
  121. end
  122. class Game_Actor < Game_Battler
  123.   include XRXS_Forms
  124. end
  125. class Game_Enemy < Game_Battler
  126.   include XRXS_Forms
  127. end
  128. #==============================================================================
  129. # --- 0番 非表示化 ---
  130. #==============================================================================
  131. class Game_Battler
  132.   def visible
  133.     return (self.form_id != 0)
  134.   end
  135. end
  136. module XRXS_ZeroForm_Enhide
  137.   def update
  138.     super
  139.     if [url=home.php?mod=space&uid=133701]@battler[/url] != nil
  140.       self.visible = @battler.visible
  141.     end
  142.   end
  143. end
  144. class Sprite_Battler < RPG::Sprite
  145.   include XRXS_ZeroForm_Enhide
  146. end
  147. #==============================================================================
  148. # --- ランダムスタートアップ機能 ---
  149. #==============================================================================
  150. class Game_Temp
  151.   def shift_random_start_id
  152.     if @no111_randoms.nil? or @no111_randoms.empty?
  153.       @no111_randoms = [1,2,3,4,5,6,7,8]
  154.     end
  155.     index = rand(@no111_randoms.size)
  156.     return @no111_randoms.delete_at(index)
  157.   end
  158. end
  159. #==============================================================================
  160. # --- 基本待機フォームへのバトラーグラフィックの変更 ---
  161. #==============================================================================
  162. module XRXS_Forms
  163.   attr_accessor :form_id_basic
  164. end
  165. class Game_Battler
  166.   def transgraphic_basic_form
  167.     # 基本を取得
  168.     id = self.form_id_basic
  169.     id = 1 if id == nil
  170.     # 「自動アニメ」ならばランタムスタートアップ
  171.     if NO111::RANDOM_STARTUP and NO111::AUTO_UPDATES.include?(form_id)
  172.       id += $game_temp.shift_random_start_id - 1
  173.     end
  174.     # 戦闘不能時強制フォーム
  175.     id = 91 if self.dead?
  176.     # 設定
  177.     self.form_id = id
  178.   end
  179. end
  180. #==============================================================================
  181. # --- マイナスステートによる基本フォームの変化 ---
  182. #==============================================================================
  183. module XRXS_Forms_MinusStates
  184.   def add_state(state_id, force = false)
  185.     super
  186.     form_id_basic_refresh
  187.   end
  188.   def remove_state(state_id, force = false)
  189.     super
  190.     form_id_basic_refresh
  191.   end
  192.   def form_id_basic_refresh
  193.     form_id = 1
  194.     # ステート検索
  195.     now_rate = 0
  196.     for state_id in @states
  197.       state_form_id = nil
  198.       # レーティングを比較
  199.       next if now_rate >= $data_states[state_id].rating
  200.       # 優先指定フォーム
  201.       id = NO111::STATE_FORMS[state_id]
  202.       if id != nil
  203.         state_form_id = id
  204.       end
  205.       # マイナスステート基本フォーム
  206.       if id == nil and NO111::MINUS_STATE_IDS.include?(state_id)
  207.         state_form_id = NO111::MINUS_STATE_DEFAULT_FORM_ID
  208.       end
  209.       # マイナスステートフォーム用ファイルが存在するかどうか判別
  210.       if state_form_id != nil
  211.         filename = @battler_name + "_" + sprintf("%03d", state_form_id)
  212.         exist    = RPG_FileTest.battler_exist?(filename)
  213.         if exist
  214.           # ファイルが存在する場合のみ基本フォームに設定
  215.           form_id  = state_form_id
  216.           now_rate = $data_states[state_id].rating
  217.         end
  218.       end
  219.     end
  220.     self.form_id_basic = form_id
  221.   end
  222. end
  223. class Game_Actor < Game_Battler
  224.   include XRXS_Forms_MinusStates
  225. end
  226. class Game_Enemy < Game_Battler
  227.   include XRXS_Forms_MinusStates
  228. end
  229. #==============================================================================
  230. # --- ステート自然解除 にモーション連動 ---
  231. #==============================================================================
  232. class Game_Battler
  233.   alias no111_remove_states_auto remove_states_auto
  234.   def remove_states_auto
  235.     no111_remove_states_auto
  236.     self.transgraphic_basic_form
  237.   end
  238. end
  239. #==============================================================================
  240. # --- フォーム ID のフレーム更新 ---
  241. #==============================================================================
  242. module XRXS_TransForms
  243.   def update_transform
  244.     # 例外補正
  245.     self.form_id = 1 if self.form_id == nil
  246.     # ステップ更新
  247.     if self.form_id != 0 and
  248.        NO111::AUTO_UPDATES.include?(self.form_id/10 * 10 + 1)
  249.       if self.form_id%10 == 8
  250.         if NO111::AUTO_NEXT.include?(self.form_id - 7)
  251.           self.form_id += 3
  252.         elsif NO111::AUTO_LOOP.include?(self.form_id - 7)
  253.           self.form_id -= 7
  254.         end
  255.       else
  256.         self.form_id += 1
  257.       end
  258.     end
  259.   end
  260. end
  261. class Game_Battler
  262.   include XRXS_TransForms
  263. end
  264. #==============================================================================
  265. # --- 91番 コラプス制御 ---
  266. #==============================================================================
  267. class Game_Battler
  268.   def down_battler_graphic?
  269.     # ファイル名の作成
  270.     filename = @battler_name + "_" + sprintf("%03d", 91)
  271.     # 有無チェック
  272.     return RPG_FileTest.battler_exist?(filename)
  273.   end
  274. end
  275. module NO111_CollapseBan
  276.   def collapse
  277.     super unless @battler.down_battler_graphic?
  278.   end
  279. end
  280. class Sprite_Battler < RPG::Sprite
  281.   include NO111_CollapseBan
  282.   alias no111_update update
  283.   def update
  284.     no111_update
  285.     return if @battler == nil
  286.     if @battler.dead? and @battler.down_battler_graphic?
  287.       self.opacity = 255
  288.     end
  289.   end
  290. end
  291. #==============================================================================
  292. # --- ステート変化保持機構 ---
  293. #==============================================================================
  294. class Game_Battler
  295.   attr_accessor :damage_states
  296.   #--------------------------------------------------------------------------
  297.   # ● 通常攻撃の効果適用
  298.   #--------------------------------------------------------------------------
  299.   alias attack_effect_damage_state attack_effect
  300.   def attack_effect(attacker)
  301.     last_states = self.states.dup
  302.     attack_effect_damage_state(attacker)
  303.     self.damage_states = self.states - last_states
  304.   end
  305.   #--------------------------------------------------------------------------
  306.   # ● スキルの効果適用
  307.   #--------------------------------------------------------------------------
  308.   alias skill_effect_damage_state skill_effect
  309.   def skill_effect(user, skill)
  310.     last_states = self.states.dup
  311.     skill_effect_damage_state(user, skill)
  312.     self.damage_states = self.states - last_states
  313.   end
  314.   #--------------------------------------------------------------------------
  315.   # ● アイテムの効果適用
  316.   #--------------------------------------------------------------------------
  317.   alias item_effect_damage_state item_effect
  318.   def item_effect(item)
  319.     last_states = self.states.dup
  320.     item_effect_damage_state(item)
  321.     self.damage_states = self.states - last_states
  322.   end
  323. end
  324. #==============================================================================
  325. # --- フォーム固定 ---
  326. #==============================================================================
  327. class Game_Battler
  328.   def form_fixed?
  329.     fixed = false
  330.     for state_id in self.states
  331.       fixed |= NO111::FORM_FIX_STATES.include?(state_id)
  332.     end
  333.     return fixed
  334.   end
  335. end
  336. #==============================================================================
  337. # ■ Scene_Battle
  338. #==============================================================================
  339. class Scene_Battle
  340.   #--------------------------------------------------------------------------
  341.   # ● メイン処理
  342.   #--------------------------------------------------------------------------
  343.   alias no111_main main
  344.   def main
  345.     # カウント初期化
  346.     @wait_count_motion = 0
  347.     # 呼び戻す
  348.     no111_main
  349.     # モーションを基本に戻す
  350.     $game_party.actors.each{|actor| actor.form_id = nil }
  351.   end
  352.   #--------------------------------------------------------------------------
  353.   # ● フレーム更新
  354.   #--------------------------------------------------------------------------
  355.   alias no111_update update
  356.   def update
  357.     # 呼び戻す
  358.     no111_update
  359.     # ウェイトカウント待機
  360.     if @wait_count_motion > 0
  361.       @wait_count_motion -= 1
  362.       return
  363.     end
  364.     # バトラーグラフィック表示更新
  365.     for battler in $game_party.actors + $game_troop.enemies
  366.       battler.update_transform
  367.     end
  368.     @wait_count_motion = NO111::AUTO_FREQUENCY
  369.   end
  370.   #--------------------------------------------------------------------------
  371.   # ● プレバトルフェーズ開始
  372.   #--------------------------------------------------------------------------
  373.   alias no111_start_phase1 start_phase1
  374.   def start_phase1
  375.     no111_start_phase1
  376.     # モーションをリセット
  377.     actors_motion_reset
  378.   end
  379.   #--------------------------------------------------------------------------
  380.   # ○ アクター達のモーションをリセット
  381.   #--------------------------------------------------------------------------
  382.   def actors_motion_reset
  383.     for actor in $game_party.actors
  384.       actor.transgraphic_basic_form
  385.     end
  386.   end
  387.   #--------------------------------------------------------------------------
  388.   # ● フレーム更新 (パーティコマンドフェーズ : 逃げる)
  389.   #--------------------------------------------------------------------------
  390.   alias no111_update_phase2_escape update_phase2_escape
  391.   def update_phase2_escape
  392.     # 呼び戻す
  393.     no111_update_phase2_escape
  394.     # 逃走成功
  395.     unless $scene.is_a?(Scene_Battle)
  396.       # 逃走モーション
  397.       for actor in $game_party.actors
  398.         if actor.movable?
  399.           actor.form_id = NO111::STEPS_ESCAPE
  400.         end
  401.       end
  402.       # 強制更新
  403.       @spriteset.update
  404.       Graphics.update
  405.     end
  406.   end
  407.   #--------------------------------------------------------------------------
  408.   # ● 勝敗判定
  409.   #--------------------------------------------------------------------------
  410.   alias no111_judge judge
  411.   def judge
  412.     bool = no111_judge
  413.     if bool
  414.       for battler in $game_party.actors
  415.         if battler.dead? == false
  416.           battler.form_id = NO111::WIN_ACTION
  417.         end
  418.       end
  419.     end
  420.     return bool
  421.   end
  422.   #--------------------------------------------------------------------------
  423.   # ● フレーム更新 (メインフェーズ ステップ 3 : 行動側アニメーション)
  424.   #--------------------------------------------------------------------------
  425.   alias no111_update_phase4_step3 update_phase4_step3
  426.   def update_phase4_step3
  427.     # モーション:行動側のモーション
  428.     # アクションの種別で分岐
  429.     case @active_battler.current_action.kind
  430.     when 0  # 基本
  431.       # 攻撃の場合
  432.       if @active_battler.current_action.basic == 0
  433.         @active_battler.form_id = NO111::STEP3_ATTACK
  434.       end
  435.       # 防御の場合
  436.       if @active_battler.current_action.basic == 1
  437.         @active_battler.form_id = NO111::STEP3_GUARD
  438.       end
  439.       # 逃げるの場合
  440.       if @active_battler.is_a?(Game_Enemy) and @active_battler.current_action.basic == 2
  441.         @active_battler.form_id = NO111::STEPS_ESCAPE
  442.       end
  443.     when 1  # スキル時、魔法判別
  444.       form_id = NO111::STEP3_SKILL_FORMS[@skill.id]
  445.       if form_id != nil
  446.         @active_battler.form_id = form_id
  447.       elsif NO111::HEAL_SKILL_IDS.include?(@skill.id)
  448.         @active_battler.form_id = NO111::STEP3_HEAL
  449.       elsif @skill != nil and @skill.is_a_magic?
  450.         @active_battler.form_id = NO111::STEP3_MAGIC
  451.       else
  452.         @active_battler.form_id = NO111::STEP3_SKILL
  453.       end
  454.     when 2  # アイテム
  455.       @active_battler.form_id = NO111::STEP3_ITEM
  456.     end
  457.     # 戻す
  458.     no111_update_phase4_step3
  459.   end
  460.   #--------------------------------------------------------------------------
  461.   # ● フレーム更新 (メインフェーズ ステップ 4 : 対象側アニメーション)
  462.   #--------------------------------------------------------------------------
  463.   alias no111_update_phase4_step4 update_phase4_step4
  464.   def update_phase4_step4
  465.     # モーション:対象側のダメージ
  466.     for target in @target_battlers
  467.       # フォーム固定ステート
  468.       next if target.form_fixed?
  469.       #
  470.       # 対象の反応
  471.       #
  472.       if NO111::AVOID_TEXT.include?(target.damage)
  473.         # 回避表示がなされる場合
  474.         target.form_id = NO111::STEP4_AVOID
  475.       elsif (target.damage.is_a?(Numeric) and target.damage >= 0)
  476.         #
  477.         if target.guarding? or target.damage == 0
  478.           # ガード
  479.           target.form_id = NO111::STEP4_GUARD
  480.         else
  481.           # 通常ダメージ
  482.           target.form_id = NO111::STEP4_DAMAGE
  483.         end
  484.       else
  485.         # マイナスステートを検索
  486.         minus_state = false
  487.         if target.damage_states != nil
  488.           for state_id in target.damage_states
  489.             minus_state |= NO111::MINUS_STATE_IDS.include?(state_id)
  490.           end
  491.           target.damage_states.clear
  492.         end
  493.         if minus_state
  494.           # マイナスステート
  495.           target.form_id = NO111::STEP4_DAMAGE
  496.         else
  497.           # 回復受け
  498.           target.form_id = NO111::STEP4_HEALED
  499.         end
  500.       end
  501.     end
  502.     # 自分自身のダメージ時は強制離脱
  503.     if @active_battler.form_id == NO111::STEP4_DAMAGE
  504.       return no111_update_phase4_step4
  505.     end
  506.     # モーション:行動側のモーション
  507.     # アクションの種別で分岐
  508.     case @active_battler.current_action.kind
  509.     when 0  # 基本
  510.       # 攻撃の場合
  511.       if @active_battler.current_action.basic == 0
  512.         @active_battler.form_id = NO111::STEP4_ATTACK
  513.       end
  514.       # 防御の場合
  515.       if @active_battler.current_action.basic == 1
  516.         @active_battler.form_id = NO111::STEP4_GUARD
  517.       end
  518.       # 逃げるの場合
  519.       if @active_battler.is_a?(Game_Enemy) and @active_battler.current_action.basic == 2
  520.         @active_battler.form_id = NO111::STEPS_ESCAPE
  521.       end
  522.     when 1  # スキル時、魔法判別
  523.       form_id = NO111::STEP4_SKILL_FORMS[@skill.id]
  524.       if form_id != nil
  525.         @active_battler.form_id = form_id
  526.       elsif NO111::HEAL_SKILL_IDS.include?(@skill.id)
  527.         @active_battler.form_id = NO111::STEP4_HEAL
  528.       elsif @skill != nil and @skill.is_a_magic?
  529.         @active_battler.form_id = NO111::STEP4_MAGIC
  530.       else
  531.         @active_battler.form_id = NO111::STEP4_SKILL
  532.       end
  533.     when 2  # アイテム
  534.       @active_battler.form_id = NO111::STEP4_ITEM
  535.     end
  536.     # 戻す
  537.     no111_update_phase4_step4
  538.   end
  539.   #--------------------------------------------------------------------------
  540.   # ● フレーム更新 (メインフェーズ ステップ 6 : リフレッシュ)
  541.   #--------------------------------------------------------------------------
  542.   alias no111_update_phase4_step6 update_phase4_step6
  543.   def update_phase4_step6
  544.     # 行動者のモーションのリセット
  545.     @active_battler.transgraphic_basic_form
  546.     # 対象のモーションリセット
  547.     if @target_battlers != nil
  548.       for target in @target_battlers
  549.         target.transgraphic_basic_form
  550.       end
  551.     end
  552.     # 呼び戻す
  553.     no111_update_phase4_step6
  554.   end
  555. end
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-21 14:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表