赞 | 0 |
VIP | 24 |
好人卡 | 8 |
积分 | 1 |
经验 | 11412 |
最后登录 | 2017-8-21 |
在线时间 | 416 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 416 小时
- 注册时间
- 2006-10-21
- 帖子
- 1245
|
本帖最后由 wangswz 于 2010-7-5 13:23 编辑
求高人出现。。
完全不懂game_Battle里关于属性修正的那段
究竟是如何让角色和敌人的属性有效度和技能联系起来的啊?
有大错 正在返工
大概是这样的
Scene_Battle
1045- #--------------------------------------------------------------------------
- # ● 显示体力伤害
- # target : 目标
- # obj : 技能或物品
- #--------------------------------------------------------------------------
- def display_hp_damage(target, obj = nil)
- if target.hp_damage == 0 # 无伤害
- return if obj != nil and obj.damage_to_mp
- return if obj != nil and obj.base_damage == 0
- fmt = target.actor? ? Vocab::ActorNoDamage : Vocab::EnemyNoDamage
- text = sprintf(fmt, target.name)
- elsif target.absorbed # 吸收
- fmt = target.actor? ? Vocab::ActorDrain : Vocab::EnemyDrain
- text = sprintf(fmt, target.name, Vocab::hp, target.hp_damage)
- elsif target.hp_damage > 0 # 伤害
- if target.actor?
- text = sprintf(Vocab::ActorDamage, target.name, target.hp_damage)
- Sound.play_actor_damage
- $game_troop.screen.start_shake(5, 5, 10)
- else
- text = sprintf(Vocab::EnemyDamage, target.name, target.hp_damage)
- Sound.play_enemy_damage
- target.blink = true
- end
- if obj != nil
- case elements_max_rate(obj.element_set)
- when 100..200
- text2 = sprintf(Vocab::ShuXingA)
- @message_window.add_instant_text(text2)
- wait(10)
- end
- end
- else # 回复
- fmt = target.actor? ? Vocab::ActorRecovery : Vocab::EnemyRecovery
- text = sprintf(fmt, target.name, Vocab::hp, -target.hp_damage)
- Sound.play_recovery
- end
- @message_window.add_instant_text(text)
- wait(30)
- end
- #--------------------------------------------------------------------------
- # ● 获取最大属性调整量
- # element_set : 属性列表
- # 返回效果最大的属性
- #--------------------------------------------------------------------------
- def elements_max_rate(element_set)
- return 100 if element_set.empty? # 判断是否有属性列表
- rate_list = []
- for i in element_set
- rate_list.push(element_rate(i))
- end
- return rate_list.max
- end
- #--------------------------------------------------------------------------
- # ● 获取属性修正值
- # element_id : 属性ID
- #--------------------------------------------------------------------------
- def element_rate(element_id)
- return 100
- end
复制代码 注意
when 100..200
text2 = sprintf(Vocab::ShuXingA)
@message_window.add_instant_text(text2)
wait(10)
如果效果在100%~200%之间。。返回shuxingA字符串
然后
Vocab
里 插入- # 属性有效度显示
- ShuXingA = "效果拔群!"
复制代码 我新建工程 无误 如果有错。。。。。
也许有修改了但漏贴的地方 sorry |
评分
-
查看全部评分
|