Skip to content

kyusu0918/lovemng

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

【好感度管理プラグイン lovemng ver1.0.0】

====================================================================================================
■ 概要
====================================================================================================
キャラクター毎の好感度を管理するプラグインです。
好感度の設定や加算、好感度による順位付けや確認などが行えます。
また、好感度によるキャラクター毎のルート分岐なども容易に行えます。

====================================================================================================
■ 作成者
====================================================================================================
Name: 柚須 佳
Mail: kyusu0918@gmail.com
X: https://twitter.com/kei_yusu

====================================================================================================
■ 対象
====================================================================================================
1.TyranoScript|ティラノスクリプト Ver5.00 以上
※動作確認はVer5.00で行っています。

2.TyranoBuilder 2.0.1b standard ja 以上
※動作確認は2.0.1b standard jaで行っています。

====================================================================================================
■ ファイル
====================================================================================================
1.lovemng: ティラノスクリプト用プラグインフォルダ
2.lovemng.tbp: ティラノビルダー用プラグインファイル
3.readme.txt: 当ファイル

====================================================================================================
■ 機能
====================================================================================================
1.好感度の設定
2.好感度の表示
3.好感度の加算
4.好感度の順位付けと表示
5.好感度を判断して分岐(ジャンプ)
6.好感度の取得
7.好感度の削除
8.好感度のクリア

====================================================================================================
■ 使い方(ティラノスクリプト用)※ティラノビルダー用は後述
====================================================================================================
1.data/others/plugin にlovemng{バージョン}.zipファイル内の「lovemng」フォルダをコピーてください。
  ※下記構成で2ファイルがあるか確認してください。
  data/others/plugin/lovemng/init.ks
  data/others/plugin/lovemng/lovemng.js
2.first.ksからプラグインを呼び出してください。
  [plugin name=lovemng]
3.後述のタグリファレンスを参考にして好感度管理を行います。

====================================================================================================
■ タグリファレンス(ティラノスクリプト用)※ティラノビルダー用のコンポーネントリファレンスは後述
====================================================================================================

; 下記リファレンスの1~8の内容を、ティラノスクリプトのシナリオファイル(.ks)に、そのまま貼り付けても動作します。

;----------------------------------------------------------------------------------------------------
; 1.好感度設定
;
; 好感度の初期値を設定し、好感度管理にキャラクターを追加します。
;
; 【タグ】
; lovemng_set
;
; 【パラメータ】
; id    必須      好感度を識別する一意キー
; scope 省略可能  好感度を格納する変数のスコープ「sf,f,tfを指定可能」(省略時はf)
; name  省略可能  キャラクター名(省略時は空白)
; love  省略可能  好感度(省略時は0)
; memo  省略可能  メモ(省略時は空白)
;----------------------------------------------------------------------------------------------------
①「lovemng_set」タグを使って、好感度の初期値を設定[p]
[lovemng_set id="akane" scope="f" name="あかね" love=0 memo="ここで、あかねの初期値に0を設定"]
[lovemng_set id="yamato" scope="f" name="やまと" love=0 memo="メモなので何を書いてもOK"]
; たろうは省略系で設定(chara_newで作成していないキャラクターでも追加可能)
[lovemng_set id="taro" name="たろう"]

;----------------------------------------------------------------------------------------------------
; 2.好感度表示
;
; 好感度管理下の各キャラクターの好感度を表示します。
;
; 【タグ】
; lovemng_show
;
; 【パラメータ】
; id    必須      好感度を識別する一意キー
; scope 省略可能  好感度を格納する変数のスコープ「sf,f,tfを指定可能」(省略時はf)
; props 省略可能  表示する項目名「id,scope,name,love,memoを指定可能」(省略時はlove)
;----------------------------------------------------------------------------------------------------
②「lovemng_show」タグを使って、好感度に設定された値を確認[p]
現在の好感度を確認[p]
[lovemng_show id="akane" scope="f" props="name"]の現在の好感度は[lovemng_show id="akane" scope="f" props="love"]です。[r]
[lovemng_show id="yamato" scope="f" props="name"]の現在の好感度は[lovemng_show id="yamato" scope="f" props="love"]です。[r]
[lovemng_show id="taro" props="name"]の現在の好感度は[lovemng_show id="taro"]です。[p]
あかねのメモの内容を表示[p]
[lovemng_show id="akane" props="memo"][p]

