设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2022|回复: 3
打印 上一主题 下一主题

[已经解决] 关于持续加血

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
129 小时
注册时间
2011-9-19
帖子
42
跳转到指定楼层
1
发表于 2012-4-6 18:30:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问,怎么做持续回复血的技能呀?
听说改持续伤害负值可以,但是这样的话毒的效果不久没有了么?
以下有个脚本说是可以做到,但是我小白,看不明白怎么弄,什么地方写技能编号,什么地方写状态,请高人们指点一下,谢谢了!

Q:我想设置一直回复技能,使用后可以在战斗中每回合自动回血,也可以做成一种持续回血的状态
A:Scene_Battle 4里的连续伤害处覆盖为下边代码,此状态不要选连续伤害。
# 连续伤害
   if @active_battler.hp > 0 and @active_battler.slip_damage?
     @active_battler.slip_damage_effect
     @active_battler.damage_pop = true
   end
   if @active_battler.state?(状态ID) and @active_battler.hp >0  #-恢复魔法
      @active_battler.damage=-@active_battler.maxhp/10 #恢复生命百分比,这里设置为10%,也可设置固定值
      @active_battler.damage=@active_battler.damage.to_i
      @active_battler.hp-=@active_battler.damage
      @active_battler.animation_id = 21 #自动补血动画编号
      @active_battler.damage_pop = true
    end
如果要每回合补精神的话,上面脚本的
      @active_battler.damage=-@active_battler.maxhp/10 #恢复生命百分比,这里设置为10%,也可设置固定值
里面的.maxhp改为maxsp,然后下面
      @active_battler.hp-=@active_battler.damage的.hp改为.sp即可。

Lv1.梦旅人

神之首

梦石
0
星屑
65
在线时间
200 小时
注册时间
2011-2-7
帖子
220
2
发表于 2012-4-6 18:39:48 | 只看该作者
= =你模仿毒然后多做一个状态不就好了吗?听说改持续伤害负值可以~
回复

使用道具 举报

Lv4.逐梦者

梦石
8
星屑
3476
在线时间
1674 小时
注册时间
2010-10-22
帖子
1067

极短26参与极短25获奖

3
发表于 2012-4-6 21:50:11 | 只看该作者
1.Game_Battler 3(战斗中的持续恢复)
  1.   #--------------------------------------------------------------------------
  2.   # ● 应用连续伤害效果
  3.   #--------------------------------------------------------------------------
  4.   def slip_damage_effect
  5. #=====================
  6.     if self.state?(1)#当目标状态为1号时
  7.     self.damage -= self.maxhp / 10#持续恢复10%
  8.     else
  9.     # 设置伤害
  10.     self.damage = self.maxhp / 10#持续失血10%
  11.    end
  12. #=====================
  13.     # 分散
  14.     if self.damage.abs > 0
  15.       amp = [self.damage.abs * 15 / 100, 1].max
  16.       self.damage += rand(amp+1) + rand(amp+1) - amp
  17.     end
  18.     # HP 的伤害减法运算
  19.     self.hp -= self.damage
  20.     # 过程结束
  21.     return true
  22.   end
复制代码
2.Game_Party(地图中的持续恢复)
  1.   #--------------------------------------------------------------------------
  2.   # ● 检查连续伤害 (地图用)
  3.   #--------------------------------------------------------------------------
  4.   def check_map_slip_damage
  5.     for actor in @actors
  6. #==========================
  7.      if actor.state?(1) #状态为1号时
  8.      actor.hp += [actor.maxhp / 100, 1].max#持续恢复1%
  9.       elsif actor.hp > 0 and actor.slip_damage?
  10.         actor.hp -= [actor.maxhp / 100, 1].max#持续失血1%
  11. #==========================
  12.         if actor.hp == 0
  13.           $game_system.se_play($data_system.actor_collapse_se)
  14.         end
  15.         $game_screen.start_flash(Color.new(255,0,0,128), 4)
  16.         $game_temp.gameover = $game_party.all_dead?
  17.       end
  18.     end
  19.   end
复制代码
3.这两段脚本可以不同时用,这样就会形成一种战斗时加血(失血),非战斗时失血(加血)的状态,可灵活使用。

【2022.06.03】原本以为已经不可能再找回来的东西重新找回来了,原本一直念念不忘的坑终于再一次拿起铲子了。一别竟近10年,你好,我的世界我的梦。
【大坑】异元-暗黑天际
【短25·不可阻挡】异元-地劫黎明
【短26·禁止】异元-禁忌之轮
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
130
在线时间
178 小时
注册时间
2011-8-7
帖子
1032
4
发表于 2012-4-6 23:29:52 | 只看该作者
像柳柳大人的新手教程里教的制做毒性技能那样编:持续,威力要负数,就这样简单。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-7-5 15:22

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表