p2869401.htm#p2869401
Winsome推出的MMC,所有報站聲檔都是沿用OMSI 1的標準,所有聲檔都擺在A_COMMON_ANNOUNCEMENTS這個file內
而在OMSI 2中,這個系統有所修改,加入了(M.V.GetDepotStringGlobal)這個新script在其中,令報站聲檔組同hof緊扣,也令聲檔以各自file放在Vehivles\Announcements內,一來避免唔同地圖的同名巴士站互相取代,同時放便裝同搬走,節省儲存空間。
小弟打算照辦煮碗,嘗試幫香港車改IBIS script做到同樣效果,不過改E500MMC時遇到不明問題,導致報站冇聲出,所以想請求大家幫忙。謝謝。
我用notepad++開了OMSI 2\Vehicles\Dennis_Enviro500MMC\Script\IBIS-2_bu_new.osc,在第1423-1444行找到以下內容:
- 代碼: 選擇全部
{macro:IBIS_PlayAnnouncement}
(L.L.IBIS_isNoReportInfo) !
{if}
(L.L.IBIS_busstop) 0 >
{if}
"..\..\A_COMMON_Announcements\" (L.$.act_busstop) $+
(L.L.IBIS_RouteIndex) (M.V.GetBusstopCount) 1 - (L.L.IBIS_busstop) <=
{if}
"_#terminus" $+
{endif}
".wav" $+
' $msg
(T.F.ev_IBIS_Ansagen)
{endif}
{endif}
{end}
亦即係讀取報站聲檔位置。
我參考原裝車改法,改成如下:
- 代碼: 選擇全部
{macro:IBIS_PlayAnnouncement}
(L.L.IBIS_isNoReportInfo) !
{if}
(L.L.IBIS_busstop) 0 >
{if}
"..\..\Announcements\" 0 (M.V.GetDepotStringGlobal) "\" $+ $+ (L.$.act_busstop)
(L.L.IBIS_RouteIndex) (M.V.GetBusstopCount) 1 - (L.L.IBIS_busstop) <=
{if}
"_#terminus" $+
{endif}
".wav" $+
' $msg
(T.F.ev_IBIS_Ansagen)
{endif}
{endif}
{end}
將聲檔位置統一,同時出現了(M.V.GetDepotStringGlobal)這段新指令。
我響原裝SD202將呢組字響script其他位置找出來,結果找到仲有一段野要改。經對比SD202響OMSI 1同2版本後,我再響MMC呢個IBIS-2入面找,在第1033-1046行找出以下段落:
- 代碼: 選擇全部
(L.L.IBIS_LinieKurs) s2 100 / trunc s3
l3 5 =
{if}
l2 100 * 28 trunc (S.L.IBIS_Linie_Suffix) + trunc (S.L.IBIS_Linie_Complex)
{endif}
l3 8 =
{if}
l2 100 * 36 trunc (S.L.IBIS_Linie_Suffix) + trunc (S.L.IBIS_Linie_Complex)
{endif}
l3 9 =
{if}
l2 100 * 04 trunc (S.L.IBIS_Linie_Suffix) + trunc (S.L.IBIS_Linie_Complex)
{endif}
(M.L.IBIS_SetComplexLineString)
我就模仿原裝車改法,改成以下內容:
- 代碼: 選擇全部
(L.L.IBIS_LinieKurs) s2 100 / trunc s3
l3 5 =
{if}
l2 100 * 5 (M.V.GetDepotStringGlobal) $StrToFloat 0 max (S.L.IBIS_Linie_Suffix) + (S.L.IBIS_Linie_Complex)
{endif}
l3 8 =
{if}
l2 100 * 4 (M.V.GetDepotStringGlobal) $StrToFloat 0 max (S.L.IBIS_Linie_Suffix) + (S.L.IBIS_Linie_Complex)
{endif}
l3 9 =
{if}
l2 100 * 3 (M.V.GetDepotStringGlobal) $StrToFloat 0 max (S.L.IBIS_Linie_Suffix) + (S.L.IBIS_Linie_Complex)
{endif}
(M.L.IBIS_SetComplexLineString)
經檢查後,應該就冇改錯。
我之後將聲檔按地圖分類,並在相應hof指定位置中中加上[global_strings]字句,然而卻發現部MMC無法出報站聲,不過其他一切正常。
所以我想知到底發生咩事,謝謝。