;----------------------------------------------------------------------------------------------------
; 3.好感度加算
;
; 好感度管理下の各キャラクターの好感度を増減させます。
;
; 【タグ】
; lovemng_add
;
; 【パラメータ】
; id    必須      好感度を識別する一意キー
; scope 省略可能  好感度を格納する変数のスコープ「sf,f,tfを指定可能」(省略時はf)
; love  省略可能  好感度(省略時は1)
; memo  省略可能  メモ(省略時は空白)
;----------------------------------------------------------------------------------------------------
③「lovemng_add」タグを使って、好感度の加算(減算)を行う[p]
あかねの好感度にプラス10[p]
[lovemng_add id="akane" scope="f" love=10 memo="あかねに好感度プラス10!"]

やまとの好感度にプラス15[p]
[lovemng_add id="yamato" scope="f" love=15]

たろうの好感度にプラス20[p]
[lovemng_add id="taro" love=20]

現在の好感度を確認[p]
[lovemng_show id="akane" props="name"]の現在の好感度は[lovemng_show id="akane"]です。[r]
[lovemng_show id="yamato" props="name"]の現在の好感度は[lovemng_show id="yamato"]です。[r]
[lovemng_show id="taro" props="name"]の現在の好感度は[lovemng_show id="taro"]です。[p]

あかねの好感度にプラス1[p]
;好感度(love)を省略すると1なので、idを指定するだけで1加算できる
[lovemng_add id="akane"]

やまとの好感度を20に変更[p]
; lovemng_setタグで加減ではなく、直接値を設定することも可能
[lovemng_set id="yamato" love=20]

たろうの好感度にマイナス8[p]
; 減算の場合はマイナスで設定
[lovemng_add id="taro" love=-8]

現在の好感度を確認[p]
[lovemng_show id="akane" props="name"]の現在の好感度は[lovemng_show id="akane"]です。[r]
[lovemng_show id="yamato" props="name"]の現在の好感度は[lovemng_show id="yamato"]です。[r]
[lovemng_show id="taro" props="name"]の現在の好感度は[lovemng_show id="taro"]です。[p]

あかねのメモの内容を表示[p]
[lovemng_show id="akane" props="memo"][p]
メモはidに対して最後に設定されたものが格納されている[p]

;----------------------------------------------------------------------------------------------------
; 4.好感度順位
;
; 好感度管理下の各キャラクターを好感度の順位を指定して表示します。
;
; 【タグ】
; lovemng_rank
;
; 【パラメータ】
; scope 省略可能  好感度を格納する変数のスコープ「sf,f,tfを指定可能」(省略時はf)
; rank  省略可能  順位(省略時は1)
; props 省略可能  表示する項目名「id,scope,name,love,memoを指定可能」(省略時はlove)
;----------------------------------------------------------------------------------------------------
④「lovemng_rank」タグを使って、好感度の順位を確認[p]
現在の好感度を順位で確認[p]

;順位(rank)を省略すると1位、表示する項目名(props)を省略すると好感度(love)を取得するので、1位の好感度はタグだけで取得できる
現在の好感度1位は[lovemng_rank]で[lovemng_rank props="name"]です。[r]

;省略なし
現在の好感度2位は[lovemng_rank scope="f" rank=2 props="love"]で[lovemng_rank scope="f" rank=2 props="name"]です。[r]

;普段はscopeを省略するくらいが良い
現在の好感度3位は[lovemng_rank rank=3]で[lovemng_rank rank=3 props="name"]です。[p]

;----------------------------------------------------------------------------------------------------
; 5.好感度ジャンプ
;
; 好感度管理下の各キャラクターを好感度の順位を判断してジャンプします。
;
; 【タグ】
; lovemng_jump
;
; 【パラメータ】
; id      必須      好感度を識別する一意キー
; scope   省略可能  好感度を格納する変数のスコープ「sf,f,tfを指定可能」(省略時はf)
; rank    省略可能  順位(省略時は1)
; storage 省略可能  シナリオファイル(省略時はカレントシナリオ)
; target  省略可能  ジャンプ先(省略時は場合はシナリオトップ)
; memo    省略可能  メモ(省略時は空白)
;----------------------------------------------------------------------------------------------------
⑤「lovemng_jump」タグを使って、好感度の順位を判断してジャンプ[p]

;あかねが好感度1位の場合はあかねルートへジャンプ
[lovemng_jump id="akane" scope="f" rank=1 storage="scene1.ks" target="*akane_route"]

;やまとが好感度1位の場合はやまとルートへジャンプ
;順位(rank)省略時は1位なので、同一シナリオ内なら、これで設定可能
[lovemng_jump id="yamato" target="*yamato_route"]

