;=================================================================== ; ObMM Script for From2ch Lives v1.3.1 : Irrlicht ;=================================================================== ;------------------------------------------------------------------- ; ・日本語の使用は結構怪しいので注意。Script Editor上できちんと表示できれば大丈夫 ; ・コードの再利用はどうぞご自由に ;------------------------------------------------------------------- ;------------------------------------------------------------------- ;-------------------------------- ; お約束 ;-------------------------------- DontInstallAnyPlugins DontInstallAnyDataFiles ;------------------------------------------------------------------- ;-------------------------------- ; 準備:Check:ObMM Ver. ;-------------------------------- ; 必須確認 ; CopyPlugin 0.8.0以降。 ; OblivionNewerThan 0.8.9以降 ; SetVar 0.9.1以降 ; AllowRunOnLines 1.0.0以降 ; LoadEarly 1.1.11以降 ; LoadAfter 不明 If VersionLessThan 1.1.11 If DialogYesNo "お使いのバージョンのOblivion Mod Managerは最新ではない可能性があります。%NewLine%続行する場合はYes(はい)、キャンセルする場合はNo(いいえ)を選んで下さい", "Warning" ;do nothing Else Message "インストールがキャンセルされました" "Notice" FatalError EndIf EndIf ;------------------------------------------------------------------- ;-------------------------------- ; 準備:各種 ;-------------------------------- ; --- 変数 ; 言語 (0,1) = (EN, JA) SetVar FlagLang 0 ; 夫々のespのインストールFlag (0, 1) = (インストールしない, する) SetVar FlagInstallMain 0 SetVar FlagInstallMainBoss 0 SetVar FlagInstallAddonArmy 0 SetVar FlagInstallAddon117 0 SetVar FlagInstallAddonF2L 0 ; 夫々のespの不死属性Flag (0, 1) = (不死属性無, 有) SetVar FlagEssMain 0 ;SetVar FlagEssMainBoss 0 ;SetVar FlagEssAddonArmy 0 SetVar FlagEssAddon117 0 SetVar FlagEssAddonF2L 0 ; インストールするesp名を格納(表示用) ; VarInstallEsps ; インストールするespが存在するか SetVar FlagEspSelected 0 ; --- 複数行を可能にする AllowRunOnLines ;------------------------------------------------------------------- ;-------------------------------- ; 準備:Check:SI ;-------------------------------- ; SIのダミーesp If DataFileExists "DLCShiveringIsles.esp" ; do nothing Else Message "申し訳ありませんがFrom2ch Lives v1.3以降はSIが必要になっています。SI未導入環境では古いバージョンをお試し下さい" "Fatal Error" FatalError EndIf ;------------------------------------------------------------------- ;-------------------------------- ; 準備:Check:BP2ch ;-------------------------------- ; 本当はMBP++が必須だが、BP2ch-EdとMBP、MBP++の区別は出来ないのでこのチェックは不完全である If DataFileExists "Beautiful People 2ch-Ed.esm" ; do nothing Else If DialogYesNo "From2ch LivesはBeautiful People 2ch-Edが必要になっていますがあなたの環境には見つからないようです(Beautiful People 2ch-Ed.esm Not Found)。%NewLine%気にせず続行する場合はYes(はい)、キャンセルする場合はNo(いいえ)を選んで下さい", \ "Warning" ;do nothing Else Message "インストールがキャンセルされました" "Notice" FatalError EndIf EndIf ;------------------------------------------------------------------- ;-------------------------------- ; 選択:言語 ;-------------------------------- ; Case部分は文字列比較。よって文字化けの危険性がある日本語は使わない方が安全 Select "言語の選択(地名やNPC名が日本語か英語か)", \ "Japanese", \ "English" Case Japanese SetVar FlagLang 1 Break Case English SetVar FlagLang 0 Break Default Message "入力値が不正です" "Fatal Error" FatalError EndSelect ;------------------------------------------------------------------- ;-------------------------------- ; 選択:Main ;-------------------------------- SelectManyWithDescriptions "[Main] インストール選択 (複数選択可)", \ "From2ch Lives", \ "From2ch Livesのメインファイルです。Addonを導入したい場合はこれが必須となります", \ "From2ch Lives Boss", \ "複数のBossとダンジョンを追加します" Case From2ch Lives SetVar FlagInstallMain 1 SetVar FlagEspSelected 1 Break Case From2ch Lives Boss SetVar FlagInstallMainBoss 1 SetVar FlagEspSelected 1 Break EndSelect ;------------------------------------------------------------------- ;-------------------------------- ; 選択:Addon ;-------------------------------- ; Addonは全てFrom2ch LivesをMasterにしているのでFrom2ch Lives.espを入れない時はスルー If Equal %FlagInstallMain% 1 SelectManyWithDescriptions "[Addon] インストール選択 (複数選択可)", \ "Ta22's 01Army", \ "Cyrodiil各地に超強力なNPC(レベル100固定+チート装備)を追加します。AT2_01-Shiki_Armor_Setのv1.7以降が必要です", \ "117NPCs", \ "x117Raceで作ったNPC5人をICの商人宿に追加します。x117Race++が必要です", \ "F2LAddon", \ "Cyrodiilの各地の宿にNPCを追加します。" Case Ta22's 01Army SetVar FlagInstallAddonArmy 1 SetVar FlagEspSelected 1 Break Case 117NPCs SetVar FlagInstallAddon117 1 SetVar FlagEspSelected 1 Break Case F2LAddon SetVar FlagInstallAddonF2L 1 SetVar FlagEspSelected 1 Break EndSelect Else Message "AddonはFrom2ch Livesのメインファイルが必要です。From2ch Livesのメインファイルは選択されていないのでAddonの導入はスキップされます" "Notice" EndIf ;------------------------------------------------------------------- ;-------------------------------- ; Addonの要求するファイルの存在 ;-------------------------------- ; Ta22's 01ArmyはAT2_01-Shiki_Armor_Set_v1_7を必要とする。 ; リソースが有れば良いとの事なので、meshファイルの一つをチェックで判定 ; この方法ではAT2_01-Shiki_Armor_Setの導入チェックは出来るが、バージョンチェックまでは出来ない事に注意 ; (∵ v1.7より前のverでもチェック対象のmeshファイルは存在する為。v1.7以降に特有なファイルが有ればそれでチェックすると良いのだが) If Equal %FlagInstallAddonArmy% 1 If DataFileExists "Meshes\\armor\\ATYPE2\\AT2Type01Armor\\Upper06BodySuit.nif" ; do nothing Else If DialogYesNo "Ta22's 01ArmyはAT2_01-Shiki_Armor_Setのv1.7以降のリソースが必要になっていますがあなたの環境には見つからないようです。%NewLine%気にせず続行する場合はYes(はい)、キャンセルする場合はNo(いいえ)を選んで下さい", \ "Warning" Message "導入しているAT2_01-Shiki_Armor_Setのバージョンチェックは出来ないので各自確認しておいて下さい" "Notice" Else Message "インストールがキャンセルされました" "Notice" FatalError EndIf EndIf EndIf ; 117NPCsはx117Race++も必要 If Equal %FlagInstallAddon117% 1 If DataFileExists "x117race.esm" ; do nothing Else If DialogYesNo "117NPCsはx117Race++が必要になっていますがあなたの環境には見つからないようです(x117race.esm Not Found)。%NewLine%気にせず続行する場合はYes(はい)、キャンセルする場合はNo(いいえ)を選んで下さい", \ "Warning" ;do nothing Else Message "インストールがキャンセルされました" "Notice" FatalError EndIf EndIf EndIf ;------------------------------------------------------------------- ;-------------------------------- ; 選択:不死属性のSelectの作成と表示 ;-------------------------------- ; 不死属性版があるのはFrom2ch Lives.espとAddonのみ ; 即ち、From2ch Lives.espの導入の有無で切り分けられる ; ここのコードは慣れない人には分かりにくいと思う ; (選ばれるespはプレイヤーによって異なるので選択に応じてSelectの内容を作る事とExecLinesがキモ) If Equal %FlagInstallMain% 1 ; SetVar VarExecStringSelect "SelectMany \"不死属性版を導入する物を選んで下さい(複数選択可能)\", \"From2ch Lives\"" SetVar VarExecStringCases "Case From2ch Lives%NewLine%SetVar FlagEssMain 1%NewLine%" ; If Equal %FlagInstallAddon117% 1 SetVar VarExecStringSelect "%VarExecStringSelect%, \"117NPCs\"" SetVar VarExecStringCases "%VarExecStringCases%Case 117NPCs%NewLine%SetVar FlagEssAddon117 1%NewLine%" EndIf ; If Equal %FlagInstallAddonF2L% 1 SetVar VarExecStringSelect "%VarExecStringSelect%, \"F2LAddon\"" SetVar VarExecStringCases "%VarExecStringCases%Case F2LAddon%NewLine%SetVar FlagEssAddonF2L 1%NewLine%" EndIf ExecLines %VarExecStringSelect%%NewLine%%VarExecStringCases%%NewLine%EndSelect EndIf ;------------------------------------------------------------------- ;-------------------------------- ; インストールするものを表示 ;-------------------------------- ; インストールするESPが一つも選ばれて無い場合は終了 If Equal %FlagEspSelected% 0 Message "導入するファイルが選択されなかったので何もしないで終了します" "Notice" FatalError EndIf ; 言語 If Equal %FlagLang% 1 SetVar VarInstallEsps "言語:名詞日本語版%NewLine%%NewLine%" Else SetVar VarInstallEsps "言語:名詞英語版%NewLine%%NewLine%" EndIf ; From2ch Lives.esp If Equal %FlagInstallMain% 1 If Equal %FlagEssMain% 1 SetVar VarInstallEsps "%VarInstallEsps%Main:From2ch Lives.esp (不死属版)%NewLine%" Else SetVar VarInstallEsps "%VarInstallEsps%Main:From2ch Lives.esp%NewLine%" EndIf EndIf ; From2ch Lives Boss.esp If Equal %FlagInstallMainBoss% 1 SetVar VarInstallEsps "%VarInstallEsps%Main:From2ch Lives Boss.esp%NewLine%" EndIf ; Ta22's 01Army.esp If Equal %FlagInstallAddonArmy% 1 SetVar VarInstallEsps "%VarInstallEsps%Addon:Ta22's 01Army.esp%NewLine%" EndIf ; 117NPCs.esp If Equal %FlagInstallAddon117% 1 If Equal %FlagEssAddon117% 1 SetVar VarInstallEsps "%VarInstallEsps%Addon:117NPCs.esp (不死属版)%NewLine%" Else SetVar VarInstallEsps "%VarInstallEsps%Addon:117NPCs.esp%NewLine%" EndIf EndIf ; F2LAddon.esp If Equal %FlagInstallAddonF2L% 1 If Equal %FlagEssAddonF2L% 1 SetVar VarInstallEsps "%VarInstallEsps%Addon:F2LAddon.esp (不死属版)%NewLine%" Else SetVar VarInstallEsps "%VarInstallEsps%Addon:F2LAddon.esp%NewLine%" EndIf EndIf ;------------------------------------------------------------------- ;-------------------------------- ; 表示 ;-------------------------------- If DialogYesNo "以下のespファイルがインストールされます。%NewLine%実行する場合はYes(はい)、キャンセルする場合はNo(いいえ)を選んで下さい%NewLine%%NewLine%%VarInstallEsps%", \ "Install" ; do nothing Else Message "インストールがキャンセルされました" "Notice" FatalError EndIf ;------------------------------------------------------------------- ;-------------------------------- ; Install:ESP ;-------------------------------- ; 一応日本語pathも処理できるが、ObMMの日本語対応はそこはかとなく怪しいので ; 期待し過ぎず。 ; LoadAfter命令でFrom2ch Lives内のロードオーダーの整理もばっちし ; JA If Equal %FlagLang% 1 ; From2ch Lives.esp If Equal %FlagInstallMain% 1 If Equal %FlagEssMain% 1 CopyPlugin "_Main\\esp\\JPN\\不死\\From2ch Lives.esp" "From2ch Lives.esp" Else CopyPlugin "_Main\\esp\\JPN\\From2ch Lives.esp" "From2ch Lives.esp" EndIf EndIf ; From2ch Lives Boss.esp If Equal %FlagInstallMainBoss% 1 CopyPlugin "_Main\\esp\\JPN\\From2ch Lives Boss.esp" "From2ch Lives Boss.esp" EndIf ; Ta22's 01Army.esp If Equal %FlagInstallAddonArmy% 1 CopyPlugin "Addon\\01Army\\JPN\\Ta22's 01Army.esp" "Ta22's 01Army.esp" EndIf ; 117NPCs.esp If Equal %FlagInstallAddon117% 1 If Equal %FlagEssAddon117% 1 CopyPlugin "Addon\\117NPCs\\JPN\\不死\\117NPCs.esp" "117NPCs.esp" Else CopyPlugin "Addon\\117NPCs\\JPN\\117NPCs.esp" "117NPCs.esp" EndIf EndIf ; F2LAddon.esp If Equal %FlagInstallAddonF2L% 1 If Equal %FlagEssAddonF2L% 1 CopyPlugin "Addon\\New NPC Add\\JPN\\不死\\F2LAddon.esp" "F2LAddon.esp" Else CopyPlugin "Addon\\New NPC Add\\JPN\\F2LAddon.esp" "F2LAddon.esp" EndIf EndIf ; EN Else ; From2ch Lives.esp If Equal %FlagInstallMain% 1 If Equal %FlagEssMain% 1 CopyPlugin "_Main\\esp\\ENG\\不死\\From2ch Lives.esp" "From2ch Lives.esp" Else CopyPlugin "_Main\\esp\\ENG\\From2ch Lives.esp" "From2ch Lives.esp" EndIf EndIf ; From2ch Lives Boss.esp If Equal %FlagInstallMainBoss% 1 CopyPlugin "_Main\\esp\\ENG\\From2ch Lives Boss.esp" "From2ch Lives Boss.esp" EndIf ; Ta22's 01Army.esp If Equal %FlagInstallAddonArmy% 1 CopyPlugin "Addon\\01Army\\ENG\\Ta22's 01Army.esp" "Ta22's 01Army.esp" LoadAfter "From2ch Lives.esp" "Ta22's 01Army.esp" EndIf ; 117NPCs.esp If Equal %FlagInstallAddon117% 1 If Equal %FlagEssAddon117% 1 CopyPlugin "Addon\\117NPCs\\ENG\\不死\\117NPCs.esp" "117NPCs.esp" Else CopyPlugin "Addon\\117NPCs\\ENG\\117NPCs.esp" "117NPCs.esp" EndIf LoadAfter "From2ch Lives.esp" "117NPCs.esp" EndIf ; F2LAddon.esp If Equal %FlagInstallAddonF2L% 1 If Equal %FlagEssAddonF2L% 1 CopyPlugin "Addon\\New NPC Add\\ENG\\不死\\F2LAddon.esp" "F2LAddon.esp" Else CopyPlugin "Addon\\New NPC Add\\ENG\\F2LAddon.esp" "F2LAddon.esp" EndIf LoadAfter "From2ch Lives.esp" "F2LAddon.esp" EndIf EndIf ;------------------------------------------------------------------- ;-------------------------------- ; Install:DATA ;-------------------------------- CopyDataFolder "_Main\\Data\\Meshes" "Meshes" True CopyDataFolder "_Main\\Data\\Textures" "Textures" True ;------------------------------------------------------------------- ;-------------------------------- ; Install:その他 ;-------------------------------- ; CopyDataFolderはespファイルをスルーするので注意。 ; CopyPluginやCopyDataFileでもData以外には入れられないというエラーが出る ; この辺のおまけファイルはomodに入れるのではなく、別フォルダに格納し、 ; omodと一緒にアーカイブして配布パッケージにしちゃう方が無難かも ;CopyDataFolder "おまけ" "From2chLives\\おまけ" True ;CopyDataFolder "旧ファイルテキスト" "From2chLives\\旧ファイルテキスト" True ; readmeはomodに取り込まれるのでomdアーカイブ内には存在しなくなる ; ObMMからomodをEditするとomodに取り込まれたreadmeをomodアーカイブ内のtxtのどれかに置換するか ; 聞いてくるのでちめんどい(Noでよいが) ;CopyData "readme.txt" "readme.txt" ;CopyDataFile "超強ボスについて_HMOreadmeより.txt" "From2chLives\\超強ボスについて_HMOreadmeより.txt" ;CopyDataFile "統合に際して.txt" "From2chLives\\統合に際して.txt"