BveTs Map 2.02:UTF-8

/////	マップファイルの編集には"Notepad++"や"Visual Studio Code"といったソースコードエディタ"に,マップ構文定義ファイルを適用すると見やすく編集しやすいでしょう.
/////	1行目には,必ずファイルヘッダーを記述します.うまく読み込まれないときは, ファイルヘッダーのバージョンと文字エンコードもチェックしましょう.
/////	キロ程には自由な数が設定できるようになりました.しかし,調査や計算が複雑になるため,設計としては25m単位にするなど,丸めて製作することも重要な工夫です. (当区間では5m単位に丸めています)

/////	シナリオファイルは,		Uchibo_3793F_ATS-P.txt
/////	マップファイルの最上位は,	3793F_P.txt

/////	[ キロ程表記について ]	:	詳細は Track_define.txt
/////	$SR01 をキロ程に使う場合, シナリオ上のキロ程は	[ 入力したキロ程 +39440 ]
/////	$WK01 をキロ程に使う場合, シナリオ上のキロ程は	[ 入力したキロ程 +  235 ]
/////	$WK02 をキロ程に使う場合, シナリオ上のキロ程は	[ 入力したキロ程 -  145 ]
/////	$SZ01 をキロ程に使う場合, シナリオ上のキロ程は	[ 入力したキロ程 + 4025 ]

/////	[ TrackKeyについて ]	/	処理負荷軽減のため, 未設定および コメントアウトしている区間もあります
/////	D-Sazanami	=	内房線下り	(千葉-蘇我間の外房線下りを含みます/原則,自軌道と同じルート)
/////	U-Sazanami	=	内房線上り	(千葉-蘇我間の外房線上りを含みます)
/////	D-Wakashio	=	外房線下り
/////	U-Wakashio	=	外房線上り
/////	D-Sazanami-3 =	内房線下り	(千葉駅3番線ルート)
/////	U-Sazanami-4 =	内房線上り	(千葉駅4番線ルート)
/////	D-Wakashio-5 =	外房線下り	(千葉駅5番線ルート)
/////	U-Wakashio-6 =	外房線上り	(千葉駅6番線ルート)
/////	Keiyo-3		=	京葉線上り	(蘇我駅3番線)
/////	Keiyo-4		=	京葉線下り	(蘇我駅4番線)

/////	KDK-D		=	京成線下り	(ちはら線直通)
/////	KDK-U		=	京成線上り	(ちはら線直通/千葉中央以南も線路上を走ります)
/////	KDK-U_Dammy	=	京成ちはら線・複線用地用Track	(千葉中央以南の引上線・複線用地部分に使用しています)

#####	このファイルでは他列車構文を扱います
#####	千葉機関区の他列車(機関車)は,	Map03_F-Depot.txt	にて記述しています.
#####	他列車の停止位置のキロ程には変数を使用しています. 詳細は Track_define.txt



