魔劍工舖

關於部落格
RPG製作大師XP腳本為主要更新

RPG製作大師VX腳本為其次更新

RPG製作大師VX_Ace目前不考慮

RPG製作大師MV腳本完全沒打算

留言完建議重新整理看看是否顯示

目前不處理本舖外腳本的相關問題

其他相關事項請觀看規定注意事項

本舖未來的經營計畫與VA的支援




var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-37462754-1']);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

  • 296198

    累積人氣

  • 10

    今日人氣

    0

    訂閱人氣

預設腳本BUG修正


   
RGSS(XP)
執行 [腳本] 事件指令,false會進入死循環的問題 
當使用事件指令[腳本]執行『false』或是任何可能會返回false的函數
並該腳本只有一行的時候會發生此問題,腳本只要有2行以上則不會觸發此問題
註釋:會發生問題
腳本:false

註釋:執行正常,並無發現問題
腳本:false
:  :false
問題發生時,會有重複的無限循環執行那個 [腳本] 事件,直到不符合觸發此問題的條件為止
由於事件執行一值卡在同個地方沒有繼續往下執行,導致事件一值無法執行完成
事件還在進行(除非並行處理),不然角色將無法移動而造成角色卡死的問題,其他事件移動則正常
修復方法:  
腳本「Interpreter 7」第275行附近發現以下腳本: 
if result == false
  # 結束
  return false
end

★將發現的腳本刪除或註釋化☆
至於為什麼預設腳本要設定這個腳本呢?只知道在腳本返回false的情況的時候
不會有立即執行下一個事件的舉動,例如可以做以下測試看看
腳本:$scene = Scene_Menu.new
戰鬥處理:幽靈*2
以上的 [腳本] 事件為呼叫選單畫面的腳本
但執行事件後發現是直接處發戰鬥,戰鬥完也沒跑出選單畫面
但如果改成這樣的話...
腳本:$scene = Scene_Menu.new
:  :false
戰鬥處理:幽靈*2
則就先開選單,然後當你將選單關閉之後,接著才會觸發戰鬥...
也就是說返回false主要是終止事件繼續執行下去,就能等選單先執行完後再執行戰鬥
當然如果你已經用了修復方法之後,在腳本最後加上『false』也就沒有這個效果了
不過說穿了,其實只要這樣,也是照樣能先開選單,在執行戰鬥...
腳本:$scene = Scene_Menu.new
◆等待:1 畫格
戰鬥處理:幽靈*2
  
事件 [條件分岐] 無法判斷角色是否裝備裝飾品問題 NEW 
條件分岐:[阿爾西斯] 為 [冰戒指] 裝備中
 ◆文章:已裝備
 ◆
除此以外的場合
 ◆文章:未裝備
 ◆
分岐結束
冰戒指為裝飾品裝備,執行以上事件後,可能會發現不管有沒有裝備冰戒指
[條件分岐] 一律判定不符合(也就是被判斷無裝備),所以執行時一直出現 未裝備 的部分
腳本「Interpreter 3」第226行附近發現以下腳本:  
result = (actor.armor1_id == @parameters[3] or
          actor.armor2_id == @parameters[3] or
          actor.armor3_id == @parameters[3])
actor.armor1_id代表該角色的盾部位;actor.armor2_id為頭部裝備;actor.armor3_id為身體裝備
但裡面中卻沒有actor.armor4_id,也就是該角色的裝飾品欄位判斷
所以就自行加個 actor.armor4_id 吧,差不多就是修改成這樣就行了
result = (actor.armor1_id == @parameters[3] or
          actor.armor2_id == @parameters[3] or
          actor.armor3_id == @parameters[3] or
          actor.armor4_id == @parameters[3])
然後就可以裝備冰戒指這個裝飾品,看看是否能成功執行出 已裝備 的執行內容
   
RTP行走圖圖片 026-Cleric02 的圖片問題 NEW  
來一個和腳本一點關係都沒有的BUG好了,問題其實不出在腳本或RM程式本身,是RTP
打開任一個可以選擇行走圖的地方(例如:資料庫→角色 或 事件圖片) 
看到預設提供給我們使用的圖片素材 026-Cleric02 這一張,有可能看到以下這張

注意看到第3排角色看的方向,是右右右左!!,很明顯4x3這個位置的行走圖塊是錯誤的
還和4x2位置的圖塊可說是完全一樣,所以可以大膽的推測....
當初官方設計時,是複製然後水平翻轉,但這一塊忘記反轉所導致的結果!!(偷說壞話中)  
原則上修正方法也很簡單,直接把那個圖塊水平翻轉即可,像以下這樣:

至於改正過後的圖本人建議是直接使用媒體庫裡的 匯入 功能到GraphicsCharacters
圖檔名稱可以不改,這樣他就會取代預設素材的那張繪製錯誤的圖片了
因為就算你修改預設素材(以下只稱RTP),雖然你測試的時候確實是正常的
但假設別人電腦中的RTP也有這種問題的話,結果當然還是繼續使用有錯誤的那張圖
所以強烈建議不管你的RTP是否有該問題,還是建議將正常的圖匯入至GraphicsCharacters中  
  
 
RGSS2(VX)
執行 [顯示動畫] 事件指令,動畫固定畫面位置顯示的問題 
不知道這是BUG還是VX的特色?! 不過對我而言來說不管怎麼看都不自然到認為是BUG阿~~
使用事件 [顯示動畫] 的時候,在播放動畫期間...
如果因行走或事件 [畫面滾動] 而導致畫面上的地圖滾動的話
會發現其實動畫是依據遊戲視窗固定在視窗上的,並不會跟著事件一起移動
原則上預設腳本是產生後就存在變量中固定,更新動畫位置的時候都採用同個變量(同個座標)
導致顯示在同個畫面上的位置的問題
可以透過以下方式來讓動畫依照事件或角色的畫面座標來顯示動畫,讓動畫跟隨顯示
腳本「Sprite_Base」第181行附近發現以下腳本: 
sprite.x = @animation_ox + cell_data[i, 1]
sprite.y = @animation_oy + cell_data[i, 2]
★修改成以下腳本☆
sprite.x = $game_temp.in_battle ? @animation_ox : @character.screen_x + cell_data[i, 1]
sprite.y = $game_temp.in_battle ? @animation_oy : @character.screen_y + cell_data[i, 2]
 
相簿設定
標籤設定
相簿狀態