查看: 8291|回复: 17

[已经解决] 【已解决】我想把特定的怪物做成变图的快捷方法。。。

[复制链接]
梦石
0
星屑
1239
在线时间
98 小时
注册时间
2020-12-11
回帖
80
发表于 2021-1-16 21:07:03 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 未来灬future 于 2021-1-23 00:12 编辑

我想把特定的怪物做成这种变图片的,有没有快捷方法,求大佬告诉下,让我死心,我用这种笨方法每个怪物都得做两个,然后添加变身条件,这样太麻烦了,我要做318个怪物,扣完图就600多张,有点小崩溃
1.png
2.png
忍一时越想越气,退一步越想越亏~~~
梦石
0
星屑
29901
在线时间
5734 小时
注册时间
2016-3-8
回帖
1653
发表于 2021-1-16 21:50:48 | 显示全部楼层
本帖最后由 alexncf125 于 2021-1-16 21:53 编辑

没看懂..你这是需要通用的敌群事件么??

YEA - Base Troop Events[pre lang="ruby"]#==============================================================================
#
# ▼ Yanfly Engine Ace - Base Troop Events v1.00
# -- Last Updated: 2011.12.06
# -- Level: Normal
# -- Requires: n/a
#
#==============================================================================

$imported = {} if $imported.nil?
$imported["YEA-BaseTroopEvents"] = true

#==============================================================================
# ▼ Updates
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# 2011.12.06 - Started Script and Finished.
#
#==============================================================================
# ▼ Introduction
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# For all the eventers out there who love to customize their battles through
# custom event pages, you can now save yourself some time by drawing all the
# event pages from a base troop event to occur in every fight. All of the
# events will be present in every single battle.
#
#==============================================================================
# ▼ Instructions
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.
#
# Edit the settings in the module below.
#
#==============================================================================
# ▼ Compatibility
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
# it will run with RPG Maker VX without adjusting.
#
#==============================================================================

module YEA
  module BASE_TROOP_EVENTS
   
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - Recurring Troop Event Setting -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # Change the value below to the Troop ID that you want all of the
    # recurring troop events to draw from. All of the pages, conditions, and
    # spans will be copied over.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    BASE_TROOP_ID = 999          #通用敌群ID(可变更)
   
  end # BASE_TROOP_EVENTS
end # YEA

#==============================================================================
# ▼ Editting anything past this point may potentially result in causing
# computer damage, incontinence, explosion of user's head, coma, death, and/or
# halitosis so edit at your own risk.
#==============================================================================

#==============================================================================
# ■ DataManager
#==============================================================================

module DataManager
  
  #--------------------------------------------------------------------------
  # alias method: load_database
  #--------------------------------------------------------------------------
  class <<self; alias load_database_bte load_database; end
  def self.load_database
    load_database_bte
    load_troop_events
  end
  
  #--------------------------------------------------------------------------
  # new method: load_troop_events
  #--------------------------------------------------------------------------
  def self.load_troop_events
    for troop in $data_troops
      next if troop.nil?
      troop.add_pages
    end
  end
  
end # DataManager

#==============================================================================
# ■ RPG::Troop
#==============================================================================

class RPG::Troop
  
  #--------------------------------------------------------------------------
  # public instance variables
  #--------------------------------------------------------------------------
  attr_accessor :pages
  
  #--------------------------------------------------------------------------
  # new method: add_pages
  #--------------------------------------------------------------------------
  def add_pages
    return if self == $data_troops[YEA::BASE_TROOP_EVENTS::BASE_TROOP_ID]
    @pages += $data_troops[YEA::BASE_TROOP_EVENTS::BASE_TROOP_ID].pages.clone
  end
  
end # RPG::Troop

#==============================================================================
#
# ▼ End of File
#
#==============================================================================[/pre]
回复

使用道具 举报

梦石
0
星屑
1239
在线时间
98 小时
注册时间
2020-12-11
回帖
80
 楼主| 发表于 2021-1-17 08:59:25 | 显示全部楼层
alexncf125 发表于 2021-1-16 21:50
没看懂..你这是需要通用的敌群事件么??

[fold=YEA - Base Troop Events]#=============================== ...

我的想法是把重装机兵的坦克怪物血量打到一定的百分比以下或自动变成破坏形态的那种,就是一张正常的坦克图,然后打掉血后会变成损坏的,冒烟的那种破旧图,类似小h游的爆衣效果,我在论坛里看到一个MV的插件,不适合咱们RMVA用啊
忍一时越想越气,退一步越想越亏~~~
回复

使用道具 举报

梦石
0
星屑
29901
在线时间
5734 小时
注册时间
2016-3-8
回帖
1653
发表于 2021-1-17 11:03:16 | 显示全部楼层
本帖最后由 alexncf125 于 2021-1-17 11:04 编辑

在Sprite_Battler的def update_bitmap里插段脚本就行了吧, 还用得著找插件
第54,55行中间插入这段
  1. if @battler.hp < @battler.mhp / 2
  2.   new_bitmap = Cache.battler(@battler.battler_name + "_destroyed", @battler.battler_hue)
  3. end
复制代码


如果敌人的图像名是Slime, 就在\Graphics\Battlers\放张Slime_destroyed.png
那么打Slime打到一半血下时, Slime的图像就会变了

范例
https://pan.baidu.com/s/1cdk_iXDZfcRAOgKLpGFocg
6sm5

评分

参与人数 1星屑 +100 收起 理由
VIPArcher + 100 认可答案

查看全部评分

回复 1 0

使用道具 举报

梦石
0
星屑
1239
在线时间
98 小时
注册时间
2020-12-11
回帖
80
 楼主| 发表于 2021-1-17 13:01:42 | 显示全部楼层