#	!!!	・他列車(走行可能なストラクチャ) を設定する構文
#	!!!	(1) 他列車を定義する構文
#	!!!		Train[trainKey].Load(filePath, trackKey, direction)
#	!!!								trainKey	: 他列車名 (任意の文字列)
#	!!!								filePath	: このファイルから他列車ファイルへの相対パス
#	!!!								trackKey	: 走行する軌道
#	!!!								direction	: 進行方向 (-1: 対向, 1: 並走)
#	!!!	
#	!!!	他列車を設定するためには, 使用するストラクチャやその位置・音などを定義した'他列車ファイル'が必要です.
#	!!!	
#	!!!	(2) 他列車の動作を有効にする構文
#	!!!		Train[trainKey].Enable(time)
#	!!!		Train[trainKey].Enable(second)
#	!!!								trainKey	: 他列車名
#	!!!								time		: 時刻を表す文字列 ('hh:mm:ss')
#	!!!								second		: 00:00:00 からの経過時間 [sec]
#	!!!	
#	!!!	自列車が設定した距離程を通過し, かつ設定された時刻になったとき, 他列車の動作を有効にします.
#	!!!	
#	!!!	(3)他列車を停車させる構文
#	!!!		Train[trainKey].Stop(decelerate, stopTime, accelerate, speed)
#	!!!								trainKey	: 他列車名
#	!!!								decelerate	: 減速度   [km/h/s]
#	!!!								stopTime	: 停車時間 [s]
#	!!!								accelerate	: 加速度   [km/h/s]
#	!!!								speed		: 加速後の走行速度 [km/h]
#	!!!	
#	!!!	他列車を設定した距離程に一旦停車させます.
#	!!!	
#	!!!		trainKeyには運行番号などの, 設定する列車を識別しやすい名前を付けると管理しやすいでしょう.
#	!!!		また, ファイル構成にもよりますが, filepath は文字列が長くなりがちです.
#	!!!		変数で処理できるファイル名にしておくと, 編成を置き換えるときや ランダム設定をする際に管理しやすいかもしれません.(当例ではファイルパスには変数を使用しています)



																		#	ファイルパスの変数定義
																		#	 [	下 り  ]
	$3913A		=	'AddTrain_Formation\209_Dammy10_D.txt';				#	外房線		：	快速			10両
#	$3913A_Delay = Rand(60);											#
	$3913A_Delay = 60;													#
																		#
																		#	 [	上 り  ]
	$248M		=	'AddTrain_Formation\209_Sotobo8_U-0248M.txt';		#	外房線		：　	普通			 8両
	$3868F		=	'AddTrain_Formation\217r_15_U.txt';					#	内房線		：　	快速			15両
	$1634M		=	'AddTrain_Formation\209_ToSoto6_U.txt';				#	東金線直通	：	普通			 6両

	$144M		=	'AddTrain_Formation\209_Uchibo10_U-0144M.txt';		#	内房線		：　	普通			10両
	$146M		=	'AddTrain_Formation\209_Uchibo6_U-0146M.txt';		#	内房線		：　	普通			 6両
	$148M		=	'AddTrain_Formation\209_Uchibo8_U-0148M.txt';		#	内房線		：　	普通			 8両



																		#	他列車設定
																		#	 [	下 り  ]
#		///	↓ 3913A	///			#		#		#		#		#		#		#		#
							Train['3913A'].Load( $3913A,'D-KY-Sotobo', 1);#				#	(1)
	 2000 + $WK02 ;			Train['3913A'].Enable( '09:40:00' );		#		10		#	(2)
#										# 減速度/停車時間/加速度/走行速度	#				#
	 3000 + $WK02 ;			Train['3913A'].Stop( 1.80,93+$3913A_Delay, $INF, 43);#	駅間	#	(3)	/ 発車位置・停車位置の2点が設定されていない他列車は動きません
	$Soga5_stop10;			Train['3913A'].Stop( 1.80,300, 1.80, 45);	#	 蘇  我		#	(3)	/ $INF は, Variable.txt にて "とても大きな値"を変数宣言しています.
#	6000;					Train['3913A'].Stop( $INF, 30, 1.80, 90);	#				#	(3)	/ これにより, 一瞬で列車を移動させる等の処理をしています.
#		///	↑ 3913A	///			#		#		#		#		#		#		#		#



																		#	他列車設定
																		#	 [	上 り  ]
#		///	↓  248M	///			#		#		#		#		#		#		#		#
							Train['248M'].Load( $248M,'U-Sazanami',-1);	#				#	(1)
	0;						Train['248M'].Enable( '09:36:30' );			#		8		#	(2)
