Project1

标题: 如何模仿仙剑的那个三尸蛊毒 [打印本页]

作者: 月·基    时间: 2008-5-6 05:21
提示: 作者被禁止或删除 内容自动屏蔽
作者: 劫狱英雄    时间: 2008-5-6 05:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: 精灵使者    时间: 2008-5-6 05:59
那个似乎是中了毒以后每个回合按次序扣111,222,333的血……
以前打金蟾鬼母的时候看到这个就疯狂补血……因为很容易over……
作者: 天圣的马甲    时间: 2008-5-6 15:04
如果用纯事件的话,状态法可以做出来,思路也不难,只不过非常麻烦,需要占用大量的变量并且套用很多条件分歧。这里给个范例:
http://rpg.blue/upload_program/f ... 例)_90485604.rar

另一个方法就是修改脚本Game_Battler 3中关于“连续伤害”的部分,在特定的状态(self.state?(i))下判定中毒回合数进行固定的减血。 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 禾西    时间: 2008-5-6 16:56
我的辦法是在 Scene_Battle 1 的12行def main 之下加入
    @duration = [[],[]]

然後在 Scene_Battle 4 的134行~135行間插入
    if @active_battler.hp > 0 and @active_battler.state?(17)    #如果中毒
      if @active_battler.is_a?(RPG::Enemy)
        a = 0
      else
        a = 1
      end
      #初始化
      @duration[a][@active_battler.id] ||= 1
      #計算傷害
      @active_battler.damage = 111 * @duration[a][@active_battler.id]
      #顯示傷害
      @active_battler.damage_pop = true
      #回合加 1
      @duration[a][@active_battler.id] += 1
      #清空回合
      @duration[a][@active_battler.id] = nil if @duration[a][@active_battler.id] == 4
    end

作者: 天圣的马甲    时间: 2008-5-6 19:51
这里我也修改过,和禾西的方法一样出现了Bug:当敌人多于一名并且同时中毒的时候,第一个敌人掉完111血后第二个敌人本来应该掉111血却成了222血,也许是初始化回合的部分出问题了?现在忙碌没时间修正,麻烦禾西再稍微看一下好了。{/hx}
作者: 爱dě感觉    时间: 2008-5-6 19:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: 禾西    时间: 2008-5-6 20:02
忘記了還有敵人...稍微修改一下就可以了
作者: suicaoya123    时间: 2008-5-6 21:57
以下引用天圣的马甲于2008-5-6 7:04:37的发言:

如果用纯事件的话,状态法可以做出来,思路也不难,只不过非常麻烦,需要占用大量的变量并且套用很多条件分歧。这里给个范例:
http://rpg.blue/upload_program/files/三尸蛊(单个敌人事件做法范例)_90485604.rar

另一个方法就是修改脚本Game_Battler 3中关于“连续伤害”的部分,在特定的状态(self.state?(i))下判定中毒回合数进行固定的减血。

[LINE]1,#dddddd[/LINE]版主对此帖的评论:『純引。所以』,积分『-5』。这些被扣积分的一半会用于对本帖正确答案的悬赏。




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