2015-08-28 509 views
-3

首先,我知道它已發佈,我已經看過大部分問題帖子,但我仍然不明白它是如何工作的。發生NoMethodError,未定義的方法爲零:NilClass

所以我得到的錯誤:

Script 'Terrain Tag Detection ~' line 115: NoMethodError occurred. 

undefined method '[]' for nil:NilClass 

我的「地形標籤檢測〜」腳本如下:http://pastebin.com/PUypTwJs(這裏不能正確粘貼代碼,並且是的,它是關於口袋妖怪)。

+0

問題尋求幫助調試必須包括所期望的行爲,*具體:

您可以在代碼中添加一個檢查像下面問題或錯誤,以及在問題本身**中重現它的最短代碼*。沒有**明確問題陳述**的問題對其他讀者無用。請參閱:[如何創建最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 –

回答

0

這意味着您的@map = WildPokemon.fetch($game_map.map_id)方法不會返回值並且您想要訪問@map變量。 (「爲什麼不是這個代碼工作的**?」)

@map = WildPokemon.fetch($game_map.map_id) 
if @map.present? 
    @enemy = @map[0][rand(@map[0].size)] 
    @level = @map[1][rand(@map[1].size)] 
end 
+0

主要問題是:腳本可以工作,但只有當map_id是001時才起作用。一旦數字發生變化,就會顯示錯誤。任何想法? – user3810170

+0

這意味着您沒有任何WildPokemon關聯其他map_ids –

+0

找到,修復和理解!謝謝! – user3810170