Noita Wiki
Advertisement

はじめに[]

まず、"Noita\tools_modding\READ_ME_FIRST.txt"を見つけてください。
READ_ME_FIRST.txtの指示に従い、"data_wak_unpack.bat"を実行すると最終的にNoitaのリソースが出力されたAppDataのフォルダが開きます。
"Noita\mods"フォルダに作成されたexample modと展開されたリソースを参考にmod作成を行ってください。


"data_wak_unpack.bat"と一緒にコピーした"noita_dev.exe"を実行することでログ出力ありのデバッグ環境で試すことができます。
メニューから"Mods (experimental)"を選択して、作成したmodを有効にして"Start a new game with mods active"を選択してください。


スクリプトはluaで書かれており、変数はXMLに保存されています。
modの作成には、luaの完全な理解が必要です。

基本情報[]

ファイル構成[]

最低限、mod.xmlが必要です。mods/mod_id/mod.xmlとなるように配置します。
mod.xmlに記載した内容がゲーム画面のMod選択時に表示されるテキストになります。
mod.xmlと同じディレクトリにinit.luaが存在する場合、実行されます。OnPlayerSpawned()などいくつかのイベント関数が定義されています。

mods/data/以下に配置されたファイルは、ゲームのデフォルトのファイルを上書きします。
主に画像ファイルや音楽ファイルなどを置き換えたいときに使用します。

"data_wak_unpack.bat"を実行した際に作成されるexample modや標準modのstarting_loadouts modを参考にしてください。


イベント定義[]

以下のイベントが定義されています。

  • function OnModPreInit()
  • function OnModInit()
  • function OnModPostInit()
  • function OnWorldInitialized()
  • function OnWorldPreUpdate()
  • function OnWorldPostUpdate()
  • function OnPlayerSpawned()

イベントは、ゲームを途中でセーブして再開するときなどに二重に呼ばれるのを防ぐために、適宜GameHasFlagRun・GameAddFlagRunを利用してください。

他ファイルを呼び出す[]

ゲーム標準の関数を呼び出したり、処理を複数ファイルに分割したりするために以下の関数が定義されています。

  • dofile
  • dofile_once

できるだけdofileよりdofile_onceを利用してください。


ルールを置き換える[]

変数の変更や属性の追加、関数の上書きを行うために以下の関数が定義されています。

  • ModDevGenerateSpriteUVsForDirectory
  • ModLuaFileAppend
  • ModMagicNumbersFileAdd
  • ModMaterialsFileAdd
  • ModRegisterAudioEventMappings

ModLuaFileAppend("data/scripts/a.lua", "mods/mod_id/scripts/b.lua")とすると、b.luaの内容がa.luaの最後に追記されます。


初心者向け[]

How to install mods

上級者向け[]

リソース[]

その他[]

カテゴリ:Modding Miscellaneous

Category:Lua_global_functions

外部リンク[]

Steam Modding Threads

GitHub Noita Topic

Noita Mod Workshop