Project1

标题: 【求助】怎么能让武器普通攻击附带吸血效果 [打印本页]

作者: zaq1syh    时间: 2013-6-29 11:46
标题: 【求助】怎么能让武器普通攻击附带吸血效果
之前试过几个脚本,但都是装备武器添加技能的,我需要的是普通攻击就附带这种(比如吸血)效果,希望大神们不吝赐教
作者: joe15975    时间: 2013-7-1 13:58
先設1個開關:吸血武器
當持有吸血武器時開關會打開
在戰鬥設定條件當開關吸血武器打開時攻擊會回復生命之類的
應該就可以了
如果不行
那就try別人的答案吧
作者: 6916962    时间: 2013-7-2 00:06
同求啊,我也是遇到同样的问题~
作者: 熊喵酱    时间: 2013-7-2 00:46
在此提供个思路
是說VX Ace 有相对的脚本可以达成此功能
就是如果装备A武器   那角色的普攻就会变为在武器备注拦填写的技能ID
VA的脚本如下
  1. class RPG::Weapon < RPG::EquipItem
  2.   def attack_skill
  3.     @note.each_line do |line|
  4.       if line =~ /\<(?:AttackSkill)[ ]*(\d+)\>/i
  5.         return $1.to_i == 0 ? 1 : $1.to_i
  6.       end
  7.     end
  8.     return 1
  9.   end
  10. end
  11. class Game_Actor < Game_Battler
  12.   alias attack_skill_attack_skill_id attack_skill_id
  13.   def attack_skill_id
  14.     return weapons[0].attack_skill if weapons[0]
  15.     if dual_wield?
  16.       return weapons[1].attack_skill if weapons[1]
  17.     end
  18.     return attack_skill_attack_skill_id
  19.   end
  20. end
  21. class Scene_Battle < Scene_Base
  22.   alias attack_skill_command_attack command_attack
  23.   def command_attack
  24.     attack_skill_command_attack
  25.     if !BattleManager.actor.current_action.item.need_selection?
  26.       @enemy_window.deactivate
  27.       on_enemy_ok
  28.     end
  29.   end
  30. end
复制代码
我是觉得如果VA能办到VX也一定能行的说
等下个大大帮你翻译此脚本吧.....
作者: zaq1syh    时间: 2013-7-2 01:05
joe15975 发表于 2013-7-1 13:58
先設1個開關:吸血武器
當持有吸血武器時開關會打開
在戰鬥設定條件當開關吸血武器打開時攻擊會回復生命之類 ...

但是武器的吸血是基于角色输出的啊,这个怎么做出来?
作者: Password    时间: 2013-7-2 22:20
本帖最后由 Password 于 2013-7-2 22:21 编辑

做好了,最近在练习数组,顺便就把这个当作练习了……

方法:将此段脚本复制并替换原有在Game_Battler下的约第801行开始至约833行结束。(即替换原有的“def attack_effect(attacker)部分”)
         剩下的注释就写得很明白了。
  1.   #--------------------------------------------------------------------------
  2.   # ● 发动普通攻击
  3.   #     attacker : 攻击者
  4.   #--------------------------------------------------------------------------
  5.   def attack_effect(attacker)
  6.     $array = [31, 32] # 方括号内的数字为吸血武器的武器ID,如果有多个武器的话
  7.                       # 中间请用半角逗号隔开。
  8.     clear_action_results
  9.     unless attack_effective?(attacker)
  10.       @skipped = true
  11.       return
  12.     end
  13.     if rand(100) >= calc_hit(attacker)            # 计算命中率
  14.       @missed = true
  15.       return
  16.     end
  17.     if rand(100) < calc_eva(attacker)             # 计算闪躲率
  18.       @evaded = true
  19.       return
  20.     end
  21.     make_attack_damage_value(attacker)            # 计算伤害
  22.     execute_damage(attacker)                      # 伤害效果
  23.     if @hp_damage == 0                            # 判断是否有物理伤害
  24.       return                                    
  25.     end
  26.     apply_state_changes(attacker)                 # 增减状态
  27.     if attacker.is_a?(Game_Actor)                 # 如果攻击者是“主角”
  28.       b = attacker.weapon_id
  29.       if $array.include?(b)                       # 判断主角是否装备了吸血武器
  30.         attacker.hp += @hp_damage / 10            # 给攻击者加血,这里加血的比例是对敌人造成的伤害的十分之一
  31.       end
  32.     end
  33.   end
复制代码
范例: 吸血武器.rar (238.65 KB, 下载次数: 67)

注意:它不能完全应用于二刀流。但是我相信LZ不会有二刀流的对吧……

另外……感谢P叔的支援!
作者: 1614064849    时间: 2013-7-9 11:32
LZ,素材库——武器——所从的属性——吸收——打个勾




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