Project1

标题: 【已解决】脚本里加个条件分歧 包裹携带物品或开关做条件 [打印本页]

作者: 金芒芒    时间: 2023-3-31 13:37
标题: 【已解决】脚本里加个条件分歧 包裹携带物品或开关做条件
本帖最后由 金芒芒 于 2023-3-31 16:25 编辑

如果携带物品‘’战令1‘’=1 那么
enermy_selected_troops =[ [21,21],[21,21,21],[21,21],[21,21,21],[21,21,21,21,21] ]
如果携带物品‘’战令2‘’=1 那么
enermy_selected_troops =[ [5,5],[5,5,5],[5,5],[5,5,5],[5,5,5,5,5] ]

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 命令 : 自定义战斗
  3.   #--------------------------------------------------------------------------
  4.   def command_custom_battle#定义命令_自定义战斗
  5.     # 演奏确定 SE
  6.     $game_system.se_play($data_system.decision_se)
  7.      #$游戏系统。se播放($数据系统。未指定文件或目录
  8.  
  9.   choose_map_main#选择主地图
  10.   map_info = @map_info#地图信息=@地图信息
  11.   #如果选择随机地图随机士兵
  12.   if ! @force_back and map_info[0] == -1#如果!@强制返回并地图信息[0]==-1
  13.     make_random_efs_game#生成随机efs_game
  14.     return
  15.   end
  16. #---------------------------------------------------- ↑↓   
  17.     #如果@强制后退或@强制后退==无
  18.     if ! @force_back or @force_back == nil
  19.     #自定义主战场(0,@地图信息[1],@地图信息[2])
  20.     custom_battle_main(0,@map_info[1],@map_info[2])
  21.     #团队选定部队=@选定部队
  22.     team_selected_troops = @selected_units
  23.     #如果@强制后退或@强制后退==无
  24.     if ! @force_back or @force_back == nil
  25.       #自定义主战场(1,@地图信息[1],@地图信息[2])
  26.       custom_battle_main(1,@map_info[1],@map_info[2])
  27.       #敌人选定部队=@选定部队
  28.       enermy_selected_troops =[ [21,21],[21,21,21],[21,21],[21,21,21],[21,21,21,21,21] ] #@selected_units
  29.       enermy_selected_troops =[ [5,5],[5,5,5],[5,5],[5,5,5],[5,5,5,5,5] ]
  30.       #如果@强制后退或@强制后退==无
  31.       if ! @force_back or @force_back == nil
  32.  
  33.         choose_hero_main#选择英雄主
  34.         selected_hero = @selected_hero#选定的英雄=@选定的英雄
  35.  
  36.         if ! @force_back or @force_back == nil
  37.         team_army = Game_Army_Slg.new(0)
  38.         enermy_army = Game_Army_Slg.new(1)
  39.         team_army.create_empty_army
  40.         enermy_army.create_empty_army
  41.  
  42.  
  43.         team_army.load_twoD_Array(team_selected_troops,selected_hero)
  44.         enermy_army.load_twoD_Array(enermy_selected_troops)
  45.        # 切换地图画面
  46.       #
  47.         team_army.set_groups_name
  48.         $custom_battle_next_fighter_team = team_army
  49.         $custom_battle_next_fighter_enermy = enermy_army
  50.         $custom_battle_next_map_id = map_info[0]
  51.  
  52.  
  53.         $game_party.setup_starting_members
  54.  
  55.  
  56.  
  57.     # 设置初期位置的地图##############1356622
  58.         $game_map.setup(19)
  59.     # 主角向初期位置移动
  60.         $game_player.moveto(0, 0)
  61.     # 刷新主角
  62.         $game_player.refresh
  63.     # 执行地图设置的 BGM 与 BGS 的自动切换
  64.         $game_map.autoplay
  65.  
  66.  
  67.  
  68.  
  69.     # 刷新地图 (执行并行事件)
  70.         $game_map.update
  71.     # 切换地图画面
  72.         $scene = Scene_Map.new
  73.  
  74.          # $scene = Scene_Map.new
  75.           #efs_title_main
  76.  
  77.          else # fourth
  78.         @force_back = false
  79.         Graphics.update
  80.         efs_title_update
  81.         end   
  82.  
  83.  
  84.       else # third
  85.       @force_back = false
  86.       Graphics.update
  87.       efs_title_update
  88.       end   
  89.     else # second
  90.     @force_back = false
  91.     Graphics.update
  92.     efs_title_update
  93.     end
  94.  
  95.    else #1st
  96.      @force_back = false
  97.      Graphics.update
  98.      efs_title_update
  99.    end
  100.  
  101.   end