#										# 減速度/停車時間/加速度/走行速度	#				#
#	$Soga2_stop8;			Train['248M'].Stop(  2.00, 60, 2.20, 49);	#	 蘇  我		#	(3)	/ 発車位置・停車位置の2点が設定されていない他列車は動きません
	$Honchiba1_stop8;		Train['248M'].Stop(  1.80, 20, 1.80, 43);	#	本 千 葉		#	(3)
	$Chiba5_stop8;			Train['248M'].Stop(  1.80, 60, $INF,$INF);	#	 千  葉		#	(3)
	 -235 + $WK01 ;			Train['248M'].Stop(  $INF, 60, 1.80, 25);	#	 千  葉	の先	#	(3)
#		///	↑  248M	///			#		#		#		#		#		#		#		#

#		///	↓ 3868F	///			#		#		#		#		#		#		#		#
							Train['3868F'].Load( $3868F,'U-Sazanami',-1);#				#	(1)
	0;						Train['3868F'].Enable( '09:36:30' );		#		15		#	(2)
#										# 減速度/停車時間/加速度/走行速度	#				#
#	$Yawata1_stop15;		Train['3868F'].Stop(  $Inf, 30, 1.80, 67);	#	八 幡 宿		#	(3)	/ 発車位置・停車位置の2点が設定されていない他列車は動きません
#	$Hamano1_stop15;		Train['3868F'].Stop(  2.00, 30, 1.80, 73);	#	 浜  野		#	(3)
	$Soga1_stop15;			Train['3868F'].Stop(  1.80, 30, 1.80, 58);	#	 蘇  我		#	(3)
	$Honchiba1_stop15;		Train['3868F'].Stop(  1.80, 30, 1.80, 45);	#	本 千 葉		#	(3)
	$Chiba4_stop15;			Train['3868F'].Stop(  1.80, 60, $INF,$INF);	#	 千  葉		#	(3)
	 -235 + $WK01 ;			Train['3868F'].Stop(  $INF, 60, 1.80, 25);	#	 千  葉	の先	#	(3)
#		///	↑ 3868F	///			#		#		#		#		#		#		#		#

#		///	↓ 1634M	///			#		#		#		#		#		#		#		#
							Train['1634M'].Load( $1634M,'U-Wakashio',-1);#				#	(1)
	0;						Train['1634M'].Enable( '09:39:00' );		#		6		#	(2)
#										# 減速度/停車時間/加速度/走行速度	#				#
	$Soga2_stop6;			Train['1634M'].Stop(  1.80, 75, 1.80, 64);	#	 蘇  我		#	(3)	/ 発車位置・停車位置の2点が設定されていない他列車は動きません
	$Honchiba1_stop6;		Train['1634M'].Stop(  1.80, 30, 1.80, 45);	#	本 千 葉		#	(3)
	$Chiba5_stop6;			Train['1634M'].Stop(  1.80, 60, $INF,$INF);	#	 千  葉		#	(3)
	 -235 + $WK01 ;			Train['1634M'].Stop(  $INF, 60, 1.80, 25);	#	 千  葉	の先	#	(3)
#		///	↑ 1634M	///			#		#		#		#		#		#		#		#

#		///	↓  144M	///			#		#		#		#		#		#		#		#
							Train['144M'].Load( $144M,'U-Sazanami',-1);	#				#	(1)
	0;						Train['144M'].Enable( '09:37:30' );			#		10		#	(2)
#										# 減速度/停車時間/加速度/走行速度	#				#
	$Yawata1_stop10;		Train['144M'].Stop(  $Inf, 30, 1.80, 68);	#	八 幡 宿		#	(3)	/ 発車位置・停車位置の2点が設定されていない他列車は動きません
	$Hamano1_stop10;		Train['144M'].Stop(  1.80, 30, 1.80, 61);	#	 浜  野		#	(3)
	$Soga1_stop10;			Train['144M'].Stop(  1.80,180, 1.80, 54);	#	 蘇  我		#	(3)
	$Honchiba1_stop10;		Train['144M'].Stop(  1.80,180, 1.80, 45);	#	本 千 葉		#	(3)
	$Chiba3_stop10;			Train['144M'].Stop(  1.80, 60, $INF,$INF);	#	 千  葉		#	(3)
	 -235 + $WK01 ;			Train['144M'].Stop(  $INF, 60, 1.80, 25);	#	 千  葉	の先	#	(3)