alexncf125 发表于 2021-1-17 11:03
在Sprite_Battler的def update_bitmap里插段脚本就行了吧, 还用得著找插件
第54,55行中间插入这段
...

哇,大佬,你就是我心目中永远的神!!!!!
忍一时越想越气,退一步越想越亏~~~
回复

使用道具 举报

梦石
0
星屑
1239
在线时间
98 小时
注册时间
2020-12-11
回帖
80
 楼主| 发表于 2021-1-20 20:41:40 | 显示全部楼层
alexncf125 发表于 2021-1-17 11:03
在Sprite_Battler的def update_bitmap里插段脚本就行了吧, 还用得著找插件
第54,55行中间插入这段
...

大佬,我用你给的范例工程把名字和怪物图像更改完成后就好使,怎么放到别的游戏中就不管用了呢?是不是和别的脚本有关系,能帮我看下吗?谢谢

我改的是生物炮那个怪物,在数据库里面 敌人编号004    敌群编号019



测试游戏
https://pan.baidu.com/s/15IMVeB5LkILKWTxsyLFr9A
提取码:pe9m
忍一时越想越气,退一步越想越亏~~~
回复

使用道具 举报

梦石
0
星屑
29901
在线时间
5734 小时
注册时间
2016-3-8
回帖
1653
发表于 2021-1-20 21:07:13 | 显示全部楼层
我说, 就不能把问题工程压缩成10MB以內么
难道你不知道, 就百度那百多kb/s的速度, 下载个三百几MB的文件, 都得花接近一小时了
回复

使用道具 举报

梦石
0
星屑
1239
在线时间
98 小时
注册时间
2020-12-11
回帖
80
 楼主| 发表于 2021-1-20 21:51:59 | 显示全部楼层
alexncf125 发表于 2021-1-20 21:07
我说, 就不能把问题工程压缩成10MB以內么
难道你不知道, 就百度那百多kb/s的速度, 下载个三百几MB ...

我把音乐删除试试,emmmm

点评

不用啦...我都下载完了...  发表于 2021-1-20 22:04
忍一时越想越气,退一步越想越亏~~~
回复

使用道具 举报

梦石
0
星屑
29901
在线时间
5734 小时
注册时间
2016-3-8
回帖
1653
发表于 2021-1-20 22:05:40 | 显示全部楼层
本帖最后由 alexncf125 于 2021-1-20 22:25 编辑

横版
第4409-4424行改成这样
  1.   #--------------------------------------------------------------------------
  2.   # ● 传输位图:敌人
  3.   #--------------------------------------------------------------------------
  4.   def update_bitmap_enemy
  5.     if @battler.battler_name != @battler_name or @battler.battler_hue != @battler_hue or @battler.hp != @battler_hp
  6.       @battler_name = @battler.battler_name
  7.       @battler_hue = @battler.battler_hue
  8.       @battler_hp = @battler.hp
  9.       @battler_graphic_file_index = @battler.sv.graphic_file_index
  10.       @graphic_mirror_flag = @battler.sv.graphic_mirror_flag
  11.       self.bitmap = Cache.battler(@battler_name + @battler_graphic_file_index, @battler_hue)
  12.       if @battler.hp < @battler.mhp / 2
  13.         self.bitmap = Cache.battler(@battler_name + @battler_graphic_file_index + "-大破", @battler_hue)
  14.       end
  15.       @battler.sv.setup(self.bitmap.width, self.bitmap.height, @battler_id != @battler.id)
  16.       create_shadow
  17.       init_visibility
  18.       @battler_id = @battler.id
  19.     end
  20.   end
复制代码

第4453-4468行改成这样
  1.   #--------------------------------------------------------------------------
  2.   # ● 更新传输矩形
  3.   #--------------------------------------------------------------------------
  4.   def update_src_rect
  5.     return if @battler.sv.collapse
  6.     if @battler_graphic_file_index != @battler.sv.graphic_file_index or @battler.hp != @battler_hp
  7.       @battler_graphic_file_index = @battler.sv.graphic_file_index
  8.       @battler_hp = @battler.hp
  9.       self.bitmap = Cache.character(@battler_name + @battler_graphic_file_index) if @battler.actor?
  10.       self.bitmap = Cache.battler(@battler_name + @battler_graphic_file_index, @battler_hue) if !@battler.actor?
  11.       if !@battler.actor? && @battler.hp < @battler.mhp / 2
  12.         self.bitmap = Cache.battler(@battler_name + @battler_graphic_file_index + "-大破", @battler_hue)
  13.       end
  14.       @battler.sv.set_graphics(self.bitmap.width, self.bitmap.height)
  15.     end
  16.     anime_off if @battler.sv.anime_off
  17.     self.src_rect.set(@battler.sv.sx, @battler.sv.sy, @battler.sv.cw, @battler.sv.ch)
  18.     self.opacity = @battler.sv.opacity if @battler_visible
  19.     set_process_timing(@battler.sv.timing) if @battler && @battler.sv.timing != []
  20.   end
复制代码

应该就可以了
回复

使用道具 举报

梦石
0
星屑
1239
在线时间
98 小时
注册时间
2020-12-11
回帖
80
 楼主| 发表于 2021-1-20 22:18:23 | 显示全部楼层
alexncf125 发表于 2021-1-20 21:07
我说, 就不能把问题工程压缩成10MB以內么
难道你不知道, 就百度那百多kb/s的速度, 下载个三百几MB ...

链接:https://pan.baidu.com/s/1v0DRVErh4SXKNZreJq9q8Q
提取码:orvj

看这个吧大佬   现在的怪物情况是和以前一样的,打剩少血的时候显示叹号,不会变图
忍一时越想越气,退一步越想越亏~~~
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部