TOPlist

Hlášení zastávek do ostatních busů

Hlášení zastávek do ostatních busů

Příspěvekod dejvk » 20 dub 2013 00:49

Ahojte, děti moje takřka vlastní.

Minule jsem si z vás vychoval úžasňoučké skriptery, což nám dává možnost pustit se do nějakých dalších úprav, aby naše autobusy byly ještě duhovější a strávené hodiny v omsi příjemnější. Dneska vyšel MAN SL202, díky kterému jsem si vzpomněl na tenhle kousek úpravy, kterou jsem sem chtěl dát už dřív.

Určitě jste si všimli, že pánové z fabriky na MAN autobusy byli před rokem '90 němí a nedokázali nám namluvit hlášení. Naštěstí byli jejich inženýři a vizionáři natolik schopní, že by předčili i samotný Apple a když pak přišel slavný palubní počítač IBIS2 s podporou hlášení, tak to byla jen zástěrka, jak z našich prosperujících dopravních firmiček a podniků vytáhnout peníze za nové modely. Ono totiž hlásit umí i IBIS1! Akorát proč vám to říkat, když si můžete kvůli novému počítači koupit nové autobusy, že? Sláva kapitalismu!

Už jsem zmínil, že minule jsem si vás vychoval, kdo z vás vychovaný není, tak ať ze sebe vychovaného vychová, protože dál budu předpokládat, že už jste vychovaní a tedy máte sdílenou složku s hlášeními nasměrovanou do složky s originálním SD202. Všimli jste si, jak vás můžu ovládat? Muhahá.

Popravdě jsem nezkoušel, kde všude jde následující návod aplikovat, takže vás to naučím a vy se rozutečete po depu a budete to zkoušet na všechny autobusy, které se pohnou, a pak tu napíšete, kam se vám to podařilo aplikovat, protože jste hodňoučká komunita, kde vůbec nejsou kindermafiáni, ale všichni jsou tady k sobě příjemní a hezoučcí a tak se přece podělíte o svoje závěry, ne?

Tentokrát budu muset připomenout, abyste si udělali zálohu souboru Script/IBIS.osc, protože minule jste mi tam plakali, že jste si něco přemazali a nedopadlo to báječně, jak mělo. Tenhle návod jsem navíc testoval jen na SL202, SD200 a SD202, kde funguje bez potíží. Ostatní je na vás.

Každopádně, v tuhle chvíli už milé děti mějte před sebou otevřený soubor Script/IBIS.osc a poslouchejte pohádku. Váš vycvičený skripterský um tentokrát využijeme na to, abychom si vytvořili makro, které vyhlásí zastávku a takové úžasné makro potom přiřadíme k funkcím palubního počítače.
A teď překvapení večera, teď jsem vám lhal, protože jsem strašně ďábelský a vy jste mi na to skočili!
Nejdřív to makro přiřadíme a až teprve potom ho vytvoříme. Muhaha.


Prvně si potřebujete v IBIS.osc najít funkci, která posouvá pozici autobusu vpřed. Což, protože jste dávali ve škole pozor všichni víte, že se řekne
Kód: Vybrat vše
{trigger:IBIS_vor}

Tak, šup šup, zadejte to do vyhledávání ve vašem textovém editoru, ať můžeme pokračovat. Ve standardních skriptech by se měl ten trigger nacházet někde kolem řádku 250. V tom triggeru probíhají jakási zaklínadla, nás budou zajímat dva řádky:
Kód: Vybrat vše
(M.L.IBIS_RefreshBusstop)
(T.L.ev_IBIS_piep)

S trochou fantasie si možná i domyslíte, co dělají, pro nás je to ale úplně nepodstatné. My jim jejich lásku nepřejeme, a proto mezi ně zlobivě vsuneme odkaz na vlastní makro, který bude ve tvaru (M.L.IBIS_PlayAnnouncement). Takže teď je v triggeru napsáno
Kód: Vybrat vše
(M.L.IBIS_RefreshBusstop)
(M.L.IBIS_PlayAnnouncement)
(T.L.ev_IBIS_piep)


