Project1

标题: 如何在伤害处理事件判定时避开已经【战斗不能】的人? [打印本页]

作者: 飘过~    时间: 2014-8-14 11:51
标题: 如何在伤害处理事件判定时避开已经【战斗不能】的人?
{:8_459:}自制了一个游戏,有个技能是这样的:

变量骰子随机1~4  对应1~4的角色
然后丢出扑克牌,扑克牌是几,相应的角色就要受到 牌点数x100的伤害

但是发现了一个问题,当某角色战斗不能时,如果骰子选择了是他,伤害判定时他就不会受到伤害,因为他已经死了
请问怎么用事件来判定当几号角色战斗不能,骰子重新投一次呢?
这是事件页:
这是游戏样品: Project1.rar (718.15 KB, 下载次数: 53)

{:2_270:} 希望大神指点~!
作者: 白鬼    时间: 2014-8-14 12:31
既然你用事件来做
那么就在确定好角色编号之后,再加一层条件分歧



如果战斗不能,那就循环,重新判断。
作者: 飘过~    时间: 2014-8-14 12:56
但是不一定阿尔西斯就一定在1号位,因为我的游戏可以调整队伍的
作者: 白鬼    时间: 2014-8-14 13:06
你要是想用事件,就得复杂的判断了
首先判断在1号位的是谁,然后再判断他是否战斗不能
脚本实现比较简单
请教大触吧
作者: RyanBern    时间: 2014-8-14 13:40
刚才看了一下,核心的功能就是随机选取目标然后随机造成伤害。造成的伤害不是按照一般技能的计算公式来,而是特殊的技能计算。因为敌人在行动时,会自动随机选择未阵亡角色,所以第二个骰子可以不必加进去。至于技能的效果,可以根据技能的ID,单独设置即可。
在脚本Game_Battler3中,找到这个定义def skill_effect(user, skill),把它进行如下改动:
  1. class Game_Battler
  2.   alias old_skill_effect skill_effect
  3.   def skill_effect(user, skill)
  4.     if skill.id == 1 # 这个是你要单独设置的技能ID,可以更改。
  5.       self.damage = 100 * (1+rand(13)) # 表示丢出扑克的点数,应该是13吧?不对可以调
  6.       self.hp -= self.damage
  7.       return true
  8.     end
  9.     old_skill_effect(user, skill)
  10.   end
  11. end
复制代码
未测试。
作者: Arose    时间: 2014-8-14 13:41
本帖最后由 Arose 于 2014-8-14 13:51 编辑

事件在公共事件里。。。   

已经按你方法弄了  看你怎么利用这个事件了  

先是随机选定人  如果战斗不能就不受伤害    选定人之后 再判断 骰子的数量 1-4   而定造成伤害

Project1.rar

738.49 KB, 下载次数: 47

更改之后的






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