ikasabaが勝手に編集するRimWorldのwiki


はじめに

ここはMOD作製関連の情報をまとめておく処です。
基本的にMOD関連は自己責任です。出来そうにないなら諦めたほうが良いです。

共通の注意事項

  • xmlの編集はnotepadでも可能ですが適当なエディタを使った方が良いです。(サクラエディタ他)
  • MODの反映はゲームの再起動が必要です。面倒ですが立ち上げ直しましょう。
  • 文字コードはutf-8で保存しましょう。
  • 作業時はMODSフォルダに移行して行いましょう(適応しても更新で台無しになるので)
    SteamワークショップからサブスクライブしたMODの場所↓から
    C:\Program Files (x86)\Steam\steamapps\workshop\content\294100
    更新がかからないModsフォルダ(アップロード時に入れておく場所)↓へ
    C:\Program Files (x86)\Steam\steamapps\common\RimWorld\Mods


主要MODへの対応

主要MOD(ある程度メジャーな物)へのマイナーMOD対応させる記事
例)A Dog Said...(MOD)で出来る手術にShibainu(MOD)を加えたいとか

A Dog Said...

  1. 追加したい動物のdefNameを調べる
  2. Recipes_Surgery.xmlを開く
  3. <Husky>を探す
  4. <recipeUsers></recipeUsers>の間に書かれているのを見つけたらdefNameを追加する。
    わかりやすく画像だとこんな形
  5. 全ての個所に追加が終わったら保存する。

これでその追加動物への手術が可能になる。
必要でない箇所等も動物によってあるのでそこらへんは注意する事
主要MODへの対応

以下加筆uniinu

加筆ここまで

no hats化


例としてFashionRIMstaのfur hatをno hat化したいとする
  1. FashionRIMsta_Apparel.xmlを開く
  2. fur hatで検索をする
    <label>fur hat</label>と書いてある場所が見つかるはず
  3. その同一defName内に<worngraphicPath>Things/Pawn/Humanlike/Apparel/Hats/FSFurHat</worngraphicPath>を見つける
  4. <worngraphicPath></worngraphicPath>と言った形に中身を消してやる
  5. 保存
これで頭装備が非表示になる
no hats化手順

MOD作製

適当に情報かいつまんで自作MODと言い張るものを作る記事

気力が湧いたら作るかもしれない程度
MODの作り方

MODの構成

About MODの紹介
Defs MOD内のxml
Patches PatchOperationを使うときのフォルダ
Texture 画像
Language 多言語用翻訳ファイル
Assemblies DLL
Sounds 音

とりあえず作ってみよう

MODの作り方
参照
武器を作ってみる 今回はLongSword
難しいのを作ってみようコーナーは誰か頼んだ
MODフォルダを作る
C:\Program Files (x86)\Steam\steamapps\common\RimWorld\Mods
このアドレスの直下にMODフォルダを作る
なおデフォルトインストール時のアドレスなので各自でインストール先は違う場合があるから注意
About編集
MOD名フォルダ下にAboutフォルダを作成し以下のファイルを作る
  1. About.xml
  2. Preview.png(400px x 61px)

現在のフォルダ構成
About
   ・about.xml
   ・preview.png

About.xmlの中身はこんな感じ
  1. MODの名前
  2. 作成者の名前
  3. ワークショップ以外のアドレスとか
  4. MODを動かすバージョン
  5. MODの詳細について

バージョンはRimWorldを起動したら左上に表示されている
自分のプレーしているバージョンを記述しよう
preview.pngはMOD画面でMODを選択した際に表示される物
無くても問題はない
Defs編集 Core内を検索する
C:\Program Files (x86)\Steam\steamapps\common\RimWorld\Mods\Core\Defs内をLongSwordで検索する
ThingDefs_Misc/Weapons_Melee.xmlのMeleeWeapon_LongSwordが引っかかるのでフォルダごとコピーしWeapons_Melee.xml以外は削除

現在のフォルダ構成
About
   ・about.xml
   ・preview.png
Defs
   ThingDefs_Misc
      ・Weapons_Melee.xml
Defs編集 必要な項目だけ残そう
同xmlを開き3行目から<ThingDef ParentName="BaseMeleeWeapon_Sharp">が書いてある前の行までを削除する
削除後は<ThingDef ParentName="BaseMeleeWeapon_Sharp">から</ThingDefs>までとなる

