BVE Trainsim 路線製作示範教學 (列車時刻設定篇)  CSV 形式

閱讀本篇路線製作示範教學前先跟各位說明,看不懂得指令或是為何參數這樣設定請參考製作路線這一篇,場景物件該如何製作、修改請參考製作物件篇。如果您已經會編寫路線也可參考看看,互相交流一下,畢竟某些個人心得可能有錯。

※ 以下路線範例均使用 bve 原作者 mackoy 之內房線使用物件做為範例解說。


編輯指令路線設計場景設置站場設計時刻設定號誌設定場景音效輔助指令


編輯車站與時刻表

最早在一開始的基本路線設計時就說過,一條路線最基本要可以駕駛的車從起點發車開到終點。所以在一開始的路線編輯中已經有編輯車站了,那麼站場編輯不是有月台的設置嗎?

沒錯,但是月台是屬於場景設定而不是屬於行車系統設定。所以在中途里程要加設車站若是沒有寫入車站和停車位置的指令,而只是加入月台的場景也不會在行車上要求停靠該車站及月台。

而且若是所有車站依照著前篇的車站和停車位置寫法,可能在實際運行後就會發現列車是要各站停車的的,而且還沒有指定時刻,連現在時刻都是 0 時 0 分 0 秒。那麼現在就開始說明車站指令的進階參數與時刻設定。

※ 一開始的基本路線設計雖然有設立起點和終點的範例,但僅僅是因為車站指令是路線檔案所必需的指令,且不是該篇的主題,因此沒有
  詳細介紹車站指令內的詳細參數,現在我們來詳細看看車站指令內的參數設定。


Track.Sta Name; Time1; Time2; PassAlarm; Door; Stop; Device; Sound1; Halt; Jam; Sound2; TimetableIndex

車站設置及設定*


Name
車站名稱。可使用文字、數字與可接受之符號。


Time1
到站時刻。輸入格式為 HH.MMSS,若輸入 P 則本站設定為通過站,未輸入則本站停車但不指定到站時刻。


Time2
開車時刻。輸入格式為 HH.MMSS,若輸入 T 則本站設定為終點站,後方的停車站設置會無效;未輸入則本站不指定開站時刻。


PassAlarm
過站防止警報。參數設為 0 為不設置過站防止警報裝置,設為 1 則微設置該裝置。BVE ver. 4不使用此參數,但此欄位保留。


Door
列車門。參數設為 0 時為號誌站模式,停車後不會開啟車門;設為 -1 時停車後左側車門開啟,設為 1 時則為右側車門開啟。


Stop
車站預設進路號誌。參數設為 0 時在前方列車無阻擋下,出發號誌機為出發進行;設為 1 則出發號誌必定為險阻停車。


Device
站內路線運轉保安裝置。參數設為 0 時為 ATS;設為 1 為 ATC。BVE ver. 4不使用此參數,但此欄位保留。


Sound1:
到站播放檔案名,於列車正確停靠在停止位置並開啟車門後播放。


Halt
最短停車時間。單位為[s],本參數為該站最低限度停車時間,秒數多寡會影響上下車人數及發車鈴的時刻
※ 早期的指令說明中此參數之數值會影響列車搖晃程度,不過現在似乎是無關此值?


Jam
搭乘率。單位為[%],數值在 0~250 之間,乘客搭乘率越高則列車容易因上下車乘客導致慢分,出發時乘客滿意度也會較低。


Sound2
發車鈴之音效檔案名。終點站不需設定,就算有設定音效檔也會省略。


TimetableIndex:
Train.Timetable 時刻表的 index BVE ver.4 新增參數。



路線介紹與列車訊息&運轉時刻表 BVE ver.2

接著再說 Route.CommentRoute.Timetable的指令使用
前面的指令為路線介紹說明,後面的指令為運轉時刻表上列車訊息說明,不過很簡單,我們直接看下面的範例。

※ 注意:本指令僅能使用於 BVE2 的路線編寫中,BVE Trainsim 4 請不要使用此指令。

