Project1
标题:
关于领队更换系统的暂停问题
[打印本页]
作者:
reichal
时间:
2008-3-15 12:26
标题:
关于领队更换系统的暂停问题
上次在论坛里发现了一个好脚本:领队更换系统。(就是按A键切换领队头像的那个)。
于是我也用到我的游戏里了。但后来发现如果有队员离队的话,这个脚本就出现错误了。
请领队更换系统的作者继续完善一下,或哪位GS有空的话也帮忙来解决一下。谢谢了!
脚本如下:
#==============================================================================
# 领队更换系统 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 [LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
禾西
时间:
2008-3-15 14:07
……囧rz,那個不是抱怨,但是怎麼好像SailCat前輩這個腳本有種小題大造的感覺??
——————————以上言論請無視————————————————————————
#------------------------------------------------------------------------------
# 添加此脚本后,在地图画面按下X键更换当前的领队。
# 领队更改不会造成战斗队伍、菜单队伍次序的更改。
# 若要在条件分歧中调用领队,请用脚本:
$game_player.leader_id == 序号
#==============================================================================
class Game_Player < Game_Character
attr_reader :leader_id
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
# 同伴人数为 0 的情况下
if $game_party.actors.size == 0
# 清除角色的文件名及对像
@character_name = ""
@character_hue = 0
# 分支结束
return
end
if @leader_id.nil? or $game_party.actors[@leader_id].nil?
# 获取带头的角色
actor = $game_party.actors[0]
@leader_id = 0
else
# 获取带头的角色
actor = $game_party.actors[@leader_id]
end
# 设置角色的文件名及对像
@character_name = actor.character_name
@character_hue = actor.character_hue
# 初始化不透明度和合成方式子
@opacity = 255
@blend_type = 0
end
#--------------------------------------------------------------------------
# ● 画面更新
#--------------------------------------------------------------------------
alias oir_update update
def update
# 按下 X 键的情况下
if Input.trigger?(Input::X)
@leader_id += 1
@leader_id = 0 if $game_party.actors[@leader_id].nil?
refresh
end
oir_update
end
end
——————————完了————————————————————————————
修改很麻煩,所以直接寫新的了。
直接當作插件丟在main之前,甚麽修改都不用。
條件分歧調用稍微改變了一下 [LINE]1,#dddddd[/LINE]
版主对此帖的认可:『很美好的简化,可以用。奖励100恩,其他人也要更努力啊!By光郎』,积分『+100』。
[LINE]1,#dddddd[/LINE]
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者:
光郎
时间:
2008-3-15 16:02
…那么长的你修改成这么短的…可以用吗?我要给你加分奖励。
作者:
禾西
时间:
2008-3-15 16:41
本來的就不長(67行),修改後更短(44行)。
「這就是RUBY的最小意外原則!!!!!」(Pia飛)
(爬回來……)
至於可不可用,禾西口講無憑,光郞可以自己開個工程測試一下
(另外,那個X鍵好像默認設置下其實是A鍵 囧rz)
作者:
光郎
时间:
2008-3-15 17:15
恩…全新版请写上制作者和论坛地址~这个脚本很好的解决了问题呢。
作者:
禾西
时间:
2008-3-15 18:42
那個……
這個腳本基本上無有任何技術含量
能够額外加到100分就已經是中獎
版權就沒有了,就當公衆版吧!╮(╯ . ╰)╭
作者:
reichal
时间:
2008-3-15 20:00
各位真是GS中的GS,小弟是个程序白痴。你们看似简单的这个脚本,但对于我来说就如同天书一般。
想弄懂关于脚本的编程,但不知道该从何下手。真羡慕你们啊……
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1