-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathText2Frame.js
9541 lines (8970 loc) · 370 KB
/
Text2Frame.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
//= ============================================================================
// Text2Frame.js
// ----------------------------------------------------------------------------
// (C)2018-2024 Yuki Katsura
// This software is released under the MIT License.
// http://opensource.org/licenses/mit-license.php
// ----------------------------------------------------------------------------
// Version
// 2.2.4 2024/10/06:
// ・#126 プロジェクトを本番用にデプロイメント後、プラグインを実行しようとすると警告メッセージを表示するように改善
// 2.2.3 2024/09/07:
// ・#125 プラグインコマンドMZを変換する際、オブジェクト型を取り扱えない不具合の修正
// 2.2.2 2024/02/27:
// ・#123 ピクチャの表示・移動において基点の座標にマイナスを設定できない不具合を修正
// 2.2.1 2024/01/08:
// ・#117 中核の変換処理をESModule化し、compile関数を通じて外部のJavascriptプログラムから呼び出せるようにリファクタ
// - コマンドライン上で、パイプでテキストファイルを受け取って、標準出力へイベントに変換されたJSONを書き出すcompileモードの追加
// ・#119 プラグインをオンにしたまま、公開モードで書き出した際に、ゲームが起動しない不具合の修正
// ・#120 グローバル領域へ染み出していた関数・変数を隠蔽し、他Pluginとの衝突を修正
// 2.2.0 2023/12/08:
// ・#102 未実装の全てのタグ追加
// ・#112 選択肢の表示において、デフォルトの選択肢をNoneまたはなしに設定してかつ、選択肢をキャンセルした時の処理に選択肢番号を整数で指定している場合に、選択肢をキャンセルした時の処理が設定されない不具合の修正
// ・#113 ピクチャの表示やピクチャの移動において、幅・高さ・不透明度に0を設定すると誤って255に変換されてしまう不具合の修正
// 2.1.0 2023/03/24: タグ追加
// ・数値入力の処理タグ追加
// ・アイテム選択の処理タグ追加
// ・文章のスクロール表示タグ追加
// ・選択肢の表示タグ追加
// 2.0.1 2023/02/01: 不具合修正
// ・#83 変数やスイッチ操作タグを使用する際、操作の対象が1つだけのときかつ
// 操作対象が2桁以上の番号の場合、意図しない範囲指定の操作に変換される不具合の修正
// 2.0.0 2020/12/06: ツクールMZに対応
// ・ツクールMZ仕様のプラグインコマンドの定義
// ・取り込み先にページ番号を設定する機能の追加
// ・実行時のメッセージ表示ON・OFFを切り替えるプラグインオプションの追加
// ・MZ用のネームボックス機能の追加
// ・MZ用のピクチャ移動(イージング)の追加
// ・MZ用の変数操作(直前の情報)の追加
// ・MZ用の条件分岐条件(タッチ・マウス操作)の追加
// ・MZ用プラグインコマンドタグの追加
// ・日本語表現に誤りがあったので、正しいものを追加(エネミー->敵キャラ, スタート->始動, ストップ->停止)
// 1.4.1 2020/08/16: 文法エラー時に行数を表示する機能を削除
// 1.4.0 2020/08/14:
// ・条件分岐タグ追加
// ・ループタグ追加
// ・ループの中断タグ追加
// ・イベント処理の中断タグ追加
// ・ラベルの設定タグ追加
// ・ラベルジャンプタグ追加
// 1.3.0 2020/08/09:
// ・ピクチャの表示タグ追加
// ・ピクチャの移動タグ追加
// ・ピクチャの回転タグ追加
// ・ピクチャの色調変更タグ追加
// ・ピクチャの消去タグ追加
// 1.2.0 2020/06/15:
// ・スイッチの操作タグ追加
// ・変数の操作タグ追加
// ・セルフスイッチの操作タグ追加
// ・タイマーの操作タグ追加
// ・バグの修正
// ・ヘルプ文のレイアウト修正
// 1.1.2 2019/01/03 PlayME, StopMEタグ追加
// 1.1.1 2019/01/02 StopBGM, StopBGSタグ追加
// 1.1.0 2018/10/15 script,wait,fadein,fadeout,comment,PluginCommand,CommonEventタグ追加
// 1.0.2 2018/09/10 translate REAMDE to eng(Partial)
// 1.0.1 2018/09/06 bug fix オプションパラメータ重複、CRLFコード対応
// 1.0.0 2018/09/02 Initial Version
// 0.5.5 2018/11/18 [draft] PlaySE、StopSEタグ対応
// 0.5.4 2018/10/28 [draft] ChangeBattleBGMタグ対応
// 0.5.3 2018/10/28 [draft] PlayBGS, FadeoutBGSタグ対応
// 0.5.2 2018/10/28 [draft] refactor pretext, text_frame, command_bottom
// 0.5.1 2018/10/28 [draft] PlayBGM, FadeoutBGM, SaveBGM, ReplayBGMタグ対応
// 0.4.2 2018/09/29 [draft] waitタグ対応、フェードイン、アウトタグ対応
// 0.4.1 2018/09/27 [draft] commentタグ対応
// 0.4.0 2018/09/24 [draft] scriptタグ対応、Plugin Command対応、Common Event対応
// 0.3.3 2018/08/28 コメントアウト記号の前、行頭に任意個の空白を認めるように変更
// 0.3.2 2018/08/28 MapIDをIntegerへ変更
// 0.3.1 2018/08/27 CE書き出し追加
// 0.3.0 2018/08/26 機能が増えた
// 0.2.0 2018/08/24 機能テスト版
// 0.1.0 2018/08/18 最小テスト版
// ----------------------------------------------------------------------------
// [Twitter]: https://twitter.com/kryptos_nv/
// [GitHub] : https://github.com/yktsr/
//= ============================================================================
/* eslint-disable spaced-comment */
/*:
* @target MZ
* @plugindesc テキストファイル(.txtファイルなど)から「文章の表示」イベントコマンドに簡単に変換するための、開発支援プラグインです。ツクールMV・MZの両方に対応しています。
* @author Yuki Katsura, えーしゅん
* @url https://raw.githubusercontent.com/yktsr/Text2Frame-MV/master/Text2Frame.js
*
* @command IMPORT_MESSAGE_TO_EVENT
* @text イベントにインポート
* @desc イベントにメッセージをインポートします。取り込み元ファイルの情報や、取り込み先のマップ・イベント・ページID等を指定します。
*
* @arg FileFolder
* @text 取り込み元フォルダ名
* @desc テキストファイルを保存しておくフォルダ名を設定します。デフォルトはtextです。
* @type string
* @default text
*
* @arg FileName
* @text 取り込み元ファイル名
* @desc 読み込むシナリオファイルのファイル名を設定します。デフォルトはmessage.txtです。
* @type string
* @default message.txt
*
* @arg MapID
* @text 取り込み先マップID
* @desc 取り込み先となるマップのIDを設定します。デフォルト値は1です。
* @type number
* @default 1
*
* @arg EventID
* @text 取り込み先イベントID
* @desc 取り込み先となるイベントのIDを設定します。デフォルト値は2です。
* @type number
* @default 2
*
* @arg PageID
* @text 取り込み先ページID
* @desc 取り込み先となるページのIDを設定します。デフォルト値は1です。
* @type number
* @default 1
*
* @arg IsOverwrite
* @text 【取り扱い注意】上書きする
* @desc 通常イベントの末尾に追加しますが、上書きに変更できます。trueのとき上書きです。デフォルト値はfalseです。
* @type select
* @option true(!!!上書きする!!!)
* @value true
* @option false(上書きしない)
* @value false
* @default false
*
* @command IMPORT_MESSAGE_TO_CE
* @text コモンイベントにインポート
* @desc コモンイベントにメッセージをインポートします。取り込み元ファイルの情報や、取り込み先のコモンイベントID等を指定します。
*
* @arg FileFolder
* @text 取り込み元フォルダ名
* @desc テキストファイルを保存しておくフォルダ名を設定します。デフォルトはtextです。
* @type string
* @default text
*
* @arg FileName
* @text 取り込み元ファイル名
* @desc 読み込むシナリオファイルのファイル名を設定します。デフォルトはmessage.txtです。
* @type string
* @default message.txt
*
* @arg CommonEventID
* @text 取り込み先コモンイベントID
* @desc 出力先のコモンイベントIDを設定します。デフォルト値は1です。
* @type common_event
* @default 1
*
* @arg IsOverwrite
* @text 【取り扱い注意】上書きする
* @desc 通常イベントの末尾に追加しますが、上書きに変更できます。trueのとき上書きです。デフォルト値はfalseです。
* @type select
* @option true(!!!上書きする!!!)
* @value true
* @option false(上書きしない)
* @value false
* @default false
*
* @param Default Window Position
* @text 位置のデフォルト値
* @desc テキストフレームの表示位置デフォルト値を設定します。デフォルトは下です。個別に指定した場合は上書きされます。
* @type select
* @option 上
* @option 中
* @option 下
* @default 下
*
* @param Default Background
* @text 背景のデフォルト値
* @desc テキストフレームの背景デフォルト値を設定します。デフォルトはウインドウです。個別に指定した場合は上書きされます。
* @type select
* @option ウインドウ
* @option 暗くする
* @option 透明
* @default ウインドウ
*
* @param Default Scenario Folder
* @text 取り込み元フォルダ名
* @desc テキストファイルを保存しておくフォルダ名を設定します。デフォルトはtextです。(MZでは無視されます)
* @default text
* @require 1
* @dir text
* @type string
*
* @param Default Scenario File
* @text 取り込み元ファイル名
* @desc 読み込むシナリオファイルのファイル名を設定します。デフォルトはmessage.txtです。(MZでは無視されます)
* @default message.txt
* @require 1
* @dir text
* @type string
*
* @param Default Common Event ID
* @text 取り込み先コモンイベントID
* @desc 出力先のコモンイベントIDを設定します。デフォルト値は1です。(MZでは無視されます)
* @default 1
* @type common_event
*
* @param Default MapID
* @text 取り込み先マップID
* @desc 取り込み先となるマップのIDを設定します。デフォルト値は1です。(MZでは無視されます)
* @default 1
* @type number
*
* @param Default EventID
* @text 取り込み先イベントID
* @desc 取り込み先となるイベントのIDを設定します。デフォルト値は2です。(MZでは無視されます)
* @default 2
* @type number
*
* @param Default PageID
* @text 取り込み先ページID
* @desc 取り込み先となるページのIDを設定します。デフォルト値は1です。(MZでは無視されます)
* @default 1
* @type number
*
* @param IsOverwrite
* @text 【取り扱い注意】上書きする
* @desc 通常イベントの末尾に追加しますが、上書きに変更できます。trueのとき上書きです。デフォルト値はfalseです。
* @default false
* @type boolean
*
* @param Comment Out Char
* @text コメントアウト記号
* @desc 行頭に置いた場合、その行をコメントとして処理する記号を定義します。デフォルト値は「%」(半角パーセント)です。
* @default %
* @type string
*
* @param IsDebug
* @text デバッグモードを利用する
* @desc F8のコンソールログにこのプラグインの詳細ログが出力されます。デフォルト値はfalseです。処理時間が伸びます。
* @default false
* @type boolean
*
* @param DisplayMsg
* @text メッセージ表示
* @desc 実行時に通常メッセージを表示します。OFFで警告以外のメッセージが表示されなくなります。デフォルト値はtrueです。
* @default true
* @type boolean
*
* @param DisplayWarning
* @text 警告文表示
* @desc 実行時に警告を表示します。OFFで警告が表示されなくなります。デフォルト値はtrueです。
* @default true
* @type boolean
*
* @help
* 本プラグインはテキストファイル(.txtファイルなど)から「文章の表示」イベント
* コマンドに簡単に変換するための、開発支援プラグインです。キャラクター同士の
* 会話などをツクールMV・MZ**以外**のエディタで編集して、後でイベントコマンド
* として組み込みたい人をサポートします。
*
* 所定のプラグインコマンド(後述)を実行することにより、テキストファイルを読
* み込み、ツクールMV・MZのマップイベントまたはコモンイベントにイベントコマン
* ドとして取り込むことができます。
*
* テストプレイおよびイベントテスト(イベントエディタ上で右クリック→テスト)
* から実行することを想定しています。
*
* また、追加機能としてフェードインやBGM再生等のイベントコマンドも組み込むこ
* とができます。追加機能の詳細はこのREADMEの下部に記載していますので、そちら
* をご覧ください
*
* なお、以下のヘルプ文の内容は本プラグインのWikiにも記載しています。
*
* https://github.com/yktsr/Text2Frame-MV/wiki
*
* Wikiのほうが閲覧しやすいと思いますので、RPGツクールMV・MZ上では読みづらい
* と感じた場合は、こちらをご覧ください。
*
*
* -------------------------------------
* ツクールMVでの実行方法
* --------------------------------------
* 1. dataフォルダのバックアップをとっておく。(重要)
*
* 2. プロジェクトの最上位フォルダ(dataやimgのあるところ)にフォルダを作成する。
*
* 3. 作成したフォルダに読み込みたいテキストファイルを保存する。
*
* 4. 任意のマップ・位置に空のイベントをひとつ作成します。
* この時マップID, イベントID, ページIDをメモしておきましょう。
* マップIDは画面左のマップを、右クリック→「編集」として出るウィンドウの
* 左上に記載されています。
* イベントIDはイベントをダブルクリックして出るイベントエディターの左上に
* 記載されています。
* ページIDはイベントエディターのイベントの名前の下に記載されています。
*
* 5. プラグインの管理画面から本プラグインのパラメータを下記の通り編集します。
* ・「取り込み元フォルダ名」に2.で作成したフォルダのフォルダ名を入力。
* (デフォルトはtextです)
* ・「取り込み元ファイル名」に3.で保存したファイルのファイル名を入力。
* (デフォルトはmessage.txtです)
* ・「取り込み先マップID」に4.でメモしたマップIDを入力。
* (デフォルトは1です)
* ・「取り込み先イベントID」に4.でメモしたイベントIDを入力。
* (デフォルトは2です)
* ・「取り込み先ページID」に4.でメモしたページIDを入力。
* (デフォルトで1です)
*
* 6. 以下のうちいずれかを記述したプラグインコマンドを作成する。
* IMPORT_MESSAGE_TO_EVENT
* メッセージをイベントにインポート
* これらは全く同じ機能なのでどちらを使ってもかまいません。
*
* 7. 作成したイベントコマンドをテストプレイかイベントテストで実行する。
* 実行前に本プラグインを管理画面からONにして「プロジェクトの保存」を
* 実行しておきましょう。
*
* 8. **セーブせずに**プロジェクトを開き直します。
* 成功していれば、7.で設定したマップのイベントの中に「文章の表示」
* イベントコマンドとして書きだされています。
* デフォルトの場合はtextフォルダのmessage.txtの内容を
* IDが1のマップの、IDが1のイベントの、IDが1のページに書き出したことに
* なります。
*
* -------------------------------------
* ツクールMZでの実行方法
* --------------------------------------
* 1. dataフォルダのバックアップをとっておく。(重要)
*
* 2. プロジェクトの最上位フォルダ(dataやimgのあるところ)にフォルダを作成する。
*
* 3. 作成したフォルダに読み込みたいテキストファイルを保存する。
*
* 4. 任意のマップ・位置に空のイベントをひとつ作成します。
* この時マップID, イベントID, ページIDをメモしておきましょう。
* マップIDは画面左のマップを、右クリック→「編集」として出るウィンドウの
* 左上に記載されています。
* イベントIDはイベントをダブルクリックして出るイベントエディターの左上に
* 記載されています。
* ページIDはイベントエディターのイベントの名前の下に記載されています。
*
* 5. 以下の手順でプラグインコマンドを作成する。
* ・ プラグイン名「Text2Frame」のコマンド「イベントにインポート」を選択
* ・引数を下記のように設定する。
* -「取り込み元フォルダ名」に2.で作成したフォルダのフォルダ名を入力。
* (デフォルトはtextです)
* -「取り込み元ファイル名」に3.で保存したファイルのファイル名を入力。
* (デフォルトはmessage.txtです)
* -「取り込み先マップID」に4.でメモしたマップIDを入力。
* (デフォルトは1です)
* -「取り込み先イベントID」に4.でメモしたイベントIDを入力。
* (デフォルトは2です)
* -「取り込み先ページID」に4.でメモしたページIDを入力。
* (デフォルトで1です)
*
* 6. 作成したイベントコマンドをテストプレイかイベントテストで実行する。
* 実行前に本プラグインを管理画面からONにして「プロジェクトの保存」を
* 実行しておきましょう。
*
* 7. **セーブせずに**リロードする、もしくはプロジェクトを開き直す。
* 成功していれば、7.で設定したマップのイベントの中に「文章の表示」
* イベントコマンドとして書きだされています。
* デフォルトの場合はtextフォルダのmessage.txtの内容を
* IDが1のマップの、IDが1のイベントの、IDが1のページに書き出したことに
* なります。
*
*
* --------------------------------------
* テキストファイルの書き方
* --------------------------------------
* ◆ 基本となる書き方
* 1つのメッセージを改行で区切るという書き方をします。
* 例えば以下の通りです。
*
* ↓↓↓↓↓ここから例文1↓↓↓↓↓
* やめて!ラーの翼神竜の特殊能力で、
* ギルフォード・ザ・ライトニングを焼き払われたら、
* 闇のゲームでモンスターと繋がってる城之内の精神まで燃え尽きちゃう!
*
* お願い、死なないで城之内!あんたが今ここで倒れたら、
* 舞さんや遊戯との約束はどうなっちゃうの?
* ライフはまだ残ってる。
* ここを耐えれば、マリクに勝てるんだから!
*
* 次回、「城之内死す」。デュエルスタンバイ!
* ↑↑↑↑↑ここまで例文1↑↑↑↑↑
*
* この場合は3つの「文章の表示」イベントコマンドに変換されて
* 取り込まれます。改行は何行いれても同様の動作になります。
* 以上の方法で実行した場合、
* メッセージウィンドウの「背景」「ウィンドウ位置」については
* プラグインパラメータの「位置のデフォルト値」「背景のデフォルト値」の
* 値が反映されます。
*
* ◆ タグについて
* Text2Frameは文章を単純に組み込むだけでなく、タグを挿入することでより柔軟な
* 設定を可能としています。例えば、メッセージの顔・背景・ウィンドウの位置変更
* や名前の設定(MZ限定)、メッセージ以外のイベントコマンドを挿入することが可能
* です。各タグについては以降の説明をご覧ください。
*
* タグについては以下の特徴があります。
* ・タグや値の大文字小文字は区別されません。(ファイル名の指定は除く)
* (例:FaceとFACEは同じ動作です)
* ・タグは同じ行に複数個配置することができます。
* (例:<顔: Actor1(0)><位置: 上><背景: 暗く>
* ・基本は英語で指定ですが、省略形や日本語で指定可能な場合もある。
*
* ◆ 顔・背景・ウィンドウ位置・名前の設定について
* それぞれのメッセージの「顔」「背景」「ウィンドウ位置」「名前」については、
* メッセージの手前にタグを記述することで指定することができます。
* 上述の例のように指定しない場合は、パラメータで設定したものが適用されます。
*
* 例えば以下の通りです。
*
* ↓↓↓↓↓ここから例文2↓↓↓↓↓
* <Face: Actor1(0)><WindowPosition: Bottom><Background: Dim><Name: 真崎杏子>
* やめて!ラーの翼神竜の特殊能力で、
* ギルフォード・ザ・ライトニングを焼き払われたら、
* 闇のゲームでモンスターと繋がってる城之内の精神まで燃え尽きちゃう!
*
* <WindowPosition: Top><Name: 真崎杏子>
* お願い、死なないで城之内!あんたが今ここで倒れたら、
* 舞さんや遊戯との約束はどうなっちゃうの?
* ライフはまだ残ってる。
* ここを耐えれば、マリクに勝てるんだから!
*
* 次回、「城之内死す」。デュエルスタンバイ!
* ↑↑↑↑↑ここまで例文2↑↑↑↑↑
*
* この例の場合では、
* 1つ目のメッセージ(やめて!〜)ではActor1ファイルの場所が1の顔が表示(詳細は後
* 述)され、位置は下、背景が暗いメッセージウィンドウになります。名前は「真崎杏
* 子」と表示されます。
*
* 2つ目のメッセージ(お願い、〜)は、位置が上であることと名前だけ指定されてい
* ます。指定されなかった他の顔や背景はプラグインのパラメータで設定されている
* ものが適用されます。ここでも名前は「真崎杏子」と表示されます。
*
* 3つめのメッセージ(次回、〜)は、何も指定されていません。
* そのため、例文1と同様にプラグインのパラメータで設定されているものが適用され
* ます。ここでは名前は表示されません。
*
* タグの詳細は下記をご覧ください。
*
* ○ 顔の指定方法
* <Face: ファイル名(顔の指定番号)>
* <FC: ファイル名(顔の指定番号)>
* <顔: ファイル名(顔の指定番号)>
*
* の3つのうちいずれかの記法で指定します。
* ファイル名はimg/facesのフォルダ内のものを参照します。
* 顔の指定番号は、ファイルの中で参照する位置を指定します。
* 番号の法則はツクールMV・MZの仕様に準拠します。最も左上が0,右下が7です。
*
* ○ 位置の指定方法
* <WindowPosition: 表示したい位置>
* <WP: 表示したい位置>
* <位置: 表示したい位置>
*
* の3つのうちいずれかの記法で指定します。
* 表示したい位置に記述できるのは以下の3種類です。
* ・Top # 上
* ・Middle # 中
* ・Bottom # 下
* Topは「上」、Middleは「中」、Bottomは「下」となります。
* それぞれ大文字小文字を区別しません。つまりTOP,top,toPなどはTopと同じです。
* また、英語ではなく<WindowPosition: 上>のように日本語指定もできます。
*
* ○ 背景の設定方法
* <Background: 背景の指定>
* <BG: 背景の指定>
* <背景: 背景の指定>
*
* の3つのうちいずれかの記法で指定します。
* 背景の指定に記述できるのは、以下の3種類です。
* ・Window # ウィンドウ
* ・Dim # 暗くする
* ・Transparent # 透明
* Windowは「ウィンドウ」,Dimは「暗くする」,Transparentは「透明」となります。
* それぞれ大文字小文字を区別しません。
* また、英語ではなくて<Background: ウィンドウ>のように日本語指定もできます。
*
* ○ 名前の設定方法【MZ用】
* メッセージウィンドウへの名前の設定は
* <Name: 設定する名前>
* <NM: 設定する名前>
* <名前: 設定する名前>
*
* の3つのうちいずれかの記法で指定します。
* 例えば、<Name: リード>と設定することで、名前欄に「リード」と設定できます。
*
*
* ◆ コメントアウトについて
* テキストファイルのうち、イベントコマンドとして取り込まないようにする、
* いわゆるコメントアウトをするための記法もあります。
* メモ書き等に利用することができます。
*
* 行頭に「%」(半角パーセント)を記述することで、実現できます。
*
* ↓↓↓↓↓ここから例文3↓↓↓↓↓
* % かわいい感じで
* 今日も一日がんばるぞい!
* ↑↑↑↑↑ここまで例文3↑↑↑↑↑
*
* このように記載することで、実際に取り込まれるのは
* 「今日も一日がんばるぞい!」のみとなります。
* 「かわいい感じで」はメッセージとしては取り込まれません。
*
* なお、コメントアウト記号はプラグインパラメータから自由に変更可能です。
* 「%」はあくまでデフォルト値です。
*
*
* --------------------------------------
* コモンイベントへの書き出し
* --------------------------------------
* マップのイベントではなくコモンイベントに取り込むことも可能です。
* ◆ ツクールMVの場合
* 以下のプラグインコマンドのうちいずれかを使用してください。
* IMPORT_MESSAGE_TO_CE
* メッセージをコモンイベントにインポート
* これらは全く同じ機能なのでどちらを使ってもかまいません。
* 取り込む先のコモンイベントのIDはプラグインパラメータの
* 「取り込み先コモンイベントID」で指定できます。
*
* ◆ ツクールMZの場合
* プラグインコマンドからプラグイン名「Text2Frame」のコマンド
* 「コモンイベントにインポート」を選択してください。
* フォルダ名・ファイル名・取り込み先のコモンイベントIDを引数から
* 入力してください。
*
*
* --------------------------------------
* ツクールMVでのプラグインコマンドの引数
* --------------------------------------
* ツクールMVでのプラグインコマンドに引数を設定することにより、プラグインパラ
* メータで指定したテキストファイルやマップIDとは違うパラメータで実行ができま
* す。
*
* 例1:text/message.txtをマップIDが1, イベントIDが2, ページIDが3で上書きせず
* に取り込む。
* IMPORT_MESSAGE_TO_EVENT text message.txt 1 2 3 false
* メッセージをイベントにインポート text message.txt 1 2 3 false
*
* 例2:text/message.txtをIDが3のコモンイベントに上書きしてに取り込む。
* IMPORT_MESSAGE_TO_CE text message.txt 3 true
* メッセージをコモンイベントにインポート text message.txt 3 true
*
* ◆ 旧版のプラグインコマンドの引数(非推奨)
* 最新版(ツクールMZ対応後,ver2.0.0)と旧版(ツクールMZ対応前,ver1.4.1)では、
* イベントへのインポートにおいて仕様が異なります。
* 以下の旧仕様でも実行は可能ですが、非推奨となっております。
*
* 例:text/message.txtをマップIDが1, イベントIDが2, ページIDが3で上書きせず
* に取り込む(ページIDは1として)。
* IMPORT_MESSAGE_TO_EVENT text message.txt 1 2 false
* メッセージをイベントにインポート text message.txt 1 2 false
*
* 旧版ではページIDの指定ができず、必ず1となっていました。
*
*
* --------------------------------------
* 追加機能(その他イベントコマンドの組み込み)
* --------------------------------------
* メッセージだけでなく、指定の記法を用いることでイベントコマンドを組み込むこと
* もできます。
* 例えば、
*
* ↓↓↓↓↓ここから例文4↓↓↓↓↓
* <Set: 1, 2>
* <CommonEvent: 3>
* 今日も一日がんばるぞい!
* ↑↑↑↑↑ここまで例文4↑↑↑↑↑
*
* とすることで、「今日も一日がんばるぞい!」というメッセージの前に、
* 「変数の操作(変数1に定数2を代入する)」と「コモンイベント(ID3)」のイベント
* コマンドが組み込まれます。
*
* 現在対応しているコマンドは以下のとおりです。
* - メッセージ
* - (1) 選択肢の表示
* - (2) 数値入力の処理
* - (3) アイテム選択の処理
* - (4) 文章のスクロール表示
* - ゲーム進行
* - (5) スイッチの操作
* - (6) 変数の操作
* - (7) セルフスイッチの操作
* - (8) タイマーの操作
* - フロー制御
* - (9) 条件分岐
* - (10) ループ
* - (11) ループの中断
* - (12) イベント処理の中断
* - (13) コモンイベント
* - (14) ラベル
* - (15) ラベルジャンプ
* - (16) 注釈
* - パーティ
* - (17) 所持金の増減
* - (18) アイテムの増減
* - (19) 武器の増減
* - (20) 防具の増減
* - (21) メンバーの入れ替え
* - アクター
* - (22) HPの増減
* - (23) MPの増減
* - (24) TPの増減
* - (25) ステートの変更
* - (26) 全回復
* - (27) 経験値の増減
* - (28) レベルの増減
* - (29) 能力値の増減
* - (30) スキルの増減
* - (31) 装備の変更
* - (32) 名前の変更
* - (33) 職業の変更
* - (34) 二つ名の変更
* - (35) プロフィールの変更
* - 移動
* - (36) 場所移動
* - (37) 乗り物の位置設定
* - (38) イベントの位置設定
* - (39) マップのスクロール
* - (40) 移動ルートの設定
* - (41) 乗り物の乗降
* - キャラクター
* - (42) 透明状態の変更
* - (43) 隊列歩行の変更
* - (44) 隊列メンバーの集合
* - (45) アニメーションの表示
* - (46) フキダシアイコンの表示
* - (47) イベントの一時消去
* - ピクチャ
* - (48) ピクチャの表示
* - (49) ピクチャの移動
* - (50) ピクチャの回転
* - (51) ピクチャの色調変更
* - (52) ピクチャの消去
* - タイミング
* - (53) ウェイト
* - 画面
* - (54) 画面のフェードアウト
* - (55) 画面のフェードイン
* - (56) 画面の色調変更
* - (57) 画面のフラッシュ
* - (58) 画面のシェイク
* - (59) 天候の設定
* - オーディオ・ビデオ
* - (60) BGMの演奏
* - (61) BGMのフェードアウト
* - (62) BGMの保存
* - (63) BGMの再開
* - (64) BGSの演奏
* - (65) BGSのフェードアウト
* - (66) MEの演奏
* - (67) SEの演奏
* - (68) SEの停止
* - (69) ムービーの再生
* - シーン制御
* - (70) 戦闘の処理
* - (71) ショップの処理
* - (72) 名前入力の処理
* - (73) メニュー画面を開く
* - (74) セーブ画面を開く
* - (75) ゲームオーバー
* - (76) タイトル画面に戻す
* - システム設定
* - (77) 戦闘BGMの変更
* - (78) 勝利MEの変更
* - (79) 敗北MEの変更
* - (80) 乗り物BGMの変更
* - (81) セーブ禁止の変更
* - (82) メニュー禁止の変更
* - (83) エンカウント禁止の変更
* - (84) 並び変え禁止の変更
* - (85) ウィンドウカラーの変更
* - (86) アクターの画像変更
* - (87) 乗り物の画像変更
* - マップ
* - (88) マップ名表示の変更
* - (89) タイルセットの変更
* - (90) 戦闘背景の変更
* - (91) 遠景の変更
* - (92) 指定位置の情報取得
* - バトル
* - (93) 敵キャラのHP増減
* - (94) 敵キャラのMP増減
* - (95) 敵キャラのTP増減
* - (96) 敵キャラのステート変更
* - (97) 敵キャラの全回復
* - (98) 敵キャラの出現
* - (99) 敵キャラの変身
* - (100) 戦闘アニメーションの表示
* - (101) 戦闘行動の強制
* - (102) バトルの中断
* - 上級
* - (103) スクリプト
* - (104)-1 プラグインコマンド(ツクールMV)
* - (104)-2 プラグインコマンド(ツクールMZ, 上級者向け)
*
* ○ (1) 選択肢の表示
* 「選択肢の表示」は以下の記法で組み込むことができます。
* ---
* <ShowChoices: 背景, ウィンドウ位置, デフォルト, キャンセル>
* <When: 選択肢1の文>
* 選択肢1を選んだ時の処理
* <When: 選択肢2の文>
* 選択肢2を選んだ時の処理
* .
* .
* .
* <When: 選択肢6の文>
* 選択肢6を選んだ時の処理
* <WhenCancel>
* 選択肢をキャンセルした時の処理
* <End>
* ---
* 必須の引数はありません。
* 全ての引数はオプションとして設定でき、指定しない場合はデフォルト値が
* 設定されます。
* 引数を設定しない場合、"<ShowChoices>"か"<ShowChoices: >"でも記述できます。
* "<When>"が上から順に選択肢1, 選択肢2と対応しています。
*
* "ShowChoices"は"選択肢の表示"か"SHC"で代替できます。
* また、"When"は"選択肢"で、"End"は"分岐終了"で、
* "WhenCancel"は"キャンセルのとき"で代替できます。
*
* 引数(オプション)の指定方法を述べる前に、いくつか具体例を示します。
* 例1: 以下の設定で、選択肢を2つ表示する場合
* - 背景: ウィンドウ
* - ウィンドウ位置: 右
* - デフォルト: 選択肢 #1
* - キャンセル: 選択肢 #2
* ---
* 長老に会って挨拶は済ませてきたかい?
* <ShowChoices: Window, Right, 1, 2>
* <When: はい>
* そうか。それならよかった。
* 早速長老の依頼のとおり、北に向かってくれないかい。
* <When: いいえ>
* それはいけない。
* 長老は君のような若者を探しているんだ。
* 挨拶に行って話を聞いてくれないかい。
* <End>
* ---
*
* また、例1の引数は全てデフォルト値なので、以下のようにも記述できます。
* 2行目だけ異なります。
* ---
* 長老に会って挨拶は済ませてきたかい?
* <ShowChoices>
* <When: はい>
* そうか。それならよかった。
* 早速長老の依頼のとおり、北に向かってくれないかい。
* <When: いいえ>
* それはいけない。
* 長老は君のような若者を探しているんだ。
* 挨拶に行って話を聞いてくれないかい。
* <End>
* ---
*
* 例2: 以下の設定で、選択肢を3つ表示する場合
* - 背景: 透明
* - ウィンドウ位置: 中
* - デフォルト: 選択肢 #1
* - キャンセル: 分岐
* ---
* 他にも話したいことがあるんだ。
* 何が聞きたい?
* <ShowChoices: Transparent, Middle, 1, Branch>
* <When: 勇者ノーゼンの伝説>
* 勇者ノーゼンは〜〜(省略
* <When: 魔王に挑む冒険者の現状>
* 魔王に挑む冒険者は〜〜(省略
* <When: 魔王について判明している点>
* 魔王について判明している点は〜〜(省略
* <WhenCancel>
* ・・・え、僕の話、長すぎた?ごめんごめん。
* <End>
* ---
*
* それぞれの引数に設定できる項目は以下の通りです。
* ツクールの選択肢に対応しています。
* ・ 背景は以下のリストから指定します。
* - ウィンドウ: "Window" or "ウィンドウ"
* - 暗くする: "Dim" or "暗くする"
* - 透明: "Transparent" or "透明"
* ・ ウィンドウ位置は以下のリストから指定します。
* - 左: "Left" or "左"
* - 中: "Middle" or "中"
* - 右: "Right" or "右"
* ・ デフォルトは以下のリストから指定します。
* - なし: "None" or "なし"
* - 選択肢 #1: "1"
* - 選択肢 #2: "2"
* - ...
* - 選択肢 #6: "6"
* ・ キャンセルは以下のリストから指定します。
* - 分岐: "Branch" or "分岐"
* - 禁止: "Disallow" or "禁止"
* - 選択肢 #1: "1"
* - 選択肢 #2: "2"
* - ...
* - 選択肢 #6: "6"
*
*
* ○ (2) 数値入力の処理
* 「数値入力の処理」は以下のいずれかの記法で組み込むことができます。
* <InputNumber: 変数番号, 桁数>
* <INN: 変数番号, 桁数>
* <数値入力の処理: 変数番号, 桁数>
*
* 例えば、以下の通りです。
* ・例: 変数1に桁数2で数値入力する。
* <InputNumber: 1, 2>
* <INN: 1, 2>
* <数値入力の処理: 1, 2>
*
*
* ○ (3) アイテム選択の処理
* 「アイテム選択の処理」は以下のいずれかの記法で組み込むことができます。
* <SelectItem: 変数番号, アイテムタイプ>
* <SI: 変数番号, アイテムタイプ>
* <アイテム選択の処理: 変数番号, アイテムタイプ>
*
* アイテムタイプを指定するための項目は以下の通りです。
* - 通常アイテム: "Regular Item", "通常アイテム"
* - 大事なもの: "Key Item", "大事なもの"
* - 隠しアイテムA: "Hidden Item A", "隠しアイテムA"
* - 隠しアイテムB: "Hidden Item B", "隠しアイテムB"
*
* なお、アイテムタイプの大文字小文字は問いません。
* 例えば、"Regular Item"は"regular item"と指定しても、
* "REGULAR ITEM"と指定しても大丈夫です。
*
* アイテム選択の処理の具体例は、以下の通りです。
* 例1: 通常アイテムの一覧を表示し、
* 選択されたアイテムのIDを変数1に代入する。
* <SelectItem: 1, Regular Item>
* <SI: 1, REGULAR ITEM>
* <アイテム選択の処理: 1, 通常アイテム>
*
* 例2: 隠しアイテムAの一覧を表示し、
* 選択されたアイテムのIDを変数20に代入する。
* <SelectItem: 20, Hidden Item A>
* <SI: 20, hidden item A>
* <アイテム選択の処理: 20, 隠しアイテムA>
*
*
* ○ (4) 文章のスクロール表示
* 「文章のスクロール表示」は、以下のように二つのタグで挟み込み指定します。
* ---
* <ShowScrollingText: 速度(整数), 早送りなしフラグ("ON" or "OFF")>
* スクロールさせたい文章
* </ShowScrollingText>
* ---
* "ShowScrollingText"は"SST"か"文章のスクロール表示"でも記述できます。
*
* 速度が"2"で早送りを許可する場合(早送りなしフラグが"OFF")の
* 具体例は以下のとおりです。
* ---
* <ShowScrollingText: 2, OFF>
* 世界は魔王によって滅ぼされた。
*
* しかし、勇者は立ち上がった。
* </ShowScrollingText>
* ---
*
* 速度と早送りなしフラグは、省略することが可能です。
* 省略した場合、速度は"2"が、早送りなしフラグは"OFF"が設定されます。
* また、両方を省略したときに限り":"も省略可能です。
* 例えば、以下のように記述できます。
* ---
* <ShowScrollingText>
* 世界は魔王によって滅ぼされた。
*
* しかし、勇者は立ち上がった。
* </ShowScrollingText>
* ---
* 早送りなしフラグだけを省略し(早送りを許可する)、速度を"5"に設定する場合は
* 以下のようになります。
* ---
* <ShowScrollingText: 5>
* 世界は魔王によって滅ぼされた。
*
* しかし、勇者は立ち上がった。
* </ShowScrollingText>
* ---
*
* 以下の対応関係で早送りなしフラグの"ON"と"OFF"は代替できます。
* - "ON": "オン", "true", "1", "No Fast Forward"
* - "OFF":"オフ", "false", "0"
*
* あまりないかもしれませんが、
* ---
* <ShowScrollingText>世界は魔王によって滅ぼされた。</ShowScrollingText>
* ---
* というように1行で記述することもできます。
*
*
* ○ (5) スイッチの操作
* 「スイッチの操作」は以下の記法で組み込むことができます。
* <Switch: スイッチ番号, 代入値("ON" or "OFF")>
* "Switch"は"SW", "スイッチ"でも代替できます。
*
* 例えば、以下の通りです。
* 例1: 番号1のスイッチをONにする。
* <Switch: 1, ON>
* <SW: 1, ON>
* <スイッチ: 1, ON>
* 例2: 番号1-10のスイッチをすべてOFFにする。
* <Switch: 1-10, OFF>
* <SW: 1-10, OFF>
* <スイッチ: 1-10, OFF>
*
* スイッチ番号は単一か範囲で指定します。範囲の場合は"1-10"のようにハイフンで
* 始端と終端をつなげます。
* 代入値は基本的に"ON"か"OFF"で指定します。
* "ON"は"オン", "true", "1"として、
* "OFF"は"オフ", "false", "0"でも代替できます。
*
*
* ○ (6) 変数の操作
* 「変数の操作」は、代入・加算・減算・乗算・除算・除算・余剰をそれぞれ以下の
* 記法で組み込みます。
* ・代入
* <Set: 変数番号, オペランド>
* "Set"は"=" か"代入"でも代替できます。
*
* ・加算(足し算)
* <Add: 変数番号, オペランド>
* "Add"は"+" か"加算"でも代替できます。
*
* ・減算(引き算)
* <Sub: 変数番号, オペランド>
* "Sub"は"-" か"減算"でも代替できます。
*
* ・乗算(掛け算)
* <Mul: 変数番号, オペランド>
* "Mul"は"*" か"乗算"でも代替できます。
*
* ・除算(割り算)
* <Div: 変数番号, オペランド>
* "Div"は"/" か"除算"でも代替できます。
*
* ・剰余(割り算のあまり)
* <Mod: 変数番号, オペランド>
* "Mod"は"%" か"剰余"でも代替できます。
*
* 変数番号は単一か範囲で指定します。範囲の場合は"1-10"のようにハイフンで
* 始端と終端をつなげます。
* オペランドでは演算対象の値を定数・変数・乱数・ゲームデータ・スクリプトで
* 指定します。指定方法の詳細を述べる前に、以下にいくつか具体例を記します。
*
* 例1: 変数1に定数2を代入する。
* <Set: 1, 2>
* <=: 1, 2>
* <代入: 1, 2>
*
* 例2: 1から10の変数すべてに変数2の値を加算する。
* <Add: 1-10, variables[2]>
* <+: 1-10, V[2]>
* <加算: 1-10, 変数[2]>
*
* 例3: 変数1に50から100の乱数を減算する。
* <Sub: 1, random[50][100]>
* <-: 1, r[50][100]>
* <減算: 1, 乱数[50][100]>
*
* 例4: 1から10の変数すべてににゲームデータのアクター2のレベルを乗算する。
* <Mul: 1-10, GameData[actor][2][level]>
* <*: 1-10, gd[actor][2][level]>
* <乗算: 1-10, ゲームデータ[アクター][2][レベル]>
*
* 例5: 変数1にゲームデータのパーティ人数を除算する。
* <Div: 1, GameData[PartyMembers]>
* </: 1, gd[PartyMembers]>
* <除算: 1, ゲームデータ[パーティ人数]>
*
* 例6: 変数1にスクリプト"$gameVariables.value(1)"の値との剰余を代入する。
* <Mod: 1, Script[$gameVariables.value(1)]>
* <%: 1, sc[$gameVariables.value(1)]>
* <剰余: 1, スクリプト[$gameVariables.value(1)]>
*
* オペランドに定数を指定する場合は、
* "1","2"のように数値をそのままお書きください。
*
* オペランドに変数を指定する場合は、
* Variables[変数番号]
* で指定します。Variablesは"V"か"変数"で代替できます。
* 例えば、変数2の場合は"Variables[2]"とお書きください。
*
* オペランドに乱数を指定する場合は、
* Random[最小値][最大値]
* で指定します。Randomは"R"か"乱数"で代替できます。
* 例えば、最小値50, 最大値50の乱数の場合は"Random[50][100]"とお書きください。