| 赞 | 8  | 
 
| VIP | 20 | 
 
| 好人卡 | 126 | 
 
| 积分 | 117 | 
 
| 经验 | 33282 | 
 
| 最后登录 | 2025-11-1 | 
 
| 在线时间 | 1683 小时 | 
 
 
 
 
 
Lv4.逐梦者 
	- 梦石
 - 8 
 
        - 星屑
 - 3711 
 
        - 在线时间
 - 1683 小时
 
        - 注册时间
 - 2010-10-22
 
        - 帖子
 - 1067
 
 
   
 
 | 
	
 本帖最后由 kangxi0109 于 2012-10-21 09:41 编辑  
 
1. 在数据库中设置一个新的状态,勾选“持续伤害”,这里以80号状态为例。 
2. 在Scene_Battle 1中对应位置添加如下部分:-   #--------------------------------------------------------------------------
 
 -   # ● 主处理
 
 -   #--------------------------------------------------------------------------
 
 -   def main
 
 -     # 初始化战斗用的各种暂时数据
 
 -     #===============添加↓
 
 -     $state80 = [] #添加80号状态回合计数初始化数组
 
 -     #===============添加↑
 
 -     $game_temp.in_battle = true
 
 -     $game_temp.battle_turn = 0
 
  复制代码 3.在Game_Battler 3中对应位置添加如下部分: 
-   #--------------------------------------------------------------------------
 
 -   # ● 应用连续伤害效果
 
 -   #--------------------------------------------------------------------------
 
 -   def slip_damage_effect
 
 -     # 设置伤害
 
 -     self.damage = self.maxhp / 10
 
 -       # 分散
 
 -       if self.damage.abs > 0
 
 -         amp = [self.damage.abs * 15 / 100, 1].max
 
 -         self.damage += rand(amp+1) + rand(amp+1) - amp
 
 -       end
 
 -     #============================添加↓
 
 -     if self.state?(80) # 包含80号状态的场合
 
 -       if self.is_a?(Game_Actor)#角色的场合
 
 -         m = self.id + 8 #获取编号,空出前8个位置给敌人
 
 -       else #敌人的场合
 
 -         m = self.index #获取序列
 
 -       end
 
 -       if $state80[m] == nil #初始化,目标若从未附加过这个状态时执行
 
 -         $state80[m] = 0
 
 -       end
 
 -       $state80[m] += 1
 
 -       if $state80[m] == 4 #计数至第4回合
 
 -         self.damage = 1000 #造成1000点损伤
 
 -         self.remove_state(80) #解除80号状态
 
 -         $state80[m] = 0 #回合计数归0 
 
 -       else
 
 -         self.damage = $state80[m] #造成当前回合计数的伤害,作为标记使用
 
 -       end
 
 -     end
 
 -     #============================添加↑
 
 -     # HP 的伤害减法运算
 
 -     self.hp -= self.damage
 
 -     # 过程结束
 
 -     return true
 
 -   end
 
  复制代码 注意:这个状态的特殊结算方式只在战斗中有效,如果该状态是在地图中用公共事件附加的,则会按默认的持续伤害方式运行,直至开始战斗。 |   
 
评分
- 
查看全部评分
 
 
 
 
 
 |