2016-07-08 3 views
0

私は非常にコーディングすることができます。私は最近RPG Maker XPを使っていますが、何をする必要があるのか​​をグーグルで見つけ出しているほとんどの問題を解決することができましたが、答えが見つからないものが出てくるようです。スクリプト 'Game_Actor'行335(RPG Maker XPでコードが見つからないため、メニューを開くことができません)

私は完全に書き直すことができるように、データベースのクラスを削除しました(スクリプトの編集は不要です)。ゲームを終了して開くと、メニューを開くことができず、ゲームがシャットダウンしたこのエラーメッセージが表示されます。

スクリプト 'Game_Actor'行335:NoMethodErrorが発生しました。 'nil:NilClass'のメソッド 'name'が見つかりません。

私は「Game_Actor」ウィンドウの下にライン335を見て、これを見た:私が言ったように

return $data_classes[@class_id].name 

を、私は、コードについてほとんど知っているので、私は実際には何も悪いことを見ることができませんこれとともに。実際のスクリプトを書き直したり編集したりしていないので、スクリプトにどのように影響しているのか分かりません。 (私は原則について何も触れていませんでしたが、それを修正する方法はわかりません)

私は答えを探しましたが、残念ながらほとんどの人はAceやMVのようなRPGメーカーのそれ以降のバージョンを使用しているようです。彼らは答えがこの問題に関連していないほどXPとは異なっています。

誰かが正しい方向に私を指すことができる、またはこれを修正する方法を教えてもらえれば、私は非常に感謝します。私はこのプロジェクトで本当に大変な努力をしてきました。私はそれを廃止してやり直す必要はありません。

もう一度おねがいします!

+0

ゲーム全体を見る必要があります。長い時間がかかる場合は、メインファイルをGithubに投稿してください。 – JohnDoeYo

答えて

0

はBasicalyエラーメッセージが$data_classes[@class_id]nilであることサイス(と$data_classes[@class_id].nameが利用できない理由です)、あなたはそれがnilと理由となっている確認する必要があります。あなたのアプリのコードをもっと見せなければ、それ以上の助けが不可能なのではないかと恐れています(おそらく完全なコード)。

0

データベースで削除した「クラス」にコードがアクセスしようとしている可能性があります。私はあなたがデータベーステーブルを削除した、それは正しいですか?

エラーUnable to find method 'name' for nil:NilClass.は、コードがアクセスしようとしている変数nameが実際にはnilであることを意味します。このコードでは、代わりにオブジェクトが含まれていると想定しています。

外観から、$data_classes[@class_id]は、「クラス」の定義で満たされたハッシュです。それはある時点で満たされ、クラスを削除したので、クラスの定義を見つけることができません。

ここで重要な点は、削除したクラスが必要であることが分かっていることです。このハッシュ初期化が行われる前に、このクラスが他の場所で言及されていることを意味します。それは設定ファイルか別の 'クラス'にあるかもしれません。完全なコードを見ることなく、どこに正確に記述するのは難しいです。

この場所が見つからない場合は、削除したクラスを元に戻してください。不要なものはすべて削除してください。この方法では、クラス自体はまだ存在し、このエラーは発生しません。代わりにそのクラスに必要なものを追加することができます。

関連する問題