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

Project1

 找回密码
 注册会员
搜索
Project1 查看内容

领队更换系统

2007-10-7 19:42| 发布者: 柳柳| 查看: 4443| 评论: 0|原作者: SailCat

摘要: 作者 SailCat 版本 2005年11月(咦?不是开玩笑吧……) 相关网址 点此进入讨论贴 范例工程 那个年代的教学没有范例    具体内容 用法:插入脚本到Main之前说明:之所以想

作者

SailCat

版本

2005年11月(咦?不是开玩笑吧……)

相关网址

点此进入讨论贴

范例工程

那个年代的教学没有范例 


 

具体内容

用法:插入脚本到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

 
 

教程的通用说明

本站发布的教程,大多经过一些测试,应该都能够实现相应功能。但不保证所有的教程都是最优化的制作方法。

相关问题,点击发布贴进行讨论。谢谢您的鼓励与支持。

1

鲜花

刚表态过的朋友 (1 人)

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

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

GMT+8, 2024-4-26 04:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

返回顶部