Pierwsza polska strona w pełni poświęcona tematyce skryptów ERM


ERM

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

© 2005-21 Gildia ERM Kopiowanie, powielanie, modyfikowanie i publikowanie materiałów z tej strony bez zgody autora zabronione.
Powered by Altair