時刻表編輯 執行結果
Route.Comment臺灣鐵路管理局$chr(13)$chr(10)西部幹線上行$chr(13)$chr(10)莒光42次$chr(13)$chr(10)臺中~臺東(經由北迴線)$chr(13)$chr(10)
Route.Timetable莒光42次$chr(13)$chr(10)E客甲B速$chr(13)$chr(10)車廂編組:8車$chr(13)$chr(10)列車區間:臺中~臺東

Route.Signal(1) 45
Route.Signal(2) 60
Route.Signal(3) 100

Train.Folder 113_6
With Structure
.Rail(0) BallastS.csv

.Ground(0) Grass.csv

Texture.Background(0) Bg_Fine.bmp

With Track,
37100,.Sta楊梅; 09.0600; 09.0700; 0; 1; 0; 0; ;40; 35; ;0,
   ,.Height 0.45
37600,.stop 1,
40500,.Sta埔心; 09.1100; 09.1200; 0; 0; 0; 0;; 30; 15; ;0,
41000,.stop -1,
46900,.Sta中壢; 09.1700; 09.1900; 0; 1; 0; 0;; 60; 70; ;0,
47400,.stop -1,
50900,.Sta內壢; P;09.2200; 0; 0; 0; 0;; 30; 25; ;0,
51400,.stop -1,
56800,.Sta桃園; 09.2700; 09.2900; 0; 1; 0; 0; ; 60; 80; ;0,
57300,.stop -1,



列車簡述中的資訊


駕駛畫面時刻表

本時刻範例為虛構時刻


我們在圖片中可以看到在 bve2 執行時,點選路線時右上方的列車簡述欄位和駕駛畫面時刻表的上方顯示出我們輸入的訊息,而設定的各站指令內的時刻也依序列在時刻表內。依據車站和停車標誌指令的設定多寡,其時刻內容也有所增減。

可能有人會有疑問 $chr(13) 和 $chr(10) 是依據什麼設定的?寫了一大堆也不知道是在設定什麼。那我們再來說明這個記號指令:

$Chr(Index)
是一個用於輸出 ASCII 控制碼的指令,輸入的 Index 值會轉換為一個 ASCII 控制碼。


ASCII 全名為 American Standard Code for Information Interchange,臺灣翻譯為「美國資訊交換標準碼」,大致可以分作三個部分組成,第一部分有 32 個字元,用於通訊或是控制使用。所以部分字元是無法在螢幕上顯示其符號,但可以看到其控制的效果。第二部分共有 95 個字元,表示鍵盤上可輸入的數字、字母和符號。剩下的部分是由 IBM 制定的 128 個擴充字元,非標準的 ASCII 碼。用來表示框線、音標和非英語系的字母。

bve 上可能用到的 ASCII 數值大概如下

數值 控制符號 說明
00 null 以下空白
09 tab 移動格置
10 line feed 換行
13 carriage return 起始格位
32 space 空白
43 + 加號
45 - 減號

其它的 ASCII 碼不是沒什麼作用,就是鍵盤都打的出來,若是對其他的 ASCII 字元有興趣可以自行找尋ASCII 字元表。



車站與停車位置的關係

最後說明一下 StaStop 指令是相互輔助的,兩個指令一定要同時出現,不然會發生時刻表上車站消失或是路線讀取時發生錯誤。

而在 BVE Trainsim 4 的版本在 Stop的參數追加,可以設定列車在停車時容許的誤差位置;另外 StaStop的指令可以的話也盡量不要設置在同一里程處,有時會產生一些行車小問題。


 
路線介紹與列車訊息&運轉時刻表 BVE ver.4

在前面提到了 BVE Trainsim 4 的版本在時刻表上有很大的修正,主要在於時刻表變成圖檔格式,雖然說圖像檔案會比文字檔案更占儲存空間,但是相對的在畫面上更能符合現實上的運轉時刻表的實際樣貌,那麼這畫面是如何編寫的呢?

首先要準備一份 BMP 格式的運轉時刻表放置在列車資料夾中。

接著依照製作列車簡介駕駛台檔案編輯項目中的 BVE4 Panel2.cfg 的編寫方式將 [Timetable] 的各指令和參數寫入。
不過要注意,列車在製作、編輯時是完全以 BVE Trainsim 4 版本為標準規格製作的列車檔,
如果要使用 BVE2 的列車檔請務必使用 BVE Panel Upgrader 做規格升級動作。

