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

Project1

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

[已经解决] 【已解决】战斗中怎么增加敌人

[复制链接]

Lv4.逐梦者

梦石
0
星屑
7570
在线时间
1157 小时
注册时间
2016-9-10
帖子
165

开拓者

跳转到指定楼层
发表于 2016-12-21 00:04:31 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 devil033 于 2016-12-23 20:41 编辑

请问下,战斗中怎么增加敌人
比如:一开始,只有一个BOSS,BOSS血量被打到一半以下时,他就会召唤出2个小BOSS出来战斗,这要怎么实现?

我用VA自带的那个 “敌人出现” 的功能并没有用,我把敌群设为三个人,其中2个是中途出现的,出现条件是那个BOSS血量一半以下,
可是刚一切入战斗,那2个被我设置成中途出现的人  的血条和名字 就直接出现了,只是会不动而已,这基本上就是失败了

点评

俗话说,脚本不要乱加。把血条脚本去掉呗。啥?你不想去掉?那你好歹贴出来啊不然谁知道你的是啥?  发表于 2016-12-21 10:07
脚本的问题吧,RM没有自带血条脚本的  发表于 2016-12-21 08:55

评分

参与人数 1星屑 +50 收起 理由
RaidenInfinity + 50 結帖

查看全部评分

Lv4.逐梦者

梦石
0
星屑
7570
在线时间
1157 小时
注册时间
2016-9-10
帖子
165

开拓者

9
 楼主| 发表于 2016-12-23 00:46:00 | 只看该作者
@RaidenInfinity
报错了,好像提示没有 定义 hidden

我能想到一个办法
就是用原有的脚本,然后我在把 需要中途出现的敌人 备注里面 添加 <Hide_Gauge> 把它的血条隐藏
然后等召唤他出来的时候,再用 事件中的脚本把 <Hide_Gauge> 这个属性去掉
这办法可行吗?用什么脚本 可以把敌人的 <Hide_Gauge> 这个属性去掉?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7570
在线时间
1157 小时
注册时间
2016-9-10
帖子
165

开拓者

8
 楼主| 发表于 2016-12-23 00:34:42 | 只看该作者
本帖最后由 devil033 于 2016-12-23 00:38 编辑

@RaidenInfinity
版本,我觉得现在用原有脚本或者是你提供的方法,不能实现的原因是
脚本中定义的hide 和RMVA中的 “中途出现” 所定义的隐藏是不一样的
所以语句  if @battler.hp == 0 || hide 只能使血量为0的怪的血条隐藏,而不能使“中途出现” 的怪的血条隐藏

点评

终于可以了,把hide 改成 @battler.hidden? 用你提供的方法有效,原脚本还是无效,而且确实问号很重要,十分感谢,谢谢版主  发表于 2016-12-23 00:52
问号非常重要。  发表于 2016-12-23 00:44
报错了,好像提示 没有 定义 hidden  发表于 2016-12-23 00:42
hide -> @battler.hidden?  发表于 2016-12-23 00:38
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7570
在线时间
1157 小时
注册时间
2016-9-10
帖子
165

开拓者

7
 楼主| 发表于 2016-12-22 19:49:17 | 只看该作者
@雾影药师
现在就是用事件,半途加入的敌人在刚切入战斗的时候就直接显示血条了
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7570
在线时间
1157 小时
注册时间
2016-9-10
帖子
165

开拓者

6
 楼主| 发表于 2016-12-22 19:47:57 | 只看该作者
@shencao
是横版战斗脚本吖
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12562
在线时间
903 小时
注册时间
2014-10-24
帖子
321
5
发表于 2016-12-22 10:18:35 | 只看该作者
诶··不能事件增加么?判断血量触发事件
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

梦石
1
星屑
21010
在线时间
4886 小时
注册时间
2014-12-22
帖子
1527

开拓者

