查看: 1688|回复: 0

[已经过期] 如何使 enermy_selected_troops =直接指定的敌军队伍

[复制链接]
梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
发表于 2023-3-13 09:45:17 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 金芒芒 于 2023-3-13 09:50 编辑

如何修改第一个脚本(第28行)使敌军队伍==第二个脚本CB_FACTION_ONE这只队伍



[pre lang="ruby"]#-----------------------------------------------------------------------------
#55555555555555555555 ● 命令 : 自定义战斗
#--------------------------------------------------------------------------
  def command_custom_battle#定义命令_自定义战斗
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
     #$游戏系统。se播放($数据系统。未指定文件或目录
   
  choose_map_main#选择主地图
  map_info = @map_info#地图信息=@地图信息
  #如果选择随机地图随机士兵
  if ! @force_back and map_info[0] == -1#如果!@强制返回并地图信息[0]==-1
    make_random_efs_game#生成随机efs_game
    return
  end
#---------------------------------------------------- ↑↓   
    #如果@强制后退或@强制后退==无
    if ! @force_back or @force_back == nil
    #自定义主战场(0,@地图信息[1],@地图信息[2])
    custom_battle_main(0,@map_info[1],@map_info[2])
    #团队选定部队=@选定部队
    team_selected_troops = @selected_units
    #如果@强制后退或@强制后退==无
    if ! @force_back or @force_back == nil
      #自定义主战场(1,@地图信息[1],@地图信息[2])
      custom_battle_main(1,@map_info[1],@map_info[2])
      #敌人选定部队=@选定部队
      enermy_selected_troops = @selected_units
      
      #如果@强制后退或@强制后退==无
      if ! @force_back or @force_back == nil
        
        choose_hero_main#选择英雄主
        selected_hero = @selected_hero#选定的英雄=@选定的英雄
        #如果@强制后退或@强制后退==无
        if ! @force_back or @force_back == nil
        #我方队伍=游戏队伍Slg.新(0)
        team_army = Game_Army_Slg.new(0)
        #敌方队伍=游戏队伍Slg.新(1)
        enermy_army = Game_Army_Slg.new(1)
        #我方队伍.创建我方队伍
        team_army.create_empty_army
        #敌方队伍.创建敌方队伍
        enermy_army.create_empty_army

        #团队军队。加载二维阵列(团队选定的部队,选定的英雄)
        team_army.load_twoD_Array(team_selected_troops,selected_hero)#
        #敌方军队。加载二维阵列(敌方选定的部队)
        enermy_army.load_twoD_Array(enermy_selected_troops)
       # 切换地图画面
      #
        team_army.set_groups_name#团队名称
        #$自定义战斗下一个战斗机团队=团队武装
        $custom_battle_next_fighter_team = team_army
        #$自定义战斗下一个战斗机敌方军队==敌方军队
        $custom_battle_next_fighter_enermy = enermy_army
        #自定义战斗下一个地图id=地图信息[0]
        $custom_battle_next_map_id = map_info[0]
        
    # 停止 BGM
        Audio.bgm_stop
        
        
    # 重置测量游戏时间用的画面计数器
        Graphics.frame_count = 0
    # 生成各种游戏对像
        $game_temp          = Game_Temp.new
        $game_system        = Game_System.new
        $game_switches      = Game_Switches.new
        $game_variables     = Game_Variables.new
        $game_self_switches = Game_SelfSwitches.new
        $game_screen        = Game_Screen.new
        $game_actors        = Game_Actors.new
        $game_party         = Game_Party.new
        $game_troop         = Game_Troop.new
        $game_map           = Game_Map.new
        $game_player        = Game_Player.new
    # 设置初期同伴位置
        $game_party.setup_starting_members
    # 设置初期位置的地图##############1356622
        $game_map.setup(19)
    # 主角向初期位置移动
        $game_player.moveto(0, 0)
    # 刷新主角
        $game_player.refresh
    # 执行地图设置的 BGM 与 BGS 的自动切换
        $game_map.autoplay
        
        
        
        
    # 刷新地图 (执行并行事件)
        $game_map.update
    # 切换地图画面
        $scene = Scene_Map.new
      
         # $scene = Scene_Map.new
          #efs_title_main
         
        else # fourth
        @force_back = false
        Graphics.update
        efs_title_update
        end   
         
           
      else # third
      @force_back = false
      Graphics.update
      efs_title_update
      end   
    else # second
    @force_back = false
    Graphics.update
    efs_title_update
    end
  
   else #1st
     @force_back = false
     Graphics.update
     efs_title_update
   end
   
  end[/pre]

