设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3271|回复: 5
打印 上一主题 下一主题

[已经解决] 如何把“战斗,逃跑”选项去掉?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
54
在线时间
1049 小时
注册时间
2012-1-27
帖子
1446
跳转到指定楼层
1
发表于 2012-7-20 17:49:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 黑化の鼠标 于 2012-7-20 21:18 编辑

已经要被这玩意虐死了.........
个人需求:进入战斗后有“战斗,逃跑”的选项,请各位触手把这玩意干掉,把“逃跑”选项加入到“攻击,技能,防御等等“这个选项内,并且能够自行设定战斗是否允许逃跑
PS:自己设定是否允许逃跑,额.....大致意思就是.......能使战斗分为允许逃跑和不允许逃跑两种情况,貌似之前有人试过的时候出现了将【逃跑】加入到选项中后会不管什么场合都允许逃跑这种诡异境况....
惨了,没装全局变量,这下只能玩读档进EXTRA的把戏了∑(゚ω゚ノ)ノ
我感觉我快成兜售Q键幻灯片狂魔了

Lv1.梦旅人

◇无限的妄想者◇

梦石
0
星屑
50
在线时间
1441 小时
注册时间
2012-7-14
帖子
2339
2
发表于 2012-7-20 20:29:05 | 只看该作者
自行设定是否允许逃跑是什么意思?战斗处理的时候那个选项么?
感觉Window_PartyCommand和其相关的全部删掉,然后把里面两个选项放到别的地方不就好了?
简单测了一下貌似是可以实现,不过本人渣技术,不能保证完全没有BUG。
于是:
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Scene_Battle
  4. #------------------------------------------------------------------------------
  5. #  战斗画面·改
  6. #==============================================================================

  7. class Scene_Battle < Scene_Base
  8.   #--------------------------------------------------------------------------
  9.   # ● 更新信息显示的显示端口
  10.   #--------------------------------------------------------------------------
  11.   def update_info_viewport
  12. #    move_info_viewport(0)   if @party_command_window.active
  13.     move_info_viewport(128) if @actor_command_window.active
  14.     move_info_viewport(64)  if BattleManager.in_turn?
  15.   end
  16.   #--------------------------------------------------------------------------
  17.   # ● 信息窗口打开时的更新
  18.   #    在状态窗口关闭完成前,信息窗口的打开度设置为 0 。
  19.   #--------------------------------------------------------------------------
  20.   def update_message_open
  21.     if $game_message.busy? && !@status_window.close?
  22.       @message_window.openness = 0
  23.       @status_window.close
  24. #      @party_command_window.close
  25.       @actor_command_window.close
  26.     end
  27.   end
  28.   #--------------------------------------------------------------------------
  29.   # ● 生成所有窗口
  30.   #--------------------------------------------------------------------------
  31.   def create_all_windows
  32.     create_message_window
  33.     create_scroll_text_window
  34.     create_log_window
  35.     create_status_window
  36.     create_info_viewport
  37. #    create_party_command_window
  38.     create_actor_command_window
  39.     create_help_window
  40.     create_skill_window
  41.     create_item_window
  42.     create_actor_window
  43.     create_enemy_window
  44.   end
  45.   #--------------------------------------------------------------------------
  46.   # ● 生成角色指令窗口
  47.   #--------------------------------------------------------------------------
  48.   def create_actor_command_window
  49.     @actor_command_window = Window_ActorCommand.new
  50.     @actor_command_window.viewport = @info_viewport
  51.     @actor_command_window.set_handler(:attack, method(:command_attack))
  52.     @actor_command_window.set_handler(:skill,  method(:command_skill))
  53.     @actor_command_window.set_handler(:guard,  method(:command_guard))
  54.     @actor_command_window.set_handler(:item,   method(:command_item))
  55.     @actor_command_window.set_handler(:escape, method(:command_escape))
  56.     @actor_command_window.set_handler(:cancel, method(:prior_command))
  57.     @actor_command_window.x = Graphics.width
  58.   end
  59.   #--------------------------------------------------------------------------
  60.   # ● 开始队伍指令的选择
  61.   #--------------------------------------------------------------------------
  62.   def start_party_command_selection
  63.     unless scene_changing?
  64.       refresh_status
  65.       @status_window.unselect
  66.       @status_window.open
  67.       if BattleManager.input_start
  68. #        @actor_command_window.close
  69. #        @party_command_window.setup
  70.         @actor_command_window.active
  71.         command_fight
  72.       else
  73. #        @party_command_window.deactivate
  74.         turn_start
  75.       end
  76.     end
  77.   end
  78.   #--------------------------------------------------------------------------
  79.   # ● 开始角色指令的选择
  80.   #--------------------------------------------------------------------------
  81.   def start_actor_command_selection
  82.     @status_window.select(BattleManager.actor.index)
  83. #    @party_command_window.close
  84.     @actor_command_window.setup(BattleManager.actor)
  85.   end
  86.   #--------------------------------------------------------------------------
  87.   # ● 回合开始
  88.   #--------------------------------------------------------------------------
  89.   def turn_start
  90. #   @party_command_window.close
  91.     @actor_command_window.close
  92.     @status_window.unselect
  93.     @subject =  nil
  94.     BattleManager.turn_start
  95.     @log_window.wait
  96.     @log_window.clear
  97.   end
  98. end



  99. #==============================================================================
  100. # ■ Window_ActorCommand·改
  101. #------------------------------------------------------------------------------
  102. #  战斗画面中,选择角色行动的窗口。
  103. #==============================================================================

  104. class Window_ActorCommand < Window_Command
  105.   #--------------------------------------------------------------------------
  106.   # ● 生成指令列表
  107.   #--------------------------------------------------------------------------
  108.   def make_command_list
  109.     return unless @actor
  110.     add_attack_command
  111.     add_skill_commands
  112.     add_guard_command
  113.     add_item_command
  114.     add_escape_command
  115.   end
  116.   #--------------------------------------------------------------------------
  117.   # ● 添加逃跑指令
  118.   #--------------------------------------------------------------------------
  119.   def add_escape_command
  120.     add_command(Vocab::escape, :escape, BattleManager.can_escape?)
  121.   end
  122. end
