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

Project1

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

[已经解决] 求一个脚本

[复制链接]

Lv5.捕梦者

梦石
0
星屑
24374
在线时间
5054 小时
注册时间
2016-3-8
帖子
1622
1
发表于 2020-8-9 16:22:23 | 显示全部楼层
帕克lit 发表于 2020-8-9 16:04
e,,好像有冲突啊
  1. #==============================================================================
  2. # ■参战队员死亡时,非参战队员上场 for RGSS3 Ver1.00-β
  3. # □author kure
  4. #===============================================================================

  5. #==============================================================================
  6. # ▲ Vocab(追加定義)
  7. #==============================================================================
  8. module Vocab
  9.   ChangeParty   = "%s 冲了出来!"
  10. end

  11. #==============================================================================
  12. # ■ BattleManager
  13. #==============================================================================
  14. module BattleManager
  15.   #--------------------------------------------------------------------------
  16.   # ● 勝敗判定(再定義)
  17.   #--------------------------------------------------------------------------
  18.   def self.judge_win_loss
  19.     $game_party.change_party_order if $game_party.all_dead?
  20.    
  21.     if @phase
  22.       return process_abort   if $game_party.members.empty?
  23.       return process_defeat  if $game_party.all_dead?
  24.       return process_victory if $game_troop.all_dead?
  25.       return process_abort   if aborting?
  26.     end
  27.     return false
  28.   end
  29. end

  30. #==============================================================================
  31. # ■ Window_BattleLog
  32. #==============================================================================
  33. class Window_BattleLog < Window_Selectable
  34.   #--------------------------------------------------------------------------
  35.   # ☆ スティールの表示
  36.   #--------------------------------------------------------------------------
  37.   def display_change_battle_members(battlers)
  38.     for member in 0..battlers.size - 1
  39.       fmt = Vocab::ChangeParty
  40.       add_text(sprintf(fmt, battlers[member].name))
  41.       wait
  42.     end
  43.   end
  44. end

  45. #==============================================================================
  46. # ■ Scene_Battle
  47. #==============================================================================
  48. class Scene_Battle < Scene_Base
  49.   #--------------------------------------------------------------------------
  50.   # ● フレーム更新(エイリアス再定義)
  51.   #--------------------------------------------------------------------------
  52.   alias k_before_change_party_update update
  53.   def update
  54.     k_before_change_party_update
  55.     #PT入れ替え実行
  56.     if $game_party.call_party_order?
  57.       @log_window.display_change_battle_members($game_party.changed_members)
  58.       @log_window.wait_and_clear
  59.       $game_party.order_delete
  60.     end
  61.   end
  62. end

  63. #==============================================================================
  64. # ■ Game_Party
  65. #==============================================================================
  66. class Game_Party < Game_Unit
  67.   #--------------------------------------------------------------------------
  68.   # ● PTの入れ替え(追加定義)
  69.   #--------------------------------------------------------------------------
  70.   def change_party_order
  71.     @change = Array.new
  72.     #バトルメンバーサイズまで判定
  73.     for actor in 0..max_battle_members - 1
  74.       #戦闘不能アクターが存在すれば後ろを検索
  75.       if @actors[actor] && $game_actors[@actors[actor]].dead?
  76.         
  77.         for actors in actor + [email protected] - 1
  78.           if @actors[actors] && $game_actors[@actors[actors]].alive?
  79.             save = @actors[actor]
  80.             @actors[actor] = @actors[actors]
  81.             @actors[actors] = save
  82.             @change.push(@actors[actor])
  83.             cheack_party_order
  84.             break
  85.           end
  86.         end
  87.          
  88.       end
  89.     end
  90.    
  91.     $game_player.refresh
  92.     $game_map.need_refresh = true   
  93.   end
  94.   #--------------------------------------------------------------------------
  95.   # ● PTの入れ替えの記録(追加定義)
  96.   #--------------------------------------------------------------------------
  97.   def cheack_party_order
  98.     @party_orderd = true
  99.   end
  100.   #--------------------------------------------------------------------------
  101.   # ● PTの入れ替えの記録(追加定義)
  102.   #--------------------------------------------------------------------------
  103.   def order_delete
  104.     @party_orderd = false
  105.   end
  106.   #--------------------------------------------------------------------------
  107.   # ● PTの入れ替えの記録呼び出し(追加定義)
  108.   #--------------------------------------------------------------------------
  109.   def call_party_order?
  110.     return false unless @party_orderd
  111.     return @party_orderd
  112.   end
  113.   #--------------------------------------------------------------------------
  114.   # ● 入れ替えたメンバーの配列(追加定義)
  115.   #--------------------------------------------------------------------------
  116.   def changed_members
  117.     return [] unless @change
  118.     return @change.collect {|id| $game_actors[id] }
  119.   end
  120. end
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-4 22:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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