用开关也行
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 命令 : 自定义战斗
  3.   #--------------------------------------------------------------------------
  4.   def command_custom_battle#定义命令_自定义战斗
  5.     # 演奏确定 SE
  6.     $game_system.se_play($data_system.decision_se)
  7.      #$游戏系统。se播放($数据系统。未指定文件或目录
  8.  
  9.   choose_map_main#选择主地图
  10.   map_info = @map_info#地图信息=@地图信息
  11.   #如果选择随机地图随机士兵
  12.   if ! @force_back and map_info[0] == -1#如果!@强制返回并地图信息[0]==-1
  13.     make_random_efs_game#生成随机efs_game
  14.     return
  15.   end
  16. #---------------------------------------------------- ↑↓   
  17.     #如果@强制后退或@强制后退==无
  18.     if ! @force_back or @force_back == nil
  19.     #自定义主战场(0,@地图信息[1],@地图信息[2])
  20.     custom_battle_main(0,@map_info[1],@map_info[2])
  21.     #团队选定部队=@选定部队
  22.     team_selected_troops = @selected_units
  23.     #如果@强制后退或@强制后退==无
  24.     if ! @force_back or @force_back == nil
  25.       #自定义主战场(1,@地图信息[1],@地图信息[2])
  26.       custom_battle_main(1,@map_info[1],@map_info[2])
  27.       #敌人选定部队=@选定部队
  28.       if $game_switches[18] = true
  29.       #true是打开,false是关闭
  30.       enermy_selected_troops =[ [21,21],[21,21,21],[21,21],[21,21,21],[21,21,21,21,21] ] #@selected_units
  31.       end
  32.       if $game_switches[19] = true
  33.       enermy_selected_troops =[ [5,5],[5,5,5],[5,5],[5,5,5],[5,5,5,5,5] ]
  34.       end
  35.       #如果@强制后退或@强制后退==无
  36.       if ! @force_back or @force_back == nil
  37.  
  38.         choose_hero_main#选择英雄主
  39.         selected_hero = @selected_hero#选定的英雄=@选定的英雄
  40.  
  41.         if ! @force_back or @force_back == nil
  42.         team_army = Game_Army_Slg.new(0)
  43.         enermy_army = Game_Army_Slg.new(1)
  44.         team_army.create_empty_army
  45.         enermy_army.create_empty_army
  46.  
  47.  
  48.         team_army.load_twoD_Array(team_selected_troops,selected_hero)
  49.         enermy_army.load_twoD_Array(enermy_selected_troops)
  50.        # 切换地图画面
  51.       #
  52.         team_army.set_groups_name
  53.         $custom_battle_next_fighter_team = team_army
  54.         $custom_battle_next_fighter_enermy = enermy_army
  55.         $custom_battle_next_map_id = map_info[0]
  56.  
  57.  
  58.         $game_party.setup_starting_members
  59.  
  60.  
  61.  
  62.     # 设置初期位置的地图##############1356622
  63.         $game_map.setup(19)
  64.     # 主角向初期位置移动
  65.         $game_player.moveto(0, 0)
  66.     # 刷新主角
  67.         $game_player.refresh
  68.     # 执行地图设置的 BGM 与 BGS 的自动切换
  69.         $game_map.autoplay
  70.  
  71.  
  72.  
  73.  
  74.     # 刷新地图 (执行并行事件)
  75.         $game_map.update
  76.     # 切换地图画面
  77.         $scene = Scene_Map.new
  78.  
  79.          # $scene = Scene_Map.new
  80.           #efs_title_main
  81.  
  82.          else # fourth
  83.         @force_back = false
  84.         Graphics.update
  85.         efs_title_update
  86.         end   
  87.  
  88.  
  89.       else # third
  90.       @force_back = false
  91.       Graphics.update
  92.       efs_title_update
  93.       end   
  94.     else # second
  95.     @force_back = false
  96.     Graphics.update
  97.     efs_title_update
  98.     end
  99.  
  100.    else #1st
  101.      @force_back = false
  102.      Graphics.update
  103.      efs_title_update
  104.    end
  105.  
  106.   end



作者: 纯属小虫    时间: 2023-3-31 16:03
猫大有做过一个能让游戏开关或变量在被访问的时候根据某对象实时更新的脚本,你可以去看看

上链接——
自更新开关和变量(你用了会知道有多好用)
https://rpg.blue/forum.php?mod=v ... amp;fromuid=2717817
(出处: Project1)

作者: 金芒芒    时间: 2023-3-31 16:19
纯属小虫 发表于 2023-3-31 16:03
猫大有做过一个能让游戏开关或变量在被访问的时候根据某对象实时更新的脚本,你可以去看看

上链接——

  1.       if $game_switches[18] == true
  2.       #true是打开,false是关闭
  3.       enermy_selected_troops =[ [21,21],[21,21,21],[21,21],[21,21,21],[21,21,21,21,21] ] #@selected_units
  4.       end
  5.       if $game_switches[19] == true
  6.       enermy_selected_troops =[ [5,5],[5,5,5],[5,5],[5,5,5],[5,5,5,5,5] ]
  7.       end
复制代码

谢谢
作者: 纯属小虫    时间: 2023-3-31 16:36
本帖最后由 纯属小虫 于 2023-4-6 16:21 编辑
金芒芒 发表于 2023-3-31 16:19
谢谢


如果携带物品‘’战令1‘’=1  
》》》》》》
$game_party.item_number(战令1物品ID) == 1

如果携带物品‘’战令2‘’=1
》》》》》》
$game_party.item_number(战令2物品ID) == 1
作者: 金芒芒    时间: 2023-3-31 16:49
纯属小虫 发表于 2023-3-31 16:36
如果携带物品‘’战令1‘’=1  
》》》》》》
if $game_party.items[(战令1物品的id号)] == 1

这个可以有做任务最好了




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1