Meranie rýchlosti pohybu
Z Armed Assault nápověda
Samotné nastavenie rýchlosti jednotky (či už vojaka alebo automobilu resp. vrtuľníku) sa dá jednoducho realizovať priamo v nastaveniach bodu trasy (waypointu) danej jednotky.
Ak máme ale jednotku bez definovaných waypointov, alebo chceme dynamicky zmeniť rýchlosť už pohybujúcej sa jednotky, musíme použiť príkaz na jej zmenu v skripte, spínači alebo inom waypointe.
trabantWRC setSpeedMode "FULL";
- jednotke s názvom trabantWRC sme nastavili maximálnu možnú rýchlosť ktorú sa bude snažiť neustále dodržiavať počas svojho pohybu
- na výber sú ešte možnosti LIMITED - minimálna rýchlosť a NORMAL čo je defaultné nastavenie a jednotka sa tak snaží automaticky na rovných úsekoch pohybovať rýchlejšie ako na úsekoch do kopca resp. v zákrutách (pri prekážkach)
Pre zistenie aktuálnej rýchlosti jednotky, napríklad ak hráč nieje súčasťou posádky vozidla (takže nevidí na obrazovke jeho rýchlosť), si ukážeme ako zrealizovať malý tachometer s efektnou kontrolou limitu rýchlosti.
To znamená, že ak pohybujúca jednotka prekročí limitnú rýchlosť (v našom príklade to je 30 km/h), zobrazí sa hráčovi na obrazovke varovná správa.
V editore vytvorte nejaké vozítko (napríklad nejaké civilné auto) a pomenujte ho ako skoda.
Ďalej si už iba nakopírujte nasledujúci kód a skúste sa s autom rozbehnúť, pričom sa samozrejme snažte prekročiť limitnú rýchlosť.
init.sqf
while { 1 > 0 } do {
hint format ["Rychlost: %1", floor speed skoda];
sleep 0.55;
if ( speed skoda > 30 ) then {
titleText ["BRZDI !","PLAIN DOWN"];
} else {
titleText [" ","PLAIN DOWN"];
};
sleep 0.55;
};
Popis:
Na začiatku sme si vytvorili pomocou príkazu while (a jeho podmienky) nekonečnú slučku, ktorá sa bude opakovať počas celého hrania misie (číslo 1 bude vždy väčšie ako číslo 0).
Príkazom hint zobrazujeme aktuálnu hodnotu pohybujúceho sa vozidla na obrazovku. Na načítanie aktuálnej rýchlosti sme použili príkaz speed v kombinácii s príkazom floor, ktorý nám zaručí orezanie získaného čísla od desatinných miest.
Nasleduje porovnávanie získaného čísla (aktuálnej rýchlosti vozidla) s limitnou hodnotou 30.
Ak je toto číslo (rýchlosť) väčšie ako náš limit, zobrazí sa hráčovi na obrazovke varovanie "BRZDI !" pomocou príkazu titleText.
Ak je rýchlosť vozidla ale menšia ako limit, nič sa nedeje a na obrazovke sa nič nezobrazí. Dodatočný príkaz titleText s prázdnym textom je doplnený iba kvôli rýchlemu odstráneniu varovnej hlášky, ak hráč predtým prekročil rýchlosť. Inak by po znížení rýchlosti ešte niekoľko sekúnd svietila na obrazovke varovná hláška.

