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

Project1

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

[已经解决] 请问这个脚本怎么让它在指定地图不能呼出菜单

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
4 小时
注册时间
2014-8-2
帖子
15
跳转到指定楼层
1
发表于 2014-8-11 08:31:20 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
  1. #===============翻译=================
  2. #来自:bStefan aka. regendo
  3. #来自:request from AABattery
  4. #网址:http://www.rpgmakervxace.net/index.php?/user/608-aabattery/
  5. #如果你用VX ACE使用该脚本请给好评
  6. #==================================================
  7. # 当信息框显示的时候呼叫菜单
  8. #==================================================
  9. # 作用于Main后
  10. #==================================================
  11. # 定制:
  12. # :在你不想添加场景的时候
  13. # :脚本发生无法呼叫菜单的时候
  14. # :比如场景战斗, 那真让人讨厌)
  15. #==================================================
  16. module Regendo
  17.    unless @scripts
  18.     @scripts = Hash.new
  19.     def self.contains?(key)
  20.       @scripts[key] == true
  21.     end
  22.   end
  23.   @scripts["Menu_during_Message"] = true
  24.    module Menu_during_Message

  25. #==================================================
  26. #配置
  27. #==================================================
  28.     NOCALLMENU = [Scene_Battle] #scenes in which call_menu shall not work.
  29.         BUTTON = Input::B #which button will trigger the menu?
  30.   end
  31. end
  32. #==================================================
  33. #Window_Message
  34. #==================================================
  35. class Window_Message < Window_Base
  36.   BUTTON = Regendo::Menu_during_Message::BUTTON
  37.   NOCALLMENU = Regendo::Menu_during_Message::NOCALLMENU
  38.   alias update_old update
  39. #----------------------------------------------------------------------------------------------------
  40. #刷新
  41. #----------------------------------------------------------------------------------------------------
  42.   def update
  43.     update_old
  44.     call_menu if Input.trigger?(BUTTON) && !forbidden_scene_by_regendo
  45.   end
  46. #----------------------------------------------------------------------------------------------------
  47. #呼叫菜单
  48. #----------------------------------------------------------------------------------------------------  
  49.   def call_menu
  50.     Sound.play_ok
  51.     SceneManager.call(Scene_Menu)
  52.     Window_MenuCommand::init_command_position
  53.   end
  54. #----------------------------------------------------------------------------------------------------
  55. #暂停显示
  56. #----------------------------------------------------------------------------------------------------  
  57.   def input_pause
  58.     self.pause = true
  59.     wait(10)
  60.         case BUTTON
  61.         when Input::B
  62.           Fiber.yield until Input.trigger?(:C)
  63.         when Input::C
  64.           Fiber.yield until Input.trigger?(:B)
  65.         else
  66.       Fiber.yield until Input.trigger?(:B) || Input.trigger?(:C)
  67.         end
  68.     Input.update
  69.     self.pause = false
  70.   end
  71. #----------------------------------------------------------------------------------------------------
  72. #??被禁止的场景
  73. #----------------------------------------------------------------------------------------------------  
  74.   def forbidden_scene_by_regendo
  75.     if NOCALLMENU
  76.       a = NOCALLMENU.any? do |scene|
  77.         SceneManager.scene_is?(scene)
  78.       end
  79.       a
  80.     else
  81.       false
  82.     end
  83.   end
  84. end
复制代码

Lv1.梦旅人

梦石
0
星屑
50
在线时间
3 小时
注册时间
2014-7-31
帖子
12
2
发表于 2014-8-11 08:37:15 | 只看该作者

请问跳过标题的脚本怎么才能让第一张地图不能呼出菜单

把第一张地图当标题,突然可以直接从菜单读档,太违和了,脚本在这里
  1. #===============================================================================
  2. #
  3. # 可以返回標題畫面的跳過標題畫面腳本
  4. # 作    者:光的圓周率
  5. # 測試情況:RPG Maker VX ACE 測試版 以及 1.00正式版 測試通過
  6. # 說明:腳本中註明的位置可以控制是否可以返回標題畫面
  7. #            true:可以再次返回標題畫面 false:不可以再次返回標題畫面
  8. # 腳本來自66RPG,轉載請保留版權信息
  9. #===============================================================================

  10. module SceneManager

  11.   def self.stack
  12.      @stack
  13.   end
  14. end

  15. class Scene_Title < Scene_Base

  16.   alias old_start start
  17.   alias old_dmv dispose_main_viewport

  18.   def start

  19.       return_allowed = false      # 決定可否再次返回標題畫面的開關
  20.       create_background
  21.       create_foreground
  22.       @sprite1.bitmap.dispose
  23.       @sprite2.bitmap.dispose
  24.       @foreground_sprite.bitmap.dispose
  25.       chk1 = SceneManager.stack.first != nil   && return_allowed
  26.       chk2 = Graphics.frame_count > 0  && return_allowed
  27.      if chk1 or chk2
  28.        old_start
  29.        return 0
  30.      end
  31.        SceneManager.clear
  32. DataManager.create_game_objects
  33. $game_party.setup_starting_members
  34. $game_map.setup(1)
  35. $game_player.moveto(10, 10)
  36. $game_player.refresh
  37. Graphics.frame_count = 0
  38. #      DataManager.setup_new_game
  39.        $game_map.autoplay
  40.        SceneManager.goto(Scene_Map)
  41.   end

  42.   def dispose_main_viewport
  43.     SceneManager.stack.first == nil ? nil : old_dmv
  44.   end
  45.   
  46. end
  47. #===============================================================================
  48. # 腳本來自66RPG,轉載請保留版權信息
  49. #===============================================================================
复制代码
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

3
发表于 2014-8-11 08:38:52 | 只看该作者
事件-系统设置-启用/禁用菜单

点评

http://rm.66rpg.com/forum.php?mod=viewthread&tid=369152&extra=page%3D2%26filter%3Dtypeid%26typeid%3D476%26typeid%3D476  发表于 2014-8-11 08:50
按S?你用了什么菜单脚本吗?  发表于 2014-8-11 08:45
请问为什么我用自动执行,禁用菜单,按S却还是可以点出菜单...  发表于 2014-8-11 08:44
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

4
发表于 2014-8-11 08:41:18 | 只看该作者
修改这段,未测试

RUBY 代码复制
  1. def forbidden_scene_by_regendo
  2.     return true if SceneManager.scene_is?(Scene_Map) && $game_map.map_id == 1 # 1号地图
  3.     if NOCALLMENU
  4.       a = NOCALLMENU.any? do |scene|
  5.         SceneManager.scene_is?(scene)
  6.       end
  7.       a
  8.     else
  9.       false
  10.     end
  11.   end

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
4 小时
注册时间
2014-8-2
帖子
15
5
 楼主| 发表于 2014-8-11 08:46:36 | 只看该作者
taroxd 发表于 2014-8-11 08:41
修改这段,未测试

  def forbidden_scene_by_regendo


修改之后弹出了这个QAQ


捕获.JPG (16.49 KB, 下载次数: 21)

捕获.JPG

点评

原来是这样,谢谢,问题解决  发表于 2014-8-11 08:54
第85行的end不在修改范围内= =  发表于 2014-8-11 08:50
你把最后一个end删掉了吧……  发表于 2014-8-11 08:50
弹出什么?  发表于 2014-8-11 08:47
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-2-23 07:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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