;たろうが好感度1位の場合はたろうルートへジャンプ
[lovemng_jump id="taro" target="*taro_route"]
[s]

*akane_route
あかねルートです[p]
@jump target="*common_route1"
[s]

*yamato_route
やまとルートです[p]
@jump target="*common_route1"
[s]

*taro_route
たろうルートです[p]
@jump target="*common_route2"
[s]

*common_route1
メインルートに戻ってきました[p]
たろうの好感度が2位の場合はたろうルートへジャンプ[p]
; 1位だけでなく、指定順位の場合でもジャンプ可能
[lovemng_jump id="taro" rank=2 target="*taro_route"]

; たろうが2位でない場合はジャンプしないので、その場合はこちらでメインルートへ戻す。
@jump target="*common_route2"
[s]

*common_route2
メインルートに戻ってきました[p]

;----------------------------------------------------------------------------------------------------
; 6.好感度取得
;
; 好感度管理下の各キャラクターを好感度を取得します。
;
; 【タグ】
; lovemng_get
;
; 【パラメータ】
; id    必須      好感度を識別する一意キー
; scope 省略可能  好感度を格納する変数のスコープ「sf,f,tfを指定可能」(省略時はf)
; props 省略可能 表示する項目名「id,scope,name,love,memoを指定可能」(省略時はlove)
;----------------------------------------------------------------------------------------------------
⑥「lovemng_get」タグを使って、好感度を取得[p]
[lovemng_get id="akane"]

; lovemng_getを実行すると、一時変数(tf)のlovemng_getに取得値が格納される
取得したあかねの好感度は[emb exp="tf.lovemng_get"]です。[p]

あかねの好感度が10以上なら次の処理を実行[p]
[if exp="tf.lovemng_get >= 10"]
  あかねの好感度が高いです[p]
[else]
  あかねの好感度が低いです[p]
[endif]

;----------------------------------------------------------------------------------------------------
; 7.好感度削除
;
; 好感度管理からキャラクターを削除します。
;
; 【タグ】
; lovemng_del
;
; 【パラメータ】
; id    必須      好感度を識別する一意キー
; scope 省略可能  好感度を格納する変数のスコープ「sf,f,tfを指定可能」(省略時はf)
;----------------------------------------------------------------------------------------------------
⑦「lovemng_del」タグを使って、好感度管理からキャラクターを削除[p]

現在の好感度を確認[p]
[lovemng_show id="akane" props="name"]の現在の好感度は[lovemng_show id="akane"]です。[r]
[lovemng_show id="yamato" props="name"]の現在の好感度は[lovemng_show id="yamato"]です。[r]
[lovemng_show id="taro" props="name"]の現在の好感度は[lovemng_show id="taro"]です。[p]

現在の好感度1位は[lovemng_rank]で[lovemng_rank props="name"]です。[p]

やまとを削除[p]
[lovemng_del id="yamato"]

現在の好感度1位は[lovemng_rank]で[lovemng_rank props="name"]です。[p]
やまとが削除されたことによって順位が繰り上げられる[p]

;----------------------------------------------------------------------------------------------------
; 8.好感度クリア
;
; 好感度管理をクリアします。
;
; 【タグ】
; lovemng_clear
;
; 【パラメータ】
; scope 省略可能  好感度を格納する変数のスコープ「sf,f,tfを指定可能」(省略時はf)
;----------------------------------------------------------------------------------------------------
⑧「lovemng_clear」タグを使って、好感度管理をクリア[p]

好感度管理で作成された配列を確認[p]
; 管理用の配列(lovemngs)は、lovemng_setで指定した変数スコープ内に、それぞれ作成されます。
; 今回はゲーム変数(f)しか使用していないので、ゲーム変数(f)の中の配列(lovemngs)を確認
[iscript]
  alert(JSON.stringify(f.lovemngs));
[endscript]

lovemng_getで作成された一時変数(tf.lovemng_get)を確認[p]
[iscript]
  alert(tf.lovemng_get);
[endscript]

好感度管理をクリア[p]
[lovemng_clear scope="f"]

好感度管理で作成された配列を確認[p]
[iscript]
  alert(JSON.stringify(f.lovemngs));
[endscript]

lovemng_getで作成された一時変数(tf.lovemng_get)を確認[p]
[iscript]
  alert(tf.lovemng_get);
[endscript]

lovemng_getで作成された一時変数(tf.lovemng_get)は、クリア時のスコープに関係なく必ずクリアされる[p]

