【ティラノスクリプト】好感度など複数条件からイベント確定してアイコンをマップに表示するプロジェクト

ティラノスクリプト向けのサンプルプロジェクトを公開します。下記よりダウンロードいただけます。

http://portal.cameraliser.site/wp-content/uploads/map_iconview.zip

サンプル動画はこちら(見れない方はTwitterで)

初めてのコード公開、かつ、プログラム初心者ですので至らぬ点も多いプロジェクトとは思いますが、少しでも他の開発者様のお力になれれば幸いです。(コード内の説明書きが少ないかもしれません。すみません。)

利用した場合の報告は基本的に不要ですが「使ってゲームつくった」「参考にしてゲーム作った」と言う方はぜひご連絡いただけると、うれしいですし、完成したゲームを覗きに行かせていただくと思います。

【プロジェクトの概要】
NPCの好感度、ゲーム内時間などの条件から発生イベントを取得し、取得したイベントに設定されている画像(NPCのアイコンなど)をマップに表示できます。

恋愛シミュレーション等でマップ画面を使われる方々に参考にしていただける内容だと思います。

【動作確認環境】
・ティラノスクリプトv483
・ティラノライダーv220

【利用しているプラグイン】
・システムデザイン変換プラグイン(クール)(ティラノ公式)

【ご利用に関する注意点】
・当プロジェクトの再配布を禁止致します。
・当プロジェクトの自作発言はおやめください。
・ゲーム開発への組み込み、利用は自己責任にてお願いします。

ざっくりとした使い方

できる限りコード内にコメントは書いたのですが、プログラム初心者さんにはわかりにくいところもあると思いますので、不明なところあればツイッターでお問い合わせください。

インストールの仕方

① 回答したzipファイル(map_iconview)をティラノスクリプトのプロジェクトフォルダに格納するだけでOKです。

プロジェクト内の処理の流れ

ホントにざっくりな説明ですが、このプロジェクト内の処理の流れは下図のとおりです。

アイコンの変更

① マップに表示したいアイコンを以下のフォルダ内に格納します。(推奨画像サイズ45×45ピクセル)
map_iconview\data\image\mapicon
※画像サイズ45px意外にした場合は「mapselect.ks」のクリッカブルマップの有効範囲「width=”XX” height=”XX”」の部分を必ず変更してください。

② 格納したアイコンのファイル名を「scenario」フォルダの「initialize.ks」の「各NPCの初期好感度(15行目あたり)」に反映します。

③ 同じく、アイコンのファイル名やパスを 「scenario」フォルダの「function.ks」の「マップにアイコンを表示する(23行目あたり)」に反映します。

イベントの追加

① 「scenario」フォルダ内に「eventXX.ks(XXには半角で数字が入ります))」という名前でシナリオファイルを作成します。(このプロジェクトにはもともと14までサンプルが作成されています。)

② 追加したイベント番号を「scenario」フォルダ内の以下のファイルに追記していきます。

▼ initialize.ks イベント完了フラグ(37行目あたりから)

▼ initialize.ks 各シーンのメインとなるNPCを設定(54行目あたりから)

▼ event_list_area○○.ks
○○にはエリア番号が入ります。追加したイベントをエリア1で発生させる場合は「event_list_area1.ks」にイベントの発生条件を追記、エリア2で発生させる場合は「event_list_area2.ks」 」にイベントの発生条件を追記してください。

▼ jump_event.ks の *jump_area○○
○○にはエリア番号が入ります。追加したイベントをエリア1で発生させる場合は「*jump_area」に、エリア2で発生させる場合は「*jump_area2 」にコードを追記してください。

エリアの追加

このプロジェクトには、もともとエリア6まで表示サンプルが作成されており、そのうち2つ(エリア1と2)が動作するように作成されています。

エリアを増やしたいときは、基本的にエリア1か2を複製して、番号を振りなおしてもらえれば問題ありませんが、クリッカブルマップの座標や横幅、高さの設定(「mapselect.ksの34~43行目、47、48行目のような表記」)だけは任意で設定するようにしてください。

エリア追加の際の主な追記箇所

①「scenario」フォルダ内の以下のファイルに追記していきます。

▼ initialize.ks 優先発生イベント格納配列(25行目あたりから)

▼ initialize.ks *init_target_event(78行目あたりから)

▼ mapselect.ks
エリア1やエリア2の書き方を参考に新しいエリアを追加してください。クリッカブルマップの設定以外はコピペ&番号修正で問題ありません。

▼ target_inset.ks
エリア1やエリア2の書き方を参考に新しいエリアを追加してください。コピペ&番号修正で問題ありません。

▼ event_list_area○○.ks
○○にはエリア番号が入ります。新しく追加したエリアのイベント一覧を作成してください。エリア1やエリア2のイベントリスト(event_list_area1.ksなど)を複製して、中身のイベントを書き換えると比較的簡単に作成できると思います。

▼ jump_event.ks の *jump_area○○
○○にはエリア番号が入ります。新しく追加したエリアの「*jump_area○○」を作成してください。エリア1やエリア2の内容(*jump_area1など)をコピペ&番号修正で問題ありません。

以上です。