Animácia mapy

Z Armed Assault nápověda

Přejít na: navigace, hledání

Obsah

Úvod

Možno ste už niekedy pri editácii potrebovali priamo v misii zobraziť hráčovi mapu a ukázať mu tak dôležité body pre ďalší postup v misii, alebo ste jednoducho potrebovali upútať jeho pozornosť tak aby nahliadol do mapy, prípade briefingového notesa.
Takéto upozornenie sa dá samozrejme zrealizovať aj priamo v briefingu (napr. zmenou úloh - objStatus), alebo nejakým hint-om so zvukovým oznámením v ľavom hornom rohu obrazovky.

Naše riešenie ktoré si v tomto tutoriále ukážeme je ale elegantnejšie a proste "cool".

Naučíme sa vytvoriť jednoduchú animáciu mapy, ktorú môžete neskôr rozšíriť a doplniť napríklad o hudbu alebo dabing, prípadne celú animáciu včleniť do už pripravenej cutscény.
Príkazov pre zobrazenie a animáciu mapy nieje veľa a sú prehľadne zoradené v tomto off-line helpe v záložke Skupiny príkazov -> Príkazy pre mapu, alebo tu. Preto by nebolo na škodu keby ste si ich pred ďalšími krokmi v tomto tutoriále naštudovali, aby ste vedeli o čom je reč.

Prvé kroky

Pre potreby nášho tutoriálu nám bude stačiť ostrov Rahmadi, pretože ho hra hneď po spustení načíta, nemusíme čakať po spustení editora hry.
Otvorte teda mapu a na ostrove vo štvorci Bb88 na kóte 23 si najskôr vytvoríme vojaka - hráča.
Ja som mu nastavil toto:

  • Strana: BLUFOR
  • Hodnost: Poručík
  • Třída: Lidé
  • Jednotka: Záškodník SJ
  • Speciální: Nic
  • Azimut: nastavte smer približne na neďalekú obec

Teraz si vytvoríme pár značiek na ktorých pozície sa bude zameriavať a presúvať kamera nad mapou.

Značka - sipka
Zvětšit
Značka - sipka

Prvú značku vytvorte (Značky F6) vo štvorci Bd 88 niekde na križovatke s nasledovným nastavením:

  • Název: sipka
  • Typ: Ikona
  • Barva: Zelená
  • Ikona: Šipka
  • Vedlejší poloosa: 3
  • Úhel: nastavte smer približne na neďalekú obec

Druhou značkou zároveň označíme nad neďalekou obcou nepriateľské územie.

Značka - obec
Zvětšit
Značka - obec

Presunte sa teda nad obec a približne v strede vytvorte značku s týmito nastaveniami:

  • Název: obec
  • Typ: Elipsa
  • Barva: Červená průhledná
  • Výplň: Šikmo křížem
  • Hlavní poloosa: 75
  • Vedlejší poloosa: 75
  • Úhel: 0

Tak to by boli naše značky ktoré by sme neskôr použili aj pre interaktívny briefing. Teraz nám ale pomožu vytvoriť animáciu mapy.

Poznámka:
Tieto značky nemusia byť samozrejme vždy viditeľné. Veľmi jednoducho môžete ľubovoľnú značku umiestniť kamkoľvek na mape s nulovými rozmermi (Hlavní poloosa + Vedlejší polosa = 0) a hra o nej bude vedieť, takže akýkoľvek odkaz na túto značku bude funkčný, ale hráč ju na mape nebude vidieť.

mapa.sqs

Všetky potrebné záchytné body pre animáciu máme vytvorené, môžeme teda vytvoriť samotný skript animácie.
Prepnite sa do Windows a spustite si svoj obľúbený textový editor pre tvorbu skriptov. Nakopírujte si nasledovný kód animácie a uložte ho napríklad s nečakaným názvom napríklad "mapa.sqs".

;-- Animacia mapy v hre ArmA: Armed Assault v1.08
;-- Vytvorene podla tutorialu na http://help.bigames.info

;--- zakazany pristup hraca
disableUserInput TRUE

;--- ukrytie prislusenstva na standardnej mape
showPad FALSE
showWatch FALSE
showCompass FALSE
showGPS FALSE

;--- zobrazenie mapy
forceMap TRUE

;--- prva pozicia - hrac
mapAnimAdd [0, 0.01, position player]
mapAnimCommit
~2

