注册会员 登录
Project1 返回首页

懒De说的个人空间 https://rpg.blue/?81572 [收藏] [复制] [分享] [RSS]

日志

更换领队

已有 315 次阅读2011-7-4 18:36

用法:插入脚本到Main之前
说明:之所以想到做这个系统是因为站上的按键更改领队教程不但无端增加一个全局并行的公共事件,更麻烦的是因为它改变了队伍的次序,在处理战斗事件的强制行动等情况时,会发生不可知的结果.因此做了这个不用改队伍次序就能换领队的插件脚本.领队的更迭会在地图的行走画面上反映出来,利用条件分歧的功能也可以方便的触发领队不同的不同事件
#==============================================================================
# 领队更换系统 by SailCat
#------------------------------------------------------------------------------
# 添加此脚本后,在地图画面按下X键更换当前的领队。
# 领队更改不会造成战斗队伍、菜单队伍次序的更改。
# 若要在条件分歧中调用领队,请用脚本:$game_party.leader == 序号
# 序号为0-3的值,最大不会超过队伍的角色数目减1。
#==============================================================================
class Game_Party
 #--------------------------------------------------------------------------
 # ● 追加实例变量
 #--------------------------------------------------------------------------
 attr_reader   :leader
 alias sailcat_initialize initialize
 alias sailcat_setup_starting_members setup_starting_members
 #--------------------------------------------------------------------------
 # ● 初始化对像
 #--------------------------------------------------------------------------
 def initialize
   # 生成领队
   @leader = 0
   sailcat_initialize
 end
 #--------------------------------------------------------------------------
 # ● 设置初期同伴
 #--------------------------------------------------------------------------
 def setup_starting_members
   sailcat_setup_starting_members
   # 生成领队
   @leader = 0
 end
 #--------------------------------------------------------------------------
 # ● 设置领队
 #--------------------------------------------------------------------------
 def switch_leader
   @leader += 1
   @leader %= @actors.size
 end
end
class Game_Player
 alias sailcat_update update
 #--------------------------------------------------------------------------
 # ● 刷新
 #--------------------------------------------------------------------------
 def refresh
   # 同伴人数为 0 的情况下
   if $game_party.actors.size == 0
     # 清除角色的文件名及对像
     @character_name = ""
     @character_hue = 0
     # 分支结束
     return
   end
   # 获取带头的角色
   actor = $game_party.actors[$game_party.leader]
   # 设置角色的文件名及对像
   @character_name = actor.character_name
   @character_hue = actor.character_hue
   # 初始化不透明度和合成方式
   @opacity = 255
   @blend_type = 0
 end
 #--------------------------------------------------------------------------
 # ● 画面更新
 #--------------------------------------------------------------------------
 def update
   # 按下 X 键的情况下
   if Input.trigger?(Input::X)
     # 更换领队
     $game_party.switch_leader
     refresh
   end
   sailcat_update
 end
end

鸡蛋

鲜花

评论 (0 个评论)

facelist doodle 涂鸦笔

您需要登录后才可以评论 登录 | 注册会员

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

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

GMT+8, 2024-4-29 19:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

返回顶部