Wstęp do Flag i zmiennych
W ERMie występują flagi i zmienne. Dzięki nim możemy przypisywać wartości do określonych "komórek" pamięci w celu ich późniejszego użycia.
Flagi
W ERMie istnieje 1000 flag z których niektóre mają przypisane własne wartości. Flaga może zawierać jedna z dwóch wartości 1 (prawda) i 0 (fałsz). Ma to zastosowanie m.in. w oknach dialogowych:
!!IF:Q5^Zgadzasz się?^;
!!IF&5:M^Tak^;
!!IF&-5:M^Nie^;
Skrypt wywołuje komunikat (pytanie). Odpowiedzi mogą być dwie (dwa przyciski) ok lub anuluj. Niezależnie od odpowiedzi do flagi 5 zostaje przypisana wartość 0 (przy ok) i 1 (przy anuluj). Następnie składnia & ustala warunek:
&5 - gdy flaga 5 równa 1 (ok)
&-5 - gdy flaga 5 równa 0 (anuluj)
i wyświetla stosowny komunikat.
Wartość flagi możemy ustawić samodzielnie składnią:
!!IF:Vx/y;
gdzie:
x (nr flagi)
y wartość(0 lub 1)
Flagi przydatne podczas pisania skryptów:Flaga 996 - ustawiana na 0 gdy wykonane zostanie zdarzenie lokalne
Flaga 997 -
ustawiona na 0 przy "walce lokalnej"
ustawiona na 1 przy "walce sieciowe"
Flaga 1000 -
ustawiona na 0 gdy gracz AI wejdzie do obiektu,
ustawiona na 1 gdy gracz wejdzie do obiektu,
(przy !?OB)
Wyświetlanie wartości flag:
!!IF:M^Wartość flagi 5 to %F5.^;
w komunikacie należy wstawić %F#
gdzie # to numer flagi
Zmienne
Wyróżniamy wiele typów zmiennych oto najważniejsze z nich:
c - zawiera numer aktualnego dnia
d - bardzo często używana przy "dodawaniu" do poprzedniej wartości zmiennej
'f' do 't'- tzw. "szybkie zmienne"
v1 do v10000 - standardowe zmienne
w1 do w100 - Zmienne bohatera (każdy posiada własne)
w101 do w200 - Zmienne bohatera (każdy posiada własne)
x1 do x16 - Parametry funkcji
y1 do y100 - zmienne lokalne (każda funkcja posiada własne)
z1 do z1000 - zmienne tekstowe
z-1 do z-10 - zmienne tekstowe (każda funkcja posiada własne)
wszystkie zmienne (oprócz tekstowych) mogą posiada wartości
od -2147483647 do +2147483647
zmienne liczbowe
Aby przypisać zmiennej np. v15 wartość np. 12 należy napisać:
!!VRv15:S12;
Wartość sprawdzamy podobnie jak przy flagach:
!!VRv15:S12;
!!VR&v15=12:M^OK^;
z jedną różnicą, teraz używamy nazwy zmiennej, porównania i wartości:
!!VR&v15=12: - gdy równe
!!VR&v15<>12: - gdy różne
!!VR&v15<12: - gdy mniejsze
!!VR&v15>12: - gdy większe
!!VR&v15=>12: - gdy większe lub równe
!!VR&v15=<12: - gdy mniejsze lub równe
Ostatnia aktualizacja: 2008-06-26