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


ERM

Obiekty

Obiektami są budynki, artefakty, jednostki, miasta itp. występujące na mapie przygody. Komendą obsługującą obiekty w ERM jest !?OB. Najprostszy skrypt ma składnie:

!?OBt/p;
!!IF:M^Tekst^;
gdzie:
t - typ obiektu
p - podtyp obiektu

a oto przykład (dla karczmy):

!?OB95;
!!IF:M^Witaj w karczmie^;


Aby skrypt obiektu nie odnosił się do gracza komputerowego należy dodać warunek &1000 czyli:

!?OB95&1000;
!!IF:M^Witaj w karczmie^;


Jednakże wielokrotnie przydaję się sprawdzenie dokładnych współrzędnych obiektu. Jak to już opisałem w "Zmiennych i flagach" służą do tego trzy zmienne (v998,v999,v1000)
np. wywołanie walki gracza z potworami:
!?OBt/p;
!!HE-1:Tv998/v999/v1000/tp/l;
gdzie:
t - typ obiektu
p - podtyp obiektu
tp - typ potwora
l - liczba stworzeń

Przykład skryptu, który wywołuję walkę z 50 pikinierami po wejściu do karczmy:
ZVSE !?OB95;
!!HE-1:Tv998/v999/v1000/0/50;


Ciekawy przykład

Powyższe przykłady są proste. Teraz trochę trudniejszy ale i ciekawszy skrypt:

ZVSE
!#DW15/4/0:M1/139/25;
!?OB17;
!!DWv998/v999/v1000:M1/?v990/d;
!!MA&v990>-1:Lv990/?v991;
!!MA&v990>-1/v991<1:Lv990/1;

!$OB17;
!!MA&v990>-1:Lv990/?y16;
!!MA&y16=1/v991=0/v990>-1:Lv990/0;



Skrypt demonstruje jak w prosty sposób rozwiązać trudny problem na jaki nie raz trafia się pisząc skrypty ERM. Komendą !#DW15/4/0:M1/139/25; dodaje do siedliska stworzeń o współrzędnych 15,4,0 Nową jednostkę - chłopa. :) W tym miejscu powinien kończyć się skrypt, gdyby nie fakt, że chłop jest jednostką 1 - poziomu, więc przyłącza się za darmo. Tak i jest w tym wypadku, niestety. Rozwiązaniem tego problemu jest zmiana poziomu chłopa, ale tylko na czas wykonania skryptu, aby siedliska chłopów działały normalnie. Składnia !?OB wywoływania jest "przed" wszelkimi akcjami przypisanymi do obiektu a składnia !$OB po wszystkich akcjach. Wykorzystując te dwie komendy czasowo zmieniany poziom chłopa (lub innego stworzenia 1 - poziomowego) po wykupieniu jest on z powrotem przywracany. Jak przystosować skrypt do własnych potrzeb?
Wystarczy edytować linijkę:

!#DWx/y/p:M1/n/l;

gdzie:
x, y, p - współrzędne siedliska
n - numer stworzenia
l - liczba przyrostu tygodniowego

Oczywiście takich linijek może być więcej :)




Ostatnia aktualizacja: 2008-06-26

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