查看: 1678|回复: 6

[已经解决] 请问VX如何使二刀流固定其中一种装备

[复制链接]

送快递的水表员

梦石
10
星屑
5259
在线时间
3304 小时
注册时间
2012-6-27
回帖
7028

开拓者贵宾

发表于 2012-7-4 13:37:06 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
比如二刀流的人如何永久固定其中一种装备(初始装备)?
还有我想设计一个有副作用的技能,使用后自身受到的伤害是敌人受到的伤害的10% ?
梦石
0
星屑
50
在线时间
148 小时
注册时间
2012-7-2
回帖
139
发表于 2012-7-4 14:07:58 | 显示全部楼层
比如二刀流的人如何永久固定其中一种装备(初始装备)?
Scene_Equip里面增加红色这行,二刀流时,不允许替换1号武器,不知道你是不是这个意思,呵呵。
  #--------------------------------------------------------------------------
  # ● 更新装备物品选择
  #--------------------------------------------------------------------------
  def update_item_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @equip_window.active = true
      @item_window.active = false
      @item_window.index = -1
    elsif Input.trigger?(Input::C)
      return if @actor.two_swords_style and @equip_window.index==0
      Sound.play_equip
      @actor.change_equip(@equip_window.index, @item_window.item)
      @equip_window.active = true
      @item_window.active = false
      @item_window.index = -1
      @equip_window.refresh
      for item_window in @item_windows
        item_window.refresh
      end
    end
  end
end
回复

使用道具 举报

送快递的水表员

梦石
10
星屑
5259
在线时间
3304 小时
注册时间
2012-6-27
回帖
7028

开拓者贵宾

 楼主| 发表于 2012-7-4 15:11:05 | 显示全部楼层
limaolinghu 发表于 2012-7-4 14:07
比如二刀流的人如何永久固定其中一种装备(初始装备)?
Scene_Equip里面增加红色这行,二刀流时,不允许替 ...

是这个意思,那第二个问题呢?
回复

使用道具 举报

梦石
0
星屑
50
在线时间
148 小时
注册时间
2012-7-2
回帖
139
发表于 2012-7-4 15:36:00 | 显示全部楼层
本帖最后由 limaolinghu 于 2012-7-4 15:36 编辑

Game_Battler类,红的是加的,没仔细测,也没加文字描述。当使用技能编号1的技能时,自己受到伤害的10%

  def execute_damage(user, skill = nil)
    if @hp_damage > 0           # 若伤害为正数
      remove_states_shock       # 攻击移除状态
    end
    self.hp -= @hp_damage
    user.hp -= @hp_damage / 10 if skill.id == 1
    self.mp -= @mp_damage
    if @absorbed                # 若吸收
      user.hp += @hp_damage
      user.mp += @mp_damage
    end
  end

  def skill_effect(user, skill)
    clear_action_results
    unless skill_effective?(user, skill)
      @skipped = true
      return
    end
    if rand(100) >= calc_hit(user, skill)         # 计算命中率
      @missed = true
      return
    end
    if rand(100) < calc_eva(user, skill)          # 计算闪躲率
      @evaded = true
      return
    end
    make_obj_damage_value(user, skill)            # 计算伤害
    make_obj_absorb_effect(user, skill)           # 计算吸收效果
    execute_damage(user, skill)                          # 伤害效果
    if skill.physical_attack and @hp_damage == 0  # 判断是否物理伤害
      return                                    
    end
    apply_state_changes(skill)                    # 增减状态
  end

点评

不管用……  发表于 2012-7-4 16:56
恩,所以加了个默认参数)  发表于 2012-7-4 16:16
要是加一个参数的话。。新加的脚本会有很多麻烦的地方。。  发表于 2012-7-4 16:12
回复

使用道具 举报

梦石
0
星屑
2306
在线时间
1010 小时
注册时间
2012-4-30
回帖
1455

开拓者

发表于 2012-7-4 16:10:46 | 显示全部楼层
limaolinghu 发表于 2012-7-4 15:36
Game_Battler类,红的是加的,没仔细测,也没加文字描述。当使用技能编号1的技能时,自己受到伤害的10%

   ...

user.hp -= @hp_damage * 0.1 if @states.include?(21) MS更好。。。

点评

恩,刚看了你的资料,我比你大15岁。。。  发表于 2012-7-4 16:21
还可以拿来做更多东西。。。  发表于 2012-7-4 16:14
这样就是存在这个状态的话。受到伤害10%  发表于 2012-7-4 16:14
回复

使用道具 举报

梦石
0
星屑
50
在线时间
148 小时
注册时间
2012-7-2
回帖
139
发表于 2012-7-4 16:14:11 | 显示全部楼层
铅笔描绘的思念 发表于 2012-7-4 16:10
user.hp -= @hp_damage * 0.1 if @states.include?(21) MS更好。。。

前辈的意思是添加一个状态专门记录反伤?

点评

如果做成状态的话那就游戏自始至终都要加入这个状态,不太现实。  发表于 2012-7-4 16:59
我还是小孩。。  发表于 2012-7-4 16:23
所以啊。。。。  发表于 2012-7-4 16:22
对的。。。但仅仅只要某个技能来实现这个效果的话。。这样就太多余了。。不过错误会少一点吧。。。。。。b= = 咱不是前辈。。。  发表于 2012-7-4 16:18
回复

使用道具 举报

梦石
0
星屑
50
在线时间
148 小时
注册时间
2012-7-2
回帖
139
发表于 2012-7-4 17:08:17 | 显示全部楼层
本帖最后由 limaolinghu 于 2012-7-4 17:08 编辑

我测试过可以的,注意我用的是技能1,你要改这里
状态是对应技能的,需要把你的技能绑定新做的状态上

点评

喔,现在好了,可能是测试的时候数值太低,总之谢谢了。  发表于 2012-7-4 18:11
那个技能我改了我所做的对应的技能号了,但是在测试战斗的时候还是不行  发表于 2012-7-4 18:06
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部