Defs編集 固有名と表示名を変更しよう
<defName>MeleeWeapon_LongSword</defName>コレの中に書いてあるMeleeWeapon_LongSwordが
ロングソードを構築する固有名。固有名なので重複(Core内とMOD内)すると問題(上書き)が起きる為注意が必要
(<label>longsword</label>は表示される名前なのでこちらは重複しても構わない)

では固有名を適当に変える
今回は<defName>MeleeWeapon_Excalibur</defName>とする
(この変更によってMeleeWeapon_LongSword(コピー元)と別の物として認識される)

次に表示名を変える
<label>longsword</label>を<label>Excalibur</label>にする
Textures編集 画像を用意しよう
表示する画像を変更するサイズは128x128で作成し
Textures/Things/Item/Equipment/WeaponMeleeとフォルダを作りWeaponMeleeの下にExcalibur.pngを置く
(参照先なだけなのでここまで正確にする必要性はないが今後の為や後で見る人の為に構成は出来る限り本家を真似たほうが良い)

現在のフォルダ構成
About
   ・about.xml
   ・preview.png
Defs
   ThingDefs_Misc
      ・Weapons_Melee.xml
Textures
   Things
      Item
         Equipment
            WeaponMelee
               ・Excalibur.png
Defs編集 表示する画像を変更しよう
<texPath>Things/Item/Equipment/WeaponMelee/LongSword</texPath>の記述にある
LongSwordをExcaliburにする(Texturesは含まない点に注意)
確認
ここまで終わったらゲームを起動しMODを有効化する
最低限のMOD作成(内容としてはno hatsと大差はない)物としてはこれで終了
敵に持たせたくない場合
このままだと普通に敵も味方もこの武器を使う
よって一工夫入れる必要がある。
<weaponTags>
<li>Otakumelee</li>
</weaponTags>
この3行を<verbs>の上あたりに加えよう(どこでも良いけど独立させた形に)
Otakumeleeを装備する記述の派閥はバニラ環境にはないので
プレイヤー派閥だけが使用できるようになる。
別に<weaponTags><li></li></weaponTags>だけでも構わない(同様の効果)
Steamへアップしたい
作成したMODをSteamへアップロードするには
C:\Program Files (x86)\Steam\steamapps\common\RimWorld\Mods の下に該当のMODフォルダを置きます
次にSteamからゲームを起動しオプションから開発者モードにします
その後にMODメニューに入り、該当のMODを選択すると下の方にSteamにアップロードするボタンが現れます
ボタンを押すと本当に自分で作ったものか?と何度か聞かれますのでYESを押します
数回繰り返すと晴れてアップロードが完了します
公開設定、MODのタイトルと説明を記述しましょう
作ったMODを更新したい
Steamへ一度アップロードしたMODにはAboutフォルダの中にPublishedFileId.txtが生成されます
中に書かれているのがMOD固有のIDです。もし削除してしまった場合は同名のファイルを作り
中のIDを記入しましょう。IDの調べ方はSteam上のアドレスの後ろに書いてあります。(Steam上のMOD右クリックしてリンクをコピー)
後の手順は"Steamへアップしたい"とほぼ同じです
他のMODへの応用の流れ
基本的に流れは大体同じです
  1. 言語を英語にして起動し変更したい物の名称を調べる
  2. 調べた名称をCore/Defs内から探し出す
  3. 自分のMOD内にxmlとフォルダ構成をコピーする
  4. 編集する
  5. 確認
コレがxmlだけでMOD作る場合の流れです
誰かが作ったMODを元に作る場合も同じような流れになります
どうしても上手くいかない等はスレで聞くなりコメントで聞くなり
トップページに貼ってあるDiscordの雑談所にでも行って質問して下さい
素材別に色が変わるのを制御したい
通常のままですと素材を変えた際にその色に寄ってしまいます
graphicData内に<shaderType>CutoutComplex</shaderType>の記述をし
該当の物品名.pngがある場所に該当の物品名_backm.pngを用意します

RGB 0,0,0  は色の変化を行いたくない場所
RGB 248,0,0 は素材別の変化を行う場所
RGB 0,252,0 はベッド等で使用者変更がされる場所
衣服作成注意点
画像ファイルを用意する際
Fat Female Hulk Male Thinの体形別に作る必要があります
前、横、後ろも必要なので5x3とドロップ時の画像一個が必要になります
Dusterが衣服名だとした場合は命名はこんな感じになります

