Project1

标题: 超简单菜单添加窗口指令! [打印本页]

作者: 吾不知    时间: 2012-8-16 18:18
标题: 超简单菜单添加窗口指令!
我在论坛上逛了很久,也找到了一些合乎心意的脚本,发现有些脚本没有加入直接在菜单中加入指令的效果,在论坛上找了一些方法,好像都是在几个菜单中分别添加代码,不仅麻烦,并且不好清理,于是经过半天(脚本盲..)努力,做出了一个通用的添加指令模板,代码只有17行哦!
  1. class Window_MenuCommand < Window_Command  
  2.   alias itemSynthesis_add_main_commands add_main_commands
  3.   def add_main_commands
  4.       itemSynthesis_add_main_commands
  5.       add_command("合成", :ItemSynthesis, main_commands_enabled)
  6.   end
  7. end   
  8. class Scene_Menu < Scene_MenuBase
  9.    alias itemSynthesis_create_command_window create_command_window
  10.    def create_command_window
  11.        itemSynthesis_create_command_window  
  12.        @command_window.set_handler(:ItemSynthesis,     method(:Item_Synthesis))
  13.    end
  14.    def Item_Synthesis
  15.        SceneManager.call(Scene_ItemSynthesis)
  16.    end
  17. end   
复制代码

使用这个脚本唯一需要注意的地方就是画圈并连线的部分要一样,里面的内容可以随便的,最后一个圈里的是呼叫窗口的代码,真的很简单吧!



作者: 肥哥    时间: 2012-8-16 18:24
抢了个沙发。。。请问楼主上面截图是哪个游戏
作者: asp8000    时间: 2012-8-16 19:27
好想知道楼主的菜单里的图标怎么添加的!
作者: 一触    时间: 2012-8-16 20:15
脚本废果然不知道窗口代码是甚(←无视)用起来了,谢谢~
作者: 358429534    时间: 2012-8-16 20:57
找茬BUG..........
作者: 358429534    时间: 2012-8-16 21:00
这个使用的yanfly的 “Yanfly Engine Ace - Command Window Icons” 在http://yanflychannel.wordpress.com/rmvxa/ 越墙不了
作者: 358429534    时间: 2012-8-16 21:01
楼主给个范例吧
作者: 358429534    时间: 2012-8-16 21:06
使用方法呢??很不清楚啊!
作者: 358429534    时间: 2012-8-16 21:40
举个例可以吗?小白问的是如何把一个命令放入且可使用
作者: 358429534    时间: 2012-8-16 21:42
比如我的一个脚本为SceneManager.call(Scene_Teleport)
如何放入啊!
作者: 御之嵐    时间: 2012-8-17 16:50
本帖最后由 御之嵐 于 2012-8-17 17:11 编辑

選單 前面的圖示
我用了沒效果

腳本  還需要設定甚麼嗎?




====================

我自己解決了
沒問題了
作者: 御之嵐    时间: 2012-8-17 21:39
本帖最后由 御之嵐 于 2012-8-17 21:41 编辑
358429534 发表于 2012-8-16 21:42
比如我的一个脚本为SceneManager.call(Scene_Teleport)
如何放入啊!


原腳本
RUBY 代码复制
  1. class Window_MenuCommand < Window_Command  
  2.   alias itemSynthesis_add_main_commands add_main_commands
  3.   def add_main_commands
  4.       itemSynthesis_add_main_commands
  5.       add_command("合成", :ItemSynthesis, main_commands_enabled)
  6.   end
  7. end   
  8. class Scene_Menu < Scene_MenuBase
  9.    alias itemSynthesis_create_command_window create_command_window
  10.    def create_command_window
  11.        itemSynthesis_create_command_window  
  12.        @command_window.set_handler(:ItemSynthesis,     method(:Item_Synthesis))
  13.    end
  14.    def Item_Synthesis
  15.        SceneManager.call(Scene_ItemSynthesis)
  16.    end
  17. end


你要插入 這個
SceneManager.call(Scene_Teleport)


修改成這樣


class Window_MenuCommand < Window_Command  
  alias teleport_add_main_commands add_main_commands
  def add_main_commands
      teleport_add_main_commands
      add_command("改成你自己要的名字", :Teleport), main_commands_enabled)
  end
end   
class Scene_Menu < Scene_MenuBase
   alias teleport_create_command_window create_command_window
   def create_command_window
       teleport_create_command_window  
       @command_window.set_handler(:Teleport,     method(:Teleport))
   end
   def Item_Teleport
       SceneManager.call(Scene_Teleport)
   end
end   
作者: 358429534    时间: 2012-8-17 21:44
御之嵐 发表于 2012-8-17 21:39
原腳本
class Window_MenuCommand < Window_Command  
  alias itemSynthesis_add_main_commands add_mai ...

小白再请教就是要添加2个以上指令要如何做???谢谢!
作者: 御之嵐    时间: 2012-8-17 21:46
358429534 发表于 2012-8-17 21:44
小白再请教就是要添加2个以上指令要如何做???谢谢!

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 指令一
  3.   #--------------------------------------------------------------------------
  4. class Window_MenuCommand < Window_Command  
  5.   alias itemSynthesis_add_main_commands add_main_commands
  6.   def add_main_commands
  7.       itemSynthesis_add_main_commands
  8.       add_command("合成", :ItemSynthesis, main_commands_enabled)
  9.   end
  10. end   
  11. class Scene_Menu < Scene_MenuBase
  12.    alias itemSynthesis_create_command_window create_command_window
  13.    def create_command_window
  14.        itemSynthesis_create_command_window  
  15.        @command_window.set_handler(:ItemSynthesis,     method(:Item_Synthesis))
  16.    end
  17.    def Item_Synthesis
  18.        SceneManager.call(Scene_ItemSynthesis)
  19.    end
  20. end
  21.  
  22. #--------------------------------------------------------------------------
  23.   # ● 指令二
  24.   #--------------------------------------------------------------------------
  25. class Window_MenuCommand < Window_Command  
  26.   alias itemSynthesis_add_main_commands add_main_commands
  27.   def add_main_commands
  28.       itemSynthesis_add_main_commands
  29.       add_command("合成", :ItemSynthesis, main_commands_enabled)
  30.   end
  31. end   
  32. class Scene_Menu < Scene_MenuBase
  33.    alias itemSynthesis_create_command_window create_command_window
  34.    def create_command_window
  35.        itemSynthesis_create_command_window  
  36.        @command_window.set_handler(:ItemSynthesis,     method(:Item_Synthesis))
  37.    end
  38.    def Item_Synthesis
  39.        SceneManager.call(Scene_ItemSynthesis)
  40.    end
  41. end



要幾個 就弄幾個
他依序排下來的


作者: 358429534    时间: 2012-8-17 21:58
御之嵐 发表于 2012-8-17 21:46
#--------------------------------------------------------------------------
  # ● 指令一
  #-- ...

謝謝!你!冒犯問一句是在大陸嗎?
作者: 1584927450    时间: 2012-8-17 22:16
这位兄弟编的脚本好像很有用,可否注译一下,我是个脚本盲。
作者: zhengnanren    时间: 2012-11-20 23:43
楼主你救了无数脚本盲的命啊!
作者: 创造达人    时间: 2012-11-21 00:38
楼主强大!!!
下载来试试




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