Jestem zwolennikiem prostych rozwiązań.
Jedna z podstawowych zasad, którą warto się kierować, jest trzymanie kodu blisko tego, co ma wyrażać. Wystarczy wypowiedzieć w prosty sposób daną funkcjonalność i następnie zastąpić odpowiednio jej składowe (dane przez zmienne i działania przez skrypty/funkcje).
Powyższy przykład jest trywialny:
Jeśli samolot wleci w wyzwalacz, uaktywnij czekanie, po którym wezwij złych
Jeśli zakładnik zostanie odbity i/lub inne warunki, przerwij czekanie
Implementacja:
1. Wyzwalacz, który aktywuje skrypt czekania, aktywowany śmigłowcem. W polu aktywacji:
- Kod: Zaznacz cały
wskaznikNaSkryptCzekania = [] execVM "czekaj_i_wezwij_posilki.sqf"
2. Wyzwalacz, który aktywuje się na odbicie / uleczenie zakładnika (warunek zależy od tego jak definiujesz odbicie). A przy aktywacji:
- Kod: Zaznacz cały
terminate wskaznikNaSkryptCzekania;
Btw: jako znający podstawy C++ znajomość sqf wg mnie zajęłaby Ci 20min -> kod czystszy bez nieczytelnych goto, ze wsparciem dla bloków i pętli
Btw2: przyjęło się, że identyfikatory pisane dużymi literami są używane dla stałych i makr - warto mieć wspólne standardy -> kod staje się czytelniejszy dla większej liczby osób