[pre lang="ruby"]class Scene_Map
  
  def make_random_efs_game#定义制作随机efs游戏
    #选择随机地图
    all_map = Map_Info::CUSTOM_BATTLE
    id = rand(all_map.size-1)+1
    #p all_map[id][0],all_map[id][1],all_map[id][2]
    team_limit = all_map[id][1]
    num_limit = all_map[id][2]
    #选择阵营
    attacker_faction = rand(CB_FACTIONS.size)
    defender_faction = 0
    loop do
      defender_faction = rand(CB_FACTIONS.size)
      break if attacker_faction != defender_faction
    end
    #挑选士兵
    attacker = [] #攻击者
    defender = [] #防守者
   
    num_limit *= (rand(51)+65)/100.0
    num_limit = num_limit.round
    num_limit = [[num_limit,5].max,10].min
   
   
    #p num_limit
    # 我方挑选
    for i in 0...team_limit
      group = []
      loop do
        temp = CB_FACTIONS[attacker_faction] + ".size"
        size = eval(temp)
        rand_num = rand(size)
        temp = CB_FACTIONS[attacker_faction] + "[rand_num]"
        break if group.size + eval(temp+".size") > num_limit
        group = group + eval(temp)
      end
      attacker.push group
    end
  #  敌人挑选
  #对于0中的i…团队_限制
   #组=[]
   #循环操作
   #临时雇员=CB_FACTIONS[防守者动作]+“.大小”
   #大小=评估(温度)
   #兰特 数字=兰特(大小)
   #临时雇员=CB事实[防御者派系]+“[兰特 数字]”
   #中断if组。大小+评估(临时雇员+“.size”)>数量限制
   #组=组+评估(临时)
   #终止
   #防守者推送组
   #终止
    for i in 0...team_limit
      group = []
      loop do
        temp = CB_FACTIONS[defender_faction] + ".size"
        size = eval(temp)
        rand_num = rand(size)
        temp = CB_FACTIONS[defender_faction] + "[rand_num]"
        break if group.size + eval(temp+".size") > num_limit
        group = group + eval(temp)
      end
      defender.push group
    end
    #挑选英雄
    all_heros = CB_ALL_HERO
    hero = all_heros[rand(all_heros.size)]
   
    #开始战斗
        team_army = Game_Army_Slg.new(0)
        enermy_army = Game_Army_Slg.new(1)
        team_army.create_empty_army
        enermy_army.create_empty_army

        
        team_army.load_twoD_Array(attacker,hero)
        enermy_army.load_twoD_Array(defender)
       # 切换地图画面
      #
        team_army.set_groups_name
        $custom_battle_next_fighter_team = team_army
        $custom_battle_next_fighter_enermy = enermy_army
        $custom_battle_next_map_id = Map_Info::CUSTOM_BATTLE[id][0]
        
    # 停止 BGM
        Audio.bgm_stop
        
        
    # 重置测量游戏时间用的画面计数器
        Graphics.frame_count = 0
    # 生成各种游戏对像
        $game_temp          = Game_Temp.new
        $game_system        = Game_System.new
        $game_switches      = Game_Switches.new
       $game_variables     = Game_Variables.new
        $game_self_switches = Game_SelfSwitches.new
        $game_screen        = Game_Screen.new
        $game_actors        = Game_Actors.new
        $game_party         = Game_Party.new
        $game_troop         = Game_Troop.new
        $game_map           = Game_Map.new
        $game_player        = Game_Player.new
    # 设置初期同伴位置
        $game_party.setup_starting_members
    # 设置初期位置的地图
        $game_map.setup(19)
    # 主角向初期位置移动
        $game_player.moveto(0, 0)
    # 刷新主角
        $game_player.refresh
    # 执行地图设置的 BGM 与 BGS 的自动切换
        $game_map.autoplay
    # 刷新地图 (执行并行事件)
        $game_map.update
    # 切换地图画面
        $scene = Scene_Map.new
      
         # $scene = Scene_Map.new
          #efs_title_main
         
   
   
   
   
  end #def
  
  CB_ALL_HERO = [20,24,25,37]
  
  CB_FACTIONS = [
  "CB_FACTION_ONE", #帝国alone
  "CB_FACTION_TWO", #帝国+雇佣军
  "CB_FACTION_THREE", #诺尔森alone
  "CB_FACTION_FOUR", #诺尔森+雇佣军
  "CB_FACTION_FIVE", #不法分子系alone
  "CB_FACTION_SIX", #不法分子系+雇佣军
  "CB_FACTION_SEVEN" #雇佣军alone
  ]
  #帝国alone
  CB_FACTION_ONE = [
  #[5],[4],[3],[13],[2],[9],[11],[15],[26]
  [4,4],[4,4,4],[5,5],[5,5,5],[4,4,4,4,4],[5,5,5,5,5],
  [3,3,3,3,3],[13,13,13,13,13],[3,3,3],[13,13,13],
  [9,9],[9,4,4],[9,5,5],[11,11,9,9,9],[15,15,2,2,2],[2,2,2],
  [26,26,26,9,9],[11,11,11,11,11],[9,9,9,9,9],[26,26,26,26,26],
  [2,2,2,2,2],[13,13,13,13,13],[4,4,4,4,23]
  ]
  #帝国+雇佣军
  CB_FACTION_TWO = [
  [4,4],[4,4,4],[5,5],[5,5,5],[4,4,4,4,4],[5,5,5,5,5],
  [3,3,3,3,3],[13,13,13,13,13],[3,3,3],[13,13,13],
  [9,9],[9,4,4],[9,5,5],[11,11,9,9,9],[15,15,2,2,2],[2,2,2],
  [26,26,26,9,9],[11,11,11,11,11],[9,9,9,9,9],[26,26,26,26,26],
  [2,2,2,2,2],[13,13,13,13,13],[4,4,4,4,23],
  [7,7],[7,7,7],[7,7,7,7,7],[8,8,8],[8,8,8,8,8],[12,12,12],[12,12,12,12,12],
  [19,19,19,19,19],[19,19,8,8,8],[31,31],[31,31,31,31,31],[31,31,8,8,8],
  [31,31,19,19,19],[17],[38,38,38],[38,38,38,38,38],[38]
  
  
  ]
   #诺尔森alone
  CB_FACTION_THREE = [
  #[32],[35],[36],[28],[30],[33],[34]
  [32,32,32,32,32],[28,28,28],[28,28,28,28,28],[30,30,30,30,30],[30,30,30],
  [32,32],[32],[33,33,33,33,33],[33,33,28,28,28],[33,33,30,30,30],
  [34,34,33,33,33],[34,34,34],[35,35,35,35,35],[36,36,36,36,36]
  
  
  ]
  #诺尔森+雇佣军
  CB_FACTION_FOUR = [
  #[32],[35],[36],[28],[30],[33],[34],[7],[8],[19],[12],[19],[31]
  [32,32,32,32,32],[28,28,28],[28,28,28,28,28],[30,30,30,30,30],[30,30,30],
  [32,32],[32],[33,33,33,33,33],[33,33,28,28,28],[33,33,30,30,30],
  [34,34,33,33,33],[34,34,34],[35,35,35,35,35],[36,36,36,36,36],
  
  
  [7,7],[7,7,7],[7,7,7,7,7],[8,8,8],[8,8,8,8,8],[12,12,12],[12,12,12,12,12],
  [19,19,19,19,19],[19,19,8,8,8],[31,31],[31,31,31,31,31],[31,31,8,8,8],
  [31,31,19,19,19],[17],[38,38,38],[38,38,38,38,38],[38]
  ]
  #不法分子系alone
  CB_FACTION_FIVE = [
  [6,6,6,6,6],[6,6,6],[27,27,27,27,27],[10,10],[10,10,10,10],[10,10,10,10,10],
  [14,14,14],[14,14,10,10,10],[14,14,14,14,14],[16,16,16,16,16],[17],[18,18,18],
  [18,18,18,18,18],[18],[21,21,21,14,14],[22,22,22,22,22],[29,29,29,29,29],[29,29],
  [29,29,14,14,14],[18,18,6,6,6],[6,6,10,10,10]
  ]
  #不法分子系+雇佣军
  CB_FACTION_SIX = [
  [6,6,6,6,6],[6,6,6],[27,27,27,27,27],[10,10],[10,10,10,10],[10,10,10,10,10],
  [14,14,14],[14,14,10,10,10],[14,14,14,14,14],[16,16,16,16,16],[17],[18,18,18],
  [18,18,18,18,18],[18],[21,21,21,14,14],[22,22,22,22,22],[29,29,29,29,29],[29,29],
  [29,29,14,14,14],[18,18,6,6,6],[6,6,10,10,10],
  
  [7,7],[7,7,7],[7,7,7,7,7],[8,8,8],[8,8,8,8,8],[12,12,12],[12,12,12,12,12],
  [19,19,19,19,19],[19,19,8,8,8],[31,31],[31,31,31,31,31],[31,31,8,8,8],
  [31,31,19,19,19],[17]  ,[38,38,38],[38,38,38,38,38],[38]
  ]
   #雇佣军alone
  CB_FACTION_SEVEN = [
  [7,7],[7,7,7],[7,7,7,7,7],[8,8,8],[8,8,8,8,8],[12,12,12],[12,12,12,12,12],
  [19,19,19,19,19],[19,19,8,8,8],[31,31],[31,31,31,31,31],[31,31,8,8,8],
  [31,31,19,19,19],[17],[38,38,38],[38,38,38,38,38],[38]
  ]

end  [/pre]
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

在本版发帖返回顶部