Project1

标题: 敌我皆伤的技能如何实现? [打印本页]

作者: 立仆芋头    时间: 2014-10-27 23:24
标题: 敌我皆伤的技能如何实现?
比如一技能叫头锤。敌人受创机率附加昏迷,我方出招人也同时受创机率附加昏迷。

另外请教数据库技能页 的公共事件要如何使用。
作者: 正太君    时间: 2014-10-28 10:08
你是横版还是默认的纵版?
公共事件就是一个事件模板,可以在想调用的时候调用...比如你的头锤技能,就可以选择用公共事件来做...需要少量脚本支持...
作者: 立仆芋头    时间: 2014-10-28 13:46
rpg游戏当作一个战斗技能。应该是用开关操作,但数据库中的技能设定页没有地方设开关。伤脑筋在这地方/
作者: chd114    时间: 2014-10-28 21:53
技能公式写
  1. 100;a.hp-=100
复制代码
就是敌我同时造成100伤害···(误)

双向技能脚本和公共事件可以帮助你解决这样的问题
作者: 立仆芋头    时间: 2014-10-29 09:49
正太君 发表于 2014-10-28 10:08
你是横版还是默认的纵版?
公共事件就是一个事件模板,可以在想调用的时候调用...比如你的头锤技能,就可以 ...

回合制的rpg游戏,纵板是回合制,横版是act吧。不知我的理解对不对?
作者: 立仆芋头    时间: 2014-10-29 10:26
chd114 发表于 2014-10-28 21:53
技能公式写就是敌我同时造成100伤害···(误)

双向技能脚本和公共事件可以帮助你解决这样的问题 ...

虽然不是vx的功能,但也令我想去研究一把
作者: 正太君    时间: 2014-10-29 22:00
范例下载... Project1.rar (237.84 KB, 下载次数: 63)
技能设定图例...

找到这个定义并修改...
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 生成技能或物品目标
  3.   #     obj : 技能或物品
  4.   #--------------------------------------------------------------------------
  5.   def make_obj_targets(obj)
  6.     targets = []
  7.     if obj.for_opponent?
  8.       if obj.for_random?
  9.         if obj.for_one?         # 敌随机单体
  10.           number_of_targets = 1
  11.         elsif obj.for_two?      # 敌随机二体
  12.           number_of_targets = 2
  13.         else                    # 敌随机三体
  14.           number_of_targets = 3
  15.         end
  16.         number_of_targets.times do
  17.           targets.push(opponents_unit.random_target)
  18.         end
  19.       elsif obj.dual?           # 敌单体连续
  20.         targets.push(opponents_unit.smooth_target(@target_index))
  21.         targets += targets
  22.       elsif obj.for_one?        # 敌单体
  23.         targets.push(opponents_unit.smooth_target(@target_index))
  24.       else                      # 敌全体
  25.         targets += opponents_unit.existing_members
  26.       end
  27.     elsif obj.for_user?         # 使用者
  28.       targets.push(battler)
  29.     elsif obj.for_dead_friend?
  30.       if obj.for_one?           # 我方单体(无法行动)
  31.         targets.push(friends_unit.smooth_dead_target(@target_index))
  32.       else                      # 我方全体(无法行动)
  33.         targets += friends_unit.dead_members
  34.       end
  35.     elsif obj.for_friend?
  36.       if obj.for_one?           # 我方单体
  37.         targets.push(friends_unit.smooth_target(@target_index))
  38.       else                      # 我方全体
  39.         targets += friends_unit.existing_members
  40.       end
  41.     end
  42.     targets.push(battler) if obj.note.include?("敌我状态") # 加这里
  43.     return targets.compact
  44.   end

作者: 立仆芋头    时间: 2014-10-29 23:59
原来如此,谢谢牛神。
待我试试。真是温暖的帮助啊!
作者: chd114    时间: 2014-10-30 21:13
正太君 发表于 2014-10-29 05:00
范例下载...
技能设定图例...

我不确定这么弄行不行···貌似有个alias的方法可以直接加0.0




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