#		///	↑  144M	///			#		#		#		#		#		#		#		#

#		///	↓  146M	///			#		#		#		#		#		#		#		#
							Train['146M'].Load( $146M,'U-Sazanami',-1);	#				#	(1)
	0;						Train['146M'].Enable( '9:43:15' );			#		6		#	(2)
#										# 減速度/停車時間/加速度/走行速度	#				#
	$Anegasaki1_stop6;		Train['146M'].Stop(  $Inf, 30, 1.80, 90);	#	姉 ヶ 崎		#	(3)	/ 発車位置・停車位置の2点が設定されていない他列車は動きません
	$Goi1_stop6;			Train['146M'].Stop(  1.80, 30, 1.80, 82);	#	 五  井		#	(3)
	$Yawata1_stop6;			Train['146M'].Stop(  1.80, 30, 1.80, 68);	#	八 幡 宿		#	(3)
	$Hamano1_stop6;			Train['146M'].Stop(  1.80, 30, 1.80, 59);	#	 浜  野		#	(3)
	$Soga1_stop6;			Train['146M'].Stop(  1.80,180, 1.80, 57);	#	 蘇  我		#	(3)
	$Honchiba1_stop6;		Train['146M'].Stop(  1.80, 30, 1.80, 45);	#	本 千 葉		#	(3)
	$Chiba5_stop6;			Train['146M'].Stop(  1.80, 60, $INF,$INF);	#	 千  葉		#	(3)
	 -235 + $WK01 ;			Train['146M'].Stop(  $INF, 60, 1.80, 25);	#	 千  葉	の先	#	(3)
#		///	↑  146M	///			#		#		#		#		#		#		#		#

#		///	↓  148M	///			#		#		#		#		#		#		#		#
							Train['148M'].Load( $148M,'U-Sazanami',-1);	#				#	(1)
	0;						Train['148M'].Enable( '9:55:30' );			#		8		#	(2)
#										# 減速度/停車時間/加速度/走行速度	#				#
	$Anegasaki1_stop8;		Train['148M'].Stop(  $Inf, 30, 1.80, 89);	#	姉 ヶ 崎		#	(3)	/ 発車位置・停車位置の2点が設定されていない他列車は動きません
	$Goi1_stop8;			Train['148M'].Stop(  1.80, 30, 1.80, 95);	#	 五  井		#	(3)
	$Yawata1_stop8;			Train['148M'].Stop(  1.80, 30, 1.80, 70);	#	八 幡 宿		#	(3)
	$Hamano1_stop8;			Train['148M'].Stop(  1.80, 30, 1.80, 73);	#	 浜  野		#	(3)
	$Soga1_stop8;			Train['148M'].Stop(  1.80, 60, 1.80, 55);	#	 蘇  我		#	(3)
	$Honchiba1_stop8;		Train['148M'].Stop(  1.80, 30, 1.80, 45);	#	本 千 葉		#	(3)
	$Chiba5_stop8;			Train['148M'].Stop(  1.80, 60, $INF,$INF);	#	 千  葉		#	(3)
	 -235 + $WK01 ;			Train['148M'].Stop(  $INF, 60, 1.80, 25);	#	 千  葉	の先	#	(3)
#		///	↑  148M	///			#		#		#		#		#		#		#		#



																		#	ファイルパスの変数定義
#	$908A		=	'AddTrain_Formation\209_Sotobo10_U.txt';			#	京葉線		：　	普通

