非プログラマのRen'Pyノート:エラーの種類&エラーメッセージの読み方
renpyは海外製なので、エラーメッセージも英語です。ちょこっと調べてみたものの、日本語化する方法は今の所ないみたいです(2023年1月現在)。
自分が知る限りエラーの出方は大きく以下の4つに分かれます。全種類は網羅できていませんが、頻出エラーをまとめてみました。
ちなみに、エラーメッセージの青色の部分がリンクになってるので、クリックすると当該箇所に飛べます。便利だ。
1.起動時にメッセージが出て起動できない
私が一番よく遭遇するのがこれ「スクリプトの変換に失敗しました」、英語がバーっと並ぶので戦慄しちゃいますが、こういう感じで表示されたときは、一番上の行を見ていただき、以下単語があればこのエラー、とうっすら覚えておくと焦らず対処できます。
〜Unexpected indentation at 〜:
文頭のスペースに誤りがある場合に出ます。
labelの前にはタブスペース要らない、一般のセリフとか命令文はタブスペースひとつ、ifとかmenu以下は階段状に、など色々なルールがあります。
〜Line is indented, but the preceding one-line python statement statement does not expect a block〜:
文頭にスペースが要らんとこに入ってる。
〜non-empty block〜:
これも文頭に入れるスペースが間違っているケース。
if節やmenuで出がちで、意味的には「空っぽのtabスペースが必要だよ」みたいな感じ。
〜twice at〜:
ゲーム中に一回しか使っちゃいけないような用語が2回以上書かれている。
label名とか定義周りに多いです。
2.ゲーム中にエラーメッセージが出て進行停止
冒頭が「例外が発生しました」というメッセージ。
一番多いのが、音楽ファイルが適切なフォルダに入ってないorファイル名を間違っていて、再生される直前にこのエラーが出る、というものです。起動時にはこのエラー出ないので、通して遊んでみる必要があります。
ちなみに、このタイプのエラーは「Full traceback」より「前」の最後の行にハッキリしたエラー内容が書いているのでそこに注目します。
〜Could'nt find〜:
適切なフォルダに適切な素材が入ってないorファイル名が間違っている
なお、同じ「ファイルがないorファイル名が間違っている」でも画像である場合このエラーは出ず、本項「3」のようにしれっと進行されます。
ちなみにrenpyでは「ファイル名は大文字と小文字が区別される」としか書かれていないのですが、大文字がファイル名に入ってると自分の場合(Macです)はこのエラーが確定で出ますので、ファイル名は何しか小文字で統一しています。
〜Exception: Unknown text tag〜
自分の場合はリンクを貼る際、urlの{a=http〜}のaの部分に日本語を入れた場合に再現しました。
SyntaxError: invalid syntax:
構文が間違ってる。構文がなんなのか分かりませんが、自分の場合はif分岐のとこの条件を重複して書いちゃったときに出ました。
3.エラーなんだが代替データでしれっと進行
一番多いのが、画像ファイルが適切なフォルダに入ってないとか、呼び出す画像名を間違えている、といったケース。謎の女子のシルエットがドーンと表示されてしまいます。
画像は、キャラだろうが顔グラだろうがボタンだろうが、何しかこの女子シルエットで代替されます。表示位置によっては画面外に吹っ飛んでて気づかないケースもあるので注意が必要です。
sceneの画像がない場合は背景がドーンとグレイになり、画面上部にファイル名が表示されるのですぐわかるかと思います。
4.エディタが立ち上がってなんか怒られる
ゲームを起動したままスクリプトファイルをごっそり入れ替えたとか、大元のフォルダ名を変更したといった場合に出がちです。
これはなんか割とかなりまずいエラーの類だという認識でいるので、大人しくバックアップしたデータまで戻るか、新しく進めたところを順に消していくかなどして解決しています。
この記事が気に入ったらサポートをしてみませんか?