楼主: taeckle

[已经解决] 请教战斗开始时先运行战斗事件页(0回合)再跑CP集气条的方法

[复制链接]
梦石
0
星屑
5204
在线时间
457 小时
注册时间
2011-3-26
回帖
100
发表于 2022-1-4 12:11:19 | 显示全部楼层
taeckle 发表于 2022-1-4 08:56
大神你看这是我在rpg maker xp默认脚本基础上按照你在6楼给我的脚本自己写的, 具体步骤为:
①把从第13行m ...

1.Game_Enemy不需要initial_states属性,因为在游戏过程中这个值不会更新,是数据库属性,只有RPG::Enemy有这个属性,通过$data_enemies.initial_states访问。
2.初始化部分,我没考虑对……不应该用self,应该用enemy。
[pre lang="ruby"]#==============================================================================
# ■ Game_Enemy
#------------------------------------------------------------------------------
#  处理敌人的类。本类在 Game_Troop 类 ($game_troop) 的
# 内部使用。
#==============================================================================

class Game_Enemy < Game_Battler
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #     troop_id     : 循环 ID
  #     member_index : 循环成员的索引
  #--------------------------------------------------------------------------
  def initialize(troop_id, member_index)
    super()
    @troop_id = troop_id
    @member_index = member_index
    troop = $data_troops[@troop_id]
    @enemy_id = troop.members[@member_index].enemy_id
    enemy = $data_enemies[@enemy_id]
    @battler_name = enemy.battler_name
    @battler_hue = enemy.battler_hue
    @hp = maxhp
    @sp = maxsp
    @hidden = troop.members[@member_index].hidden
    @immortal = troop.members[@member_index].immortal
   

    enemy.initial_states.each do |state_id|
            self.add_state(state_id)
    end

  end
end[/pre]
3.补充的数据没有被载入数据库,在Scene_Title加:
[pre lang="ruby"]# 战斗测试的情况下
    if $BTEST
      battle_test
      return
    end
    # 载入数据库
    $data_actors        = load_data("Data/Actors.rxdata")
    $data_classes       = load_data("Data/Classes.rxdata")
    $data_skills        = load_data("Data/Skills.rxdata")
    $data_items         = load_data("Data/Items.rxdata")
    $data_weapons       = load_data("Data/Weapons.rxdata")
    $data_armors        = load_data("Data/Armors.rxdata")
    $data_enemies       = load_data("Data/Enemies.rxdata")
    $data_troops        = load_data("Data/Troops.rxdata")
    $data_states        = load_data("Data/States.rxdata")
    $data_animations    = load_data("Data/Animations.rxdata")
    $data_tilesets      = load_data("Data/Tilesets.rxdata")
    $data_common_events = load_data("Data/CommonEvents.rxdata")
    $data_system        = load_data("Data/System.rxdata")
   
   
   
    # 数据补充
    Data_Extend.update_data_enemy
   
   
   
   
    # 生成系统对像
    $game_system = Game_System.new[/pre]
在战斗测试部分,还需要加:
[pre lang="ruby"] #--------------------------------------------------------------------------
  # ● 战斗测试
  #--------------------------------------------------------------------------
  def battle_test
    # 载入数据库 (战斗测试用)
    $data_actors        = load_data("Data/BT_Actors.rxdata")
    $data_classes       = load_data("Data/BT_Classes.rxdata")
    $data_skills        = load_data("Data/BT_Skills.rxdata")
    $data_items         = load_data("Data/BT_Items.rxdata")
    $data_weapons       = load_data("Data/BT_Weapons.rxdata")
    $data_armors        = load_data("Data/BT_Armors.rxdata")
    $data_enemies       = load_data("Data/BT_Enemies.rxdata")
    $data_troops        = load_data("Data/BT_Troops.rxdata")
    $data_states        = load_data("Data/BT_States.rxdata")
    $data_animations    = load_data("Data/BT_Animations.rxdata")
    $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
    $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
    $data_system        = load_data("Data/BT_System.rxdata")
   
    # 数据补充
    Data_Extend.update_data_enemy


    # ...其他代码...
[/pre]

   

评分

参与人数 1赞 +1 收起 理由
taeckle + 1 大神威武!我们要申请精华帖!.

查看全部评分

回复

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2022-1-4 20:34:39 | 显示全部楼层
不知道在敌人给个属性然后脚本在class Scene_Battle
def main
里面判断有该属性的敌人有先攻特效给CP+65535
行不行?

点评

你用我在5楼附件里发的工程试试就知道啦!  发表于 2022-1-5 16:50
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部