Pokud jste hráli Evolution pro ArmA: Armed Assault, tak jste jistě zaznamenali, že na letišti v bedně měl každý hráč dostupné vybavení dle své hodnosti. Ukažme si krátký skript, jak tohle řešit dle vlastních požadavků. Multiplayer v ArmA hrách má svá specifika, která je vhodné znát (doporučuji mrknout na BI Wiki). A proč? Pointa celého řešení je v tom, že každý má svou bednu vytvořenou jen na svém počítači. Ale nepředbíhejme a začněme pěkně od začátku. Než si vytvoříme hlavní skript, tak v editoru zadáme spínač s podmínkou spuštění: local player a do pole s kódem, ještě se spouští po aktivaci zadáme zavolání hlavního skriptu. [] execVM “player_init.sqf” Tento spínač nám zajistí, že se skript spustí každému hráči a vyhodnocuje[…]

Včera vyšlo již druhé DLC pro samostatně hratelný datadisk ArmA 2: Arrowhead s názvem PMC, které přineslo zajímavé novinky, takže bychom se mohli ohlédnout za několika z těch, které se od vydání datadisku Arrowhead objevily. Private Military Company Začněmě pěkně od těch nejnovějších. Každý kdo rozehrál kampaň Operation Black Gauntlet, tak si všiml několika novinek. BIS_fnc_playVideo Tou asi nejvýraznější a dříve avizovanou je možnost přehrání videa přímo ve hře. Jedinou podmínkou je mít video v ogv formátu, což je pro video tím, čím je pro audio ogg formát (přesněji řečeno od roku 2007). Více informací naleznete na BI Wiki Zavolání je celkem prosté: _video = [“\ca\video_pmc\CP00_intro.ogv”] spawn bis_fnc_playVideo; waitUntil {scriptDone _video}; Pro export do ogv formátu můžete zkusit například Theora[…]

Před týdnem vyšla ArmA 2 a každý si jistě všiml, že jsou v ní nové obrazové efekty. O některých z nich na které můžete narazit a které můžete použít by vás chtěl seznámit v následujících několika řádcích a příkladech. Úvod V tomto článku předpokládám alespoň základní znalosti práce s příkazy v ArmA či OFP, jejich vytváření a volání. Použitá syntaxe bude odpovídat sqf skriptům. Příkazy Při práci s obrazovými efekty vystačíme se třemi novými příkazy. Jde o ppEffectAdjust, ppEffectEnable a ppEffectCommit. První příkaz ppEffectAdjust je v podstatě nejdůležitější, protože slouží k vybrání a nastavení parametrů daného efektu. Následující příkaz ppEffectEnable povoluje či zakazuje patřičný efekt a příkaz ppEffectCommit udává v jaké době se má přechod do výsledného efektu provést. Pro[…]

Již od svého vydání Flashpoint (i ArmA) podporují možnost lokalizovat obsah mise do více jazykových verzí. Někteří již možná zaregistrovali, že existuje jakýsi soubor stringtable.csv, ale to není vše. Následující článek vás provede celým procesem tvorby vícejazyčného obsahu. DEFINICE Jak bylo zmíněno, tak vše se víceméně točí hlavně kolem souboru stringtable.csv, ale je na místě uvést, že více jazykových verzí se vytváří i za pomoci využití dalších souborů a to briefing.html a overview.html. Každý hráč má totiž ve svém configu nastavený používaný jazyk a při spuštění mise je to on, který hra jako první vyhledává. Defaultně tak hra hledá soubory briefing.nazev_jazyka.html a overview.nazev_jazyka.html (např. briefing.czech.html). Pokud je hra nenalezne, pak se teprve podívá přímo na soubor briefing.html (respektive overview.html). Ve[…]

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[…]