「シナリオ/プロット改造ネタ」の編集履歴(バックアップ)一覧はこちら
シナリオ/プロット改造ネタ - (2021/06/15 (火) 04:41:20) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
#div(color=#000000){{{
*シナリオ/プロット改造ネタ
----
簡単なプロットの解説や便利な改変など。
#contents(fromhere=true)
**Something Nice
----
デフォルトの簡単なプロット、Series/PLOT_SomethingNice.txt を例に解説する。
%で始まる行はコメント。
Thanks to 11号機 587。
Plot 0
% プロットの開始宣言。
name <PLOT: Something Nice>
% プロットの説明。
% プロットに登場する人,物。最大8個まで(element8 まで)。
element1 <Faction Criminal>
% 犯罪組織の派閥(デフォルトでは盗賊ギルドのみ)のIDをelement1に指定。
element2 <Character Citizen Renowned !X 1>
% 市民で有名かつElement1と友好的でないキャラクターをelement2に指定。
element3 <PREFAB>
% インベントリ(inv)に記述された項目を上から順に指定する。
Init_Start <ifPersona E2 else GoDelete if= V1 0 else GoCheckTime V= 1 ComTime V+ 1 17000 Compose GET E3 .get SetItemFudge E3 Reward Threat PCRep 6 100 2000>
% Init_Startトリガーはプロットが新しく読み込まれた時にスクリプトを実行する。
% もし(ifPersona)element2(E2)が無ければ(else) GoDelete にジャンプする。
% もし変数1(V1) が 0 でなければ GoCheckTime にジャンプする。
% 変数1に(V= 1) 現在時刻を入れる(ComTime)。
% 変数1に(V+ 1) 17000 を足す。
% element3(E3)を手に入れたときのトリガー(Get)を.getという名前をつけて作成する(Compose GET E3 .get)。
% SetItemFudge E3 Reward Threat PCRep 6 100 2000?
start <ifPersona E2 else GoDelete if= V1 0 else GoCheckTime V= 1 ComTime V+ 1 17000 Compose GET E3 .get SetItemFudge E3 Reward Threat PCRep 6 100 2000>
% Startトリガーはどこかのマップに入った直後にスクリプトを実行する。
GoCheckTime <ifG ComTime V1 DeleteKeyItem E3 AdvancePlot 0>
% もし現在時刻が変数1より大きければ(ifG ComTime V1)
% element3を消去し(DeleteKeyItem E3)
% プロットを消去する(AdvancePlot 0)。
% AdvancePlotコマンドはプロット中のサブプロットに処理を切り替えるコマンドだが、0を指定すると元のプロットを消去する。
GoDelete <DeleteKeyItem E3 AdvancePlot 0>
% element3を消去し(DeleteKeyItem E3)
% プロットを消去する(AdvancePlot 0)。
.get <FacXP+ E1 1 AdvancePlot 0>
% 上述したように、.getトリガーはelement3を手に入れたときにスクリプトを実行する。
% element1(盗賊ギルド)の派閥経験値に1を加算する(FacXP+ E1 1)。
% プロットを消去する(AdvancePlot 0)。
sub
% プロットのサブコンポーネント。
Persona 2
% ペルソナ。NPCの会話スクリプトを記述する。
% 番号はelementの番号に対応。
rumor <!2 が最近いい物を買った>
% ランダム会話で表示される噂。
% !2 は element2 の人物名に置き換えられる。
greeting <NewChat ifG React 59 else GoNormal ifG PCRep 1 d100 else GoNormal ifG PCRep 2 d200 else GoNormal Say 1 GiveKeyItem E3 AddReact -5 AdvancePlot 0>
% GreetingトリガーはこのNPCと会話した時にスクリプトを実行する。
% 会話を開始(NewChat)
% もし友好度が 59 より大きくなければ(ifG React 59 else) GoNormal にジャンプ。
% もし英雄度(PCRep 1)が100面ダイスを振った結果より大きくなければ(ifG PCRep 1 d100 else) GoNormal にジャンプ。
% もし遵法度(PCRep 2)が200面ダイス振った結果より大きくなければ(ifG PCRep 2 d200 else) GoNormal にジャンプ。
% Msg1に記述した台詞を話す(Say 1)。
% element3 を渡す(GiveKeyItem E3)。
% 友好度を5下げる(AddReact -5)。
% プロットを消去する(AdvancePlot 0)。
GoNormal <SayAnything DeleteKeyItem E3 AdvancePlot 0>
% なんかてきとーに言う(SayAnything)。
% element3を消去し(DeleteKeyItem E3)
% プロットを消去する(AdvancePlot 0)。
Msg1 <こんにちは、 \PC 。%JFは%JSへの贈り物にこの腕時計を買った%JG…。%JSが気に入ってくれればいいんだけど。>
% Say 1 で話す内容。
% \PC はプレイヤー名、%JF は一人称、%JS は二人称、%JG は語尾。
end
% サブコンポーネントおわり。
inv
% プロットのインベントリ。
% アイテム。element の PREFAB で指定される。
Treasure 10
name_org <Gold Watch>
name <金の腕時計>
place <2>
% placeコマンドはそれをインベントリ内に置くelementを指定する。
% この場合、element 2(NPC E2)がこのアイテムを所持する。
end
% インベントリおわり。
**使われていない画像を指定する
----
用意されているが使われていないスプライトを表示するために、各ファイルの記述を変更する。
以下の変更を行っても、該当するイベントが残っている間は反映されない。
同様に既に手に入れているメックの画像も変更されない。
|BGCOLOR(LightBlue):メックまたはキャラクター|BGCOLOR(LightBlue):ファイル|BGCOLOR(LightBlue):説明|
|BGCOLOR(AliceBlue):Esher|Design/Esher.txt|"Desig <NEC-04>"の次の行に"SDL_Sprite <ara_esher.png>"を挿入する。|
|BGCOLOR(AliceBlue):Fenris|Design/Fenris.txt|"Desig <TSD-1078>"の次の行に"SDL_Sprite <zoa_fenris.png>"を挿入する。|
|BGCOLOR(AliceBlue):Gobuksan|Design/Gobuksan.txt|"Desig <KSP-12>"の次の行に"SDL_Sprite <ghu_gobuksan.png>"を挿入する。|
|BGCOLOR(AliceBlue):Gladius|Series/TS_Story_RobotWarriors.txt|Gladius は型番から Savin の系統と判断できるので、&br()"desig <RIG-03a>"の次の行に"SDL_Sprite <btr_savin.png>"を挿入する。|
|BGCOLOR(AliceBlue):GARU SuperSoldier|Series/ADV_FederatedTerritories.txt|"name <GARU SuperSoldier>"の次の行に"SDL_Sprite <monster_garu.png>"を挿入する(3箇所)。|
|BGCOLOR(AliceBlue):石ドラゴン|Series/WMONdefault.txt|石ドラゴンの体の部位はどうみても人間じゃないので、とりあえず海ドラゴンの画像とする。&br()"name <石ドラゴン>"の次の行に"SDL_Sprite <monster_seadragon.png>"を挿入する。|
**店の作り方
----
元ネタ:スレ5号機 702, 716, スレ6号機 87。
店主の会話に対応したPersonaの、Greetingコマンドから始まるスクリプトに"Shop Wares"を記述する。
"Wares"は単なるラベルなので名前は違うものでも良い。
商品の内容は
Wares <商品にするGearの番号のリスト>
という形で記述する。Gearの番号については&link_anchor(gear,pageid=63){こちら}を参照。
さらに商品の内容には以下のコマンドを追加できる。
|BGCOLOR(LightBlue):コマンド|BGCOLOR(LightBlue):説明|
|BGCOLOR(AliceBlue):MECHA|メックを売るようになる。|
|BGCOLOR(AliceBlue):MEXTRA|Gearの番号に対応したメック用の装備を売るようになる。|
|BGCOLOR(AliceBlue):DELIVERY|メックの運送を行う。|
**スレからの抜粋 改造例
----
**自販機の作り方
----
557 :名@無@し:2013/05/13(月) 13:34:24 ID:???
困ったときはとりあえず自販機
STCdefault.txtの好きな位置にこれを追加し
Prop 5
% Name_I18N <Vending Machine>
Name <Vending Machine Mount>
Name_I18N <自動販売機(砲架)>
Desig <VENDING-Mount>
rogueChar <&>
use <ifYesNo 1 2 3 ifG PC$ 4999 Cash+ -5000 GiveSTC .desc Print 4>
.desc <Mount-1>
% Msg1 <This vending machine sells boxed lunches for $50. Want to buy one?>
Msg1 <この自動販売機は $5000 で砲架を売っている。一つ買いますか?>
% Msg2 <Yes I do.>
Msg2 <買う。>
% Msg3 <No, I don't.>
Msg3 <買わない。>
% Msg4 <You buy a boxed lunch.>
Msg4 <砲架を買った。>
SDL_SPRITE <prop_default.png>
Frame 2
Mount
Name_I18N <砲架>
Name <Mount>
desig <Mount-1>
Scale 2
後はADV_FederatedTerritories.txtの好きな位置に配置すりゃいい
とりあえずHogye村のQuentinの店に置く場合は
Hogye村のinvの項目に
STC VENDING-Mount
home <Ki Rin MegaMart>
ってやればおk、564行目~568行目のあたりに混ぜておけばわかりやすい
**敵を強くして報酬も増やす(または減らす) 敵脅威度の調整
----
385 : 名@無@し :2018/06/03(日) 14:30:25 Rln/CE6s
GH1もGH2もそうなんだけど、依頼の難易度の報酬額の上限を上げるにはどうしたらいい?
もっと危険な敵と戦って、もっと多額の報酬を得たいんだ
396 : 名@無@し :2018/06/04(月) 22:44:28 jUwOjlU2
>V= 3 Threat PCRep 6 100
V= 3 Threat PCRep 6 1000にしてみたら有名3の@が報酬$1200もらえたからこの数字上げていけばいいんとちゃう?
たぶん…
**+敵脅威度参照値を”有名”以外にする
----
399 : 名@無@し :2018/06/04(月) 23:09:04 jUwOjlU2
成功か、よかったよかった
パーセンテージとか考えず手近な数字増やしただけだからまぐれなんだ
手前の6はなんだろう?
2はプロットいじってる人の話も聞かないからどうかなー
プロット準備処理してそうな行の数字いじってみれば上がるかもよ?
400 : 名@無@し :2018/06/04(月) 23:34:28 TC1zIKF2
手前の6は PCRep 6 だから有名度だね。
評判のタイプの一覧:
1: Heroic (+) / Villainous (-)
2: Lawful (+) / Chaotic (-)
3: Sociable (+) / Shy (-)
4: Easygoing (+) / Passionate (-)
5: Cheerful (+) / Melancholy (-)
6: Renowned (+) / Wangtta (-)
7: Pragmatic (+) / Spiritual (-)
**プロットの取得経験値を増やす
----
838 : 名@無@し :2017/05/02(火) 12:08:55 VM49xsfo
暇だったので一応簡単なプロット改造も試してみた
「Series」フォルダ内の「PLOT_LostExpedition.txt」が医療救助のプロットなんだけど
59行目の「XPV * P4 25」を「XPV * P4 2500」にしたら経験点100倍になったよ
10人救助できれば25000EXP
----
}}}
#div(color=#000000){{{
*シナリオ/プロット改造ネタ
----
簡単なプロットの解説や便利な改変など。
#contents(fromhere=true)
**Something Nice
----
デフォルトの簡単なプロット、Series/PLOT_SomethingNice.txt を例に解説する。
%で始まる行はコメント。
Thanks to 11号機 587。
Plot 0
% プロットの開始宣言。
name <PLOT: Something Nice>
% プロットの説明。
% プロットに登場する人,物。最大8個まで(element8 まで)。
element1 <Faction Criminal>
% 犯罪組織の派閥(デフォルトでは盗賊ギルドのみ)のIDをelement1に指定。
element2 <Character Citizen Renowned !X 1>
% 市民で有名かつElement1と友好的でないキャラクターをelement2に指定。
element3 <PREFAB>
% インベントリ(inv)に記述された項目を上から順に指定する。
Init_Start <ifPersona E2 else GoDelete if= V1 0 else GoCheckTime V= 1 ComTime V+ 1 17000 Compose GET E3 .get SetItemFudge E3 Reward Threat PCRep 6 100 2000>
% Init_Startトリガーはプロットが新しく読み込まれた時にスクリプトを実行する。
% もし(ifPersona)element2(E2)が無ければ(else) GoDelete にジャンプする。
% もし変数1(V1) が 0 でなければ GoCheckTime にジャンプする。
% 変数1に(V= 1) 現在時刻を入れる(ComTime)。
% 変数1に(V+ 1) 17000 を足す。
% element3(E3)を手に入れたときのトリガー(Get)を.getという名前をつけて作成する(Compose GET E3 .get)。
% SetItemFudge E3 Reward Threat PCRep 6 100 2000?
start <ifPersona E2 else GoDelete if= V1 0 else GoCheckTime V= 1 ComTime V+ 1 17000 Compose GET E3 .get SetItemFudge E3 Reward Threat PCRep 6 100 2000>
% Startトリガーはどこかのマップに入った直後にスクリプトを実行する。
GoCheckTime <ifG ComTime V1 DeleteKeyItem E3 AdvancePlot 0>
% もし現在時刻が変数1より大きければ(ifG ComTime V1)
% element3を消去し(DeleteKeyItem E3)
% プロットを消去する(AdvancePlot 0)。
% AdvancePlotコマンドはプロット中のサブプロットに処理を切り替えるコマンドだが、0を指定すると元のプロットを消去する。
GoDelete <DeleteKeyItem E3 AdvancePlot 0>
% element3を消去し(DeleteKeyItem E3)
% プロットを消去する(AdvancePlot 0)。
.get <FacXP+ E1 1 AdvancePlot 0>
% 上述したように、.getトリガーはelement3を手に入れたときにスクリプトを実行する。
% element1(盗賊ギルド)の派閥経験値に1を加算する(FacXP+ E1 1)。
% プロットを消去する(AdvancePlot 0)。
sub
% プロットのサブコンポーネント。
Persona 2
% ペルソナ。NPCの会話スクリプトを記述する。
% 番号はelementの番号に対応。
rumor <!2 が最近いい物を買った>
% ランダム会話で表示される噂。
% !2 は element2 の人物名に置き換えられる。
greeting <NewChat ifG React 59 else GoNormal ifG PCRep 1 d100 else GoNormal ifG PCRep 2 d200 else GoNormal Say 1 GiveKeyItem E3 AddReact -5 AdvancePlot 0>
% GreetingトリガーはこのNPCと会話した時にスクリプトを実行する。
% 会話を開始(NewChat)
% もし友好度が 59 より大きくなければ(ifG React 59 else) GoNormal にジャンプ。
% もし英雄度(PCRep 1)が100面ダイスを振った結果より大きくなければ(ifG PCRep 1 d100 else) GoNormal にジャンプ。
% もし遵法度(PCRep 2)が200面ダイス振った結果より大きくなければ(ifG PCRep 2 d200 else) GoNormal にジャンプ。
% Msg1に記述した台詞を話す(Say 1)。
% element3 を渡す(GiveKeyItem E3)。
% 友好度を5下げる(AddReact -5)。
% プロットを消去する(AdvancePlot 0)。
GoNormal <SayAnything DeleteKeyItem E3 AdvancePlot 0>
% なんかてきとーに言う(SayAnything)。
% element3を消去し(DeleteKeyItem E3)
% プロットを消去する(AdvancePlot 0)。
Msg1 <こんにちは、 \PC 。%JFは%JSへの贈り物にこの腕時計を買った%JG…。%JSが気に入ってくれればいいんだけど。>
% Say 1 で話す内容。
% \PC はプレイヤー名、%JF は一人称、%JS は二人称、%JG は語尾。
end
% サブコンポーネントおわり。
inv
% プロットのインベントリ。
% アイテム。element の PREFAB で指定される。
Treasure 10
name_org <Gold Watch>
name <金の腕時計>
place <2>
% placeコマンドはそれをインベントリ内に置くelementを指定する。
% この場合、element 2(NPC E2)がこのアイテムを所持する。
end
% インベントリおわり。
**使われていない画像を指定する
----
用意されているが使われていないスプライトを表示するために、各ファイルの記述を変更する。
以下の変更を行っても、該当するイベントが残っている間は反映されない。
同様に既に手に入れているメックの画像も変更されない。
|BGCOLOR(LightBlue):メックまたはキャラクター|BGCOLOR(LightBlue):ファイル|BGCOLOR(LightBlue):説明|
|BGCOLOR(AliceBlue):Esher|Design/Esher.txt|"Desig <NEC-04>"の次の行に"SDL_Sprite <ara_esher.png>"を挿入する。|
|BGCOLOR(AliceBlue):Fenris|Design/Fenris.txt|"Desig <TSD-1078>"の次の行に"SDL_Sprite <zoa_fenris.png>"を挿入する。|
|BGCOLOR(AliceBlue):Gobuksan|Design/Gobuksan.txt|"Desig <KSP-12>"の次の行に"SDL_Sprite <ghu_gobuksan.png>"を挿入する。|
|BGCOLOR(AliceBlue):Gladius|Series/TS_Story_RobotWarriors.txt|Gladius は型番から Savin の系統と判断できるので、&br()"desig <RIG-03a>"の次の行に"SDL_Sprite <btr_savin.png>"を挿入する。|
|BGCOLOR(AliceBlue):GARU SuperSoldier|Series/ADV_FederatedTerritories.txt|"name <GARU SuperSoldier>"の次の行に"SDL_Sprite <monster_garu.png>"を挿入する(3箇所)。|
|BGCOLOR(AliceBlue):石ドラゴン|Series/WMONdefault.txt|石ドラゴンの体の部位はどうみても人間じゃないので、とりあえず海ドラゴンの画像とする。&br()"name <石ドラゴン>"の次の行に"SDL_Sprite <monster_seadragon.png>"を挿入する。|
**店の作り方
----
元ネタ:スレ5号機 702, 716, スレ6号機 87。
店主の会話に対応したPersonaの、Greetingコマンドから始まるスクリプトに"Shop Wares"を記述する。
"Wares"は単なるラベルなので名前は違うものでも良い。
商品の内容は
Wares <商品にするGearの番号のリスト>
という形で記述する。Gearの番号については&link_anchor(gear,pageid=63){こちら}を参照。
さらに商品の内容には以下のコマンドを追加できる。
|BGCOLOR(LightBlue):コマンド|BGCOLOR(LightBlue):説明|
|BGCOLOR(AliceBlue):MECHA|メックを売るようになる。|
|BGCOLOR(AliceBlue):MEXTRA|Gearの番号に対応したメック用の装備を売るようになる。|
|BGCOLOR(AliceBlue):DELIVERY|メックの運送を行う。|
**スレからの抜粋 改造例
----
**自販機の作り方
----
557 :名@無@し:2013/05/13(月) 13:34:24 ID:???
困ったときはとりあえず自販機
STCdefault.txtの好きな位置にこれを追加し
Prop 5
% Name_I18N <Vending Machine>
Name <Vending Machine Mount>
Name_I18N <自動販売機(砲架)>
Desig <VENDING-Mount>
rogueChar <&>
use <ifYesNo 1 2 3 ifG PC$ 4999 Cash+ -5000 GiveSTC .desc Print 4>
.desc <Mount-1>
% Msg1 <This vending machine sells boxed lunches for $50. Want to buy one?>
Msg1 <この自動販売機は $5000 で砲架を売っている。一つ買いますか?>
% Msg2 <Yes I do.>
Msg2 <買う。>
% Msg3 <No, I don't.>
Msg3 <買わない。>
% Msg4 <You buy a boxed lunch.>
Msg4 <砲架を買った。>
SDL_SPRITE <prop_default.png>
Frame 2
Mount
Name_I18N <砲架>
Name <Mount>
desig <Mount-1>
Scale 2
後はADV_FederatedTerritories.txtの好きな位置に配置すりゃいい
とりあえずHogye村のQuentinの店に置く場合は
Hogye村のinvの項目に
STC VENDING-Mount
home <Ki Rin MegaMart>
ってやればおk、564行目~568行目のあたりに混ぜておけばわかりやすい
**敵を強くして報酬も増やす(または減らす) 敵脅威度の調整
----
385 : 名@無@し :2018/06/03(日) 14:30:25 Rln/CE6s
GH1もGH2もそうなんだけど、依頼の難易度の報酬額の上限を上げるにはどうしたらいい?
もっと危険な敵と戦って、もっと多額の報酬を得たいんだ
396 : 名@無@し :2018/06/04(月) 22:44:28 jUwOjlU2
>V= 3 Threat PCRep 6 100
V= 3 Threat PCRep 6 1000にしてみたら有名3の@が報酬$1200もらえたからこの数字上げていけばいいんとちゃう?
たぶん…
**+敵脅威度参照値を”有名”以外にする
----
399 : 名@無@し :2018/06/04(月) 23:09:04 jUwOjlU2
成功か、よかったよかった
パーセンテージとか考えず手近な数字増やしただけだからまぐれなんだ
手前の6はなんだろう?
2はプロットいじってる人の話も聞かないからどうかなー
プロット準備処理してそうな行の数字いじってみれば上がるかもよ?
400 : 名@無@し :2018/06/04(月) 23:34:28 TC1zIKF2
手前の6は PCRep 6 だから有名度だね。
評判のタイプの一覧:
1: Heroic (+) / Villainous (-)
2: Lawful (+) / Chaotic (-)
3: Sociable (+) / Shy (-)
4: Easygoing (+) / Passionate (-)
5: Cheerful (+) / Melancholy (-)
6: Renowned (+) / Wangtta (-)
7: Pragmatic (+) / Spiritual (-)
**プロットの取得経験値を増やす
----
838 : 名@無@し :2017/05/02(火) 12:08:55 VM49xsfo
暇だったので一応簡単なプロット改造も試してみた
「Series」フォルダ内の「PLOT_LostExpedition.txt」が医療救助のプロットなんだけど
59行目の「XPV * P4 25」を「XPV * P4 2500」にしたら経験点100倍になったよ
10人救助できれば25000EXP
**一日進める セーブデータ書き換え(プロットにも応用可能)
----
762: 名@無@し :2021/06/07(月) 22:05:48 ID:TA0N91QI
>>746
例えばプロットにある”Time 3600”の数字を増やせば時間が経過する
セーブデータを検索してMaunaのミネラル温泉で3600を86400に書き換えたら一日経過した、もっと簡略化するならGYAO村にコピペしてしまってもいいんじゃないだろうか
result1 <EndChat ifG V1 ComTime else GoBuyTicket Say 2 Time 3600 PCMoraleDMG -50>
GoBuyTicket <ifG PC$ 999 else GoNoMoney Cash+ -1000 V= 1 ComTime V+ 1 86400 Say 2 Time 3600 PCMoraleDmg -50>
もちろん新規ゲームならセーブデータでなくプロットの方をいじってもいい
763: 名@無@し :2021/06/07(月) 22:08:07 ID:TA0N91QI
改造後を貼りそびれた
result1 <EndChat ifG V1 ComTime else GoBuyTicket Say 2 Time 86400 PCMoraleDMG -50>
GoBuyTicket <ifG PC$ 999 else GoNoMoney Cash+ -1000 V= 1 ComTime V+ 1 86400 Say 2 Time 86400 PCMoraleDmg -50>
----
}}}