4
发表于 2016-12-22 01:58:09 | 只看该作者
lz你给的脚本是“#    对应横板战斗版本”,所以你是用了横板战斗脚本吗?
如果没用的话,那你最好换一个血条脚本(这位作者的对应默认战斗的血条脚本:https://rpg.blue/forum.php?mod=viewthread&tid=252003
如果用了的话,可能血条脚本需要放在横板脚本的下面?不过我没有用过横板不懂囧。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7570
在线时间
1157 小时
注册时间
2016-9-10
帖子
165

开拓者

3
 楼主| 发表于 2016-12-22 01:14:02 | 只看该作者
@RaidenInfinity
谢谢版主协助编辑
不过试了你提供的方法,还是显示血条,没能隐藏...
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
6901
在线时间
7028 小时
注册时间
2013-11-2
帖子
1344

开拓者剧作品鉴家

2
发表于 2016-12-22 00:55:08 | 只看该作者
本论坛的代码框是
  1. [pre lang="ruby"] [/pre]
复制代码
,已协助编辑。

27和28行之间加上 self.opacity = 0
73行换成 if @battler.hp == 0 || hide; self.opacity = 0 else self.opacity = 255 end

原理很简单。让血条本来就隐藏,判定是活跃才出现。(原本是血条本来显示,刷新时判定了隐藏才消失,但是可能因为某些因素刷新没成功)

点评

... 新人,本身就不太懂脚本事,只会做事件 刚来提问的时候甚至连血条是要增加了脚本才有显示的都不太清楚啊 所以提问的时候提供的信息才不全啊..   发表于 2016-12-23 00:19
用了啥脚本啥都不提供,还要问了才说,问一下说一点。告诉你吧,下一次的版规增修你这种帖是要直接被删的啊。  发表于 2016-12-23 00:14
还有就是 乱凑一堆脚本出问题你还是去找作者好了。  发表于 2016-12-23 00:13
这叫自作聪明。请去找ruby教程把if else条件分歧学好再来。  发表于 2016-12-23 00:10
不对,他那个 hide 批的是 在敌人备注里添加了 <Hide_Gauge>,并不是指中途加入,总之还是无法实现呢?  发表于 2016-12-23 00:10
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7570
在线时间
1157 小时
注册时间
2016-9-10
帖子
165

开拓者

1
 楼主| 发表于 2016-12-22 00:43:00 | 只看该作者
本帖最后由 RaidenInfinity 于 2016-12-22 00:50 编辑

@RaidenInfinity
脚本盲,没改过脚本
敌人血条脚本如下,麻烦指导一下,谢谢
RUBY 代码复制
  1. #==============================================================================
  2. # F08 - 战斗敌人显示血条·改 - By芙蕾娅
  3. #    对应横板战斗版本
  4. #------------------------------------------------------------------------------
  5. #  ★ - 新增  ☆ - 修改  ■ - 删除 ● - 无变更
  6. #==============================================================================
  7. module Freya
  8.   # 隐藏HP的文本
  9.   HideGaugeText = "Hide_Gauge"
  10.   # 血条颜色
  11.   EnemyHPGaugeColor1 = Color.new(255,255,0)
  12.   EnemyHPGaugeColor2 = Color.new(255,66,0)
  13. end
  14. #==============================================================================
  15. # ■ Sprite_Battler_HP
  16. #------------------------------------------------------------------------------
  17. #  显示战斗者的生命在战斗者的精灵下面。
  18. #==============================================================================
  19. class Sprite_Battler_HP < Sprite
  20.   #--------------------------------------------------------------------------
  21.   # ● 初始化对象
  22.   #--------------------------------------------------------------------------
  23.   def initialize(viewport,battler)
  24.     super(viewport)
  25.     return if battler.nil?
  26.     [url=home.php?mod=space&uid=133701]@battler[/url] = battler
  27.     @last_hp = 0
  28.     create_bitmap
  29.     update
  30.   end
  31.   #--------------------------------------------------------------------------
  32.   # ● 释放
  33.   #--------------------------------------------------------------------------
  34.   def dispose
  35.     self.bitmap.dispose
  36.     super
  37.   end
  38.   #--------------------------------------------------------------------------
  39.   # ● 生成位图
  40.   #--------------------------------------------------------------------------
  41.     def create_bitmap
  42.     @last_hp = @battler.hp
  43.     bw = 96
  44.     bh = 24
  45.     self.bitmap = Bitmap.new(bw, bh)
  46.     self.bitmap.fill_rect(0, 0, bw, 6, Color.new(32,32,64))
  47.     if Freya::Gauge_Type.nil? or Freya::Gauge_Type == 0
  48.       hp = ((bw) * @battler.hp_rate).to_i
  49.       self.bitmap.gradient_fill_rect(0, 0, hp, 6, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
  50.     elsif Freya::Gauge_Type == 1
  51.       hp = ((width - 2) * @battler.hp_rate).to_i
  52.       self.bitmap.gradient_fill_rect(1, 1, hp, 6 - 2, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
  53.     elsif Freya::Gauge_Type == 2
  54.       hp = ((width) * @battler.hp_rate).to_i
  55.       self.bitmap.gradient_fill_rect(0, 0, hp / 2, 6, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
  56.       self.bitmap.gradient_fill_rect(hp / 2, 0, hp / 2, 6, Freya::EnemyHPGaugeColor2, Freya::EnemyHPGaugeColor1)
  57.     elsif Freya::Gauge_Type == 3
  58.       hp = ((width - 2) * @battler.hp_rate).to_i
  59.       self.bitmap.gradient_fill_rect(1, 1, hp / 2, 6 - 2, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
  60.       self.bitmap.gradient_fill_rect((hp / 2) + 1, 1, hp / 2, 6 - 2, Freya::EnemyHPGaugeColor2, Freya::EnemyHPGaugeColor1)
  61.     end
  62.     self.bitmap.draw_text(0,0,bw,24,@battler.name)
  63.   end
  64.   #--------------------------------------------------------------------------
  65.   # ● 更新画面
  66.   #--------------------------------------------------------------------------
  67.   def update
  68.     super
  69.     unless self.bitmap.nil?
  70.       self.z = @battler.sv.z + 20
  71.       create_bitmap if @last_hp != @battler.hp
  72.       hide = $data_enemies[@battler.enemy_id].note.include?(Freya::HideGaugeText)
  73.       self.opacity = 0 if @battler.hp == 0 or hide
  74.     end
  75.   end
  76. end
  77.  
  78. #==============================================================================
  79. # ■ Sprite_Battler
  80. #------------------------------------------------------------------------------
  81. #  显示战斗者的精灵。根据 Game_Battler 类的实例自动变化。
  82. #==============================================================================
  83. class Sprite_Battler < Sprite_Base
  84.   #--------------------------------------------------------------------------
  85.   # ☆ 初始化对象
  86.   #--------------------------------------------------------------------------
  87.   alias initialize_freya_enemy_hp initialize
  88.   def initialize(viewport, battler = nil)
  89.     initialize_freya_enemy_hp(viewport, battler)
  90.     if @battler.is_a?(Game_Enemy)
  91.       @hp_gauge = Sprite_Battler_HP.new(viewport, battler)
  92.     end
  93.   end
  94.   #--------------------------------------------------------------------------
  95.   # ☆ 释放
  96.   #--------------------------------------------------------------------------
  97.   alias dispose_freya_enemy_hp dispose
  98.   def dispose
  99.     dispose_freya_enemy_hp
  100.     unless @hp_gauge.nil?
  101.       @hp_gauge.dispose
  102.     end
  103.   end
  104.   #--------------------------------------------------------------------------
  105.   # ☆ 更新画面
  106.   #--------------------------------------------------------------------------
  107.   alias update_freya_enemy_hp update
  108.   def update
  109.     update_freya_enemy_hp
  110.     @hp_gauge.update unless @hp_gauge.nil?
  111.   end
  112.   alias update_freya_position update_position
  113.   def update_position
  114.     update_freya_position
  115.     @hp_gauge.x = self.x - 48 unless @hp_gauge.nil?
  116.     @hp_gauge.y = self.y unless @hp_gauge.nil?
  117.   end
  118. end
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 04:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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