赞 | 0 |
VIP | 4 |
好人卡 | 0 |
积分 | 2 |
经验 | 31715 |
最后登录 | 2021-9-11 |
在线时间 | 829 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 180
- 在线时间
- 829 小时
- 注册时间
- 2010-6-26
- 帖子
- 671
|
本帖最后由 企鹅达达 于 2014-12-2 10:53 编辑
找到下面这段脚本,把红色部分改成 x,y+24*i 其中24可以换成你想要的间距
#--------------------------------------------------------------------------
# ● 绘制强化/弱化状态的图标
#--------------------------------------------------------------------------
def draw_actor_icons(actor, x, y, width = 96)
icons = (actor.state_icons + actor.buff_icons)[0, width / 24]
icons.each_with_index {|n, i| draw_icon(n, x + 24 * i, y) }
end
至于加上状态剩余回合数,你可以在上面的脚本加上一个把Game_BattlerBase的@state_turns和@buff_turns转化为图标index的数组,然后在描画完状态图标之后再描画一次剩余回合数的图标,具体怎么做你自己考虑吧,因为你这种战斗系统需要改的脚本一定相当多,所以可以顺带当脚本练习 ^^
然后,如果你是指技能里面的附加回合数,这个数据储读取的方式如下:
load_data("Data/Items.rvdata2").effects[j].code
load_data("Data/Items.rvdata2").effects[j].data_id
load_data("Data/Items.rvdata2").effects[j].value1
load_data("Data/Items.rvdata2").effects[j].value2
其中 i 表示物品的id , j 表示 第几个序号的效果 , code 是使用效果的种类,具体参考下面的
EFFECT_RECOVER_HP = 11 # 恢复 HP
EFFECT_RECOVER_MP = 12 # 恢复 MP
EFFECT_GAIN_TP = 13 # 增加 TP
EFFECT_ADD_STATE = 21 # 附加状态
EFFECT_REMOVE_STATE = 22 # 解除状态
EFFECT_ADD_BUFF = 31 # 强化能力
EFFECT_ADD_DEBUFF = 32 # 弱化能力
EFFECT_REMOVE_BUFF = 33 # 解除能力强化
EFFECT_REMOVE_DEBUFF = 34 # 解除能力弱化
EFFECT_SPECIAL = 41 # 特殊效果
EFFECT_GROW = 42 # 能力提升
EFFECT_LEARN_SKILL = 43 # 学会技能
EFFECT_COMMON_EVENT = 44 # 公共事件
也就是说当code为31的时候,data_id为属性id,value1就是回合数了
如果是在默认系统里技能成功后“xx上升了”那里加上回合数,可以试试下面的脚本,
#============================================================================== # ■ Vocab #------------------------------------------------------------------------------ # 定义了用语和信息。将部分资料定义为常量。用语部分来自于 $data_system 。 #============================================================================== module Vocab # 能力强化/弱化 BuffAdd = "%s的%s上升%s回合!" DebuffAdd = "%s的%s下降%s回合!" end #============================================================================== # ■ Window_BattleLog #------------------------------------------------------------------------------ # 用来显示战斗信息的窗口 # 此类窗口没有边框,归类为窗口只是为了方便。 #============================================================================== class Window_BattleLog < Window_Selectable #-------------------------------------------------------------------------- # ● 显示能力强化/弱化 #-------------------------------------------------------------------------- def display_changed_buffs(target) display_buffs2(target, target.result.added_buffs,Vocab::BuffAdd) display_buffs2(target, target.result.added_debuffs, Vocab::DebuffAdd) display_buffs(target, target.result.removed_buffs, Vocab::BuffRemove) end #-------------------------------------------------------------------------- # ● 显示能力强化/弱化(个別) #-------------------------------------------------------------------------- def display_buffs2(target, buffs, fmt) buffs.each do |param_id| replace_text(sprintf(fmt, target.name, Vocab::param(param_id), target.buff_turns[param_id].to_i)) wait end end end #encoding:utf-8 #============================================================================== # ■ Game_Battler #------------------------------------------------------------------------------ # 处理战斗者的类。Game_Actor 和 Game_Enemy 类的父类。 #============================================================================== class Game_Battler < Game_BattlerBase def buff_turns @buff_turns end end
#==============================================================================
# ■ Vocab
#------------------------------------------------------------------------------
# 定义了用语和信息。将部分资料定义为常量。用语部分来自于 $data_system 。
#==============================================================================
module Vocab
# 能力强化/弱化
BuffAdd = "%s的%s上升%s回合!"
DebuffAdd = "%s的%s下降%s回合!"
end
#==============================================================================
# ■ Window_BattleLog
#------------------------------------------------------------------------------
# 用来显示战斗信息的窗口
# 此类窗口没有边框,归类为窗口只是为了方便。
#==============================================================================
class Window_BattleLog < Window_Selectable
#--------------------------------------------------------------------------
# ● 显示能力强化/弱化
#--------------------------------------------------------------------------
def display_changed_buffs(target)
display_buffs2(target, target.result.added_buffs,Vocab::BuffAdd)
display_buffs2(target, target.result.added_debuffs, Vocab::DebuffAdd)
display_buffs(target, target.result.removed_buffs, Vocab::BuffRemove)
end
#--------------------------------------------------------------------------
# ● 显示能力强化/弱化(个別)
#--------------------------------------------------------------------------
def display_buffs2(target, buffs, fmt)
buffs.each do |param_id|
replace_text(sprintf(fmt, target.name, Vocab::param(param_id), target.buff_turns[param_id].to_i))
wait
end
end
end
#encoding:utf-8
#==============================================================================
# ■ Game_Battler
#------------------------------------------------------------------------------
# 处理战斗者的类。Game_Actor 和 Game_Enemy 类的父类。
#==============================================================================
class Game_Battler < Game_BattlerBase
def buff_turns
@buff_turns
end
end
顺带一提,默认的va系统貌似
角色原来有1层5回合攻击强化,再附加一次3回合攻击强化的时候,会变成5回合2层攻击强化;
角色原来有1层3回合攻击强化,再附加一次5回合攻击强化的时候,会变成5回合2层攻击强化;
角色原来有1层3回合攻击弱化,再附加一次5回合攻击强化的时候,会彻底变成无强化,但是会显示攻击强化了5回合;
角色原来有1层5回合攻击弱化,再附加一个3回合攻击强化的时候,会彻底变成无强化,但是会显示攻击强化了5回合;
总的来说,也就是层数加1,回合数重置为较长的一个。这种系统加上回合数说明简直就是在玩弄玩家的智商
至于第二个问题,完全没看懂啊~复杂的战斗系统最讨厌了~~~~ |
评分
-
查看全部评分
|