查看: 792|回复: 4

[有事请教] 战前被动技能

[复制链接]
梦石
0
星屑
1750
在线时间
191 小时
注册时间
2020-6-4
回帖
16
发表于 2026-3-7 19:07:39 | 显示全部楼层 |阅读模式
悬赏5星屑已解决
我用公共事件做了一些被动技能,类似战斗开始第0回合自动触发的,但是每次都要在敌群设置这个公共事件,有没有什么脚本可以让战斗的每一回合前执行一次公共事件,有老师说YEA通用敌群战斗事件,但是我没有找到资源,还有其他方法吗

最佳答案

查看完整内容

[pre lang="ruby"]#============================================================================== # # ▼ Yanfly Engine Ace - 通用敌群战斗事件 v1.00 # -- 最后更新: 2011.12.06 # -- 使用难度: 普通 # -- 需要脚本: 无 # #============================================================================== $imported = {} if $imported.nil? $imported["YEA-BaseTroopEvents"] = true #============================= ...
梦石
0
星屑
7066
在线时间
607 小时
注册时间
2017-11-10
回帖
656

极短21参与

发表于 2026-3-7 19:07:40 | 显示全部楼层
[pre lang="ruby"]#==============================================================================
#
# ▼ Yanfly Engine Ace - 通用敌群战斗事件 v1.00
# -- 最后更新: 2011.12.06
# -- 使用难度: 普通
# -- 需要脚本: 无
#
#==============================================================================

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

#==============================================================================
# ▼ Updates
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# 2011.12.06 - Started Script and Finished.
#
#==============================================================================
# ▼ 介绍
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# 对于那些喜欢在数据库-敌群中多次使用战斗事件的同学们,你们有福了.
# 使用本脚本可以设定某公共事件在所有战斗中都会被触发,这样你就不用设定、复制粘贴
# 一页又一页的事件页了.
#
#==============================================================================
# ▼ 安装方式
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# 打开脚本编辑器,将本脚本拷贝/复制到一个在▼ 插件脚本之下▼ Main之上的新
# 脚本页/槽中.记得保存你的工程以使脚本生效.
#
#==============================================================================
# ▼ 兼容性
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# 本脚本仅为RPG Maker VX Ace编写.极不可能在无任何修改的情况下运行于RPG Maker VX.
#
#==============================================================================

module YEA
  module BASE_TROOP_EVENTS
   
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - 通用敌群战斗事件 -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # 每一次战斗都会使用的公共事件ID.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    BASE_TROOP_ID = 1
   
  end # BASE_TROOP_EVENTS
end # YEA

#==============================================================================
# ▼ 编辑以下内容可能会出现电脑损坏、死机,电脑主人脑袋爆炸、昏迷、死亡或口臭
# 所以编辑了后果自负。
#==============================================================================

#==============================================================================
# ■ 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
星屑
7066
在线时间
607 小时
注册时间
2017-11-10
回帖
656

极短21参与

发表于 2026-3-11 08:00:04 | 显示全部楼层
[pre lang="ruby"]#==============================================================================
# ★ RGSS3_自动状态 Ver1.0
#==============================================================================
=begin

作者:tomoaky
webサイト:ひきも記 (http://hikimoki.sakura.ne.jp/)


角色/职业/武器/护甲/敌人备注:
<自动状态 2, 3>
则在战斗开始时,自动附加2、3号状态到角色/敌人身上

=== 注意 ===
  ・没有可以添加状态持续回合的功能、
    在战斗开始时才会重置持续回合数

2011.12.15  Ver1.0
  公開

=end

#==============================================================================
# ■ RPG::BaseItem
#==============================================================================
class RPG::BaseItem
  #--------------------------------------------------------------------------
  # ○ オートステートIDの配列を返す
  #--------------------------------------------------------------------------
  def auto_states
    result = []
    if /<自动状态\s+(\d+(?:\s*\,\s*\d+)*)\s*>/ =~ @note
      $1.scan(/\d+/).each do |id|
        result.push(id.to_i)
      end
    end
    result
  end
end

#==============================================================================
# ■ Game_Battler
#==============================================================================
class Game_Battler
  #--------------------------------------------------------------------------
  # ● 戦闘開始処理
  #--------------------------------------------------------------------------
  alias tmatst_game_battler_on_battle_start on_battle_start
  def on_battle_start
    tmatst_game_battler_on_battle_start
    add_auto_states
  end
end

#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor
  #--------------------------------------------------------------------------
  # ○ オートステートの付加
  #--------------------------------------------------------------------------
  def add_auto_states
    states = self.actor.auto_states + self.class.auto_states
    self.equips.compact.each {|item| states += item.auto_states }
    states.uniq.each {|id| self.add_state(id) }
  end
end

#==============================================================================
# ■ Game_Enemy
#==============================================================================
class Game_Enemy
  #--------------------------------------------------------------------------
  # ○ オートステートの付加
  #--------------------------------------------------------------------------
  def add_auto_states
    self.enemy.auto_states.each {|id| self.add_state(id) }
  end
end

[/pre]
回复

使用道具 举报

梦石
0
星屑
7066
在线时间
607 小时
注册时间
2017-11-10
回帖
656

极短21参与

发表于 2026-3-11 08:08:45 | 显示全部楼层
本帖最后由 BCJT 于 2026-3-11 08:09 编辑

第一个是发错了是自动状态
第二个是YEA的敌群战斗事件,YEA脚本的兼容性不高大部分没试过。
回复

使用道具 举报

梦石
0
星屑
1750
在线时间
191 小时
注册时间
2020-6-4
回帖
16
 楼主| 发表于 2026-3-11 14:26:30 | 显示全部楼层
BCJT 发表于 2026-3-11 08:08
第一个是发错了是自动状态
第二个是YEA的敌群战斗事件,YEA脚本的兼容性不高大部分没试过。 ...

非常感谢!
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部