約 1,702,610 件
https://w.atwiki.jp/skyrim_mod/pages/46.html
SkyUI MCMのチュートリアル SkyUI wiki https //github.com/schlangster/skyui/wiki Quick Start(SkyUI公式チュートリアル) https //github.com/schlangster/skyui/wiki/MCM-Quickstart API Reference(SkyUI公式レファレンス) https //github.com/schlangster/skyui/wiki/MCM-API-Reference SkyUI MCMのチュートリアルイントロダクション 準備 MCMの構造と流れ 実際に動くメニューを作る 作ったMCMを更新するとき イントロダクション Mod Configuration Menu (MCM)は名前の通りModの調整メニューを追加します。 これは自分自身でModのメニューをとりあえず作れるようになるためのチュートリアルです。 ある程度Papyrusに触ったことがある方向けです。最低限CK wikiのスクリプトチュートリアルは済ませましょう。 準備 SkyUI wikiからSkyUI SDKを入れます。 この解説はSkyUI SDK 3.1時のものです。基本的な流れは変わりません。 ダウンロードしたファイルを解凍してScriptフォルダをDataフォルダに入れます。 そしてSkyUI本体も入れておきます。 あなたのModのespをCKで開いてから、Object WindowからQuest項目を選びます。 右クリックしてNewを選択し新しくクエストを作ります。 Quest DataタブでIDを入力(例 aaaxxMCMQuest)。 Start Game Enabledはチェック、Run at onceはチェックを外す。 一旦OK押して閉じます。 再度作成したクエストを開いて、Quest Aliasタブを開きます。 右クリックしてNew Reference Aliasを選びます。 左上AliasにAliasの名前を入力(例:MCMPlayerAlias) Fill TypeをSpecific Referenceを選んで、Select Forced Referenceボタンを押します。 cellは(any)、RefはPlayerRef('Player')です。 次に画面右側Scripts欄のAddボタンを押します。 Filterにskiとうって検索を絞りSKI_PlayerLoadGameAliasを選びます。 これでAliasは終了ですのでAliasのウィンドウをOKして閉じます。 Scriptsタブを開いてAddボタンを押します。 newscriptを選んで、新しく名前をつけ(例:aaaxxMCMScript)、{Extendsを ski_configbase}にしてOKを押します。 スクリプトのウィンドウを一旦閉じて、Propertiesボタンを押します。 ModNameを選択してEdit Value。 ここにMod名を記載します。(例:Test) これで準備は整いました。 後は新しく作ったスクリプトに記述していきます。 MCMの構造と流れ 構造と流れさえ分かればそこまで難しくないです。 細かいことはさておき、手を動かしてみましょう。 Scriptname aaaxxMCMScript extends ski_configbase ;変数の定義 int ToggleTestID bool bToggleTest = true ;ページの設定 Event OnPageReset(string page) ToggleTestID = AddToggleOption("Test Toggle", bToggleTest) endEvent int function GetVersion() return 1 endFunction ;選択時の設定 Event OnOptionSelect(int option) if (option == ToggleTestID) bToggleTest = !bToggleTest SetToggleOptionValue(ToggleTestID, bToggleTest) If(bToggleTest) ; bToggleTestがtrueなら グローバル変数.SetValue(1) Else ; bToggleTestがそれ以外(false)なら グローバル変数.SetValue(0) EndIf endIf endEvent ;デフォルトの設定(Fキー押した時に呼び出されるイベント) Event OnOptionDefault(int option) If(option == ToggleTestID) if (!bToggleTest) bToggleTest = true SetToggleOptionValue(ToggleTestID, bToggleTest) ; グローバル変数.SetValue(1) endif EndIf EndEvent ;カーソルが乗った時に下に出るテキストの設定 Event OnOptionHighlight(int option) If(option == ToggleTestID) if (!bToggleTest) SetInfoText("Toggle this option on to activate the mod.") else SetInfoText("Toggle this option off to deactivate the mod.") endif EndIf EndEvent スクリプトを書いたらコンパイルしてからespを保存し、espをアクティブにして実際にゲーム内で確認してみましょう。 Escキーでメニューを開いて、システムタブのMod Configurationです。 例のとおりですとtestという項目があるのでそれを開いて確認してください。 ToggleTestを押しても実際には何にも効果がないのですが、とりあえずは表示できて動かせたと思います。 変数の定義(IDとMCM内の変数の2つ) OnPageResetにID = Add~Option()を書く Event OnOption~()内にif option == ID Set~OptionValue(ID,変数)でMCM上の数値をセットし、グローバル変数か何かで変更した値を渡す。 というのが基本的な流れです。 実際に動くメニューを作る 以下の機能を実装したいと思います。 時間変更をするスライダー 天候を晴れにする機能のキー設定変更 キルムーブのOn/Off キルムーブの確率 まず、天候機能を作ります。 Miscellanneous- Globalで右クリックしてNew、aaaWeatherKeyを作ります。 Short, Valueは199。 先ほどのメニューのクエスト(aaaxxMCMQuest)をDepulicateしてaaaWeatherQuestにします。 クエストのスクリプトを削除して新しくスクリプト(aaaxxWeatherScript)を作ります。 Scriptname aaaxxWeatherScript extends Quest int WeatherKey GlobalVariable property aaaWeatherKey auto Weather property SkyrimClear auto int function GetVersion() return 1 endFunction Event OnInit() RegisterKey() EndEvent Function RegisterKey() UnregisterForKey(WeatherKey) WeatherKey = aaaWeatherKey.GetValueInt() RegisterForKey(WeatherKey) EndFunction Event OnKeyDown(Int KeyCode) if (KeyCode == WeatherKey) SkyrimClear.ForceActive() endif EndEvent Property の設定を忘れないように。Auto-Fill Allで全部埋まります。 次にQuest Aliasタブを開いて、プレイヤーのAliasを開きます。 SKI_PlayerLoadGameAliasを削除して新しくスクリプトを作ります。 Scriptname aaaxxTestAliasScript extends ReferenceAlias aaaxxWeatherScript Property QuestScript Auto Event OnPlayerLoadGame() QuestScript.RegisterKey() EndEvent ロード時に登録したキーが消えるバグがあるので、OnPlayerLoadGame()でロード度にキーを登録し直します。aaaxxWeatherScriptのプロパティの登録を忘れずに。 天気の機能はコレで終わりです。 あとはMCMのスクリプトを書くだけです。 コードが長いけどもめげないこと。 Scriptname aaaxxMCMScript extends ski_configbase ;プロパティ aaaxxWeatherScript Property QuestScript Auto GlobalVariable Property KillMove auto GlobalVariable Property KillMoveRandom auto GlobalVariable Property GameHour auto GlobalVariable Property aaaWeatherKey auto ;変数の定義 int KillMoveActiveID int KillMoveRandomID int GameHourID int WeatherKeyID bool _KillMoveActive = true float _KillMoveRandom = 50.0 float _GameHour = 8.0 int _WeatherKey = 199 ;home key ; 初期化 Event OnConfigInit() EndEvent ;このMCMのバージョン int function GetVersion() return 1 endFunction ;ページの設定 Event OnPageReset(string page) SetCursorFillMode(TOP_TO_BOTTOM) AddHeaderOption("KillMove") KillMoveActiveID = AddToggleOption("KillMove", _KillMoveActive) KillMoveRandomID = AddSliderOption("KillMove Random", _KillMoveRandom, "Percent {0}") AddHeaderOption("Time") GameHourID = AddSliderOption("GameHour", _GameHour, "Hour {0}") AddHeaderOption("KeyConfig") WeatherKeyID = AddKeyMapOption("WeatherKey", _WeatherKey) endEvent ;選択時の設定 Event OnOptionSelect(int option) if (option == KillMoveActiveID) _KillMoveActive = !_KillMoveActive SetToggleOptionValue(KillMoveActiveID, _KillMoveActive) If(_KillMoveActive) KillMove.SetValue(1) Else KillMove.SetValue(0) EndIf endIf endEvent ;スライダー開いた時のイベント・設定 Event OnOptionSliderOpen(int option) if (option == KillMoveRandomID) SetSliderDialogStartValue(_KillMoveRandom) SetSliderDialogDefaultValue(50) SetSliderDialogRange(0, 100) SetSliderDialogInterval(1) elseif (option == GameHourID) SetSliderDialogStartValue(_GameHour) SetSliderDialogDefaultValue(8) SetSliderDialogRange(0, 24) SetSliderDialogInterval(1) endIf EndEvent Event OnOptionSliderAccept(int option, float value) if (option == KillMoveRandomID) _KillMoveRandom = value SetSliderOptionValue(KillMoveRandomID, _KillMoveRandom, "Percent {0}") KillMoveRandom.SetValue(_KillMoveRandom) elseif (option == GameHourID) _GameHour = value SetSliderOptionValue(GameHourID, _GameHour, "Hour {0}") GameHour.SetValue(_GameHour) endIf EndEvent Event OnOptionKeyMapChange(int option, int keyCode, string conflictControl, string conflictName) if (option == WeatherKeyID) _WeatherKey = keyCode SetKeyMapOptionValue(WeatherKeyID, _WeatherKey) aaaWeatherKey.SetValue(_WeatherKey) QuestScript.RegisterKey() ;キーの再登録が必要 endIf EndEvent ;デフォルトの設定(Fキー押した時の挙動) Event OnOptionDefault(int option) If(option == KillMoveActiveID) if (!_KillMoveActive) _KillMoveActive = true SetToggleOptionValue(KillMoveActiveID, _KillMoveActive) KillMove.SetValue(1) endif ElseIf(option == KillMoveRandomID) _KillMoveRandom = 50 SetSliderOptionValue(KillMoveRandomID, _KillMoveRandom, "Percent {0}") KillMoveRandom.SetValue(_KillMoveRandom) ElseIf(option == GameHourID) _GameHour = 8 SetSliderOptionValue(GameHourID, _GameHour, "Hour {0}") GameHour.SetValue(_GameHour) ElseIf(option == WeatherKeyID) _WeatherKey = 199 SetKeyMapOptionValue(WeatherKeyID, _WeatherKey) aaaWeatherKey.SetValue(_WeatherKey) EndIf EndEvent ;カーソルが乗った時に下に出るテキストの設定 Event OnOptionHighlight(int option) If(option == KillMoveActiveID) if (!_KillMoveActive) SetInfoText("Toggle this option on to activate killmove.") else SetInfoText("Toggle this option off to deactivate killmove.") endif Elseif(option == KillMoveRandomID) SetInfoText("Killmove random percent.") Elseif(option == GameHourID) SetInfoText("Set game hour.") Elseif(option == WeatherKeyID) SetInfoText("Set Weather Key.") EndIf EndEvent 例のごとくプロパティ登録を忘れずに。 注意すべき点は1スクリプトにつき、同一のイベントは一つまでなので、 イベント内でif (option == ID)で振り分けます。 作ったMCMを更新するとき int function GetVersion() return 2 endFunction returnのところの数値を整数で一つ上げます。ここの数値が変わったタイミングでOnUpdateVersion()のイベントが動くので、ここに追加項目(初期設定だとOnInit()に書く内容)を記載します。 例はキーとリストの追加。 Event OnUpdateVersion() DodgeKey = Input.GetMappedKey("Sprint") SetKeyMapOptionValue(keyID, DodgeKey) InputMethodList = new string[3] InputMethodList[0] = "DodgeKey/2Tap" InputMethodList[1] = "DodgeKey" InputMethodList[2] = "GamePad/2Tap" EndEvent
https://w.atwiki.jp/skyrim_mod/pages/79.html
UIの開発環境の構築ソフトウェア・ライブラリのダウンロードAdobe Flash CS6(Animate CCだとAS2非対応) SkyUIリソース FlashDevelop インストール パス設定 UIの開発環境の構築 ソフトウェア・ライブラリのダウンロード 本チュートリアルでのUI作成のためには以下のソフト・ファイルを使用します。 Adobe Flash CS6(Animate CCだとAS2非対応) Adobeのポリシー変更によりFlash CS6はダウンロードできなくなりました。 有料なので注意。Adobe CCにて1ヵ月のトライアル利用ができます。 https //www.adobe.com/jp/creativecloud/plans.html?promoid=NV3KR7S1 mv=other SkyUIリソース SkyUIのリソースには再利用を許可されているUI作成のためのライブラリ集があります。 これを利用して作成したMODを公開する場合はSkyUIチームのクレジット表記を必要とするので注意しましょう。 srcフォルダ内がUI作成のためのライブラリです。 https //github.com/schlangster/skyui FlashDevelop ActionScriptを記述するためのエディタです。 他に使ってるエディタがあるから別に良いという方は入れなくても大丈夫です。 http //www.flashdevelop.org/ インストール パス設定 Adobe Flash CS6はとりあえずインストールのみでOKです。 SkyUIリソースは展開後、適当な所に配置してください。 FlashDevelopは、SkyUIのライブラリのコンポーネントを入力候補として出すための初期設定を行う必要があります。 FlashDevelopをインストール後に開いたら[ツール]→[ソフトウェアをインストール]から、AS2 Templateをインストーします。 SkyrimのUIはActionScript2を利用するため、そのプロジェクトファイルを作成するために必要です。 次に、「新規プロジェクトを作成」からActionScript2の中の「Empty Project」を選びます。 名前と場所も適当に選びますが、SkyUIリソースを展開した場所に近い所がいいと思います。 今回はSkyUIのsrc以下の場所に新たにフォルダを作り、そこにプロジェクトを作成しています。 Authorも適当にした後、空のプロジェクトが出来上がります。 プロジェクト名のフォルダを右クリックし、[プロジェクト設定]を選びます。 [クラスパス]タブの[追加]から、skyui\src内のCLIKとCommonを選びます。 Referenceの中に「CLIK」と「Common」が追加されます。 プロジェクト名のフォルダを右クリックし、[新規作成]→[New Class]もしくは[New Interface]を選び、適当な名前をつけて新規asファイルを作成します。 「skyui.」などと入力し、References内のコンポーネントが予測として出てくればOKです。
https://w.atwiki.jp/mskyuki/pages/4.html
このウィキの使い方 ~4つのステップ~ ■ログインしてみよう! デザインを変えたり、サイト名を変えたりするためには、ログインしないといけないよ。 ログインの方法は、下の手順でログインしてみよう! わからない場合はこちらのページも参考にしてね。 画面の右上にある「ログイン」をクリック! ユーザ名に「mskyuki」、パスワードには、登録の時に設定したものを入力しよう。 画面の右上に「mskyuki」と表示されればログイン完了! ■サイト名を変更しよう! サイト名はどこから変えれるの?下の手順にそえばサイト名を変えれるよ! わからない場合はこちらのページも参考にしてね。 ログインしたら、右上にある「設定」をクリック! 表示されたページの左メニューにある、「基本設定」をクリックしよう! そうすると、一番上の「サイト名」と書かれた右側に、今のサイト名が書かれています。 ここを好きな名前に書き換えよう! 書き換え終わったら、一番下にある「設定変更」ボタンをクリック! 右上の 「(設定したサイト名)」へ戻る をクリックすると、サイト名が変わったことが確認できるよ! ■新しいページを作成しよう! 新しくページを作成するにはどうすればいいのか、下の手順にそってやってみよう! わからない場合はこちらのページも参考にしてね。 画面の左上にある「@メニュー」にマウスを持って行くと、さらにメニューが表示されます。 表示されたメニューから「新規ページ作成」をクリック! 表示されたページで、作りたいページの名前を入力して、 編集モードは 【初心者向け】ワープロモード を選択しよう。 真ん中の枠の中に、自由に書き込めるよ! 作り終わったら、「ページを保存」をクリックすれば、新しいページの作成は完了! ■このページを編集しよう! 最後に、このトップページを編集しよう! ページ編集の方法がわからない場合はこちらのページも参考にしてね。 左上にある「編集」にマウスを持って行くと、さらにメニューが表示されます。 表示されたメニューから「ページ編集」をクリック! 編集画面が表示されるので、自由に書き換えてみよう。 書き換え終わったら、「ページを保存」をクリックすれば、トップページの編集は完了! もし、wikiで議論する場や掲示板が欲しい場合は? @wikiの姉妹サービスである@chsをご利用ください。 登録はこちらから ← ここをクリックしてください。 分からないことは? @wiki ご利用ガイド よくある質問 無料で会員登録できるSNS内の@wiki助け合いコミュニティ @wiki更新情報 @wikiへのお問合せフォーム 等をご活用ください その他お勧めサービスについて 大容量1G、PHP/CGI、MySQL、FTPが使える無料ホームページは@PAGES 無料ブログ作成は@WORDをご利用ください 2ch型の無料掲示板は@chsをご利用ください フォーラム型の無料掲示板は@bbをご利用ください お絵かき掲示板は@paintをご利用ください その他の無料掲示板は@bbsをご利用ください 無料ソーシャルプロフィールサービス @flabo(アットフラボ) バグ・不具合を見つけたら? 要望がある場合は? お手数ですが、お問い合わせフォームからご連絡ください。
https://w.atwiki.jp/skyrimmodmatome/pages/15.html
目次 SkyUI UnofficialSkyrimPatch A Quality World Map - With Roads Alternate Start - Live Another Life SkyUI MODの設定をゲーム内で変えれるMCM機能搭載のUIMOD バニラのUIよりも使いやすいUIに変更される。 これを必須MODとしてるMODも多く単体で入れても便利なのでこれからMODで遊ぶ予定の人は入れるべきである。 SKSEが必須なためSKSEを導入しよう! 名前 コメント UnofficialSkyrimPatch 日本語化ファイル 日本語音声ファイル1 日本語音声ファイル2(1に上書き) Skyrimのバグ修正をするMOD なのだが 入れ方をまちがえるとかえってバグが増えてしまうためどうしても入れたい場合慎重に入れよう また英語版MODのため音声が英語になったりと日本語環境では問題点も多く Oblivionと比べてSkyrimは、バグも少ないため導入はおすすめしない 名前 コメント A Quality World Map - With Roads 地図に道が追加されるMOD 詳細は動画を見てもらえればわかるかもしれない。 名前 コメント Alternate Start - Live Another Life 日本語化ファイル ゲームの開始地点を変えることのできるMOD 選択肢によって持ち物や団体との友好関係が違う 名前 コメント
https://w.atwiki.jp/skyrim_mod/pages/80.html
UIを開く・閉じる前準備新規の編集ファイルを作成する フォルダ環境を整える クラスパスを設定する ボタンの作成ボタンとして扱うオブジェクトを配置する ボタンの説明をつける ムービークリップへの変換 ボタンのスクリプト作成スクリプトファイル作成 スクリプトファイルへの記述 コンパイル Mod環境の構築CKからUIを起動するMod環境を作る swfファイルの配置 動作確認 UIを開く・閉じる このチュートリアルではとりあえずSkyrim内で閉じるボタンを開いて、クリックしたらゲームに戻ることができるものを作ります。 ここでは以下の内容ができるようになります。 SkyUIのリソースを取り込んだ編集ファイルを構築する Action Scriptを利用したUI用オブジェクトを作成できるようにする UIをSkyrimのゲーム内で開く/閉じることができるようにする + Flash関連ファイル 本チュートリアルのFlashに関連するファイルを置いておきます。Adobe Flashを所持している方はこれ抜きでチュートリアルを進めても問題ありません。 ソフトを持ってなかったりするけど動作は見てみたい、というような方はご利用ください。 UIを開く・閉じるファイル ファイル名 説明 01test.fla Adobe Flashで開く編集ファイルです。 01test.swf コンパイルして作成した開く・閉じるインターフェースです。CKのスクリプトで読み込むことで開くことができます。 myButton.as 閉じるボタン用のスクリプトのソースです。 前準備 新規の編集ファイルを作成する Adobe Flash CS6を開いた後、ファイル→新規から新規ドキュメントの作成を行います。 幅と高さは1280x720、背景色は何でもいいですがSkyUIの状態に習って#333333にしておきます。 フォルダ環境を整える Flashの[ファイル]→[名前を付けて保存]から、新規ドキュメントを名前を付けて適当なフォルダに保存します。 ここでは保存先のフォルダは前準備で作成した00project、ファイル名は01test.flaとしています クラスパスを設定する Flashの[ファイル]→[ActionScript 設定]から、.asファイル(papyrusと同じようなスクリプトファイル)を読み込む場所を指定します。 SkyUIのライブラリや自分で作成する.asファイルを読み込ませるために必要な設定になります。 [+]ボタンでパスを追加し、skyuiの中のCommonとCLIKフォルダ及び、「.」「$(LocalData)/Classes」の4つを設定しましょう。 ここでは以下のように設定しています。 設定するパス 内容 ../Common skyui-master\src内にあったCommonフォルダ(相対パス) ../CLIK skyui-master\src内にあったCLIKフォルダ(相対パス) . 自身の.flaがあるフォルダ $(LocalData)/Classes ActionScriptのデフォルトフォルダ ボタンの作成 ここからはボタンの形の作成を行います。 ボタンとして扱うオブジェクトを配置する ツールバーから[矩形ツール]を選びます。 ツールバーがない場合は[ウィンドウ]→[ツール]で出てきます。 選んだ後は画面上に適当にクリック ドラッグを行い四角形を配置します。 ツールバーから[選択ツール]を選び、配置した四角形を選びます。 プロパティの所に「位置とサイズ」と「塗りと線」が表示されます。 プロパティがない場合は[ウィンドウ]→[プロパティ]で出てきます。 位置とサイズは選択中のオブジェクトの座標や大きさを変更できます。 大きさを整えて中央に設置するため、「位置とサイズ」を以下のようにしましょう。 パラメータ 値 内容 X 480 四角形のX座標(左上基準) Y 280 四角形のY座標(左上基準) W 320 箱の横幅 H 160 箱の縦幅 全体的な配置の確認は拡大率の所から見れます。 [ステージ全体を表示]を選べば1280x720の範囲をすべて確認できます。 次は[塗りと線]のところで、塗りつぶしの色を#00CCFFにします。 線は変更しません。 ボタンの説明をつける これでボタンとなるオブジェクトが配置されましたが、何のボタンか分からないので「Close」という文章を同時に表記しましょう。 ツールバーから[テキストツール]を選びます。プロパティの所に設定が出てきますが、以下の画像のようにします。 ボタンの上をクリックし、「Close」という文字を打ち込みます。 その後は[選択ツール]を選び、適当に真ん中あたりに文字を持っていきます。 ムービークリップへの変換 これでボタンとその説明ができましたが、この状態だとボタンの四角形と説明のテキストが1つのものとしてまとまっていません。 これらを合わせて1つのオブジェクトとして取り扱うため、ムービークリップというものに変換します。 [選択ツール]からクリック ドラッグで矩形とテキストの両方を選択した後、右クリック→[シンボルに変換]を選択します。 「シンボルに変換」ウィンドウが出てきますが、以下の画像のように設定します。 OKボタンを押したら四角形とテキストが1つのムービークリップとして扱われるようになります。 + ムービークリップについて ムービークリップとはテキストや図形、別のムービークリップといったものを合わせた1つのオブジェクトです。 CKでいうFormみたいなもので、例えばCKで武器1つを作るにしても「nifのモデル」や「名前」、「攻撃力」といったパラメータを1つにまとめて作ります。 そして作成された武器にはFormIDがついて、1つのオブジェクトとしてActorに持たせたり箱の中に入れたり、ということが可能になります。 Flashでも同じようにボタンを作るために「ボタンの形」「テキスト」というような物品を1つにまとめる必要があり、そのまとめた物体をムービークリップと呼びます。 こうしてまとめたムービークリップは、作成された武器をActorに持たせたり箱の中に入れたりするのと同様に、ドラッグ ドロップでステージ上に無数に配置できるようになります。 そして同じアイテムにしてもWeaponとかArmorとかMiscとかいろいろと区分がありますが、これらは元をたどるとすべてFormというオブジェクトから派生したものです。 Flashではこの「元となるオブジェクト」を「ムービークリップ」という名前で扱っています。 ※「シンボルに変換」ウィンドウの中で「種類」の選択肢に「ボタン」や「グラフィック」などがありますが、SkyrimのUIはすべて「ムービークリップ」を使います。 また、ムービークリップというオブジェクトに変換しないとActionScriptという、CKで言うPapyrusスクリプトみたいなものを関連付けることができません。 ムービークリップはCKの.pscのように外部ファイルにて関連付けができますが、外部ファイルにて関連付けられるスクリプトは1つのみで、「シンボルに変換」ウィンドウの「クラス」で設定した単語に「.as」拡張子を付けた物がスクリプトファイルになります。 ボタンのスクリプト作成 ここからはFlashは一度置いておいて、作成したボタンのムービークリップに対して、クリックされたときにゲームに戻る(swfを閉じる)スクリプトを関連付けます。 この作業はFlashは不要です。 スクリプトファイル作成 flashのファイルがあるフォルダ内に.asファイルを作成します。 ファイル名は先ほどの「シンボルに変換」ウィンドウの[クラス]の項目に記述した名前である必要があるため、「myButton.as」とします。 ここではFlashDevelopのmyProjectを右クリックし、[新規作成]から作成しています。 スクリプトファイルへの記述 スクリプトファイルへ以下の内容を記述します。 class myButton extends MovieClip { private var MENU_NAME String; public function myButton() { super(); MENU_NAME = "CustomMenu" } // @override MovieClip private function onLoad() { super.onLoad(); this.onPress = this.mousePressed; } private function mousePressed() { skse.CloseMenu(MENU_NAME); } } クラス名はmyButtonです。これはFlashで設定した[クラス]の項目と同じです。myButtonはムービークリップ型であるため、ムービークリップの性質を受け継ぐために「extends MovieClip」を付けています。 var MENU_NAME Stringは変数の宣言です。Papyrusと違い変数の宣言はAS2ではすべて「var 変数名」で行い、変数の型については後で「 型名」を付けます。 privateとpublicという名称は、その変数や関数が外部のスクリプト等から参照できるかどうかです。publicは参照可能、privateは参照不可になります。 関数の説明は以下のようになります。 関数名 説明 myButton クラス名と同じ名前の関数はコンストラクタといい、PapyrusのOnInit()と似たような動作をします。 onLoad コンストラクタとは違い「ステージ上にそのオブジェクトがインスタンス化(生成)されてから」動作するものです。onPressというのはムービークリップが持つイベントハンドラで、「クリックされたら」という挙動に対して、何の関数を実行するかを登録できます。今回はmousePressed関数を登録しています。 mousePressed ムービークリップが押されたときに動作する関数です。skyui\Common\skse.asで定義されているCloseMenu関数を実行しています。これは引数として指定した文字列に該当するメニューを閉じるもので、Papyrusスクリプトからオリジナルのメニューを開く場合は基本的に"CustomMenu"という名前で開くため、この名前のメニューを閉じるようにします。 + コンストラクタとonLoad コンストラクタを実行したときは、まだオブジェクトがインスタンス化されていない(画面上に表示されていない)状態にあります。 どういうことかというと、仮にコンストラクタに「this.onPress = this.mousePressed;」の記述をした場合、this(自分自身を指すインスタンス)がまだ存在していないためこの命令は失敗してしまいます。 onLoadはオブジェクトがインスタンス化された後で実行される関数なので、こちらの方で上記命令を実行した場合はthisがすでに存在しているため正常に動作します。 UIを作成するにあたり、この問題はよく発生すると思いますので注意しましょう。 コンパイル Flashのオブジェクトとスクリプトが出来上がったのでswfファイルを作成します。 Adobe Flashに戻り、[ファイル]→[パブリッシュ]を実行し、.flaファイルがある場所にswfファイルを出力します。 swfファイルの出力場所を変更する場合は[パブリッシュ設定]から場所を指定できます。 Mod環境の構築 swfファイルが完成したため、CKのPapyrusを用いてswfファイルを起動するModを作成します。 この例ではゲーム中に特定のキーを押したらUIを開くようにします。 UIに関するPapyrusの操作はSKSEが必要になります。 CKからUIを起動するMod環境を作る CKを起動し、Skyrim.esmをマスターファイルとして新規mod環境を作成します。 適当なQuestを作り、スクリプトとして以下の内容を追加します。 string property MENU_NAME = "CustomMenu" autoreadonly int property MENU_KEY = 210 autoreadonly Event OnInit() RegisterKey() EndEvent Function RegisterKey() RegisterForKey(MENU_KEY) EndFunction Event OnKeyDown(int KeyCode) if (KeyCode == MENU_KEY !UI.IsMenuOpen(MENU_NAME)) UI.OpenCustomMenu("01test", 0) endif EndEvent MENU_NAMEは自作メニュー名として設定される「CustomMenu」にします。 MENU_KEYは自作のメニューを開くためのキーコードです。今回は[Insert]キーに対応するキーコード210としています。 (キーコードはこちらから確認できます。) https //www.creationkit.com/index.php?title=Input_Script#DXScanCodes RegisterForKey関数で該当のキーが押された場合OnKeyDownイベントが呼び出されるようにします。 キーコードが[Insert]キーに該当するものであり、UI.IsMenuOpenでCustomMenuが開いていない状態であることを確認した後、UI.OpenCustomMenuによって01test.swfを呼び出します。 OpenCustomMenu関数は第一引数で開くファイルを指定しますが、拡張子を書く必要はないです。また第二引数は特に意味は無く、0で問題ありません。 swfファイルの配置 data\interface以下に作成した01test.swfを配置します。今回の例ではMOのmodsフォルダ以下にテスト用フォルダを構築しています。 画像では、5.1のespや諸々のスクリプトファイルも保存しています。 動作確認 作成Modを導入してゲームを起動後、[Insert]キーを押して動作を確認します。 Closeボタンが出現し、ボタンをクリックしてゲームに戻れば成功です。
https://w.atwiki.jp/skyrim_mod/pages/5.html
当wikiの記事 ポーズ・モーション作成 難易度☆ ツールが揃っておりもっとも簡単に成果が得られるので大変オススメです。Blender(最新版)に慣れるのに最適です。 武器作成 Nifファイル作成 CKでアイテムを登録 難易度☆☆☆ モデリングの中では簡単な武器制作のチュートリアルです。構造的にも簡単なピコピコハンマーを作ります。 GND.nif作成 難易度☆☆ 装備のインベントリや地面に置く時のメッシュ(GND.nif)の作り方です。 モデリングが出来てnif skopeがある程度扱えるのなら簡単です。 スクリプトmod製作 難易度☆☆ PapyrusのCK wikiチュートリアルを終えた段階で、じゃあ実際どう作っていけばいいのかをリアルな製作過程を追うことができます。 ゲーム設定の調整 難易度☆ まずはCKの使い方を慣れる上で、Settingを弄るだけでゲームに反映される楽しみを学びましょう。 SkyUI MCM 難易度☆ SkyUIのMCM(mod用コンフィグ画面)をスクリプトで作ります。 装備のBBP対応 難易度☆☆ 装備をBBP(乳揺れ)に対応させる方法です。 防具作成 Nexus wikiの防具記事の和訳。記事としてはやや古め未完なのでTシャツを作るを参照にしてください。 SM Eventを使ったRepeatQuest 外部リンク チュートリアルリンク集に移動
https://w.atwiki.jp/skyrim_mod/pages/2.html
最初に mod制作をはじめる前に Skyrim Special Edition MOD制作Tips CK Tips Nif Tips ファイルの種類 データ集 テクスチャ作成 スクリプト Papyrus入門 逆引きリファレンス Tips SKSEプラグイン チュートリアル ポーズ・モーション作成 鉛筆 / サイコロ / Tシャツ 武器作成 2 3 GND.nif作成 スクリプトmod製作 SkyUI MCM ゲーム設定の調整 装備のBBP対応 チュートリアルリンク集 ツール Blender Blenderで入出力 Blender入門 モデリング入門 Blender Tips Blenderリンク集 Blender アドオン その他 ENB Modの英語 Mod公開後のトラブル対策 リンク Creation Kit Wiki(2024年2月頃に事実上サイトが閲覧不可となっているため↓のクローンサイトを代わりに閲覧してください) Creation Kit Wiki by uesp(2021/12/1時点のクローンサイト) UESP Skyrim Textures.com Skyrim Wiki JP キャラメイクwiki 更新履歴 取得中です。 合計: - 今日: - 昨日: - メニュー編集
https://w.atwiki.jp/twitterbot/pages/396.html
tokyuinfo / 東急運行情報 Web 自己紹介 30分おきに運行情報をチェック、乱れがあったときだけお知らせ。(実験中BOT) 最近のつぶやき 新着記事は見つかりませんでした。
https://w.atwiki.jp/lifeisgame/pages/23.html
【~12/3】 Steamオータムセール開催中 ★5 http //engawa.2ch.net/test/read.cgi/poverty/1385767391/632 632 名前:番組の途中ですがアフィサイトへの転載は禁止です[sage] 投稿日:2013/11/30(土) 18 32 08.26 ID s7ZAfZvM0 ステマリムのUIは酷いよ あとFF14もびっくりのコピペ世界 面白くないとは言わないけど不満点も多い 637 名前:番組の途中ですがアフィサイトへの転載は禁止です[] 投稿日:2013/11/30(土) 18 36 32.34 ID S2R0keAv0 [10/10] 632 SkyUI必須 634 名前:番組の途中ですがアフィサイトへの転載は禁止です[] 投稿日:2013/11/30(土) 18 34 34.94 ID chxEajcf0 スカイリムは箱コン向けに作ったUIだから仕方ない メニュー関連はPC向けのmod居れた方が良い 636 名前:番組の途中ですがアフィサイトへの転載は禁止です[sage] 投稿日:2013/11/30(土) 18 35 40.43 ID JUZXHJFAP UIなんてMODでどうにかなるんだからマイナスポイントにはならん
https://w.atwiki.jp/skyrim_mod/pages/39.html
半角/全角で出せるコンソールに使うコマンド一覧です。 半角/全角だとやりにくいので右Shiftに変えるmodの使用をおすすめします。 Skyrim1.9対応 On-off console with Rshift(keyboard専用) コンソール一覧CK Wikiのコンソールコマンド一覧 Skyrim Wiki JPのコンソールコマンド一覧 UESPのコンソールコマンド一覧 スクリプトのリロード モーションの再生 モーションの再生その2グローバル変数の設定 変数を調べる コンソール一覧 CK Wikiのコンソールコマンド一覧 Skyrim Wiki JPのコンソールコマンド一覧 UESPのコンソールコマンド一覧 スクリプトのリロード スクリプトをリロードします。 ゲーム起動しながらCK上でスクリプトの編集- コンパイルしたあと、このコマンドで編集内容を反映出来ます。 シンタックス: reloadscript スクリプト名 クエストに付いているスクリプトでうまくいかないのがあるのでその時は以下のようにします。 reloadscript スクリプト名 stopquest クエスト名 startquest クエスト名 ※スクリプトのリロードするとSkyUIのMCMは使えなくなります。 モーションの再生 指定したターゲットにモーションを再生させます。 シンタックス: sendanimevent AnimEvent名 sae AnimEvent名 例: player.sae sneakstart Anim Event名はGamePlay - Animations - Anim Eventです。 モーションの再生には暗黙上の条件をクリアしている必要があります。 例えば、SprintStartなら前に走っている状態でないとうまく適用できません。 モーションの再生その2 シンタックス: PlayIdle Idle ID名 GamePlay - AnimationsのID名がIdleのID名です。 これもIdleの条件をクリアしている必要があります。 sendanimeventと違って当たり判定や移動量がちゃんと適用されます。 グローバル変数の設定 グローバル変数を設定出来ます。 シンタックス: set Global変数名 to 数値 例: set gamehour to 7 朝の7時になる。 変数を調べる オブジェクトに対してくりっくしてShowVarsを押すとそのオブジェクトが持っている変数、スクリプト、エイリアスを表示できます。