Rozdelenie postupu v misii

Z Armed Assault nápověda

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

Obsah

Úvod

Možno vás pri editácii niekedy napadlo, že by nebolo zlé kvôli ne-jednoduchosti a ne-jednotvárnosti vytvoriť v misii zároveň viac možností ako napadnúť napríklad nepriateľskú základňu, alebo inak zmeniť priebeh udalostí.
A v tomto malom tutoriále si ukážeme jednu z možností ako takúto situáciu vyriešiť.

Objasnenie situácie

Napríklad:
Pred nepriateľskou základňou sa na ukrytých pozíciách (napríklad v južnom sektore od základne) nachádza vaše zoskupenie pechoty o sile dvoch družstiev.
Váš prieskum ale zistil v cieľovej zóne aj prítomnosť dvoch (a viac) BVP-2.
Keďže ale viete že na leteckej základni sú pripravené dve Cobry a za neďalekým kopcom sú ukryté iné dve motorizované družstvá so Strykermi, využijete radšej ich podporu a prekvapíte tak osadenstvo nepriateľskej základne z dvoch rôznych strán.

A tu sa dostávame do miesta kde môžeme využiť tzv. "rozvetvenie" postupu v misii. Takto zabezpečíme minimálne jedenkrát opakovateľnú hrateľnosť našej misie.
Kto by si nevybral jednu možnosť a po dohraní misie nevyskúšal ešte aj tú druhú, že ?

Takže, toto rozdelenie postupu vytvoríme pomocou kombinácie príkazov addAction a removeAction.

Predpokladajme teda že všetky jednotky (naše aj nepriateľské) máme už v editore vytvorené a samozrejme máme k nim už nastavené aj patričné waypointy (body trasy), bojové vlastnosti atď.
Na sever od základne budú teda čakať v úkryte dva Strykery s nákladom vojakov a na leteckej základni budú čakať na zemi dve Cobry.

Pre spestrenie a navodenie správnej atmosféry vytvorte nejaké krátke a výstižné kamerové zábery (napríklad vracajúci sa prieskumníci) a po ich prehratí, nastáva naša chvíľa. Najskôr podstrčíme hráčovi na obrazovku malé upozornenie pomocou príkazu hintC.
Takto najúčinnejšie upozorníme hráča na zlomový bod v misii, pretože inak by si vôbec nemusel v zápale boja všimnúť tejto podstatnej zmeny, aj keby to mal predtým uvedené napríklad v briefingu.
Samozrejme takéto upozornenie, alebo výber postupu v misii sa dá realizovať aj pomocou dialógov, ale v tomto tutoriále sa jedná v prvom rade o jednoduchú ukážku funkčnosti a realizovateľnosti.

Editácia

selectAdvance.sqs

Najskôr si na začiatok vytvoríme skript ktorý sa spustí ihneď po skončení kamerových záberov. Dáme mu napríklad meno "selectAdvance.sqs".
Spustite si svoj textový editor s otovrením aktuálneho skriptu z ktorého bude spustená táto udalosť v misii a prekopírujte nasledujúce riadky:

;-- .....
;-- predchadzajuce prikazy alebo kamerove zabery v skripte
~0.5

saveGame
~0.5

hintC format [localize "STR_SEL_ADV"]
~0.5

postupA = aP addAction [localize "STR_ADV_A", "advanceA.sqs"]
postupB = aP addAction [localize "STR_ADV_B", "advanceB.sqs"]

exit

Popis:

  • Ihneď po skončení kamerových záberov je ešte pred samotným príkazom hintC použitý príkaz saveGame, čo zaručuje hráčovi bezproblémový návrat ešte pred výber ďalšieho postupu v misii, ak by sa na poslednú chvíľu rozhodol zmeniť svoj postup a to aj napriek tomu že už jeden vybral a spustil tak inú sériu príkazov.
  • Nasleduje samotný príkaz hintC, s odkazom na string (kvôli viacjazyčnej variante) s výstižným a krátkym textom, upozorňujúcim hráča na zmenu situácie.
  • Po tom čo odklikne hráč predchádzajúcu informáciu o zmene situácie v hre, v akčnom menu sa mu pridajú dve nové položky ktorých názvy sú znova definované v súbore stringtable.csv. Za týmito názvami je zadefinovaný vždy iný špecifický skript ktorý sa spustí po výbere danej položky v akčnom menu. O tom ako sa po vybratí jednej z možností zbaviť týchto položiek sa dozviete nižšie.


Zobrazenie upozornenia pomocou hintC ...


Zobrazenie položiek v akčnom menu ...


