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

Project1

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

[已经解决] 每回合扣除固定伤害

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
292 小时
注册时间
2012-1-26
帖子
56
跳转到指定楼层
1
发表于 2012-4-8 09:39:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这种状态该怎么弄啊,例如:每回合扣除400HP。谢谢!

Lv1.梦旅人

梦石
0
星屑
44
在线时间
317 小时
注册时间
2011-2-9
帖子
1129
2
发表于 2012-4-8 10:06:51 | 只看该作者
能啊。就是技能“毒”嘛。
反正是坏人一个
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
292 小时
注册时间
2012-1-26
帖子
56
3
 楼主| 发表于 2012-4-8 11:30:20 | 只看该作者
黑色的笔 发表于 2012-4-8 10:06
能啊。就是技能“毒”嘛。

要每回合扣除400HP,固定的
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
44
在线时间
317 小时
注册时间
2011-2-9
帖子
1129
4
发表于 2012-4-8 11:58:14 | 只看该作者
你是要用技能后去血还是特定敌人去血还是不管怎么样就是一直去血?
反正是坏人一个
回复

使用道具 举报

Lv2.观梦者

路人

梦石
0
星屑
590
在线时间
943 小时
注册时间
2011-8-20
帖子
1011
5
发表于 2012-4-8 14:22:16 | 只看该作者
  1.     if @active_battler.state?(19) and @active_battler.hp >0
  2.       @active_battler.damage=400
  3.       @active_battler.damage=@active_battler.damage.to_i
  4.       @active_battler.hp-=@active_battler.damage
  5.       @active_battler.animation_id = 21  #动画ID
  6.    @active_battler.damage_pop = true
  7.     end
复制代码
其中
  1. @active_battler.damage=400
复制代码
就是伤害400点的意思,也可以修改为百分比
  1.   if @active_battler.state?(19) and @active_battler.hp >0
复制代码
是状态ID,这里是19号
  1.     @active_battler.animation_id = 21  #动画ID
复制代码
这个是扣除HP时的动画ID,可以不设,这里是21号
为填坑而修炼中……
回复

使用道具 举报

Lv4.逐梦者

梦石
8
星屑
2779
在线时间
1605 小时
注册时间
2010-10-22
帖子
1059

极短25获奖

6
发表于 2012-4-8 18:32:25 | 只看该作者
1.设置状态1号,标记为连续伤害;
2.修改Game_Battler 3:
  1.   #--------------------------------------------------------------------------
  2.   # ● 应用连续伤害效果
  3.   #--------------------------------------------------------------------------
  4.   def slip_damage_effect
  5. #=============
  6.      if self.state?(1) #状态为1号时
  7.     self.damage = 400 #伤害量为400
  8.      else
  9.     # 设置伤害
  10.     self.damage = self.maxhp / 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
复制代码
3. 修改Game_Party:
  1. #--------------------------------------------------------------------------
  2.   # ● 检查连续伤害 (地图用)
  3.   #--------------------------------------------------------------------------
  4.   def check_map_slip_damage
  5.     for actor in @actors
  6.       if actor.hp > 0 and actor.slip_damage?
  7. #=======================
  8.        if actor.state?(1) #状态为1号时
  9.      actor.hp -= [400, 1].max #伤害量为400
  10.        else
  11.         actor.hp -= [actor.maxhp / 100, 1].max#伤害量为1%
  12.        end  #和恢复不同,将这个end调上来了,让画面闪烁
  13.         if actor.hp == 0
  14.           $game_system.se_play($data_system.actor_collapse_se)
  15.         end
  16.         $game_screen.start_flash(Color.new(255,0,0,128), 4)#画面红光闪烁
  17.         $game_temp.gameover = $game_party.all_dead?  
  18.       end
  19.     end
  20.   end
复制代码
事实上和恢复差不多一样,对比一下就可以看出,只是正负的问题罢了。
【2022.06.03】原本以为已经不可能再找回来的东西重新找回来了,原本一直念念不忘的坑终于再一次拿起铲子了。一别竟近10年,你好,我的世界我的梦。
【不可阻挡】异元-地劫黎明
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
44
在线时间
317 小时
注册时间
2011-2-9
帖子
1129
7
发表于 2012-4-8 18:35:07 | 只看该作者
强大的脚本啊。但是这种东西事件就足够啦。如果是要对某敌人才这样时,在数据库的队伍选项里设置事件,增减HP,减400血(自己随意)就可以了。要是用了某物品这样减血的话在物品的公共事件那里设置。感觉事件比较稳当容易啊。

点评

表示如果这是一个通用性状态(比如角色技能)的话,用事件就会很繁琐了,可能还会出现卡机的情况...  发表于 2012-4-9 00:17
反正是坏人一个
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 06:13

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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