Teraz jest Cz 05 mar, 2026 20:40


Jak zrobić misje na czas?

Dział poświęcony edytorowi ArmA II i Operation Arrowhead, czyli tworzeniu misji.
  • Autor
  • Wiadomość
Offline
Avatar użytkownika

Maverick

Generał

Generał

  • Posty: 772
  • Dołączył(a): Pn 30 kwi, 2007 12:12
  • Lokalizacja: Kutno

PostPn 30 sie, 2010 16:43

Bzdura, piszę .sqs-y bez średników od dawna i nie zauważyłem żadnych krzyków ShowScriptErrors. RPT nie sprawdzałem. Zresztą, whatever. Bobi887 zrobi, jak będzie uważał.
Obrazek
Obrazek


"Read about the history of the place that we live in and stop letting corporate news tell lies to your children." - Immortal Technique
Offline
Avatar użytkownika

kondor

Major

Major

  • Posty: 880
  • Dołączył(a): Pt 11 lut, 2005 04:00
  • Lokalizacja: Berlin (wschodni)

PostPn 30 sie, 2010 16:54

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
Poprzednia strona

Powrót do [ArmA II] Edytor

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 16 gości