##		#		#		#		#		#		#		#		#		#		#		#
#																		#				#
#							Train['908A'].Load( $908A,'Keiyo-3',-1);	#				#	(1)
#	0;						Train['908A'].Enable( '09:52:00' );			#				#	(2)
##										# 減速度/停車時間/加速度/走行速度	#				#
#	$Soga3_stop10 ;			Train['908A'].Stop(  1.80,  0, 1.80, 60);	#	 蘇  我		#	(3)	/ 発車位置・停車位置の2点が設定されていない他列車は動きません
##	 2300		  ;			Train['908A'].Stop(  $INF,  0, 1.80, 60);	#				#
#																		#				#
##		#		#		#		#		#		#		#		#		#		#		#






																		#	ファイルパスの変数定義
#	$817F		=	'AddTrain_Formation\SKN858_FLocSL01v_B.txt';		#	京成線		：　	普通	下り	(新京成)
	$914F		=	'AddTrain_Formation\SKN858_FLocSL01v_B.txt';		#	京成線		：　	普通	上り	(新京成)

#		#		#		#		#		#		#		#		#		#		#		#
#																		#				#
#							Train['817F'].Load( $817F,'KDK-D', 1);		#				#
#	0;						Train['817F'].Enable( '09:39:30' );			#				#
##										# 減速度/停車時間/加速度/走行速度	#				#
#	  150 + $WK01 ;			Train['817F'].Stop(  2.30, 30, 2.30, 45);	#	京 成 千 葉	#
#	 1175 + $WK02 ;			Train['817F'].Stop(  2.30,600, 2.30, 65);	#	千 葉 中 央	#
#	 3050		  ;			Train['817F'].Stop(  $INF,300, 2.30, 60);	#				#
#																		#				#
#		#		#		#		#		#		#		#		#		#		#		#

#		#		#		#		#		#		#		#		#		#		#		#
																		#				#
							Train['914F'].Load( $914F,'KDK-U',-1);		#				#	(1)
	0;						Train['914F'].Enable( '09:38:00' );			#				#	(2)
#										# 減速度/停車時間/加速度/走行速度	#				#
#	 3050		  ;			Train['914F'].Stop(  2.30,  0, 2.30, 60);	#				#	(3)	/ 発車位置・停車位置の2点が設定されていない他列車は動きません
	 1139 + $WK02 ;			Train['914F'].Stop(  2.30,120, 2.30, 50);	#	千 葉 中 央	#	(3)
	  150 + $WK01 ;			Train['914F'].Stop(  2.30, 30, 2.30, 45);	#	京 成 千 葉	#	(3)
																		#				#
#		#		#		#		#		#		#		#		#		#		#		#








#	!!!	[ 他列車構文を使用した表現 ]
#	!!!	他列車構文には, 自列車がある地点を通過したときに条件成立という機能や, 音を出す, ストラクチャを動かすといった機能があるために, 工夫次第では様々な表現が可能かもしれません.
#	!!!	当例では, 本千葉・蘇我での他列車の駅停車に関連して, 到着案内・発車放送を他列車を使用して再現しています.
#	!!!	ただし, 複雑なことをやり過ぎるとその設定のために多くの時間を費やしたり, 将来の管理で躓くことがあるでしょう. 'いつ見ても手に負える範囲'に留めておくことも重要です.

#	(アイデア)	：	他列車ファイルのSound3Dセクション・Function(Accelerate/Decelerate)は加減速度に関係なく, 一度の加・減速時に一度再生されます.
#				他列車にストラクチャを設定せず, 低い加・減速度で走行させれば, 駅放送などを自由なタイミングで鳴らすことも可能なのではないか？
#				このとき,他列車が通り過ぎてしまわないように, 他列車定義ファイルのdistanceを大きく設定しておく, 加減速音が途切れないようにするため, 加・減速度と走行速度を適切に設定するといった工夫も必要でしょう.



																						#	ファイルパス変数定義
	$3868F_Dammy		=	'AddTrain_Formation\3868F_Dammy.txt';						#	3868A(内房→総武快速/本千葉)	放送・環境音用ダミー
	$3913A_Dammy		=	'AddTrain_Formation\3913A_Dammy.txt';						#	3913A(京葉→外房線・快速/蘇我)	放送・環境音用ダミー

