Skriptování v ArmA 2 – 1. část – Editor
Úvod
V editoru misí začíná veškterá tvorba. Na mapu se umisťují jednotlivé komponenty, které máme zařazeny do kategorií. Tyto kategorie můžeme nalézt v menu. Nyní se tedy rozeberme, co vše v menu nalezneme. Pokud se podíváme na obrázek, tak úplně nahoře uvidíme hvězdičku. Pokud misi uložíme a dáme jí jméno, pak se sem zobrazí jméno mise. Pokud provedeme nějakou změnu a misi neuložíme, pak se nám za název mise zobrazí hvězdička. Níže vidíme ve výběru slovo Mise. V tomto výběru přepínáme, jestli editujeme misi, nebo intro či outro. Ty jsou užívány k ukázkám, které samoutnou misi předcházejí, nebo ji uzavírají. Níže je panel, kde se nastavuje počasí a jeho předpověď, čas a datum mise a také kdo je spojencem nezávislích. Níže jsou kategorie, pro umisťování komponent. Mezi tlačítky můžeme zmínit Smazat, kderé vymaže vše, co jsme na mapu umístili, ID zobrazí opravdu ID všeho, co je na mapě umístěto, jako například cesty, domy, stromy. Až na mapu umístíme jednotku, za kterou bude možno hrát, tak se nám zobrazí i tlačíkto Náhled, díky němuž misi spustíme.
Pokud budeme dělat jen velice jednoduchou misi, tak nám bude stačit jen práce v editoru. Taková mise může být například vyčištění vesnice. Pro popisování a získávání vlastností objektů se užívá skriptování. Skripty můžeme psát přímo v editoru, ale máme v tomu jen málo prostoru. To využijeme abychom nastavili například letovou hladinu vrtulníku apod. K lepšímu skriptování lze používat externí skripty, které v tomto editoru neotevřeme, ale může je volat a reagovat na jejich výstup. Skriptováním se budeme zabývat v ostatních kapitolách. Nyní se podíváme, jaké komponenty můžeme na mapu umístit a čemu slouží.
Počasí, datum, čas a název mise
Věc, kam byste měli kliknout nejdříve je položka Intel v menu. V okně lze nastavit hlavní vlastnosti mise. Zde je dobré zadat ihned zázev mise. Pokud budeme misi během tvorby testovat (což jistě, že budeme), je dobré si zachovat dobré počasí, pokud však nebude počasí klíčový faktor.
Nejzajímavější v tomto okně jsou posuvníky na volbu počasí. Čím je posuvník více vlevo, tím je horší počasí, či větší mlha, která jako defaultně vypnuta. S mlhou opatrně, protože pokut ji dáte na maximum, tak je poté opravdu mizerná viditelnost. Na posuvníku pro předpovědi nastavíme stav, kam se má počasí dostat. Změna se časem provuje sama a v celku rychleji. Pro popis doporučuji jen pár slov, protože je zobrazován v okně hostitele a moc textu se tam nevejde.
Jednotky
Pokud vybereme Jednotky (F1), tak můžeme jednotku dvojklikem vložit na mapu. Objeví se nám toho okno:
Zde vybíráme, o jakou jednotku se jedná, zda amerického pěšáka nebo ruský tank s posátkou. K výběru konkrétní jednotky slouží výbery Strana, Frakce, Třída, Hodnost, Jednotka. Výběr Speciální nám například nastaví, aby letadlo či padák byly ve vzduchu. Ovládání se nám hodí pro Multiplayer, kde nastavíme jednotkám, že za ně můžou hráči hrát. Dále zde můžeme nastavit, abychom hráli v tanku jako velitel, střelec či řidič. Textové pole Název je unikátní jméno jednotky pro skriptování. Zobrazí se u jednotky, pokud na ni najedm myší. Stáří informace je doba, před kterou byla jednotka na daném místě spatřena. Zámek vodla nám může vozidlo zamknout, takže slouží na mapě spíše jako dekorace a ne jako dopravní prostředek. Po vozidla nelze nastoupit ani vyvolávat jiné akce. Posuvník Dovednost nastaví konkrétnímu AI ve vozidle jejich schopnosti střelby apod. Posuvníky Zdraví/štít, Palivo, Munice jsou snad jasné. Stejně tak Azimut. Posuvník Pravděpodobnost přítomnosti se nám může hodit, abychom vytvořili tochu dynamickou misi. Jednotka se teda na mapě nemusí vůbec objevit. Podmínka přítomnosti se hodí pro skriptování, kdy může přítomnost jednotky podmínit něčím složitějším, například počtem hrajících hráčů. Rádius umístění nám jednotku umístí v kruhu o určitém poloměru. Toto okno můžeme otevřít i pro již vloženou jednotku a upravit ji. Nemůžeme však upravit všechno. Pokud budeme chtít vkládat objekty jako je například plot, stany nebo ohniště, vybereme Strana Prázdný. Musíme ale nejdříve na mapu umístiti hráče.
Jednotka s rádiusem umístění
Pro multiplayer mise budu chtít vybrat jednotky, za které lze hrát. Toto se nastavuje ve výběru ovládání. Vždy necháme jednoho hráče, abychom se to mise mohli podívat z editoru. Do multiplayeru rolí se dá hráč a hratelné jednotky. Ty se sami roztřídí do frakcí a skupin. Například pro tank lze lze vybrat možnost Hratelné jako řidič aj.
Zleva: ovládání hráč, hratelné a nehratelné
Pokud budeme chtít jednotku smazat, musíme na ni najet kurzorem a zmáčnout klávesu Delete. Klávesu můžeme držet a po jednotkách jen jezdit kurzorem. Budeme-li chtít jednotky po mapě přesouvat, musíme mít vybrané Jednotky (F1).
Skupiny
Skupiny (F2) je nástoj pro vkládání skupin pěchoty i obrněné pěchoty. Dále pokud klikneme na jednotku a táhneme na jinou, tak je spojíme do skupiny, což je zvizulizováno azurovou barvou. Takto můžeme seskupovat libovolné typy jednotek. Pokud budem mít ve skupině tank, bude se nám zobrazovat celá posádka, čili řidič, střelec a velitel. Každé jednotce se přiřadí její volací číslo. Pokud umře velitel, pak se novým velitelem stává jednotka s nejnižším číslem.
Pokud vložíme skupinu pěchoty tak jak nám editor nabízí, tak by se měla vytvořit skupina jako na obrázku. Automaticky se veliteli nastaví vyšší hodnost a vytvoří 3x4 typy vojáků. Na rozmístění vojáků na mapě nemá žádný vliv, protože mají nastavenou vlastnost Speciální: Ve formaci. Umístění tedy určuje velitel. Pokud budeme chtít formaci na začátku měnit, použijeme Body Trasy (F4), ke kterým se dostaneme za chvíli. Pokud budeme chtít vojáky po mapě posouvat, musíme mít vybraný nástroj Jednotky (F1). Počet jednotek ve skupině je omezen.
Senzory
Senzory (F3) nám převážne slouží k tomu, abychom regovali na pohyb jednotek po mapě. Senzor nebo také spínač (termín z Operace Flashpoint) aktivuje událost nebo podmínka a poté může vykonat některý skript nebo efekt.
Jak vidíte sami, v záhlaví okna je napsáno Uprav spínač, takže budu raději používat slůvko spínač, jelikož jsem si na něj zvykl od Operace Flashpoint. Spínače jsou pro mise velmi důležité. Jistým způsobem je to prostředník mezi externími skripty a tímto editorem. Základní funkčnost demonstruje obrázek. Vložíme na mapu spínač o určitých rozměrech a tvaru, čili vytvoříme jakousi oblast. Výběrem Aktivace můžeme vybrat typ jednotky a dále jej kombinovat s možnostmi Přítomen, Jednou, Opakovaně aj. Použití je celkem intuitivní. Bude-li spínač nastaven na aktivaci jednou, tak po splnění podmínky již na ni nereaguje. Odpočítávání natavuje počat sekund, za jak dlouho začne spínač reagovat. Máme na výběr tři pole, takže se může počet sekund vybrat z intervalu, jaký definujeme. Pole Název je zase unikátní název spínače pro skriptování. Text si můžeme napsat sami a po najetí na ikonu spínače se nám zobrazí. Pokud jich na mapě bude mnoho tak pomůže k orientaci mezi nimi. Dále vidíme tři pole. Podmínka, Při aktivaci a Při deaktivaci. Polem Podmínka můžeme nastavit další podmínku. Aby se spínač spustil, musí být splněna podmínka napsaná v tomto poli, tak i výše definovaná. Necháme-li v poli slovo this
, podmínka je splněna vždy. Dále v ostatních polích můžeme krátký skript, či zavolat externí skript například:
[] exec "skript.sqs"
A budeme-li chtít poslat objekt jako parametr:
[_x] exec "skript.sqs"
A pokud budeme chtít do parametru dostat například celou skupinu vojáků, tak se skript bude volat n-krát a pokaždý s jiným parametrem.
{ [_x] exec "skript.sqs" } foreach thisList
Výběr Typ nám může nabýdnout hodně konců. Spínač misi ukončí a podle čísla konce pak můžeme nastavit například různé závěrečné zprávy.
Tímto jsem nakousl příští kapitolu, ale toto zde nemohu nezmínit. Možnost Při deaktivaci jsem osobně zatím nikdy nepoužil. Asi se ani moc nepoužívá, když je na ni mnohem meší textové pole. Fukncionalitu nabízí stejnou, akorát při negaci podmínky. Tlačítkem Efekty můžeme nastavit hudku, zvuky okolí a zobrazující se text. Vše se projeví při spuštění spínače.
Použujeme-li zvukový efekt mimo stopy, tak bude zvuk ve hře vycházet z pozice spínače.
Spínač se nemusí používat jako oblast, které reaguje na objekty na mapě. Můžeme nastavit poloosy na 0 a reagovat jen na podmínku z pole Podmínka.
Spínače se dobře kombinují s Body Trasy (F4) pomocí nástroje Synchronizace (F5). K tomu se postaneme později. Pokud spojíme velitele skupiny a spínač pomocí nástroje Skupiny (F2) jako na obrázku…
…budeme mít na spínači jiné možnosti ve výběru Aktivace. Prohlédnout si je můžete níže:
Body trasy
Body trasy (F4) nám slouží k tomu, abychom jednotky k misi rozpohybovali. Hráči se zobrazují při hře a AI se podle nich chová automaticky. Pomocí nich můžeme nastavovat přesuny, formace a režimy chování aj. Abychom takový bod trasy vložily, musíme mít nejprve vybranou jednotku tím, že na ni klikneme.
Výběr Vybrat typ slouží pro výběr jako je přesun, nastup, vystup, hlídkuj atp. Pořadí bodů trasy se dělá automaticky, jak je postupně vytváříme. Pole Popis slouží pro nás, abychom se ve spínačích lépe vyznali. Výběr Bojový režim může nastavit, aby voják nestřílel, střílel dle libosti apod. Další je Formace a Rychlost, ke kterým snad nemusím nic dodávat. Výběr Chování pak nastaví jak se jednotka při přesunu a po přesunu chová.
Vlevo jednotka po přesunu s bojovým chováním
Až doposud se nastavení týkalo jednotek ovládaných AI. Pokud budeme chtít, aby se jednotka takto chovala hned na začátku, nebo aby skupina bylo v určité formaci, nastavíme jí bod trasy s konkrétním nastavením a můžeme ho mít jako přesun hned před jednotku.
Číselná hodnota Rádius umístění slouží k umístěný bodu trasy v náhodném bodě kruhu o tomto poloměru, jehož střed určuje bod trasy.
Tímto nastavením se poté při hře bude zobrazovat přesun někde v ploše přerusovaného kruhu. Dále lze nastavit Poloměr vyplnění. Ten slouži v tomu, že jednotka nemusí dojít přímo na bod určený v editoru, ale stačí jen do jeho okolí, tedy kruhu o určitém poloměru. Obě tyto hodnoty se můžou kombinovat.
Přerušovaná kružnice je rádius umístění a plná poloměr vyplnění
Další nastavení bodu trasy je stejné jako u spínačů. Nakonec je volba mezi Neukázat nikdy, Ukázat režimu kadeta a Ukázat vždy. Toto nastavení určuje, jestli hráč vidí na své mapě bod trasy.
Zobrazení bodu trasy (s poloměrem vyplnění) na hráčově mapě
Pokud budeme chtít body trasy zacyklit, aby například stráž chodila neustále od bodu A k bodu B, tak k tomu slouží ve výběru Vybrat typ možnost Opakuj.
Takto můžeme jednotce dát více bodů trasy a jako poslední zvolíme tento opakovací. Po dosažení opakovacího se jednotka bude zase zvona řídit od prvního bodu trasy. Takto teda vypadá uvedený příklad se stráží:
Pokud bude horní bod trasy nastaven jako Přesun a dolní jako Opakuj, jednotka bude chodit od horního bodu trasy k dolnímu. Opakovat tento pohyb bude neustále, pokud nenaskriptujeme, aby se jednotka chovala jinak.
Synchonizace
Synchronizace (F5) nám slouží k propojování spínaču s body trasy a nebo k propojování modulů s jednotkami. Jedná se o stejné spojování obdobně jako u skupin. Čára synchronizace má modrou barvu. V případě propojování spínač – bod trasy můžeme ovlivnit postup k dalšímu bodu trasy a v přídapě modul – jednotka nastavíme samotnou funkcionalitu. Synchonizace se taky používá při definování vyššího velení a módu válka (warfare). Všechny případy nyní rozebereme.
Nyní se podíváme jak funguje v praxi propojení spínače a bodu trasy.
Aby se dostavil nějaký efekt, tak má spínač podmínku presun
, což je proměnná s hodnotou false
, kterou změníme na true
až budeme chtít aby jednotka vyrazila k dalšímu bodu trasy. Takže v tomto přídapě se jednotka přesune k prvnímu bodu trasy. Ten se spojen se spínačem s podmínkou. Až bude podmínka splněna jednotka půjde k dalšímu bodu trasy. Jak s proměnnou pracovat je popsáno v kapitole Skriptování.
Dále se podíváme jak nastavit vyšší velení. K tomu budeme potřebovat i některé moduly.
Takže na vrcholu tohoto stromu velení máme nejvyššího velitele. Ten je spojen s modulem Vrchní velení – Velitel. Dále větvíme k modulům Vrchní velení – Podřízení, které jsou spojeni s veliteli jednotlivých skupin. Velitel uvidí následující:
Těžko říct, jakým způsobem hra řadí typy jednotek. Zde na obrázku je to následně: 1 vrtulníky, 2-3 tanky, 4-5 pěchota. Z obou obrázků je vidět, že pokud spojíme velitele skupin na stejný modul Vrchní velení – Podřízení tak mají stejnou barvu čísla.
Značky
Značky (F6) slouží pro hráče, který je vidí ve své mapě. Pokud je budeme umisťovat v editoru tak je uvidíme pouze pokud budeme mít vybraný nástroj značky.
Značky bych rozdělil na dva typy. Buďto vkládáme ikonu nebo zvýrazňujeme oblast. V poli Název vyplníme název značky. Každá začka musí mít svůj unikátní název, nazordíl třeba u jednotek, kde se název nemusí vyplňovat. Značce můžeme vybrat barvu v výběru Barva a případě obdélníka či elipsi její výplň z výběru Výplň. Ta u ikon nemá význam. Jako výchozí značka se nám vybere ikona typu Prázdný. Taková značka není na hráčově mapě vidět. Hodí se pro skriptování.
Značky mohou být pro mapu jednak zajímavých zpestřením a také upozorňují na místa, kde se vyskytuje nepřítel. Volitelné je pole Text, kam můžeme napsat ze značce některou poznámku.
Pomocí značek můžeme jednotce nastavit náhodnou pozici. Narozdíl od vlastnosti Rádius umístění nám značky umožní jednotku umístit na jedno z námi určených míst. Jednotka se spojuje se značkou pomocí Skupiny (F2). Je dobré si pamatovat, kam jsme značky umístily, protože jakmile přepneme na Skupiny (F2), tak nám značky zmizí.
Náhodné umístění jednotky pomocí značek
Moduly
Moduly (F7) jsou každý nějak specifický. Již jsem uvedl příklad s vrchním velením. Moduly se s jednotkami či jinými moduly spojují synchronizací. Princip modulů si ukážeme.
Jedny z modulů jsou Effect: Film Grain, Effect: Sepia, Effect: Movie Night a Effect: Movie Day. Tento modul stačí umístit kamkoli na mapu a hráči se projeví výsledný efekt.
Dále zmíním modul Bezpilotní letoun (UAV). Synchronizací se spojí modul s letadlem (MQ-9), dále s hráčem, který bude letoun ovládat a s ovládacím střediskem. Propojení znázorňuje obrázek:
Bezpilotní letoun má tendenci vzlétnout, proto je dobré nastavit ve výběru Speciální možnost Ve vzduchu nebo ho umístit na dráhu letiště. Pokud bude někde v terénu, tak se bude snažit vzlétnout, ale neporaří se mu to. Jako ovládací středisko lze zvolit téměř jakýkoli objekt. Já jsem pro názornost zvolil terminál bezpilotních letadel.
Když se přiblížíme k ovládacímu středisku, tak se nám nabízí možnost letoun ovládat. Po potvrzení se nám přepne pohled na kameru bezpilotního letounu.
Letoun sám krouží kolem jednoho bodu. Ten lze nastavit tím, že si otevřeme mapu a klikneme nějaké místo, kolem něhož bude letoun kroužit.
Abych doplnil zbývající modul válka (warfare) co jsem načal výše. Samotná mapa se musí ještě složitě nastavit skriptama.
Zde je jedná o propojování modulů a jednotek. Tam kde vidíme v modrém čtverci BLU nebo OP se jedná o jednotku. Poté všechny jednotky musíme také spojit s modulem válka. Dále se samotný warfare musí nastavit. Nejlepší bude, pokud vás odkážu na následující BI stránky:
http://community.bistudio.com/wiki/Warfare_1_-_Editing_Guide
Záverem
Doufám, že tato kapitova vás zasvětila do vytváření misí pro ArmA 2 a v další kapitole si povíme o skriptování, bez kterého se težko ve svých misích obejdete.