日本語訳MOD作製

Google先生頼みの翻訳文を適応したMODパッチを作る記事
自力で頑張るよりツールを使用したほうが楽なのでその解説

作成してどこかへアップした方へのお願い
更新予定が無いのでしたらabout内に改変等を認める旨を書いておいてくださると
後に続く翻訳製作者が助かります
  1. 翻訳ツールRimTrans からDLしてくる
  2. 解凍しRimTrans.exeを実行
  3. Add Modを押す
  4. デフォルトでModsフォルダの内部が表示される。翻訳したいMODを選択しJapaneseにチェックを入れる。
  5. Confirmを押す。最初の画面に戻る。
  6. Extractを押し、次の画面もExtractを押す。
  7. 黒い画面で色々やるのでPress any key to exit...と出たら画面を閉じる
  8. 翻訳したいMOD内にLanguages>Japanese>...とフォルダが続いているはずなので中のxmlを開く。
  9. 一行毎に<>と<>で囲まれている部分を日本語に訳す
    <Fireplace.label>ABCDE</Fireplace.label>だったらABCDE部分。
  10. 保存し終了

↓少し古いけど使い方動画
翻訳ファイル作成ツール使い方

以下加筆Proxyer

加筆ここまで

ver違い対策

日本語訳MODの対象verが古い時等に

やる事

  1. About.xmlを開く
  2. <targetVersion>を探す
  3. <targetVersion>バージョンの数字</targetVersion> バージョンの数字を書き換える。プレーしているゲームのバージョンはゲーム起動時に左上に書かれている
  4. 保存する
これで現行verのMODとして認識される

A17→B18(A18)への対応

XML関連
  • 「Defs」フォルダ内のXMLのルート要素を<Defs>にする必要がある
そうしないと、以下のようなエラーが出る
root element named X; should be named Defs
解決策:ルート要素<X>を<Defs>に変える

  • 要素名の大文字小文字を正しくする必要がある
そうしないと、以下のようなエラーが出る
Attempt to use string X to refer to field Y in type Z; xml tags are now case-sensitive.
解決策:DefのZ内にある要素名XをYに変える
DLL関連
  • 参照するDLL(Assembly-CSharp.dll)をB18のものに置き換える
コンパイルが通らない場合は、適宜ソースを編集する
メソッド名や引数が変わってたりするので、ILSpyでA17とB18のDLLを比較するのもアリ

専門的な事

動物MOD作成メモ

動物についての詳しい解説
動物MOD作成メモ

Assembly-CSharpのクラス

Assembly-CSharpについての詳しい解説
Assembly-CSharpのクラス

このページへのコメント

× 物品名_backm.png
〇 物品名m.png

物品名_south.png
→物品名_southm.png

「m」はマスクの頭文字

0
Posted by 名無し(ID:XHjHHnKGcw) 2020年04月19日(日) 13:17:41 返信

お役に立てて幸いです。意外と理由が判らない部分だと思われるので知ってしまえば引っかからないトラップみたいなものかと

最初はツールの紹介をしようかと思っていましたが、ここ最近翻訳Modを作ってる方が増えているので問題になりそうな部分から記述する事にしました。

2
Posted by  proxyer proxyer 2017年06月10日(土) 05:09:56 返信

コメント書き込んでも大丈夫…ですかね?

proxyerさん、ありがとうございます!凄く参考になりました!

ずっと黄色の文字は何なんだろ?特に異常もないし平気か。他の人の翻訳でもエラー出てるし…これが普通なのかなあと思い込んでたので、大変助かりました…!
やっぱりきちんとしたエディタでやるべきですね…。

0
Posted by 猫猫 2017年06月09日(金) 17:47:29 返信

アザース
もりもり本文変えちゃってokデスヨ

0
Posted by  ikasaba ikasaba 2017年06月09日(金) 13:18:06 返信

日本語化の注意点について、XML記述とエンコード形式の説明を加筆として+ボタンで展開できる形式で追加してみました。

1
Posted by  proxyer proxyer 2017年06月09日(金) 10:21:56 返信

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

メンバーのみ編集できます

メンバー募集!