Výborně! První část je za námi! Kdo chce samolepku do žákajdy?
Další část je velmi podobná. Vyhledáme tentokrát část začínající Microphon-Taster:. Pro milovníky čísel a šílené vědce, taková část by se měla schovávat kolem řádku 470. Už tady vidíme naše staré známé, RefreshBusstop a.. Ahá! Vidíte, rozbili jsme jim lásku, a RefreshBusstop zůstal opuštěný, IBIS_piep tu nenajdete. Jsme tak zlí. Nám to ale nevadí, dohodíme mu naše nové makro, opět přidáme (M.L.IBIS_PlayAnnouncement).
Sekce Microphon-Taster bude po našich šílených machinacích tedy vypadat takhle:
Kód: Vybrat vše
'Microphon-Taster:
  (L.L.Snd_Microphone) (L.L.IBIS_LastMicro) ! &&
  {if}
    (L.L.IBIS_busstop) 1 + (S.L.IBIS_busstop)
    (M.L.IBIS_RefreshBusstop)
    (M.L.IBIS_PlayAnnouncement)

Co je dál nás nezajímá. Teď se totiž musíme zaměřit na důležitý úkol! Už je čas na vytvoření našeho báječného makra. Odjedeme si tedy až na úúúplný konec souboru. Co se tam nachází nás netrápí, ale mělo by to končit {end}. Mělo. Teoreticky. Možná nemusí. Ale radši bych, kdyby jo.

Šoupneme za to pár entrů, jsme přece profesionální programátoři, tak musíme dělat přehledný kód. Nebojte, děti, nemusíte se bát, že bych vás nechal něco složitého psát, půjde o klasickou metodu, kterou znáte ze školy, tedy "control-Cizí, control-Vlastní". Takže tooohle všechno vložte na konec souboru:

Kód: Vybrat vše
{macro:IBIS_PlayAnnouncement}

 (L.L.IBIS_busstop) 0 >
 {if}

  "\..\..\MAN_SD202\Sound\Ansagen\" (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}
{end}


Báječné. Teď ještě přidejte jeden nebo dva entry za to, je to takový hezký zvyk programátorů, ony potom ty programy o něco méně padají. A voilá, pokud jste postupovali správně a IBIS v daném autobuse není příliš změněný od těch původních, měli byste mít další autobus schopný hlásit zastávky. No nejste báječní? Ale teď šup, vyčurat, pomodlit a spát, podívejte se, kolik je hodin.
Uživatelský avatar
dejvk
Pokročilý člen
Pokročilý člen
 
Příspěvky: 1088
Registrován: 10 pro 2011 20:51

Re: Hlášení zastávek do ostatních busů

Příspěvekod Tomko00 » 20 dub 2013 09:07

Parádny návod! :) Veľmi užitočný, ďakujem. :)
Tomko00
Veterán
Veterán
 
Příspěvky: 8865
Registrován: 22 dub 2011 19:08
Bydliště: Košice

Re: Hlášení zastávek do ostatních busů

Příspěvekod shitman » 20 dub 2013 11:04

chlape, ty seš bůh :lol:
Obrázek
Obrázek PROTOŽE ZRZKY VLÁDNOU SVĚTU!!
Uživatelský avatar
shitman
Profík
Profík
 
Příspěvky: 12364
Registrován: 09 dub 2011 18:44
Bydliště: Kladno, to černé Kladno...

Re: Hlášení zastávek do ostatních busů

Příspěvekod hstudiocz » 22 dub 2013 17:45

Vyzkouším to! Příště by sis mohl odpustit ten text mimo téma. A pro ty méně zdatné by se šikl aj už uravený skript ke stažení
Uživatelský avatar
hstudiocz
Pokročilý člen
Pokročilý člen
 
Příspěvky: 877
Registrován: 04 srp 2012 14:32
Bydliště: okr. Uherské Hradiště

Re: Hlášení zastávek do ostatních busů

Příspěvekod luky.pat » 22 dub 2013 18:02

To by musel nahrát upravené skripty pro každý autobus, což je zbytečná práce navíc. Tenhle návod dost dobře popisuje celý postup, takže to pochopí každý, kdo umí otevřít poznámkový blok.
Text mimo téma mně osobně v tomhle případě nevadí, celkem se u toho bavím. :)
Meyye! Tahrodiis aanne! Him hinde pah liiv! Zu'u hin daan!
Uživatelský avatar
luky.pat
Zasloužilý tvůrce addonů
Zasloužilý tvůrce addonů
 
Příspěvky: 764
Registrován: 15 kvě 2011 20:10
Bydliště: Praha


Zpět na Scripty a zvuky

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 5 návštevníků