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

Project1

 找回密码
 注册会员
搜索

求物品與技能的說明窗口腳本..拜託

查看数: 1863 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-11-4 23:07

正文摘要:

本帖最后由 RyanBern 于 2016-11-5 21:30 编辑 各位前輩好,請問有能給我能和這個腳本共存的物品與技能的說明窗口嗎? 原帖 腳本: RUBY 代码复制#================================ ...

回复

str342650 发表于 2016-11-23 23:36:12
泪的苍白 发表于 2016-11-22 22:39
会出现这种情况不是因为不共存,而是技能说明窗口的Z值太小了,导致窗口被盖住了。(Z值大的窗口显示在上面 ...

大大,我到我的幫助窗口腳本裡搜尋,找不到你說的那一段耶...

這是我用的幫助窗口:

  1. module Sword
  2. #=======================================
  3. #★ 魔劍工舖 - 跟隨型說明窗口(2)
  4. # http://blog.yam.com/a870053jjkj/article/26694783
  5. #=======================================
  6. =begin
  7. ● 所需腳本
  8. 魔劍工舖整合腳本:http://blog.yam.com/a870053jjkj/article/25751998
  9. 控制碼轉換:http://blog.yam.com/a870053jjkj/article/28082241
  10. ========================================
  11. ● 控制碼(可以使用「控制碼轉換」中的控制碼,並且本腳本在新增以下控制碼)
  12. \! : 該行控制碼之後內容為'0'、'0%'或沒內容時(換行為結尾),就清除該行
  13. =end
  14. #=======================================
  15. #● 功能設定
  16. S8_Width = 240 # 設定幫助窗口的寬度,當內容顯示不下也依此設置自動換行
  17. S8_XY = [30, 20] # 可以對跟隨窗口的 [X座標, Y座標] 進行些微調整
  18. #--------------------------------------------------------------
  19. #○ 幫助窗口顯示突破的處理設定
  20. #設置法1:S8_Location = 數值(數值選擇以下這些各有功能)
  21. #(0直接超出;1底部為限;2頂部為限;3底部移動;4頂部移動;5一律居中)
  22. #設置法2:S8_Location = [X座標, Y座標](自行指定顯示的位置)
  23. S8_Location = 1
  24. #--------------------------------------------------------------
  25. #○ 幫助窗口格式設定
  26. # 技能-------------------------------------------------------
  27. S8_Skill = '\FS[20]\C[6]\DA[name]\C[0]\FS[18]
  28. \DA[description]
  29. \C[192,224,255]威力:\C[0]\!\DA[power]
  30. \C[192,224,255]命中率:\C[0]\!\DA[hit]
  31. \C[192,224,255]攻擊力:\C[0]\!\DA[atk_f]%
  32. \C[192,224,255]力量:\C[0]\!\DA[str_f]%
  33. \C[192,244,255]靈巧:\C[0]\!\DA[dex_f]%
  34. \C[192,244,255]速度:\C[0]\!\DA[agi_f]%
  35. \C[192,224,255]迴避:\C[0]\!\DA[eva_f]%
  36. \C[192,224,255]屬性:\!\EF
  37. \C[192,224,255]狀態:\!\SS'
  38. # 物品-------------------------------------------------------
  39. S8_Item = '\FS[20]\C[6]\DA[name]\C[0]\FS[18]
  40. \DA[description]
  41. \C[192,224,255]使用目標:\C[0]\SC[\DA[scope]]
  42. \C[192,224,255]\TY[\DA[parameter_type]]\C[0]+\!\DA[parameter_points]
  43. \C[192,224,255]HP恢復率:\C[50]\!\DA[recover_hp_rate]%
  44. \C[192,224,255]HP恢復量:\C[0]\!\DA[recover_hp]
  45. \C[192,224,255]SP恢復率:\C[0]\!\DA[recover_sp_rate]%
  46. \C[192,224,255]SP恢復量:\C[0]\!\DA[recover_sp]
  47. \C[192,244,255]命中率:\C[0]\!\DA[hit]%
  48. \C[192,224,255]屬性:\!\EF
  49. \C[192,224,255]狀態:\!\SS
  50. \C[192,224,255]販賣價格:\C[0]\!\DA[price]'
  51. # 武器-------------------------------------------------------
  52. S8_Weapon = '\FS[20]\C[6]\DA[name]\C[0]\FS[18]
  53. \DA[description]
  54. \C[192,224,255]攻擊力:\C[100]\!\DA[atk]
  55. \C[192,224,255]物理防禦:\C[0]\!\DA[pdef]
  56. \C[192,224,255]魔法防禦:\C[0]\!\DA[mdef]
  57. \C[192,224,255]力量:\C[0]\!\DA[str_plus]
  58. \C[192,244,255]靈巧:\C[0]\!\DA[dex_plus]
  59. \C[192,244,255]速度:\C[0]\!\DA[agi_plus]
  60. \C[192,244,255]魔力:\C[0]\!\DA[int_plus]
  61. \C[192,224,255]屬性:\!\EF
  62. \C[192,224,255]狀態:\!\SS
  63. \C[192,224,255]販賣價格:\C[1000]\!\DA[price]'
  64. # 防具-------------------------------------------------------
  65. S8_Armor = '\FS[20]\C[6]\DA[name]\C[0]\FS[18]
  66. \DA[description]
  67. \C[192,224,255]附加狀態:\C[0]\!\TN[\DA[auto_state_id]]
  68. \C[192,224,255]物理防禦:\C[0]\!\DA[pdef]
  69. \C[192,224,255]魔法防禦:\C[0]\!\DA[mdef]
  70. \C[192,224,255]力量:\C[0]\!\DA[str_plus]
  71. \C[192,244,255]靈巧:\C[0]\!\DA[dex_plus]
  72. \C[192,244,255]速度:\C[0]\!\DA[agi_plus]
  73. \C[192,244,255]魔力:\C[0]\!\DA[int_plus]
  74. \C[192,224,255]迴避:\C[0]\!\DA[eva]%
  75. \C[192,224,255]屬性免疫:\!\EF
  76. \C[192,224,255]狀態免疫:\!\SS
  77. \C[192,224,255]販賣價格:\C[0]\!\DA[price]'
  78. #=======================================
  79. #● 追加設定
  80. # S8_Complete
  81. #=======================================
  82.   BEGIN{$Sword ? $Sword[8] = 2 : $Sword = {8=>2}} # 腳本使用標誌
  83.   ($Sword_VX = defined?(RPG::Weather) ? false : true) if $Sword_VX.nil?
  84.   S8_Complete = $Sword[59] ? S59_Complete : false unless defined?(S8_Complete)
  85.   $Sword_F12_Error = {} unless $Sword_F12_Error # F12除錯標誌
  86. end
  87. #=======================================
  88. #■ 小型幫助窗口
  89. class WSword_Help < Window_Base
  90.   attr_writer(:top_row) # 開頭行數
  91.   attr_writer(:visible2) # 第2隱藏標誌
  92.   attr_writer(:use_text) # 設定採用的描繪內容
  93.   #-------------------------------------------------------------
  94.   #● 初始化物件(關連被顯示窗口, 資料)
  95.   def initialize(corelation, data)
  96.     @setting_wsword = Window_Base.new(0, 0, Sword::S8_Width, 33)
  97.     super(0, 0, 640, 480) ; self.contents = Bitmap.new(width - 32, height - 32)
  98.     self.opacity = 0 ; self.z = 155
  99.     @setting_wsword.z = 150 ; @setting_wsword.opacity = 150
  100.     @me_index = -1 # 儲存上次的位置
  101.     @corelation = corelation # 關連被顯示窗口
  102.     @visible2, @contrast = true, data.id
  103.     refresh(data)
  104.   end
  105.   #-------------------------------------------------------------
  106.   #● 更新內容(資料)
  107.   def refresh(data)
  108.     return unless data
  109.     if @use_text then text = @use_text # 採用其它
  110.     else
  111.       case data # 資料類型
  112.       when RPG::Skill ; text = Sword::S8_Skill.clone # 技能
  113.       when RPG::Item ; text = Sword::S8_Item.clone # 物品
  114.       when RPG::Weapon ; text = Sword::S8_Weapon.clone # 武器
  115.       when RPG::Armor ; text = Sword::S8_Armor.clone # 防具
  116.       end
  117.     end
  118.     $game_system.swordM_data = data # 對象資料
  119.     text = text.code_explain
  120.     text_array = text.split(/\n/) # 依照換行分解,確認每行底部內容之用
  121.     text = ''
  122.     text_array.each{|item| next if /\\\!0?%?\Z/ === item ; text += item + "\n"}
  123.     text.gsub!(/\\\!/){''} # 清空無用的\!控制碼
  124.     contents.clear
  125.     contents.blt(0, 0, text.bitmap_explain(Sword::S8_Width, 300){},
  126.     Rect.new(0, 0, Sword::S8_Width, 300))
  127.     @setting_wsword.height = $Sword46[0][1] - 24
  128.     place
  129.   end
  130.   #-------------------------------------------------------------
  131.   #● 更新窗口位置
  132.   def place
  133.     if Sword::S8_Complete
  134.       coord = Mouse.coord ; self.x, self.y = coord[0], coord[1]
  135.     else
  136.       self.x = @corelation.x + @corelation.cursor_rect.x + 16 + Sword::S8_XY[0]
  137.       self.y = @corelation.y + @corelation.cursor_rect.y + 16 + Sword::S8_XY[1]
  138.     end
  139.     if XPVX.height < @setting_wsword.y + @setting_wsword.height
  140.       case Sword::S8_Location
  141.       when Array # 指定座標
  142.         @setting_wsword.x = Sword::S8_Location[0]
  143.         @setting_wsword.y = Sword::S8_Location[1]
  144.         self.x = Sword::S8_Location[0] - 12 ; self.y = Sword::S8_Location[1] - 12
  145.       when 1 # 底部為限
  146.         @setting_wsword.y = XPVX.height - @setting_wsword.height
  147.         self.y = @setting_wsword.y - 12
  148.       when 2 # 頂部為限
  149.         @setting_wsword.y = 0 ; self.y = 12
  150.       when 3 # 底部移動
  151.         @setting_wsword.y += @setting_wsword.height
  152.         self.y += @setting_wsword.height
  153.       when 4 # 頂部移動
  154.         @setting_wsword.y -= @setting_wsword.height
  155.         self.y -= @setting_wsword.height
  156.       when 5 # 一律居中
  157.         @setting_wsword.x = (XPVX.width - @setting_wsword.width) / 2
  158.         @setting_wsword.y = (XPVX.height - @setting_wsword.height) / 2
  159.         self.x = @setting_wsword.x - 12 ; self.y = @setting_wsword.y - 12
  160.       end
  161.     end
  162.     #(self.x += 2 ; self.y += 2 ; @setting_wsword.height += 2) if Sword8_XPVX # VX顯示修正
  163.   end
  164.   #-------------------------------------------------------------
  165.   #● 變更X座標
  166.   def x=(x) ; @setting_wsword.x = x + 12 ; super ; end
  167.   #-------------------------------------------------------------
  168.   #● 變更Y座標
  169.   def y=(y) ; @setting_wsword.y = y + 12 ; super ; end
  170.   #-------------------------------------------------------------
  171.   #● 釋放窗口
  172.   def dispose ; @setting_wsword.dispose ; super ; end
  173.   #-------------------------------------------------------------
  174.   #● 隱藏窗口(隱藏標誌)
  175.   def visible=(s) ; @setting_wsword.visible = s ; super ; end
  176.   #-------------------------------------------------------------
  177.   #● 更新窗口(索引, 對象, 強制更新標誌)
  178.   def update(index, data, force = false)
  179.     self.visible = data ? @visible2 : false  # 如果沒有資料就隱藏窗口
  180.     place
  181.     return if @me_index == index && @contrast == data.id or ! data unless force
  182.     @me_index, @contrast = index, data.id ; refresh(data)
  183.   end
  184. end
  185. #=======================================
  186. #■ 物品窗口
  187. class Window_Item
  188.   #-------------------------------------------------------------
  189.   #● 初始化物件
  190.   alias sword8_initialize initialize
  191.   def initialize(*args)
  192.     $Sword_VX ? sword8_initialize(*args) : sword8_initialize
  193.     @help_wsword = WSword_Help.new(self, item)
  194.     @help_wsword.visible = false if $Sword_VX && $scene.is_a?(Scene_Equip)
  195.   end
  196.   #-------------------------------------------------------------
  197.   #● 更新窗口
  198.   alias sword8_update update unless $Sword_F12_Error[8]
  199.   def update
  200.     sword8_update
  201.     @help_wsword.top_row = top_row
  202.     @help_wsword.update(index, item)
  203.   end
  204.   #-------------------------------------------------------------
  205.   #● 釋放窗口
  206.   alias sword8_dispose dispose unless $Sword_F12_Error[8]
  207.   def dispose
  208.     sword8_dispose ; @help_wsword.dispose
  209.   end
  210.   #-------------------------------------------------------------
  211.   #● 窗口顯示狀態=(顯示標誌)
  212.   alias sword8_visible= visible= unless $Sword_F12_Error[8]
  213.   def visible=(visible)
  214.     @help_wsword.visible = @help_wsword.visible2 = visible
  215.     self.sword8_visible = visible
  216.   end
  217.   #-------------------------------------------------------------
  218.   #● 裝備壞面一開始隱藏跟隨型說明窗口
  219.   if $Sword_VX
  220.     def sword8_no_visible
  221.       @help_wsword.visible = false
  222.     end
  223.   end
  224. end
  225. #=======================================
  226. #■ 技能窗口
  227. class Window_Skill
  228.   #-------------------------------------------------------------
  229.   #● 初始化物件(角色編號)
  230.   alias sword8_initialize initialize
  231.   def initialize(*args)
  232.     $Sword_VX ? sword8_initialize(*args) : sword8_initialize(*args)
  233.     @help_wsword = WSword_Help.new(self, skill)
  234.   end
  235.   #-------------------------------------------------------------
  236.   #● 更新窗口
  237.   alias sword8_update update unless $Sword_F12_Error[8]
  238.   def update
  239.     sword8_update
  240.     @help_wsword.top_row = top_row
  241.     @help_wsword.update(index, skill)
  242.   end
  243.   #-------------------------------------------------------------
  244.   #● 釋放窗口
  245.   alias sword8_dispose dispose unless $Sword_F12_Error[8]
  246.   def dispose
  247.     sword8_dispose ; @help_wsword.dispose
  248.   end
  249.   #-------------------------------------------------------------
  250.   #● 窗口顯示狀態=(顯示標誌)
  251.   alias sword8_visible= visible= unless $Sword_F12_Error[8]
  252.   def visible=(visible)
  253.     @help_wsword.visible = @help_wsword.visible2 = visible
  254.     self.sword8_visible = visible
  255.   end
  256. end
  257. #=======================================
  258. #■ 購買窗口
  259. class Window_ShopBuy
  260.   #-------------------------------------------------------------
  261.   #● 初始化物件(商品資料)
  262.   alias sword8_initialize initialize
  263.   def initialize(*args)
  264.     sword8_initialize(*args)
  265.     @help_wsword = WSword_Help.new(self, item)
  266.   end
  267.   #-------------------------------------------------------------
  268.   #● 更新窗口
  269.   alias sword8_update update unless $Sword_F12_Error[8]
  270.   def update
  271.     sword8_update
  272.     @help_wsword.top_row = top_row
  273.     @help_wsword.update(index, item)
  274.   end
  275.   #-------------------------------------------------------------
  276.   #● 釋放窗口
  277.   alias sword8_dispose dispose unless $Sword_F12_Error[8]
  278.   def dispose
  279.     sword8_dispose ; @help_wsword.dispose
  280.   end
  281.   #-------------------------------------------------------------
  282.   #● 窗口顯示狀態=(顯示標誌)
  283.   alias sword8_visible= visible= unless $Sword_F12_Error[8]
  284.   def visible=(visible)
  285.     @help_wsword.visible = @help_wsword.visible2 = visible
  286.     self.sword8_visible = visible
  287.   end
  288. end
  289. #=======================================
  290. #■ 販賣窗口
  291. unless $Sword_VX
  292. class Window_ShopSell
  293.   #-------------------------------------------------------------
  294.   #● 初始化物件
  295.   alias sword8_initialize initialize
  296.   def initialize
  297.     sword8_initialize
  298.     @help_wsword = WSword_Help.new(self, item)
  299.   end
  300.   #-------------------------------------------------------------
  301.   #● 更新窗口
  302.   alias sword8_update update unless $Sword_F12_Error[8]
  303.   def update
  304.     sword8_update
  305.     @help_wsword.top_row = top_row
  306.     @help_wsword.update(index, item)
  307.   end
  308.   #-------------------------------------------------------------
  309.   #● 釋放窗口
  310.   alias sword8_dispose dispose unless $Sword_F12_Error[8]
  311.   def dispose
  312.     sword8_dispose ; @help_wsword.dispose
  313.   end
  314.   #-------------------------------------------------------------
  315.   #● 窗口顯示狀態=(顯示標誌)
  316.   alias sword8_visible= visible= unless $Sword_F12_Error[8]
  317.   def visible=(visible)
  318.     @help_wsword.visible = @help_wsword.visible2 = visible
  319.     self.sword8_visible = visible
  320.   end
  321. end end
  322. #=======================================
  323. #■ 目前裝備窗口
  324. eval("
  325. class #{$Sword_VX ? 'Window_Equip' : 'Window_EquipRight'}
  326.   #-------------------------------------------------------------
  327.   #● 初始化物件(角色)
  328.   alias sword8_initialize initialize
  329.   def initialize(*args)
  330.     sword8_initialize(*args)
  331.     @help_wsword = WSword_Help.new(self, item)
  332.   end
  333.   #-------------------------------------------------------------
  334.   #● 更新窗口
  335.   alias sword8_update update unless $Sword_F12_Error[8]
  336.   def update
  337.     sword8_update
  338.     @help_wsword.top_row = top_row
  339.     @help_wsword.update(index, item)
  340.   end
  341.   #-------------------------------------------------------------
  342.   #● 釋放窗口
  343.   alias sword8_dispose dispose unless $Sword_F12_Error[8]
  344.   def dispose
  345.     sword8_dispose ; @help_wsword.dispose
  346.   end
  347.   #-------------------------------------------------------------
  348.   #● 窗口顯示狀態=(顯示標誌)
  349.   alias sword8_visible= visible= unless $Sword_F12_Error[8]
  350.   def visible=(visible)
  351.     @help_wsword.visible = @help_wsword.visible2 = visible
  352.     self.sword8_visible = visible
  353.   end
  354. end")
  355. #=======================================
  356. #■ 選擇裝備窗口
  357. unless $Sword_VX
  358. class Window_EquipItem
  359.   #-------------------------------------------------------------
  360.   #● 初始化物件(角色, 裝備部位)
  361.   alias sword8_initialize initialize
  362.   def initialize(*args)
  363.     sword8_initialize(*args)
  364.     @help_wsword = WSword_Help.new(self, item)
  365.     @help_wsword.visible = false
  366.   end
  367.   #-------------------------------------------------------------
  368.   #● 更新窗口
  369.   alias sword8_update update unless $Sword_F12_Error[8]
  370.   def update
  371.     sword8_update
  372.     @help_wsword.top_row = top_row
  373.     @help_wsword.update(index, item)
  374.   end
  375.   #-------------------------------------------------------------
  376.   #● 釋放窗口
  377.   alias sword8_dispose dispose unless $Sword_F12_Error[8]
  378.   def dispose
  379.     sword8_dispose ; @help_wsword.dispose
  380.   end
  381.   #-------------------------------------------------------------
  382.   #● 窗口顯示狀態=(顯示標誌)
  383.   alias sword8_visible= visible= unless $Sword_F12_Error[8]
  384.   def visible=(visible)
  385.     @help_wsword.visible = @help_wsword.visible2 = visible if active and item
  386.     self.sword8_visible = visible
  387.   end
  388. end end
  389. #=======================================
  390. #■ 裝備畫面
  391. if $Sword_VX
  392. class Scene_Equip
  393.   #---------------------------------------------------------------
  394.   #● 創建可裝備窗口
  395.   alias sword8_create_item_windows create_item_windows
  396.   def create_item_windows
  397.     sword8_create_item_windows
  398.     (0...EQUIP_TYPE_MAX).each{|i| @item_windows[i].sword8_no_visible}
  399.   end
  400. end end
  401. $Sword_F12_Error[8] = true
复制代码

点评

把self.z = 155的155调大  发表于 2016-11-26 11:13
泪的苍白 发表于 2016-11-22 22:39:18
本帖最后由 泪的苍白 于 2016-11-22 22:41 编辑

会出现这种情况不是因为不共存,而是技能说明窗口的Z值太小了,导致窗口被盖住了。(Z值大的窗口显示在上面。)
你在你使用的帮助窗口(或者在脚本里搜Window_Help)
  1. class Window_Help < Window_Base
  2. #--------------------------------------------------------------------------
  3.   # ● 初始化对像
  4.   #--------------------------------------------------------------------------
  5.   def initialize
  6. super(x, x, x, x)
复制代码
的下面插一句self.z = 99990
这样应该可以了- -
另外:下次提问的时候记得把帮助脚本也一起贴上来><~那样别人才能更快地帮助你。

点评

能帮上忙就好XD  发表于 2016-11-26 11:17
大大有了,在我用個幫助窗口的第98行有個self.z = 155 我改成99990就好了,謝謝你,太感恩了  发表于 2016-11-24 21:26
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-14 16:42

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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