Interactive Control - Úvod

Zde vám v této sérii popíšu, jak vložit Interactive Control (dále jen IC) do strojů a jak plně využít jeho funkce. Budeme pracovat s mou upravenou verzí pro FS15. Ke stažení je na stránce farm-share - odkaz naleznete na konci této stránky. Toto IC vychází z verze do LS13 a je přepsáno do jiné formy, což umožňuje snadnější úpravu funkcí, možnost změnit styl přepínání a také možnost venkovních tlačítek mimo stroj.

Jaké to má funkce?

Hlavní myšlenkou je zapojit více uživatele do hry - uživatel pak může ovládat stroj pomocí myši klikáním na tlačítka reprezentující danné funkce. Lze tak udělat ovládání světel z kabiny, otevírání oken a dveří, atd... Další funkcí je to, že toto lze udělat i mimo stroj - jednoduše se k němu přijde a IC ovládáme stejně jako vevnitř.

Kde to můžu použít?

Použít to lze v takřka každém stroji. Ovšem pokud jste zběhlí v lua skriptování doporučuji si na konci úpravy stroje odmazat zbytečné funkce (které nepotřebujete) - lépe se pak orientuje ve skriptu.

Jak zajistím zápis do stroje?

V archivu který si stáhneme (.zip) nalezneme soubor InteractiveControl.lua a složku ICSources. Složku ICSources musíte vložit do složky s modem. Nesmí být někde jinde - na toto si dávejte pozor. Soubor InteractiveControl.lua vložíme kdekoli do modu s tím, že ho musíme zapsat v modDesc.xml do stroje. Například takto:

1<specializations>
2 <specialization name="interactiveControl" className="InteractiveControl" filename="Script/InteractiveControl.lua" />
3</specializations>
4
5<vehicleTypes>
6 <type name="JD7290R" className="Vehicle" filename="$dataS/scripts/vehicles/Vehicle.lua">
7 <specialization name="animatedVehicle" />
8 <specialization name="motorized" />
9 <specialization name="steerable" />
10 <specialization name="drivable" />
11 <specialization name="cylindered" />
12 <specialization name="hirable" />
13 <specialization name="aiTractor" />
14 <specialization name="bunkerSiloCompacter" />
15 <specialization name="honk" />
16 <specialization name="indoorHud" />
17 <specialization name="washable" />
18 <specialization name="mountable" />
19 <specialization name="animatedHydraulic"/>
20 <!----------------IC------------------>
21 <specialization name="interactiveControl" />
22 </type>
23</vehicleTypes>
24
25<inputBindings>
26 <input name="INTERACTIVE_CONTROL_SWITCH" category="VEHICLE" key1="KEY_rctrl" key2="" button="" device="0" mouse="" />
27</inputBindings>
28
29<l10n>
30 <text name="INTERACTIVE_CONTROL_SWITCH">
31 <en>Switch IC State</en>
32 <de>IC an/abschalten</de>
33 <cz>Aktivovat IC</cz>
34 </text>
35 <text name="InteractiveControl_Off">
36 <en>Disable IC</en>
37 <de>IC ausschalten</de>
38 <cz>Vypnout IC</cz>
39 </text>
40 <text name="InteractiveControl_On">
41 <en>Enable IC</en>
42 <de>IC anschalten</de>
43 <cz>Zapnout IC</cz>
44 </text>
45</l10n>

Pokud máme toto v modDesc.xml (a samozřejmě zbytek který potřebujeme k modu), pak máme IC úzpěšně vloženo do stroje. Další nastavování se provádí v XML stroje.

Nastavení minimální vzdálenosti od stroje pro aktivaci IC

Jelikož toto IC dovoluje použití IC také mimo stroj, je potřeba nastavit vzdálenost, do jaké je hráč schopen IC spustit. Toto nastavení se provádí v xml stroje u hlavního prvku IC kterým je interactiveComponents. Zde přidáme atribut minDist a dáme mu nějakou hodnotu. Tato hodnota udává jak daleko (v metrech), může být hráč od stroje aby mohl aktivovat IC. Pokud není atribut uveden je tato vzdálenost automaticky 3.
Ukázka:

1
2<interactiveComponents minDist="13">
3</interactiveComponents>
4

Nastavení stylu přepínání IC

Jelikož toto IC podporuje také 2 styly zapínání, je nutné toto nastavit (Pro zpětnou kompatibilitu je tam nastaveno základně zmáčknutí klávesy na zapnutí). Prvním způsobem zapínání je asi ten nejvíce známý. Tedy že zmáčknu klávesu, IC se zapne, poklikám co potřebuju, zmáčknu znova a IC se vypne. Druhý styl je nový - IC je zapnuto pouze pokud držím klávesu kterou mám zvolenou. Typ jaký chcete se zapisuje do atributu toggleStyle u hlavního prvku IC. První, klasický styl má číslo 0. Druhý, nový styl má pak číslo 1. Ukázka:

1
2<interactiveComponents minDist="13" toggleStyle="1">
3</interactiveComponents>
4

Tento kód způsobí, že IC bude aktivní jen pokud budeme držet klávesu kterou jsme si zvolili v modDesc.xml. Toto je pro tentokrát vše, příště se podíváme na zapsání animací do IC (dveře, okna, volant, atd...)

Související video

Skript ke stažení

  1. InteractiveControl (Farm-Share)