====================================================================================================
■ 使い方(ティラノビルダー用)
====================================================================================================
※ティラノビルダー用は「lovemng.tbp」ファイルを使用します。
1.「lovemng{バージョン}.zip」を展開してください。
2.ティラノビルダーのメニューから、「プロジェクト」-「プラグイン」を選択しプラグイン画面を表示してください。
3.プラグイン画面で「プラグインを追加」ボタンを押して展開したフォルダ内の「lovemng.tbp」を選択してください。
4.プラグインがインストールされると、新規プラグイン「好感度管理プラグイン」インストール完了と表示されます。
5.「プラグインを追加」ボタンの下にあるリストに「好感度管理プラグイン」が追加されます。
6.プラグイン画面を閉じます。
7.ティラノビルダーのメニューから、「プロジェクト」-「コンポーネント管理」を選択しコンポーネント管理画面を表示してください。
8.コンポーネント管理画面を下へスクロールし、「プラグイン」をチェックしてください。
9.「好感度設定」「好感度加算」「好感度削除」「好感度ジャンプ」「好感度クリア」の5つのコンポーネントがチェックされていることを確認してください。
10.コンポーネント管理画面の下部にある「適用する」ボタンを押してください。
11.ティラノビルダーのメイン画面に戻り、コンポーネントの最下部にプラグインが表示されているか確認してください。
12.後述のコンポーネントリファレンスを参考にして好感度管理を行います。

====================================================================================================
■ コンポーネントリファレンス(ティラノビルダー用)
====================================================================================================
;----------------------------------------------------------------------------------------------------
; 1.好感度設定
;
; 好感度の初期値を設定し、好感度管理にキャラクターを追加します。
;
; 【コンポーネント】
; 好感度設定
;
; 【パラメータ】
; 変数格納スコープ  好感度を格納する変数のスコープ「sf,f,tfを指定可能」(初期値はf)
; ID              好感度を識別する一意キー(初期値は0)
; キャラクター名    キャラクター名(初期値は空白)
; 好感度          好感度の初期値を数値で設定(初期値は0)
; メモ            メモ(初期値は空白)
;----------------------------------------------------------------------------------------------------
「好感度設定」コンポーネントをシナリオエリアにドラッグ&ドロップし、各パラメータを設定
  ※この例ではキャラクターを3人用意しています。
  
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1つ目「あかね用」
  変数格納スコープ:ゲーム変数(f)
  ID:1
  キャラクター名:あかね
  好感度:0
  メモ:ここで、あかねの初期値に0を設定
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  2つ目「やまと用」
  変数格納スコープ:ゲーム変数(f)
  ID:2
  キャラクター名:やまと
  好感度:0
  メモ:メモなので何を書いてもOK
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3つ目:「たろう用」
  変数格納スコープ:ゲーム変数(f)
  ID:3
  キャラクター名:たろう
  好感度:0
  メモ:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

;----------------------------------------------------------------------------------------------------
; 2.好感度加算
;
; 好感度管理下の各キャラクターの好感度を増減させます。
;
; 【コンポーネント】
; 好感度加算
;
; 【パラメータ】
; 変数格納スコープ  好感度を格納する変数のスコープ「sf,f,tfを指定可能」(初期値はf)
; ID              好感度を識別する一意キー(初期値は0)
; 好感度          加算する好感度を数値で設定(初期値は1)※減算する場合はマイナスを設定
; メモ            メモ(初期値は空白)
;----------------------------------------------------------------------------------------------------
「好感度加算」コンポーネントをシナリオエリアにドラッグ&ドロップし、各パラメータを設定
  ※この例ではキャラクターを3人用意しています。
  ※それぞれに好感度を、+10、+15、+20しています。
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1つ目「あかね用」
  変数格納スコープ:ゲーム変数(f)
  ID:1
  好感度:10
  メモ:あかねに好感度プラス10!
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  2つ目「やまと用」
  変数格納スコープ:ゲーム変数(f)
  ID:2
  好感度:15
  メモ:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3つ目:「たろう用」
  変数格納スコープ:ゲーム変数(f)
  ID:3
  好感度:20
  メモ:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  ※好感度を減算する場合は、マイナスを設定します。
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  「たろう用」
  変数格納スコープ:ゲーム変数(f)
  ID:3
  好感度:-8
  メモ:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

