Project1
标题:
领队更换代码错误
[打印本页]
作者:
yi0147
时间:
2011-5-26 22:36
标题:
领队更换代码错误
本帖最后由 fux2 于 2011-5-27 12:55 编辑
使用这个脚本后,在加入新队员时会被告知
下面是源代码:
#==============================================================================
# 领队更换系统 by SailCat
#------------------------------------------------------------------------------
# 添加此脚本后,在地图画面按下Z键更换当前的领队。
# 领队更改不会造成战斗队伍、菜单队伍次序的更改。
# 若要在条件分歧中调用领队,请用脚本:$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
# 按下 TAB 键的情况下
unless $game_temp.menu_calling or
$game_system.menu_disabled or
$game_system.map_interpreter.running? or
if Input.repeat?(Input::A)
# 更换领队
$game_party.switch_leader
refresh
end
sailcat_update
end
end
end
复制代码
作者:
kinguanghua
时间:
2011-5-27 11:55
楼主 这个代码本身没有什么错误 我在新工程中运行 并且加入新队员都没有任何问题
是不是楼主使用的别的脚本中有相同的定义导致冲突了呢 试试在脚本中搜索看看有几个脚本包含这些定义的
作者:
fux2
时间:
2011-5-27 12:55
获取了一个空的角色,估计的索引问题。
作者:
yi0147
时间:
2011-5-27 22:07
怎么解决呢?
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1