約 2,130,835 件
https://w.atwiki.jp/neetogawa/pages/10.html
コメントプラグイン @wikiのwikiモードでは #comment() と入力することでコメントフォームを簡単に作成することができます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_60_ja.html たとえば、#comment() と入力すると以下のように表示されます。 名前 コメント
https://w.atwiki.jp/pdxbla/pages/50.html
2010年5月6日のタイトルアップデート内容 レガシーコントロール 左利き用コントロール 左右トリガー入れ替え 照準固定(台定):視点移動の際、一緒に動いていた照準を中心に固定 照準のエイム感度調整:エイム画面時(LT)の感度調整 ハードコアプレイリスト:レーダー、オートエイム、ハイライト無し。コンバットのみ ガンマ(明るさ)調整 第2武器モードリセット:復活後、死亡する前に第2武器モードで使用していた武器を拾った際、自動的に第1武器モードで始まる。 クイックメニュー操作が左右両方のスティックで可能に プレイヤーハンディキャップ:コンバット・シミュレータ(ローカル)でプレイヤーのハンディ設定が可能に 協力ミッション時、クライアント側プレイヤーも進行状況が記録されるようになった チャレンジ時、4人全員の進行状況が記録されるようになった(4台の360本体の1Pが4人の場合) 敵対ミッション時、ジョアンナ側プレイヤーがミッションをクリアすると、敵プレイヤー側の進行状況にも反映されるようになった 実績バグの修正(お手並み拝見,商売道具,敵なんて目じゃない) ラップトップガン自動機銃の攻撃弾数が1マガジンから所持弾数依存に変更 爆風発生時間がN64版の仕様に
https://w.atwiki.jp/gundamwar/pages/326.html
バカンスデート 概要 デートによって手札を大量にハンガーへと送る事でバカンスの効果を最大限に活かし、それによって得た膨大なカードアドバンテージによって勝利するデッキ。 フィニッシャーに第7次宇宙戦争とギンガナム襲来を採用したシュートタイプがポピュラーだが、破滅の終幕を使ってリセット後に勝つタイプや、普通のバルチャー破滅にこのギミックがタッチされているタイプなど、「デッキタイプ」と言うよりは様々なデッキに応用出来るギミックであると言える。 また、隠された翻意によりバカンスの為の捨て山を増やしつつ、同時にウィニーなどによる大ダメージを防御する赤茶の混色タイプも存在する。
https://w.atwiki.jp/ws_wiki/pages/9343.html
autolink() SG/W27-017 カード名:久々のデート 未来 カテゴリ:キャラクター 色:黄 レベル:0 コスト:0 トリガー:0 パワー:2500 ソウル:1 特徴:《音楽》? 【自】他のあなたの《音楽》?のキャラがアタックした時、そのターン中、このカードのパワーを+1000。 大きな声を出さないで レアリティ:C illust:
https://w.atwiki.jp/loveplus2ch/pages/34.html
デートエフェクト デートエフェクトとは、彼氏力が高いと発生する特別な効果です。ハートマークを一定以上の数に上げると発動する特殊なアビリティ。 デート中、常に左側画面で表示される。 能力はそれぞれ異なるが、巧く生かせばデートにおいて有効になりやすい。 アビリティ名 効果 条件 MAXハート 彼女の気分がアップ&失敗しても挽回可能(1回だけ?) 全部の彼氏力がハート2個以上 チャームアップ 気分アップ? 運動除く全ての彼氏力がハート2個以上 アクティブ スキンシップ前の人目チェックを失敗しても可能(1回だけ?) 知識除く全ての彼氏力がハート2個以上 二人の世界 周囲の視線が気にならなくなり、スキンシップがかなり成功しやすい 感性除く全ての彼氏力がハート2個以上 行き当たりばったり デートの行動が何個か増える 魅力除く全ての彼氏力がハート2個以上 「チャームアップ」ではないかな? -- 名無しさん (2009-09-13 12 41 51) チャームプラスじゃなくてチャームアップだね -- 名無しさん (2009-09-13 22 46 34) 行き当たりかアクティブかわすれたけど、視線満タンでタッチ失敗しても再度挑戦できたぞ -- 名無しさん (2009-09-14 22 41 00) ↑情報サンクス。アクティブで視線チェックのタッチ失敗で再挑戦できた。再挑戦成功後は直接キススキンシップに移行した。ハート2*3のアクティブだと失敗4回中最初の1回のみ再挑戦できた。 -- 名無しさん (2009-09-15 13 43 26) 場所はもしかして場所移動の時に断られない? -- 名無しさん (2009-09-16 23 49 46) ↑そりゃフィーリングが低いとかでは・・・? -- 名無しさん (2009-09-19 13 27 35) 行き当たりばったり付いてたけど普通に断られました。 -- 名無しさん (2009-09-30 22 58 09) アクティブでリフレインキス出ました -- 名無しさん (2009-11-01 05 57 29) 行き当たりばったりは、1カ所でのデートが終わったあと、連続で次の場所へデートへ行きやすいと思う。 -- 名無しさん (2009-11-01 12 18 19) maxハアトキスしやすかったです -- 名無しさん (2010-04-03 15 38 16) ここに書いていいかわからんが・・・デートやって終わる→即メール→愛花「あのね6時からって時間空いてる?会いたいな・・・なんて」 ちょwさっきデートしたばっかでしょwま・・・いいんだけどさw -- 名無しさん (2010-12-05 12 54 28) 行き当たりばったりで一回目デートスポット?(ラブプラスの中のpcのやつ)のところにいって2回目にもう一つのデートスポットに行けば一石二鳥です。 -- みき (2011-03-15 16 30 05) それな -- 名無しさん (2017-12-09 09 32 26) 名前 コメント
https://w.atwiki.jp/qukria/pages/55.html
アップデート情報アップデート方法 アップデート内容Ver.2.00(2012/04/11配信開始) Ver.3.00(2012/12/19配信開始) アップデート情報 不具合まとめはこちら アップデート後に不具合が出た場合はメーカーに報告しましょう。問い合わせ先:ゲーム公式ページ下部の「お問い合わせ」 アップデート方法 アップデートに必要なメモリースティックの空き容量、その他必要なもの、アップデートに際しての注意点等は公式サイトの案内を確認して下さい。 公式:本編アップデート方法について 公式:バージョン3.00へのアップデートについて アップデート内容 Ver.2.00(2012/04/11配信開始) ★主な仕様変更・調整箇所 結婚の際に夫婦の「姓」を選択できるように仕様変更 特別な試合などに専用BGM追加 ゲーム内演劇の役者扮装に神官、巫女、審判の特殊役職者も対応 武人や工芸家など特別職に選ばれる人の優先順位を調整 システム移住者の年齢が幅を持つように変更 家族食事後のPC拘束時間を軽減 ゲーム内の市場などで販売されている香水や工芸品の品揃えが、その国の工芸家が作製できるものと連動するように変更(アップデート前に入手できた品が店頭から消える場合があります) NPCの思考調整(アイテム購入基準など) 全般的なゲームバランス調整(妊娠確率・移住者来訪基準・寿命調整・魔獣の強さ・NPC命名規則など) ▼主な修正箇所 特別職就任時に新居に引っ越していく家族の範囲が不適切だった不具合を修正※赤ちゃんが取り残されたセーブデータをアップデート後にロードすると自動的に修復されます。ただし対象者が既に成人している場合は修復されません。 豊穣ブレッドが酒場で売れなかった不具合を修正 一部の料理がテーブルに置いて食べられなくなっていた不具合を修正 特定の条件下でPCがイベント参加やNPCと会話できなくなる不具合を修正 PCとNPCのデート待ち合わせ時にNPCが会話を適切に選べなくなる不具合を修正 エナ区など一部居住区にNPCが住まない不具合を修正 没年が死亡1年後に更新されてしまう不具合を修正 夜間でも昼間の窓が表示される一部建物の不具合を修正 赤ちゃんに間違った画像が表示される不具合を修正 服染め(赤)を使用すると茶髪の人の髪も赤くなる不具合を修正 移住確認画面を繰り返し表示すると画面表示がおかしくなる不具合を修正 移住者をPCとして受け入れた時に前PCの獲得知識を継承するように修正 オルルドからの移住確認画面で苗字が常に「オルルド」固定になる不具合を修正 移住用データファイル作成画面の一覧表示で適切なキャラクターが表示されない場合がある不具合を修正 誤字、誤表記の修正 Ver.3.00(2012/12/19配信開始) ★主な仕様変更・調整箇所 工芸家をPCからNPCに引き継ぐ際はPCの工芸家知識がNPCに継承されるよう変更 王および工芸家が新規移住してきた場合も技を持っているように変更 親の「髪型」が子供に遺伝しない場合もあるように変更 国民の名前が重複する頻度が低くなるように調整 親についてまわる小さな子どもがいても速やかに食事が始められるように調整 巫女および神官のデートを調整 ココイとラダがエサをもっと食べるように調整 ▼主な修正箇所 両親から子供に「目」の形が正常に遺伝しない不具合の修正 ネームプレートの長さがおかしくなる不具合の修正 メッセージ・会話などの誤字、文言修正
https://w.atwiki.jp/sinisekai/pages/4.html
アップデート情報 アップデート情報 Sin異世界より Version1.04 Sin異世界より Version1.03 Sin異世界より Version1.00 Sin異世界より Version0.99 Sin異世界より Version0.93 Sin異世界より Version0.85 Sin異世界より Version0.80 Sin異世界より Version0.79 Sin異世界より Version0.50 [部分編集] Sin異世界より Version1.04 ◆2019.11.03 アップデート情報 「すてーたす」に3キャラ分追加いたしました 「エドゥアール」、「ウェスタールンド」、「レダ」を追加しました 「めいんすとーりー」を微調整しました ボタンを変更しました その他、ブラッシュアップ 『Sin異世界より』PC版を公開しました 内容は、ブラウザゲームと一緒です Zip容量:289MB 今回は小規模アップデートになりますので、 Versionの変更は次回以降のアップデートに合わせます Sin異世界より Version1.03 ◆2019.10.19 アップデート情報 サイドストーリー『プランの憂鬱』を追加、公開しました 「めいんすとーりー」メニューにある「外伝」より選択できます プレイ時間はおおよそ10分程度です サイドストーリーメニューをリニューアルしました 新サイドストーリー追加に伴い、メニューを調整しました 『すてーたす』を追加しました 「プラン」、「シャプレー」、「ケフェウス」のステータスを公開 『スーパーアース編』『エドゥアール編』一部修正 一部誤字脱字を修正しました 若干のシナリオ修正しました 一部ルビを追加しました 『おぷしょん』から見られる『バージョン』の仕様変更しました アップデート情報をブログに統合しました。今後は利便性からブログにて告知致します また、LINEでもアップデート情報の配信もしていますので、ぜひご活用ください その他、ブラッシュアップ Sin異世界より Version1.00 ◆2019.10.13 アップデート情報 『エドゥアール編』クリア後特典を追加しました 「おぷしょん」から選択できます パスワードはエドゥアール編クリア後に表示されます 特典追加に伴い「秘密の部屋」は閉鎖しました 『スーパーアース編』の誤字脱字を修正しました 『スーパーアース編』のシナリオを若干修正追記しました Sin異世界より Version0.99 ◆2019.10.06 アップデート情報 『ウェスタールンド編』を公開完了しました プレイ時間約40分 ひとまず全てのストーリー公開完了ですが、まだ続きます 『ちゃぷたー』について 次回に追加します。暫くお待ちください ステータスを追加 現在は3人分のみです。今後追加します タイトル画面を調整、変更しました いくつかのシナリオを微修正および演出追加しました いくつかのシナリオにルビを振りました その他、今回ブラッシュアップ Sin異世界より Version0.93 ◆2019.09.28 アップデート情報 『エドゥアール編』のエピソードを追加公開しました プレイ時間+20分 これで『エドゥアール編』は全てになりますが 今後のアップデートで追加があるかもしれません 新エピソード公開に伴い、『ちゃぷたー』に一部追加 『ちゃぷたー』を微調整しました 今後『ちゃぷたー』の改良予定あります その他、細かいブラッシュアップ Sin異世界より Version0.85 ◆2019.9.15 アップデート情報 異世界・オリジンの『エドゥアール編』を一部公開しました 新エピソード追加の伴い『スタート』を変更しました エピソードに『エドゥアール編』を追加しました Edgeブラウザでの音動作を確認しました ⇒現在、スーパーアース編のみ対応 一部演出を変更 一部注意書きを追加 その他、細かいブラッシュアップ Sin異世界より Version0.80 ◆2019.9.13 アップデート情報 タイトル画面を変更しました エピソードのチャプターを追加および調整 誤字を修正 一部のシナリオ修正追加 『動作環境』ページを改定。見やすくしました 動作についての注意書きを追加 ボタンデザイン変更 Sin異世界より Version0.79 ◆2019.9.11 アップデート情報 外伝ストーリー『オリオンの憂鬱』を追加しました エピソードのチャプターを追加および調整 本編シナリオ一部修正 本編背景一部修正 メッセージウィンドウを読みやすさアップのため透過度を上げました アップデート情報を見やすさ重視に変更しました Sin異世界より Version0.50 ◆2019.9.1 アップデート情報 公開開始
https://w.atwiki.jp/mailtechnique/
不器用なメールしかうてない?! 恋愛,モテる,もてる男,メールテクニック,メールの仕方,デート メールは現代の男女関係に必須といえます。 苦手な男子が多くが器用にメールがうてるようになりたい男子も多いでしょう。 大学生、社会人にもいえますが、女性にメールする場合は注意することがいっぱいあります。 それに気がつかなければ、急にメールが返ってこなくなり音信不通になることも珍しくありません。 出会いを大事にしてもメールが下手だったり女の子の気持ちがわからなければ女性は離れていきます。 学校では教えてくれない恋愛を学ぶ! 男子のためのメールテクニック・女の子の心の気持ちを読めるようになりたい方は必見! 上手なメールがうてるようになれば、メールも楽しくなるでしょう。 NANPAの仕方、デートの誘い方までレクチャーします。 恋愛のエキスパートが指導します。 ※当HPの記事引用・画像転載・激似文章などの著作侵害を断固たる厳しく禁止します。 ©Copyright © 2010 . GRACY.N.C All Rights Reserved #bf #bf #bf
https://w.atwiki.jp/gijin-kareshi/pages/797.html
2017年6月30日のメンテナンスでガチャのリニューアルが行われ、 無料ガチャチケットはガチャチケットに変わりました No.2~55 2014年~2015年 No.56~108 2016年 No.109~160 2017年 No.109~160 2017年 番号 デートスポット 時季 デートチケット 入手アイテム 画像 部位 開催日 109 初詣 1月 3枚 無料ガチャチケット - 1月7日~1月8日 110 スノボー 1枚 - - - 1月14日~1月15日 111 カフェ 2枚 雪うさぎと彼 衣装 1月21日~1月22日 112 お家 2枚 可愛いゆきうさフレーム 体装飾 1月28日~1月29日 113 冬の滝 2月 3枚 無料ガチャチケット - 2月4日~2月5日 114 パワースポット 2枚 パステル男子 type1 衣装 2月11日~2月12日 115 2人の思い出 2枚 パステル男子 type2 衣装 2月18日~2月19日 116 とある1日…… 2枚 ふわもこマカロンフレーム 体装飾 2月25日~2月26日 117 食の祭典 3月 3枚 無料ガチャチケット - 3月4日~3月5日 118 人形博物館 1枚 デートチケット - 3月11日~3月12日 119 夜の春まつり 1枚 デートチケット - 3月18日~3月19日 120 お花見 1枚 デートチケット - 3月25日~3月26日 121 たけのこ狩り 4月 3枚 無料ガチャチケット - 4月1日~4月2日 122 プチバカンス 1枚 イベント君jr - 4月8日~4月9日 123 ゲームセンター 1枚 イベント君jr - 4月15日~4月16日 124 お寿司屋さん 1枚 イベント君jr - 4月22日~4月23日 125 病院 1枚 イベント君jr - 4月29日~4月30日 126 たんぽぽ畑 5月 3枚 無料ガチャチケット - 5月6日~5月7日 127 マラソン大会 1枚 イベント君jr - 5月13日~5月14日 128 アウトレット 1枚 イベント君jr - 5月20日~5月21日 129 ブックカフェ 1枚 イベント君jr - 5月27日~5月28日 130 ルームウェア専門店 6月 3枚 無料ガチャチケット - 6月3日~6月4日 131 映画鑑賞会 1枚 イベント君jr - 6月10日~6月11日 132 貸し切りプラネタリウム 1枚 イベント君jr - 6月17日~6月18日 133 さくらんぼ狩り 1枚 イベント君jr - 6月24日~6月25日 番号 デートスポット 時季 デートチケット 入手アイテム 画像 部位 開催日 134 カメラ散歩 7月 3枚 ガチャチケット - 7月1日~7月2日 135 真夏の遊園地 1枚 イベント君jr - 7月8日~7月9日 136 水着専門店 1枚 イベント君jr - 7月15日~7月16日 137 擬人海水浴場 1枚 イベント君jr - 7月22日~7月23日 138 ギジン座流星群 1枚 イベント君jr - 7月29日~7月30日 139 ロボット王国 8月 3枚 秘密の探検隊 type1 衣装 8月5日~8月6日 140 楽園温泉パーク 2枚 ネッシーとの遭遇 type1 背中装飾 8月12日~8月13日 141 ふれあい高原牧場 1枚 ガチャ補助チケット - 8月19日~8月20日 142 海浜花火大会 1枚 ガチャ補助チケット - 8月26日~8月27日 143 とある台風の1日… 9月 3枚 キラキラスパンコールスーツ type1 衣装 9月2日~9月3日 144 お団子パーティー 2枚 未知なるUFOとの遭遇 type1 体装飾 9月9日~9月10日 145 プライベート岩盤浴 1枚 ガチャ補助チケット - 9月16日~9月17日 146 和船乗船体験 1枚 ガチャ補助チケット - 9月23日~9月24日 147 夜の水族館 1枚 ガチャ補助チケット - 9月30日~10月1日 148 タコ焼きパーティー 10月 3枚 アイラブミート type1 衣装 10月7日~10月8日 149 秋服コーディネート 2枚 ジューシーステーキ type1 体装飾 10月14日~10月15日 150 紅葉サイクリング 1枚 ガチャ補助チケット - 10月21日~10月22日 151 擬人卸売市場 1枚 ガチャ補助チケット - 10月28日~10月29日 152 話題のフルーツパフェ専門店 11月 3枚 高貴なロングコート教師 type1 衣装 11月4日~11月5日 153 鍾乳洞探索 2枚 高貴なミニ帽子 type1 頭装飾 11月11日~11月12日 154 路地裏のお洒落なバー 1枚 ガチャ補助チケット - 11月18日~11月19日 155 擬人歌舞伎の公演 ガチャ補助チケット - 11月25日~11月26日 156 オーケストラコンサート 12月 3枚 噂の美味しいカレー屋さん type1 衣装 12月2日~12月3日 157 巨大観覧車 2枚 カレー屋さんの本日のオススメ type1 体装飾 12月9日~12月10日 158 キャンドルナイト 1枚 ガチャ補助チケット - 12月16日~12月17日 159 特別なクリスマス 1枚 ガチャ補助チケット - 12月23日~12月24日 160 何気ない夜の散歩 1枚 ガチャ補助チケット - 12月30日~12月31日
https://w.atwiki.jp/skyrim_mod/pages/81.html
ゲームとUI間でデータをやり取りする必要なオブジェクトを作る各オブジェクトの作成 ムービークリップへの変換 すべてをまとめて1つのムービークリップにする スクリプトファイルの作成nameAreaとsubmitButtonとcancelButton イベントの設定 そのほかの説明 コンパイル Mod環境の構築CKからUIを起動するMod環境を作る UI.InvokeString 補足:Invoke系の関数の種類と使い方 RegisterForModEventとOnSetName 動作確認 ゲームとUI間でデータをやり取りする このチュートリアルではSkyrimでのプレイヤー名をUI上で表示し、その名前を別のものに変更して承認ボタンを押したら、ゲーム内のプレイヤー名が変わるものを作ります。 ここでは以下の内容ができるようになります。 CLIKコンポーネントを利用する ゲームからUIにデータを送る UIからゲームにデータを送る + Flash関連ファイル 本チュートリアルのFlashに関連するファイルを置いておきます。Adobe Flashを所持している方はこれ抜きでチュートリアルを進めても問題ありません。 ソフトを持ってなかったりするけど動作は見てみたい、というような方はご利用ください。 ゲームとUI間でデータをやり取りする ファイル名 説明 02test.fla Adobe Flashで開く編集ファイルです。 02test.swf コンパイルして作成したデータやり取りのインターフェースです。CKのスクリプトで読み込むことで開くことができます。 MainPanel.as ゲームとUIのやり取りのためのASソースです。 必要なオブジェクトを作る Flashを用いて名前の入力域、名前変更を承認する「Submit」ボタン、名前の変更をキャンセルする「Cancel」ボタンを作ります。 画面では、黒い領域に「New name is ...」と表示し、下の「name」の所にプレイヤー名を表示します。 この「name」の領域はこちらの入力を受け付けるようにし、ここに名前を入力して「Submit」ボタンを押すことでプレイヤー名が変更できるという構造です。 ファイル・フォルダ構造について、制作者の環境ではプロジェクトのファイル名は02test.flaとし、「UIを開く・閉じる」のプロジェクトファイルと同じ場所に新しく02testフォルダを作成し、そこに保存しております。 各オブジェクトの作成 UIを開く・閉じるで行ったように、名前を表示する領域、承認ボタン、キャンセルボタンの3つのボタンを作成します。 必要なオブジェクトとテキストを配置します。 各設定パラメータは以下のようにしています。 名前領域・ボタンの位置/大きさ/色 名前領域 承認ボタン キャンセルボタン X 440 340 680 Y 200 400 400 W 400 260 260 H 160 120 120 塗りつぶし色 #000000 #CCCCCC #CCCCCC テキストのフォント/サイズ/入力可否 New name is... name Submit Cancel フォントファミリー MS UI Gothic サイズ 48.0 64.0 32.0 32.0 選択可否 false true false テキストエリアについて、選択可能かどうかは以下の画像の部分で設定します。グレーの状態が選択できる状態です。 名前を表示する場所(「name」としているテキストボックス)はユーザーが変更できるようにするため、選択可能な状態にしておきます。 名前を表示するテキストボックスは、 インスタンス名 の部分を「textField」にします。 ここのインスタンス名は絶対にこの名前である必要があります(理由は後述)。大文字小文字にも注意しましょう。 [埋め込み...]というボタンからフォントの埋め込みを行います。 Flash上で変更の可能性があるテキストボックスはswf自体にフォントを埋め込む必要があるようです。 文字の範囲について、「大文字」~「日本語 漢字」あたりまでチェックが入ればいいと思います。 ムービークリップへの変換 ①名前領域と②承認ボタンと③キャンセルボタンをそれぞれ別々のムービークリップとして変換します。 ここでは名前、識別子、クラスを以下のように設定します。 名前領域 承認ボタン キャンセルボタン 名前 NameArea SubmitButton CancelButton 識別子 クラス gfx.controls.TextInput gfx.controls.Button クラスの所がそれぞれ謎のテキストになっていますが、これはskyuiリソースに入っているCLIKフォルダ以下のパスを示しています。 名前領域はCLIK\gfx\controls\TextInput.as、ボタン二つはCLIK\gfx\controls\Button.asが適用されます。 + CLIKについて SkyUIの中に入っているCLIKフォルダには、Scaleformと呼ばれる「ゲーム内でFlashを用いたUIを運用するためのコンポーネント」に関するソースが入っています。 元々Flashはアニメーションを作るためのものであり、ゲーム用のUIとして活用するには色々と問題がありました。 そのためFlashのムービークリップを拡張してゲーム内でボタンやテキスト、スクロールバーのような構造を簡単に作ることができるようにしたのがScaleformのCLIKコンポーネントと呼ばれるものです。 また、SkyUIチームはこれらを拡張してSkyrim専用にしたソースを作成しており、それらはCommonフォルダに入っています。 ライブラリの項目に3つのムービークリップシンボルができていたらOKです。 すべてをまとめて1つのムービークリップにする ステージ上の3つのムービークリップについて、インスタンス名を以下のように設定します。 名前領域 nameArea 承認ボタン submitButton キャンセルボタン cancelButton この3つのムービークリップをすべて選択し、[シンボルへ変換]を実行して1つのムービークリップにします。 シンボルに変換ウィンドウの名前、識別子、クラスはすべてMainPanelにします。 また、これによって作成したムービークリップのインスタンス名はmainPanelにします。 こうする理由は、以降のスクリプトファイルの編集時に、MainPanel.asだけを用いて名前領域、承認ボタン、キャンセルボタンの3つを設定できるようにする。 スクリプトファイルの作成 スクリプトファイル「MainPanel.as」を作成し、以下の内容を記述します。 import gfx.controls.TextInput; import gfx.controls.Button; import Shared.GlobalFunc; class MainPanel extends MovieClip { /* PRIVATE Variables */ private var MENU_NAME String; /* SHORTEND Variables */ public var _optionText TextField; /* STAGE ELEMENTS */ public var nameArea TextInput; public var submitButton Button; public var cancelButton Button; public function MainPanel() { super(); MENU_NAME = "CustomMenu"; _optionText = nameArea.textField; } // @override MovieClip private function onLoad() { super.onLoad(); nameArea.addEventListener("focusIn", this, "startInput"); nameArea.addEventListener("focusOut", this, "endInput"); submitButton.addEventListener("click", this, "onSubmitPress"); cancelButton.addEventListener("click", this, "onCancelPress"); } private function startInput() { _optionText.type = "input"; Selection.setFocus(_optionText); Selection.setSelection(0,0); skse.AllowTextInput(true); } private function endInput() { _optionText.type = "dynamic"; skse.AllowTextInput(false); } private function onCancelPress() { skse.CloseMenu(MENU_NAME); } private function onSubmitPress() { if (_optionText.text != ""){ skse.SendModEvent("TEST_setName", _optionText.text); skse.CloseMenu(MENU_NAME); } } public function startMenu(name String) { GlobalFunc.MaintainTextFormat() _optionText.SetText(name); } } + ソースコードの説明 nameAreaとsubmitButtonとcancelButton 初見では混乱するかもしれませんが、コンストラクタやonLoadにおいて、nameAreaやsubmitButton、cancelButtonのオブジェクトを何の初期化もなしに扱っています。 これはFlashでステージ上に設置したオブジェクトに対して設定した インスタンス名 が関わっており、あそこで設定した名称と同じ名前の変数はそのオブジェクトのインスタンス化が予め行われている扱いになります。 MainPanelはNameAreaとSubmitButtonとCancelButtonの3つのムービークリップで構成されます。先ほどの設定にてこれらの3つのムービークリップはそれぞれnameArea、submitButton、cancelButtonというインスタンス名を付けました。 なのでMainPanel.as上では、nameAreaという変数は最初からNameAreaムービークリップのインスタンス化が済んでおり、これを用いることでステージ上に配置されたNameAreaを操作することができるのです。 同様にSubmitButtonとCancelButtonもすでにインスタンス化が済んだ状態でsubmitButton、cancelButtonという変数名で扱えます。 NameAreaのオブジェクト内で名前を表示する場所をtextFiledというインスタンス名にしたのもこれが関係しており、CLIK\gfx\controls\TextInput.asファイルではテキストを記述する領域を「textFiled」という変数名で取り扱っているため、名前を揃える必要がありました。 MainPanel.as内では、今後はnameArea.textFiledという形でプレイヤー名を表示する領域を参照したり代入したりすることができるようになります。 ただ、いちいち長い文章を書くのは面倒なので、コンストラクタで_optionTextという短い名前で扱うようにしています。 イベントの設定 nameArea、submitButton、cancelButtonはそれぞれaddEventListenerを実行していますが、これは「第一引数の名称のイベントが発生した場合、第三引数の関数を実行する」という仕組みを登録するためのCLIKコンポーネントが使えるメソッドです。 focusIn/focusOutは「テキストが入力状態になった/入力状態が解除された」、clickは「クリックされた」というイベントに対応しています。 どのようなイベントがあるかはこちらの「Topics in this section」から進んだところにある「Events」の項目で確認できます。 CLIKコンポーネントを利用する場合、onPressなどのAction Scriptのデフォルトのイベントハンドラは使わず、すべてaddEventListenerを使用します。 そのほかの説明 startInputとendInputは名前入力の開始、終わりに起動します。 テキストフィールドのtypeプロパティは「入力可能(input)」か「入力不可能(dynamic)」かを示します。 Selectionは「今選んているもの」に対してなんやかんやできるオブジェクトです。 setFocusはそのオブジェクトにフォーカスを当てます。テキストフィールドなら入力状態になります。 setSelectionは選択範囲のはじめと終わりを設定するものです。テキストフィールドなら「第一引数の文字目から第二引数の文字目までを選択する」という感じです。 skse.AllowTextInputはキーボードの状態をテキスト入力に対応させるかどうかです。これがtrueのままUIを終わらせた場合、ゲーム中でも「テキスト入力中」という扱いになり、キーボードによる行動が制限されます。 なのでフォーカスが外れた(入力が終了した)際にはAllowTextInputをfalseにする必要があります。 onSubmitPressとstartMenuはゲームとのデータのやり取りを行うための関数になっています。 Papyrusの構造も含めて説明が必要なため、これらの関数の役割は後述します。 コンパイル Flashからコンパイルを行い、.swfファイルを作成します。 Mod環境の構築 CKを用いてModを作成します。 CKからUIを起動するMod環境を作る UIを開く・閉じると同じように、新規mod環境を作成し、適当なQuestを作り、スクリプトとして以下の内容を追加します。 ;CONSTANTS string property MENU_NAME = "CustomMenu" AutoReadonly int property MENU_KEY = 210 AutoReadonly string property MENU_ROOT = "_root.mainPanel" AutoReadonly Event OnInit() RegisterKey() EndEvent Function OnGameReload() RegisterForModEvent("TEST_setName", "OnSetName") EndFunction Function RegisterKey() RegisterForKey(MENU_KEY) EndFunction Event OnKeyDown(int KeyCode) if (KeyCode == MENU_KEY !UI.IsMenuOpen(MENU_NAME)) UI.OpenCustomMenu("02test", 0) UI.InvokeString(MENU_NAME, MENU_ROOT + ".startMenu", Game.GetPlayer().GetBaseObject().GetName()) endif EndEvent Event OnSetName(string eventName, string strArg, float numArg, Form sender) Game.GetPlayer().GetBaseObject().SetName(strArg) EndEvent また、Aliasをプレイヤーで設定し、Aliasのスクリプトとして以下の内容を追加します。 aaaMyQuest Property QuestScript Auto ;「aaaMyQuest」はQuestのScriptとして追加したスクリプト名を使います。 Event OnInit() QuestScript.OnGameReload() EndEvent Event OnPlayerLoadGame() QuestScript.OnGameReload() EndEvent ここで注目するのはOnGameReloadで実行している「RegisterForModEvent」と、OnKeyDown内で実行している「UI.InvokeString」、そして「OnSetName」です。 ソースコードを見れば大体わかると思いますが、以下のような構造でゲームとUI上でデータのやりとりをしています。 + ソースコードの説明 UI.InvokeString UI.InvokeStringは、開いているUIに関係する.asに定義されている関数を、文字列を引数として実行することができます。 第一引数としてメニュー名、第二引数としてどの関数か、第三引数として送信する文字列を指定します。 第二引数で指定する関数はフルパスで指定する必要があります。 Flashにおけるオブジェクトは「_root」を基本とした階層構造になっており、Flashのステージ上に配置されたオブジェクトのインスタンス名を辿ることで目的の関数を指定します。 OpenCustomMenuにてUIの表示が完了した後(UIのインスタンスが作成し終えた後)、この関数を実行してStartMenuを起動、プレイヤーの名前を渡しているという構図です。 補足:Invoke系の関数の種類と使い方 InvokeStringの他にどのようなものがあるかは、ここで確認できます。 Invokeの後に型名があるものはその型を送信します。 末尾にAとついているものはその型の配列を送信します。 Invokeによって送信した値を.as上の関数で扱うには、関数の括弧内に適当に引数名を書けばその名前で受け取れます。 今回のケースではInvoke先のstartMenu関数は「name」という名前の引数としていますが、ここは別名でも問題ありません。 ただ、型を指定する( Stringなど)場合はInvoke〇〇関数で送信するデータの型と受け取るデータの型は一致させる必要があります Invoke関数で送信するデータ型に対応する.asでの型は以下の通りです。 使う関数 対応するActionScriptの型 InvokeBool Boolean InvokeInt Number InvokeFloat Number InvokeNumber Number InvokeString String Invoke〇〇A Array InvokeForm 不明 また、何も書かないということもできます。この場合、「arguments」という配列型に値が入り、以下のような感じで使用できます。 public function startMenu() { GlobalFunc.MaintainTextFormat() _optionText.SetText(arguments[0]); //Invokeで投げられた値はargumentsという配列型で使用 } RegisterForModEventとOnSetName RegisterForModEventはイベントによるコールバックを自分で登録することができる関数です。 第一引数としてイベント名を設定し、その名前のイベントが発生した場合に、第二引数の関数を実行します(関数も文字列として登録している点に注意しましょう)。 第二引数にて登録する関数の引数は、必ず「string、string、float、form」の引数を持っておく必要があります。 ここで実際に登録しているOnSetNameはこの4つの引数で動いていますね。 そして、「イベントの発生」をどう行うかというと、SendModEventという関数を使ってイベント実行を行います。 SendModEventは以下のように、イベント名とコールバック関数(登録した関数)に投げる引数を指定します。 SendModEvent("TEST_setName", strArg, numArg) さてこのSendModEventですが、これをまさにFlash側のMainPanel.asのonSubmitPressで使っている構図となっています。 Flash側にて承認ボタンが押された場合、onSubmitPress内のSendModEventが実行され、「TEST_setName」イベントを発生させつつコールバック関数に名前欄の記述内容を送信します。 そうしたらPapyrus側にてOnSetNameイベントが実行され、プレイヤーの名前に受け取った引数がセットされる、という形です。 ちなみにSendModEventで送信できる引数は文字列と数字だけです(配列も不可)。これはそれぞれコールバック用関数(今回はOnSetName)の第二引数と第三引数に格納されます。 文字列だけ送信したい場合やfloatだけ送信したい場合など、以下のような記述方法で対応できます。 SendModEvent("eventName", strArg) ;文字列のみ送信。numArgは省略可能 SendModEvent("eventName", NULL, numArg) ;数字のみ送信。文字列の送信はないのでNULLを指定 動作確認 作成したModを導入し、swfファイルも配置して動作を確認します。 UI表示時にプレイヤーの名前が出ており、そこを編集してSubmitボタンを押したらプレイヤー名が変更されていれば成功です。