Project1

标题: 关于状态触发的技能,求助 [打印本页]

作者: baijingxue00    时间: 2014-5-10 19:56
标题: 关于状态触发的技能,求助
就是有一个基本判定,之后如果敌人有XX状态,就可以实现触发XX技能
用公共事件里的分支条件,当敌人是XX状态时,请问这个敌人1,2之类的,是如何判断的?
或者有什么更好的办法么?
作者: 紫苍焰    时间: 2014-5-10 20:11
……
我倒是根据某帖子里教的技能公式做出过对存在某状态的敌人使用不同伤害公式……
这么一弄的话同一个技能对有状态跟没状态的敌人用简直都他喵的能是两个技能……
不过你说的这个我没办法……
作者: 芯☆淡茹水    时间: 2014-5-10 20:22
问题是关键是:XX状态触发XX技能,这个“触发”,是自动释放?还是可以使用?
作者: baijingxue00    时间: 2014-5-12 10:28
自动施放就可以了……
关键在于我不知道如何用事件准确的判断敌人身上是否有状态。。
作者: lirn    时间: 2014-5-12 11:43
参考救世小树的公式就行。

比如目标身上有66号状态时就附加67号状态,默认的伤害公式,则公式为a.atk*4-b.def.2;b.add_state(67).to_i if b.state(66)?


理论是这样,不过我一般都是直接写在脚本上,所以直接写在技能计算栏的不知道有没有错。
作者: baijingxue00    时间: 2014-5-12 12:57
恩。伤害公式我明白的……
我本来的设想是:
技能触发公共事件,分支:当敌人有状态时,强制动作技能;没有则空。。
但是分支条件里的敌人1,敌人2,我弄不明白。
楼上的大大说的伤害公式我是明白的……
作者: lirn    时间: 2014-5-12 18:30
baijingxue00 发表于 2014-5-12 12:57
恩。伤害公式我明白的……
我本来的设想是:
技能触发公共事件,分支:当敌人有状态时,强制动作技能;没有 ...

那可以这样,设置公共事件,当某开关开启时,强制战斗,目标为上一个目标。

在公式中设定为假如目标存在某状态,则开关打开,否则则开关关闭。



a.atk*4-b.def.2;b.state?(编号) ?$game_switches[编号] = true : $game_switches[编号] = false

很明显,这样的公式太长,无法写在公示栏,恐怕必须得写在脚本里。
作者: baijingxue00    时间: 2014-5-13 21:46
lirn 发表于 2014-5-12 18:30
那可以这样,设置公共事件,当某开关开启时,强制战斗,目标为上一个目标。

在公式中设定为假如目标存在 ...

关键就在于。。我是一个非常出色的。。脚本忙。。T.T
所以我的目标只能在公共事件里解决。。
如果必须用脚本的话,可以问一下应该在哪里改么?
作者: lirn    时间: 2014-5-14 10:34
本帖最后由 lirn 于 2014-5-14 10:48 编辑
baijingxue00 发表于 2014-5-13 21:46
关键就在于。。我是一个非常出色的。。脚本忙。。T.T
所以我的目标只能在公共事件里解决。。
如果必须用 ...


这个你还是看看那个救世小树的帖子吧,咱那里我有问到公示栏写不下的时候该怎么办。


在脚本Game_Battler下找到
#--------------------------------------------------------------------------
  # ● 计算伤害
  #--------------------------------------------------------------------------
def make_damage_value(user, item)
    value = item.damage.eval(user, self, $game_variables)#在这一句下面添加

if item.is_a?(RPG::Skill) #===== 从这里添加
      case item.id
      when 27,31,32,34,646,647,648,655,656#这里是技能ID
     if self.state?(编号)# 在脚本中,a要置换成user,b要置换成self
       $game_switches[编号] = true
       else
        $game_switches[编号] = false
     end
when 777 #这是777号技能
   if self.state?(编号A) #这公式是对方有状态A时附加状态B
     self.add_state(编号B).to_i
  end
end#===如果在无其他公式的话






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