复制代码
以上。

点评

请問註釋掉的@actor_command_window.close和新添的@actor_command_window.active這兩句有什么用途?  发表于 2020-5-20 07:35

————————————————————————————————————
新坑Dreamoon酝酿中,预计短篇⑨完工发布。
————————————————————————————————————
如何调戏橙光文字的 高级UI 系列教程:  鉴赏页制作篇背包系统制作篇
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
54
在线时间
1049 小时
注册时间
2012-1-27
帖子
1446
3
 楼主| 发表于 2012-7-20 21:24:43 | 只看该作者
本帖最后由 黑化の鼠标 于 2012-7-20 21:27 编辑
幻想中的鸡蛋 发表于 2012-7-20 20:29
自行设定是否允许逃跑是什么意思?战斗处理的时候那个选项么?
感觉Window_PartyCommand和其相关的全部删掉 ...


等等= =,不对,把Window_PartyCommand删掉之后情况仍在,并且将你所放出的脚本替换Scene_Battle时....战斗黑屏了........
必要时能.....附赠一个范例吗?

点评

因为脚本给出来一向是插入到main前面的,所以觉得实在没必要给范例,也实在没必要说明。本来就是渣技术,只在最低限度实现了你的需求。  发表于 2012-7-21 09:43
不要替换直接插入。另外如果手动弄的话,Window_PartyCommand 和一切在Sence_Battle 里的相关玩意全都得删掉。  发表于 2012-7-20 22:27
惨了,没装全局变量,这下只能玩读档进EXTRA的把戏了∑(゚ω゚ノ)ノ
我感觉我快成兜售Q键幻灯片狂魔了
回复

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-14 06:06

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表