;--- druha pozicia - znacka s nazvom sipka
mapAnimAdd [4, 0.08, markerPos "sipka"]
mapAnimCommit

;--- tretia pozicia - znacka s nazvom obec
mapAnimAdd [4, 0.05, markerPos "obec"]
mapAnimCommit

;-- kontrola dokoncenia animacie mapy a cakanie na danej pozicii 2 sekundy
@mapAnimDone
~2

;--- zrusenie animacie mapy
mapAnimClear

;--- zrusenie zobrazenia mapy
forceMap FALSE

;--- obnovenie ukryteho prislusenstva na standardnej mape
showPad TRUE
showWatch TRUE
showCompass TRUE
showGPS TRUE

;--- povoleny pristup hraca
disableUserInput FALSE

;--- koniec skriptu
exit 

Poznámky:
Na začiatku skriptu (a samozrejme aj na konci) je uvedený príkaz disableUserInput pomocou ktorého zabránime hráčovi násilne prerušiť animáciu mapy (alebo celú misiu) cez klávesnicu alebo myšítko.
Pri používaní tohto príkazu buďte ale prosím opatrný, pretože ak by ste zabudli na konci skriptu uviesť povolenie ovládania hráčom (atribút "FALSE"), po skončení animácie by nebolo možné žiadnym spôsobom ovládať a ani vypnúť hru -> musel by nasledovať tvrdý reset PC !
Preto ak niekedy použijete tento príkaz, napíšte si do skriptu najskôr obe varianty (TRUE/FALSE) a potom medzi tieto dva príkazy vpisujte ostatné.

Ďalej je v skripte uvedených niekoľko príkazov pre ukrytie a na konci skriptu aj zobrazenie príslušenstva pred zrakom hráča zo štandardnej mapy.
Príkaz forceMap totižto iba nasilu zobrazí štandardnú mapu na celú obrazovku. Keby sme teda neukryli poznámkový blok a ostatné príslušenstvo, pohľad na mapu by nebol zrovna ideálny. Ak ale samozrejme chcete, môžete nechať napríklad zobrazený kompas, alebo hodinky. Všetko závisí od tvorcu misie.
Druhy zobrazeného príslušenstva samozrejme závisia od toho čo nastavíme k dispozícii hráčovi vo vyhradenom súbore Description.ext.

Na ďalších riadkoch skriptu sú potom už iba uvedené jednotlivé príkazy pre plynulú animáciu od bodu k bodu.
Ako je vidieť pri prvom odkaze na miesto pre animáciu mapy, nemusí to byť vždy iba značka. Takto môžete odkazovať aj na ľubovoľnú AI jednotku, alebo hráča ako je tomu v našom prípade. Toto má ale nevýhodu v tom, že ak je daná AI jednotka stále aktívna, môže meniť svoju pozíciu a tak by mohla byť výsledná animácia pre hráča nepresná.

Spustenie animácie

Všetko potrebné máme už vytvorené a dúfam aj dostatočne vysvetlené, zostáva nám len nejako spustiť samotnú animáciu mapy. Toto zrealizujeme pomocou malého spínača do ktorého inicializačného políčka zadáme jednoduchý príkaz na spustenie skriptu - [] exec "mapa.sqs".

Aktivačný spínač pre animáciu mapy
Zvětšit
Aktivačný spínač pre animáciu mapy

Niekde pred hráčom si teda vytvorte jednoduchý spínač s týmito nastaveniami:

  • Hlavní poloosa: 5
  • Vedlejší poloosa: 50
  • Úhel: nastavte v smere pochodu hráča k obci
  • Typ: Obdélník
  • Aktivace: BLUFOR (ak máte hráča samozrejme za stranu BLUFOR)
  • Při aktivaci: [] exec "mapa.sqs"

Takto hráč svojim presunom spustí danú animáciu mapy. Samozrejme takúto animáciu môžete rovnako spustiť aj v inom skripte, alebo cez inicializačné políčko inej jednotky, prípadne waypointu.

Ak ste doteraz postupovali správne, po spustení misie a presune hráča na spúšťací spínač by sa vám mala prehrať animácia mapy od pozície hráča, až po obsadené územie v obci s meniacim sa zoomom (mierkou) mapy počas tejto animácie.

Odkazy

mapAnimAdd, mapAnimCommit, mapAnimDone, mapAnimClear

Osobní nástroje