Princip je jednoduchý. V podstatě se vytvoří kód (po sobě jdoucí příkazy ohraničené složenou závorkou), kterému přidělíme nějaký název. Kdykoliv pak po zadefinování je možné tento kód zavolat a tím v podstatě zavolat naši funkci. Funkci lze navíc zavolat i s parametry, což si ukážeme na následujícím příkladu: // —– CELO_Dopln_Naloz // —– doplneni naloze do vybavy objektu // —– @param object objekt, kteremu se ma pridat naloz do vybavy CELO_Dopln_Naloz = { _soldier = _this; try { if (isNil “_soldier”) then {throw “neznamy objekt”}; if (!alive _soldier) then {throw “neni nazivu”}; if (!(_soldier isKindOf “Man”)) then {throw “neni clovek”}; _soldier addmagazine “pipebomb”; } catch { switch (_exception) do { case “neznamy objekt”: { // — chybny stav }; case[…]

S příchodem Armed Assault přišlo i mnoho nových příkazů, které jsem se rozhodl lehce prozkoumat a napsat o nich něco málo. Zaměřil jsem se na ty, které považuji za zajímavé a pro obyčejného uživatele nejvíce využitelné. Půjde především o ty, které nějak pracují s chováním či nastavením AI a nebo s enginem obecně. Prvním příkazem, který si předvedeme je findCover kryt = salat findCover [getPos indian, getPos vokurka,100]; salat domove getpos kryt Jak je vidět, tak findCover vrací objekt, kterým je místo, jenž by mělo sloužit jako kryt. Toto místo se vypočítá na základě tří parametrů předaných v poli. Prvním je pozice odkud má hledání začít, druhým je pozice před kterým se má ukrýt a třetím je maximální vzdálenost ve které se má hledat. V mém případě tedy například voják pojmenovaný salat nedaleko[…]