上述步驟完成之後,在路線檔寫入路線製作指令中的
Train.Timetable timetableIndex .Day.Load Filename
Train.Timetable timetableIndex .Night.Load Filename(視路線情況編寫)

如此一來執行 BVE Trainsim 4 時就能夠看到圖像格式的運轉時刻表了。


 

顯示目前停靠車站的運轉時刻表 BVE ver.4 2007/5/27新編

BVE4 在製作、駕駛時會發現一個小問題,那就是因為缺少輔助視窗的關係,無從得知目前的停靠站為何?
雖然可能有車站或車上廣播,或是仔細觀察景色有無車站訊息,然後再按下 F4 照到開車時間和下一停靠站,
不過運轉時刻表上密密麻麻的站名和時刻,可能會看的眼花撩亂,一行一行找出目前或下一停靠車站的方式可能頭都暈了。
那麼製作時要如何提醒玩家瞭解與目前車站的時刻表中的對應時刻?


其實也就是在前面提到的
Train.Timetable timetableIndex .Day.Load Filename
Train.Timetable timetableIndex .Night.Load Filename(視路線情況編寫)

這個指令,其 timetableIndex 的參數就是用在對應車站上,那要如何做呢?

我們以臺東線 42次 運轉時刻表做範例,首先指定原始的運轉時刻表圖檔
然後將路線中出現的停靠站依序另存新檔,同時將停靠的車站和時刻依序標示出明顯記號,如下圖範例。

※ 本教學說明使用範例資料是為了配合解說而設計的虛構檔案,目前並無此路線可下載運行。

花蓮出發,因為是起始站,不做修改
檔名取為:CK42HL.bmp
吉安停車,將站名和時刻圈起做標示
檔名取為:CK42JA.bmp
志學停車,將站名和時刻圈起做標示
檔名取為:CK42JS.bmp

修改完畢的圖檔我們放置在 C:\Program Files\mackoy\BVE4\Train\Timetable\Taitung 資料夾底下。

接著我們開啟路線檔編輯時刻表指令,並依序新增時刻表指令的索引值(index)和參數(圖檔名)。

Train.Timetable(0).Day.Load ..\Timetable\Taitung\CK42HL.bmp
Train.Timetable(1).Day.Load ..\Timetable\Taitung\CK42JA.bmp
Train.Timetable(2).Day.Load ..\Timetable\Taitung\CK42JS.bmp

然後依序到各個 Track.Sta 指令追加時刻表的索引值,

Track.Sta 花蓮; 13.2700; 13.3500; ; 1; 1; ; ; 90; 60; Taitung\Bell.wav; 0
Track.Sta 吉安; 13.4000; 13.4100; ; 1; 1; ; ; 30; 40; Taitung\Bell.wav; 1
Track.Sta 志學; 13.5300; 13.5400; ; 1; 1; ; ; 30; 10; Taitung\Bell.wav; 2

儲存後開啟 BVE 看看時刻表的狀態,果然到吉安和志學都會依索引值改為該指定運轉時刻表圖檔,
不過有個小蟲,就是從第二個車站以後車站使用「選擇或跳躍車站的選項」回到起始站,圖片不會立刻變更,會是之前的圖檔。
不過按下 F4 或是視線晃一晃檔案就會變更了。



其它車站與時刻相關的待我想想想還有什麼要說的!


編輯指令路線設計場景設置站場設計時刻設定號誌設定場景音效輔助指令


2005/8/13 草擬
2006/2/7 編寫完成
2006/7/29 編修一 錯字訂正,局部新增。
2006/12/11 新增 BVE ver.4 運轉時刻表編輯方式。



遊戲安裝遊戲操作遊戲問題製作工具製作路線製作列車製作物件製作音效
鐵道知識製作心得檔案下載物件圖片真實場景路線風光站務紀錄本站首頁
製作感想網站推薦自我介紹音效編輯影像處理站內導覽簡易分站無用留言



Copyright © 2002~2007 Chikainn83