;----------------------------------------------------------------------------------------------------
; 3.好感度削除
;
; 好感度管理からキャラクターを削除します。
;
; 【コンポーネント】
; 好感度削除
;
; 【パラメータ】
; 変数格納スコープ  好感度を格納する変数のスコープ「sf,f,tfを指定可能」(初期値はf)
; ID              好感度を識別する一意キー(初期値は0)
;----------------------------------------------------------------------------------------------------
「好感度削除」コンポーネントをシナリオエリアにドラッグ&ドロップし、各パラメータを設定
  ※この例では「ID=1のあかね」を削除しています。
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  「あかね用」
  変数格納スコープ:ゲーム変数(f)
  ID:1
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

;----------------------------------------------------------------------------------------------------
; 4.好感度ジャンプ
;
; 好感度管理下の各キャラクターを好感度の順位を判断してジャンプします。
;
; 【コンポーネント】
; 好感度ジャンプ
;
; 【パラメータ】
; 変数格納スコープ  好感度を格納する変数のスコープ「sf,f,tfを指定可能」(初期値はf)
; ID              好感度を識別する一意キー(初期値は0)
; 順位            順位(初期値は1)
; ストレージ      シナリオファイル(初期値はカレントシナリオ)
; ターゲット      ジャンプ先(初期値は--)
; メモ            メモ(初期値は空白)
;----------------------------------------------------------------------------------------------------
「好感度ジャンプ」コンポーネントをシナリオエリアにドラッグ&ドロップし、各パラメータを設定
  ※指定IDが指定の順位だった場合、ストレージ+ターゲットへジャンプします。
  ※例えば、ID=1の好感度が1位の場合、scene1.ksの*akane_routeへジャンプなど
  ※この例ではキャラクターを3人分用意しています。
  ※それぞれジャンプ先のラベルを用意しておきます。
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1つ目「あかね用」
  変数格納スコープ:ゲーム変数(f)
  ID:1
  順位:1
  好感度ストレージ:scene1.ks
  ターゲット:*akane_route
  メモ:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2つ目「やまと用」
  変数格納スコープ:ゲーム変数(f)
  ID:2
  順位:1
  好感度ストレージ:scene1.ks
  ターゲット:*yamato_route
  メモ:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3つ目「たろう用」
  変数格納スコープ:ゲーム変数(f)
  ID:3
  順位:1
  好感度ストレージ:scene1.ks
  ターゲット:*taro_route
  メモ:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

;----------------------------------------------------------------------------------------------------
; 5.好感度クリア
;
; 好感度管理をクリアします。
;
; 【コンポーネント】
; 好感度クリア
;
; 【パラメータ】
; 変数格納スコープ  好感度を格納する変数のスコープ「sf,f,tfを指定可能」(初期値はf)
;----------------------------------------------------------------------------------------------------
「好感度クリア」コンポーネントをシナリオエリアにドラッグ&ドロップし、各パラメータを設定
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  変数格納スコープ:ゲーム変数(f)
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

;----------------------------------------------------------------------------------------------------
; その他 タグの直接利用について
;----------------------------------------------------------------------------------------------------
1.lovemng_showタグは、テキストコンポーネント内で使用できます。

(使用例)
  [lovemng_show id=1 scope="f" props="name"]の現在の好感度は[lovemng_show id=1 scope="f" props="love"]です。

2.lovemng_rankタグは、テキストコンポーネント内で使用できます。

(使用例)
  現在の好感度1位は[lovemng_rank]で[lovemng_rank props="name"]です。

3.lovemng_getタグは、ティラノスクリプトコンポーネント内で使用できます。

(使用例)
  ; ID=1(あかね)の好感度を取得
  [lovemng_get id=1]

  ; lovemng_getを実行すると、一時変数(tf)のlovemng_getに取得値が格納される
  取得したあかねの好感度は[emb exp="tf.lovemng_get"]です。[p]

  あかねの好感度が10以上なら次の処理を実行[p]
  [if exp="tf.lovemng_get >= 10"]
    あかねの好感度が高いです[p]
  [else]
    あかねの好感度が低いです[p]
  [endif]

====================================================================================================
■ 免責
====================================================================================================
1.作成者は当プラグインの利用によって生じるいかなる損害に対しても一切の責任を負いません。

====================================================================================================
■ 利用規約
====================================================================================================
1.当プラグインを利用する際は、すべての適用法律および規制を遵守しなければなりません。
2.当プラグインの複製・変更・再配布は自由です。ただし、有償での再配布は禁止します。
3.当プラグインの利用報告、クレジット記載などは任意です。(報告や記載して頂けると嬉しいです。)

====================================================================================================
■ リリースノート
====================================================================================================
2023/12/30  ver1.0.0  初版リリース

About

好感度管理ティラノスクリプトプラグイン

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published