Základnú informáciu o možnosti zmeny priebehu misie (vetvenie postupu) máme teda vytvorenú, môžeme vytvoriť samostatné skripty s názvami "advanceA.sqs" a "advanceB.sqs" pre zadefinovanie špecifických príkazov pre danú situáciu.

advanceA.sqs

Pri hráčovom výbere možnosti postupu s podporou skupiny Strykerov sa teda spustí skript s názvom "advanceA.sqs".
A tu je jeho zjednodušená ukážková podoba:

aP removeAction postupA
aP removeAction postupB
~0.5

aP sideChat localize "STR_RADIO_ADV_A"

stk1 doMove position enemyLine1
stk2 doMove position enemyLine2

exit

Popis:

  • Hneď na začiatku skriptu sú pomocou príkazu removeAction odobraté obidve nové položky z akčného menu hráča. Svoju možnosť na postup v misii si zvolil takže ich už nepotrebuje mať zobrazené (aby nedošlo k náhodnému prekliku a znovuspusteniu skriptu resp. spusteniu druhej možnosti postupu).
  • Len tak pre spestrenie ukážky nasleduje krátka rádiová správa pre veliteľa jednotky Strykerov.
  • Následne na to je určená nová pozícia pre presun oboch Strykerov pomocou príkazov doMove a position.

Ak si ale hráč zvolí leteckú podporu dvojice Cobier, spustí sa samozrejme druhý script s názvom "advanceB.sqs".

advanceB.sqs

Tu je jeho ukážkový obsah a ako vidíte, rozdiely sú minimálne oproti verzii pre privolanie podpory Strykerov.

aP removeAction postupA
aP removeAction postupB
~0.5

aP sideChat localize "STR_RADIO_ADV_B"

cobra1 doMove position enemyLine1
cobra2 doMove position enemyLine2

exit

Popis:

  • Na začiatku skriptu sú identické príkazy (s predošlou verziou skriptu) removeAction pre odobratie položiek z akčného menu.
  • Nasleduje iná verzia rádiovej hlášky pre Cobry ...
  • ... a samozrejme aj príkazy pre presun oboch vrtuľníkov do cieľovej zóny.

Na záver zostáva už iba spísanie jednotlivých stringov.

stringtable.csv

Tak ako je to vo všeobecnosti zaužívané, popíšte najskôr prvý stĺpec anglickými stringami a následne na to už iba svojou rodnou rečou, resp. ďalším iným jazykom ktorý (pravdepodobne dostatočne dobre) ovládate.

LANGUAGE,"English","Czech"

STR_SEL_ADV,"How you want to continue in mission ?\n\nSelect it from actiom menu ...","Z akčného menu si vyber možnosť ako budeš ďalej postupovať ..."
STR_ADV_A,"Advance with APC support","Postup s podporou Strykerov"
STR_ADV_B,"Advance with aerial support","Postup s podporou letectva"
STR_RADIO_ADV_A,"This is LIMA! To all units! GO, GO, GO! BEAT THEM!","Tu LIMA! Všetkým jednotkám! Vpred a nešetrite ich!"
STR_RADIO_ADV_B,"LIMA to DRAGON! We need your cover here!","LIMA pre DRAGONA! Potrebujeme vašu podporu!"

Záver

Pomocou tohto vyššie popísaného postupu môžete samozrejme vytvoriť aj iné "udalosti" a nemusí sa jednať iba o výber podpory pre útok.
V podstate sa jedná o jednoduchý RPG prvok v hre, len sa ho treba naučiť rozumne využívať.

Iné príklady použitia:

Pr.1
Rozhovor so zajatcom, pričom v závislosti na výbere otázok (ponúk v akčnom menu) bude zajatec odpovedať preddefinovanými odpoveďami.


Pr.2

Pri kontakte s partizánskou spojkou bude musieť hráč odpovedať na heslo, pričom iba jedna z troch odpovedí (ponúk v akčnom menu) bude správna.

V tomto prípade samozrejme nezabudnite hráča popredu vhodným spôsobom informovať o správnom hesle (napríklad v interaktívnom intre misie).


Pr.3
Výber dopravného prostriedku na presun k cieľovej zóne, pričom po výbere jedného z vozidiel bude toto pristavené pred hráča a ostatné budú uzamknuté príkazom lock.


Pr.4
Hráč sa musí presunúť k muničnému skladu kde pomocou výberu položky z akčného menu požiada o vydanie konkrétnej zbrane a adekvátneho množstva streliva.

Odkazy

addAction, removeAction
hintC, hint
saveGame
stringtable.csv
doMove, position

Osobní nástroje