#		#		#		#		#		#		#		#		#		#		#		#		#		#
							Train['3868F_Dammy'].Load( $3868F_Dammy,'U-Sazanami',-1);	#				#	(1)
	0;						Train['3868F_Dammy'].Enable( '09:39:57' );					#				#	(2)
#										# 減速度/停車時間/加速度/走行速度					#				#
	$Honchiba1_stop15-150;	Train['3868F_Dammy'].Stop(  0.00,  0, 0.01,  1);			#	本 千 葉		#	(3)
	$Chiba4_stop15;			Train['3868F_Dammy'].Stop(  2.00, 60, 1.80, 60);			#	 千  葉		#	(3)
#		#		#		#		#		#		#		#		#		#		#		#		#		#



#		#		#		#		#		#		#		#		#		#		#		#		#		#
							Train['3913A_Dammy'].Load( $3913A_Dammy,'D-KY-Sotobo', 1);	#				#	(1)
	 2250 + $WK02 ;			Train['3913A_Dammy'].Enable( '09:43:30' );					#				#	(2)
#										# 減速度/停車時間/加速度/走行速度					#				#
	$Soga6_stop15 -  5;		Train['3913A_Dammy'].Stop( 0.01,$3913A_Delay+7, 0.001,0.1);	#	 蘇  我	(1)	#	(3)
	$Soga6_stop15 +  5;		Train['3913A_Dammy'].Stop( 0.001,300, 0.001, 55);			#	 蘇  我	(2)	#	(3)
#	6000;					Train['3913A_Dammy'].Stop( $INF, 30, 1.80, 90);				#				#	(3)
#		#		#		#		#		#		#		#		#		#		#		#		#		#









#	$TEST_D		=	'AddTrain_Formation\209_Sotobo10_D.txt';			#	外房線		：	快速			10両
#	$TEST_U		=	'AddTrain_Formation\209_Sotobo8_U.txt';				#	外房線		：　	普通			 8両
#																		#	他列車設定
#																		#	 [	下 り  ]
##		///	↓ TEST_D	///		#		#		#		#		#		#		#		#
##							Train['TEST_D'].Load( $TEST_D,'D-Wakashio-5', 1);	#		#	(1)
#							Train['TEST_D'].Load( $TEST_D,'D-Sazanami-3', 1);	#		#	(1)
#	0 ;						Train['TEST_D'].Enable( '09:40:00' );		#		10		#	(2)
##										# 減速度/停車時間/加速度/走行速度	#				#
#	$Anegasaki1_stop8;		Train['TEST_D'].Stop( 1.80, 30, 1.80, 60);	#				#
#	$Chiba5_stop15;			Train['TEST_D'].Stop( 1.80,  0, 1.80, 60);	#	 千  葉		#	(3)
##		///	↑ TEST_D	///		#		#		#		#		#		#		#		#
#
#																		#	他列車設定
#																		#	 [	上 り　 ]
##		///	↓ TEST_U	///		#		#		#		#		#		#		#		#
##							Train['TEST_U'].Load( $TEST_U,'U-Wakashio-6', 1);	#		#	(1)
#							Train['TEST_U'].Load( $TEST_U,'U-Sazanami-4', 1);	#		#	(1)
#	0 ;						Train['TEST_U'].Enable( '09:40:00' );		#		10		#	(2)
##										# 減速度/停車時間/加速度/走行速度	#				#
#	$Anegasaki1_stop8;		Train['TEST_U'].Stop( 1.80, 30, 1.80, 60);	#				#
#	$Chiba6_stop15;			Train['TEST_U'].Stop( 1.80,  2, 1.80, 60);	#	 千  葉		#	(3)
##		///	↑ TEST_U	///		#		#		#		#		#		#		#		#










