Minulý týden jsem shodou okolností narazil na to, že již loni byl do Arma 3 přidán nový event handler “KnowsAboutChanged“. Tak jsem našel svou x-tou verzi alarm systému, která se původně inspirovala v OFP misi “Hawk in Nets” od Silver Falcona (respektive Munch Studios) a kterou jsem později přetvořil pro Armed Assault a zkoušel i nadále udržovat v nějaké aktuální verzi i v pokračováních původního Flashpointu. Princip byl ale stále dosti podobný a víceméně hlavně s novým event handlerem se mi více podařilo upravit systém tak, abych se již zbavil všech smyček a celý ho postavil již jen na event handlerech.Systém navíc nově vytváří objekt logiky do kterého se nastaví všechny potřebné předané parametry vrátí ho po inicializaci s možností[…]

Tento skript vytvoří ve výchozím nastavení BLUFOR letoun, pilota a bod trasy, který má dá za úkol hledat nepřítele a ničit ho. K vytvoření dojde tři kilometry daleko od předané pozice, která tvoří jedinou povinnou položku volání. Dalšími volitelnými položkami je možné změnit stranu, typ letounu, pilota, nastavit případného střelce a výšku, ve které má létat. Zavolání skriptu pak vrátí objekt vytvořeného vozidla se kterým je možná následně pracovat. Příklady volání:

Pokud chcete svému vojákovi na rameno umístit jmenovku s aktuálním jménem hráče, pak díky novince, se kterou přišel update 2.12 (vydaný 28.2.2023) tak můžete díky faktu, že jako texturu lze nově použít přímo text. Příklad: Syntaxe pro vytvoření textové textury, jak ji uvádí BI Wiki, je: Nevýhoda uvedeného je v tom, že po sundání uniformy a nasazení jmenovka zmizí. To lze pořešit jedině uložením přes setVariable při inicializaci textury a následné znovunačtení při oblečení díky obsluze event handleru “Take”.

Jednoduchá krátká funkce, která po zavolaní a předání dvou parametrů (dělo či minomet a pozice) vystřelí dostupnou munici “tiše” na tuto pozici (zjištěnou přímo či například přes getPos, getMarkerPos,…). Podmínkou je, že první předaný objekt musí být “herně” funkční (mít střelce, munici a být ve správném dostřelu). Příklad volání: