Interactive Control - Monitors
Skripty na mÃru. Na drobnosti se hodà ale na složitÄ›jÅ¡Ã funkce je to ztráta Äasu dÄ›lat jednu vÄ›c tÅ™eba na 4 stroje různÄ›. To samé je pÅ™Ãpad monitorů v FS15. Neexistoval skript, který je rozdÄ›loval na skupiny a tak se tvoÅ™ili skripty na mÃru. Nynà je tato možnost zabudovaná v IC takže je tato funkce dostupnÄ›jÅ¡Ã a jednoduÅ¡Ã na vytvoÅ™enÃ.
Kam a jak zapisovat monitory
Jelikož toto je naprosto odliÅ¡ná vÄ›c oproti ostatnÃm možnostem IC, tak se taky bude zapisovat jinak. Displaye se zapisujà do oddÃlu monitors a jednotlivý display pak do tagu monitor. Každý display se pak dÄ›là na vrstvy, pÅ™iÄemž máme jednu základnà vrstvu která může a nemusà sloužit jako pozadÃ. No vÃce zatÃm nebudu vysvÄ›tlovat a ukážeme si schéma zápisu:
1<monitors>2 <monitor ...>3 <layer ... /> <!-- vrstva jako pozadi (bez open a close) -->4 <layer ... >5 <open ... />6 <close ... />7 </layer>8 ...9 </monitor>10 ...11</monitors>12
No doufám že jste to pochopili.
Atributy pro tag monitor
Atribut name
Zde je narozdÃl od jiných položek atribut name použitelný pouze v pÅ™ÃpadÄ›, že je atribut useStart nastaven na false. Protože pokud se display zapne automaticky pÅ™i startu motoru, pak nepotÅ™ebujeme žádnou hlášku. Pokud ji ovÅ¡em použÃváme opÄ›t sloužà name k zobecnÄ›nà hlášek.
Atribut size
Size sloužà k definovánà velikosti tlaÄÃtka pro kliknà - nikoli velikosti vizuálnÃ! Hodnota je desetinné ÄÃslo v rozmezà 0 až 1. Toto ÄÃslo urÄije procentuálnà velikost klikatelného tlaÄÃtka oproti monitoru. Je dobré si s tÃmto pohrát aby se mohli použÃvat tlaÄÃtka blÃzko u sebe. (OpÄ›t použità pouze pokud je useStart nastaven na false)
Atribut mark
Tento atribut obsahuje index tlaÄÃtka v i3d stroje. Objekt na tomto indexu musà mÃt nejaký vnoÅ™rný objekt pro pÅ™Ãpadné pÅ™idánà efektů. DoporuÄuji použÃt tlaÄÃtko z archivu který si stáhnete s IC. Kolem tohoto indexu se tvořà klikatelná oblast definovaná v size. (Použità poue pokud je useStart nastaven na false). Pokud je také useStart nastaven na false nemusÃme zadávat mark, a takto vytvoÅ™enou událost můžete použÃvat v multiButtons.
Atribut synch
Atribut synch se použÃvá pro multiplayer a může obsahovat hodnotu true a nebo false. Tento atribut nenà povinný a jeho základnà hodnota je true. Pokud je hodnota false, pak nenà synchronizováno chovánà na MP - tzn.: jeden hrÃ¡Ä může vidÄ›t nÄ›co spuÅ¡tÄ›né a druhý ne. Vhodné pro nÄ›jaké drobné funkce aby se nezatěžovala komunikace pÅ™i MP.
Atribut isOutside
Tento atribut definuje, zda je monitor urÄen pro použità mimo stroj a nebo pro použità v kabinÄ›. Pokud je false, monitor bude ovladatelný pouze tehdy, když jsme ve stroji. Pokud je true tak to zanamená, že aby se talÄÃtko dalo spustit, tak musÃme být v dosahu definovaném minDist. Tento atribut je nepovinný a jeho základnà hodnota je false. (Použità poue pokud je useStart nastaven na false)
Atribut useStart
UrÄuje, zda se má monitor zobrazit aoutomaticky po startu motoru, a nebo zda má být možnost zapnout/vypnout monitor pÅ™es tlaÄÃtko. Jeho hodnota nabývá buÄ true nebo false. Pokud je true, pak se monitor aktivuje automaticky po nastartovánÃ.
Atribut defaultLayer
UrÄuje základnà vrstvu monitoru, která se spustà po startu monitoru. Může znázorňovat pozadà pÅ™es které se dále mohou promÃtat snÃmky z monitoru. Atribut musà být nastaven, avÅ¡ak jde obejÃt pÅ™i použità atributu moveDefaultLayer. Obsahuje celé ÄÃslo, které pÅ™edstavuje index naÄtené vrstvy. Index závisà podle toho, jak jsou vrstvy zapsány v xml - vrstva nahoÅ™e má index 0 a ta spodnà má index o jedno menÅ¡Ã než je poÄet vrstev (indexuje se od 0).
Atribut moveDefaultLayer
UrÄuje, zda se má základnà vrstva stÅ™Ãdat s ostatnÃmi vrstvami a nebo zůstat jako pozadÃ. Nabývá hodnot true nebo false.
Atribut layerVisPos
Obsahuje pozici, kterou zaujme vrstva pokud je zobrazena. Jeho hodnota je tedy vektor(3) (- prostÄ› "x y z").
Atribut layerClosePos
Obsahuje pozici, kterou zaujme vrstva pokud je skryta - aby se i tak nedalo kliknout na tlaÄÃtka. Jeho hodnota je tedy vektor(3) (- prostÄ› "x y z").
Atributy onMessage a offMessage
Tyto atributy se použÃvajà k definovánà hlášky, která se má zobrazit po najetà myÅ¡i a to buÄ pÅ™i spuÅ¡tÄ›ném moitoru nebo vypnutém monitoru. PoužÃvajà se pouze pokud je useStart nastaven na false. Oba tyto atributy musà obsahovat název definovaného textu v l10n v modDesc.xml.
Atributy pro tag monitor.layer
Jak jsem již zmÃnil, tak monitor obsahuje nÄ›jaké vrstvy. Tyto vrstvy se zapisujà pod monitor (viz pÅ™Ãklad 1, řádek 3) a obsahujà samostatné atributy, pÅ™evážnÄ› pro hlášky pÅ™i spouÅ¡tÄ›nà vrstvy. Tak jdeme na popisovánÃ.
Atribut name
Tento atribut sloužà k zobecnÄ›nà hlášek - pokud máme napÅ™Ãklad 2 vrstvy, tak pro obÄ› můžeme vypisovat stejnou hlášku s tÃm, že mÃsto name které se tam má doplnit, napÃÅ¡eme do hlášky on/offMessage nÄ›jaký text a jako zástupný znak name použijeme %s. Ve výsledku tak máme tÅ™eba jednu onMessage, jednu offMessage a 2 animace použÃvajÃcà stejné hlášky akorát s jiným name. Atribut name obsahuje název definovaného textu v l10n v modDesc.xml.
Atributy onMessage a offMessage
Tyto atributy se použÃvajà k definovánà hlášky, která se má zobrazit po najetà myÅ¡i a to buÄ pÅ™i zobrazené vrstvÄ› a nebo pÅ™i vrstvÄ› skryté. Pro tlaÄÃtko open platà offMessage a pro tlaÄÃtko close platà onMessage. Oba tyto atributy musà obsahovat název definovaného textu v l10n v modDesc.xml. Pokud se vrstva neotevÃrá tlaÄÃtkem (pozadÃ), pak tyto atributy můžem vynechat.
Atribut index
Asi nejdůležitÄ›jÅ¡Ã atribut vrstvy - urÄuje index který je transformován a zviditelňován jako velý vrstva - může odkazovat na transform group ve které jsou poté dalÅ¡Ã ovládacà možnosti a prvky.
Atributy pro tlaÄÃtka open a close
Jako poslednà nám zbývajà tlaÄÃtka open a close, které sloužà pro otevÃránà a zavÃránà vrstev monitoru. Jejich nastavenà je jednoduché a snadno pochopitelné.
Atribut size
Definuje velikost klikatelné oblasti na obrazovce. Hodnota je desetinné ÄÃslo v rozmezà 0 až 1. Toto ÄÃslo urÄije procentuálnà velikost klikatelného tlaÄÃtka oproti monitoru (velikosti okna hry).
Atribut mark
Tento atribut obsahuje index tlaÄÃtka v i3d stroje. Objekt na tomto indexu musà mÃt nejaký vnoÅ™rný objekt pro pÅ™Ãpadné pÅ™idánà efektů. DoporuÄuji použÃt tlaÄÃtko z archivu který si stáhnete s IC. Kolem tohoto indexu se tvořà klikatelná oblast definovaná v size.
PÅ™Ãklad na závÄ›r
A jako vždy následuje ji tradiÄnà pÅ™Ãklad na závÄ›r!
1<monitors>2 <monitor name="monitor1" useStart="true" layerClosePos="0 0 5" layerVisPos="0 0 0" defaultLayer="0" moveDefaultLayer="false">3 <layer name="m1l1" index="0>6|0|15|0|5|0|0|0" />4 <layer name="m1l2" index="0>6|0|15|0|5|0|0|1" onMessage="cp_panel_on" offMessage="cp_panel_off" >5 <open size="0.015" mark="0>6|0|15|0|5|0|0|0|3" move="false" />6 <close size="0.015" mark="0>6|0|15|0|5|0|0|1|9" move="false" />7 </layer>8 <layer name="m1l3" index="0>6|0|15|0|5|0|0|2" onMessage="cp_panel_on" offMessage="cp_panel_off" >9 <open size="0.015" mark="0>6|0|15|0|5|0|0|0|1" move="false" />10 <close size="0.015" mark="0>6|0|15|0|5|0|0|2|1" move="false" />11 </layer>12 <layer name="m1l4" index="0>6|0|15|0|5|0|0|3" onMessage="cp_panel_on" offMessage="cp_panel_off" >13 <open size="0.015" mark="0>6|0|15|0|5|0|0|0|2" move="false" />14 <close size="0.015" mark="0>6|0|15|0|5|0|0|3|4" move="false" />15 </layer>16 </monitor>1718 <monitor name="monitor2" useStart="true" layerClosePos="0 0 5" layerVisPos="0 0 0" defaultLayer="0" moveDefaultLayer="false">19 <layer name="m2l1" index="0>6|0|15|0|5|0|1|0" />20 <layer name="m2l2" index="0>6|0|15|0|5|0|1|1" onMessage="cp_panel_on" offMessage="cp_panel_off" >21 <open size="0.015" mark="0>6|0|15|0|5|0|1|0|2" move="false" />22 <close size="0.015" mark="0>6|0|15|0|5|0|1|1|9" move="false" />23 </layer>24 <layer name="m2l3" index="0>6|0|15|0|5|0|1|2" onMessage="cp_panel_on" offMessage="cp_panel_off" >25 <open size="0.015" mark="0>6|0|15|0|5|0|1|0|1" move="false" />26 <close size="0.015" mark="0>6|0|15|0|5|0|1|2|4" move="false" />27 </layer>28 </monitor>29</monitors>