Project1

标题: 领队更换系统 [打印本页]

作者: 禾西    时间: 2008-3-15 22:21
标题: 领队更换系统
本帖最后由 后知后觉 于 2009-12-29 16:40 编辑

版權沒有,盜用可以
  1. #------------------------------------------------------------------------------
  2. # 添加此脚本后,在地图画面按下X键更换当前的领队。
  3. # 领队更改不会造成战斗队伍、菜单队伍次序的更改。
  4. # 領隊的ID可以在第「ID」號的變量中取得(不再使用序列好了)
  5. #==============================================================================
  6. class Game_Player < Game_Character
  7.   ID = 0
  8. #--------------------------------------------------------------------------
  9. # ● 刷新
  10. #--------------------------------------------------------------------------
  11. def refresh
  12.    # 同伴人数为 0 的情况下
  13.    if $game_party.actors.size == 0
  14.      # 清除角色的文件名及对像
  15.      @character_name = ""
  16.      @character_hue = 0
  17.      $game_variables[ID] = 0 unless ID.zero?
  18.      # 分支结束
  19.      return
  20.    end
  21.    if @leader_id.nil? or $game_party.actors[@leader_id].nil?
  22.      # 获取带头的角色
  23.      actor = $game_party.actors[0]
  24.      @leader_id = 0
  25.    else
  26.      # 获取带头的角色
  27.      actor = $game_party.actors[@leader_id]
  28.    end
  29.    $game_variables[ID] = $game_party.actors[@leader_id].id unless ID.zero?
  30.    # 设置角色的文件名及对像
  31.    @character_name = actor.character_name
  32.    @character_hue = actor.character_hue
  33.    # 初始化不透明度和合成方式子
  34.    @opacity = 255
  35.    @blend_type = 0
  36. end
  37. #--------------------------------------------------------------------------
  38. # ● 画面更新
  39. #--------------------------------------------------------------------------
  40. alias oir_update update
  41. def update
  42.    # 按下 X 键的情况下
  43.    if Input.trigger?(Input::X)
  44.      @leader_id += 1
  45.      @leader_id = 0 if $game_party.actors[@leader_id].nil?
  46.      refresh
  47.    end
  48.    oir_update
  49. end
  50. end
复制代码
基本上和SailCat所寫的領隊更換系統沒有差別(連說明文字都是卑鄙地照抄),只是修正了一個bug、改變了分歧時候調用的方法和簡化了代碼。

領隊號碼(角色ID)記錄改在(ID)號變量當中

PS。(那個X鍵默認設置下其實是A鍵 囧rz)
作者: 越前リョーマ    时间: 2008-3-16 01:53
说白了就是把地图上行走的人物换了个……
作者: 莳绱主锍    时间: 2008-3-16 03:16
那直接用事件不更快{/bz}
作者: 光郎    时间: 2008-3-16 03:48
还可以!不知道……
可以加点东西吗?
切换人物时!
1号带头1号变量为1
2号带头1号变量为2
…………
这个~
作者: 禾西    时间: 2008-3-16 06:11
以下引用越前リョーマ于2008-3-15 17:53:12的发言:

说白了就是把地图上行走的人物换了个……

本來就是實現這個效果。戳……
以下引用莳绱主锍于2008-3-15 19:16:47的发言:

那直接用事件不更快

只會更慢
以下引用光郎于2008-3-15 19:48:18的发言:

还可以!不知道……
可以加点东西吗?
切换人物时!
1号带头1号变量为1
2号带头1号变量为2
…………
这个~

好主意。那麽就不用調用$game_player.leader_id == 序号了
禾西真笨……




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1