Interactive Control - Buttons
PÅ™es IC už umÃme zprovoznit animace a vÃme jak ho dostat do stroje. Nyný se seznámÃme s dalÅ¡Ã základnà funkcà IC a to jsou funkÄnà taÄÃtka. Tyto tlaÄÃtka spouÅ¡tà nÄ›jaký LUA kód a jsou proto důležitou funkcà - zkuÅ¡enà skriptaÅ™i si tento kód můžou upravit dle svého a pÅ™es IC tak lze provádÄ›t spoustu vÄ›cÃ.
Kam zapisovat tlaÄÃtka
StejnÄ› jako u animacà budeme potÅ™ebovat mÃsto, kam budeme tlaÄÃtka zapisovat. Zapisujeme do xml podle následujÃcÃho vzoru:
1<interactiveComponents minDist="13">2 <buttons>3 <button ... />4 </buttons>5</interactiveComponents>
TlaÄÃtka se tedy zapisujà do oddÃlu buttons (BUTTON = TLAÄŒÃKO). Nynà si vysvÄ›tlÃme atributy které můžeme/musÃme použÃt u tlaÄÃtek.
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é akci (na tlaÄÃtko už se kliklo - hláška v offMessage) nebo ukonÄené akci (jeÅ¡tÄ› se na tlaÄÃtko nekliklo - hláška v onMessage). Oba tyto atributy musà obsahovat název definovaného textu v l10n v modDesc.xml.
Atribut name
Tento atribut sloužà k zobecnÄ›nà hlášek - pokud máme napÅ™Ãklad 2 tlaÄÃtka, 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 tlaÄÃtka 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.
Atribut size
Tento atribut obsahuje index tlaÄÃtka v i3d stroje. Objekt na tomto indexu musà mÃt nejaký vnoÅ™ený 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.
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. Pokud nenà mark obsažen v tagu, vytvořà se pouze událost. Takto vytvoÅ™enou událost můžete použÃvat v multiButtons.
Atribut event
Tento atribut, jak již název napovÃdá, bude obsahovat název události kterou bude tlaÄÃtko spouÅ¡tÄ›t. Základnà události pro traktor/kombajn jsou nadefinovány v IC které si stáhnete (soubor ICSources/actionFunction.lua). JeÅ¡tÄ› musÃm poznamenat, že u nÄ›kterých eventů nenà výpoÄet zda je nÄ›co zapnuto/vypnuto. Proto se použÃvá jenom onMessage (offMessage doporuÄuji taky použÃt - stejné jako onMessage). Do onMessage v takovém pÅ™ÃpadÄ› vložte nÄ›jakou neutrálnà hlášku (napÅ™Ãklad Zapnout/vypnout %s). Seznam tÄ›chto dostupných eventů je následujÃcÃ:
Event | Význam |
---|---|
toggleBeaconLights | Zapne/vypne majáky |
toggleHandBreak | Zapne/vypne ruÄnà brzdu - potÅ™ebuje dodateÄný mod - event z LS13 |
togglePipe | Vysune/schová výložnÃk od kombajnu |
toggleFrontLights | PÅ™ednà svÄ›tla (mÃsto klávesy F) |
toggleFrontWorkLights | Přednà pracovnà světla |
toggleBackWorkLights | Zadnà pracovnà světla |
toggleBeamLights | Mlhovky |
toggleTurnsignalLeft | Levé blinkry |
toggleTurnsignalRight | Pravé blinkry |
toggleTurnsignalHazard | Výstražné světla (oba binkry najednou) |
toggleFoldImplement | Složit/rozložit zaÅ™Ãzenà pÅ™ipojená k aktuálnÃmu traktoru/kombajnu |
toggleFoldFrontImplement | Složit/rozložit zaÅ™Ãzenà pÅ™ipojená dopÅ™edu k aktuálnÃmu traktoru/kombajnu |
toggleFoldBackImplement | Složit/rozložit zaÅ™Ãzenà pÅ™ipojená dozadu k aktuálnÃmu traktoru/kombajnu |
toggleImplementUpDown | Zvednout/položit vÅ¡echna zaÅ™Ãzenà |
toggleFrontImplementUpDown | Zvednout/položit zaÅ™Ãzenà pÅ™ipojená vpÅ™edu |
toggleBackImplementUpDown | Zvednout/položit zaÅ™Ãzenà pÅ™ipojená vzadu |
toggleImplementTurnState | Zapnout/vypnout přednà i zadnà kardanku |
toggleFrontImplementTurnState | Zapnout/vypnout přednà kardanku |
toggleBackImplementTurnState | Zapnout/vypnout zadnà kardanku |
dumpEquipment | Vyprázdnit vÅ¡echna zaÅ™Ãzenà (pokud je tato možnost k dispozici) |
dumpFrontEquipment | Vyprázdnit zaÅ™Ãzenà pÅ™ipojené vepÅ™edu (pokud je tato možnost k dispozici) |
dumpBackEquipment | Vyprázdnit zaÅ™Ãzenà pÅ™ipojené vzadu (pokud je tato možnost k dispozici) |
fillImplement | Naplnit vÅ¡echna zaÅ™Ãzenà (pokud je tato možnost k dispozici) |
fillFrontImplement | Naplnit zaÅ™Ãzenà pÅ™ipojené vepÅ™edu (pokud je tato možnost k dispozici) |
fillBackImplement | Naplnit zaÅ™Ãzenà pÅ™ipojené vzadu (pokud je tato možnost k dispozici) |
tempomatUp | Zvýšà hodnotu tempomatu o 1 |
tempomatDown | SnÞà hodnotu tempomatu o 1 |
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 tlaÄÃko urÄeno pro použità mimo stroj a nebo pro použità v kabinÄ›. Pokud je false, tlaÄÃtko se zobrazà pouze tehdy, když jsme ve stroji. Pokud je true tak to zanmená, ž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.
Ukázka zápisu tlaÄÃtek
Nakonec vám zde pÅ™ikládám ukázku zápisu tlaÄÃtek do IC:
12<interactiveComponents minDist="7">3 <buttons>4 <button name="toggleFrontLights" mark="0>37|0|15" size="0.03" event="toggleFrontLights" onMessage="Front_Lights_Off" offMessage="Front_Lights_On" isOutside="false" synch="false" />5 <button name="toggleBackImplementUpDown" mark="0>37|0|16" size="0.03" event="toggleBackImplementUpDown" onMessage="toggleBackImplementUp" offMessage="toggleBackImplementDown" isOutside="true" />6 <button name="toggleBackImplementUpDown" mark="0>37|0|8|0|4" size="0.03" event="toggleBackImplementUpDown" onMessage="toggleBackImplementUp" offMessage="toggleBackImplementDown" isOutside="false" />7 <button name="toggleFrontImplementUpDown" mark="0>37|0|8|0|6" size="0.03" event="toggleFrontImplementUpDown" onMessage="toggleFrontImplementUp" offMessage="toggleFrontImplementDown" isOutside="false" />8 <button name="toggleFrontImplementUpDown" mark="0>37|7" size="0.03" event="toggleFrontImplementUpDown" onMessage="toggleFrontImplementUp" offMessage="toggleFrontImplementDown" isOutside="true" />9 <button name="toggleBeaconLights" mark="0>37|0|17" size="0.03" event="toggleBeaconLights" onMessage="toggleBeaconLights_off" offMessage="toggleBeaconLights_On" isOutside="false" synch="false" />10 <button name="toggleTurnsignalLeft" mark="0>37|0|9|0|3" size="0.03" event="toggleTurnsignalLeft" onMessage="toggleTurnsignalLeft_off" offMessage="toggleTurnsignalLeft_on" isOutside="false" synch="false" />11 <button name="toggleTurnsignalRight" mark="0>37|0|9|0|4" size="0.03" event="toggleTurnsignalRight" onMessage="toggleTurnsignalRight_off" offMessage="toggleTurnsignalRight_on" isOutside="false" synch="false" />12 <button name="toggleBackImplementTurnState" mark="0>37|0|8|0|7" size="0.03" event="toggleBackImplementTurnState" onMessage="tBackImplementTurnState_off" offMessage="BackImplementTurnState_on" isOutside="false" />13 <button name="toggleFrontImplementTurnState" mark="0>37|0|8|0|8" size="0.03" event="toggleFrontImplementTurnState" onMessage="tBackImplementTurnState_off" offMessage="BackImplementTurnState_on" isOutside="false" />14 <button name="toggleFoldFrontImplement" mark="0>37|0|8|0|9" size="0.03" event="toggleFoldFrontImplement" onMessage="FoldFrontImplement_off" offMessage="FoldFrontImplement_on" isOutside="false" />15 <button name="toggleFoldBackImplement" mark="0>37|0|8|0|10" size="0.03" event="toggleFoldBackImplement" onMessage="FoldBackImplement_off" offMessage="FoldBackImplement_on" isOutside="false" />16 </buttons>17</interactiveComponents>18