Kwasowa Grota Heroes VIIMight & Magic XHeroes III - Board GameHorn of the AbyssHistoria Światów MMSkarbiecCzat
Cmentarz jest opustoszały
Witaj Nieznajomy!
zaloguj się    załóż konto
Niebiańska Kuźnia  (WoG, HotA, VCMI)temat: [WoG, ERA] Skrypty ERM
komnata: Niebiańska Kuźnia (WoG, HotA, VCMI)
strona: 1 - 2 - 3 ... 28 - 29 - 30 ... 81 - 82 - 83

Altair PW
24 maja 2007, 14:54
IamBD:
Dzięki Altair teraz poszło, a mam jeszcze pytanie jak obsłużyć się tym ERM help.

W folderze WoGa powinien być folder erm_help a w nim plik index.htm
Klikamy dwukrotnie na ikonie tego pliku i czytamy ;P
Warto wiedzieć, że istnieje także polski poradnik ERM.

IamBD PW
24 maja 2007, 16:42
Pomocy nie mam tego Helpa i nie wiem ską go sobie załatwić.

DZIĘKI ALTAIR

Altair PW
24 maja 2007, 16:57
Ludzie (i nieludzie) bardzo proszę nie załamujcie mnie. ERM Help można pobrać z http://www.wog.acidcave.com/download.php ("ERM tools" jakby ktoś miał problemy).
Jak widzę niektórym nie chce się nawet rozejrzeć wokół i przeczytać tych kilku linijek. ;P

IamBD PW
24 maja 2007, 17:24
Tam nie ma pliku HTML tylko jakiś erm_tools.wog.

AltairAltairTRZEBA ZAINSTALOWAĆ! Wszystko tam pisze. Jeśli nadal masz problemy to proponuję przenieść tą dyskusję na GG i nie robić tutaj śmietniku.
EDIT: GG jest w profilu.

aivin PW
26 maja 2007, 16:51
Hej
Wcześniej pisałem, a raczej pytałem się czy się da zamieniać 1 smoka za 2 rtęci i 3 duchy w kościane smoki..
Napisałem takie coś:

ZVSE
!?OB63/64;

!!HE-1:C0/0/?y1/?y2;**y1-rodzaj potwora; y2-ilość potwora .. slot 1
!!HE-1:C0/1/?y3/d;**y3-rodzaj potwora ..slot 2
!!HE-1:C1/159/159/?y4;**y4-ilość duchów ..slot 2
!!OW:Rx1/1/?y5;**y5-ilość rtęci

!!VRy6&y2>0:Sy5:2; **sprawdzenie środków
!!VRy7&y2>0:Sy2*-2;**odjecie środków
!!OW&y6>=y2/y1=82:Rx1/1/dy7;**odjęcie rtęci


!!VRy8&y4>=3/y1=82:Sy2:3; **sprawdzenie środków
!!VRy9&y4>=3/y1=82:Sy2*-3;**odjecie środków
!!VRy10&y4>=3/y1=82:Sy2*3;**ustalenie ilości potrzebnych duchów
!!HE-1&y3=159/y1=82/y4>=y10:C0/1/159/dy9; **odjecie duchów ze slota 2

!!HE-1&y6>=y2/y4>=y10/y1=82/y3=159:C0/0/68/d; **zamiana smoków na slocie 1 na kościane smoki

-------------------
Jednakże mam problem z !!VRy10.. gdyż chce by w tej komendzie ilość smoków ze slota 1 przemnożono przez 3, a następnie chce wynik ten wykorzystać jako warunek sprawdzający ilość potrzebnych minimalnie duchów do zamiany w kościane smoki.
Niestety nie wiem jak to dalej zrobić. Na razie działa mi ten skrypt następującą:
-Jeśli umieszczę smoka czerwonego na slocie 1 i 7 duchów na slocie 2, mając 10 rtęci, to po odwiedzeniu obiektu tracę 3 duchy (ze slota 2) i 2 rtęci i zamiast czerwonego smoka dostaje kościanego - czyli wszystko ok
-jeśli mam niedobór rtęci to skrypt działa dalej jak powinien
-Niestety, jeśli mam niedobór duchów już nie jest tak dobrze. Mogę ustawić na slocie 1 ile chce smoków czerwonych, bylebym posiadał odpowiednią ilość rtęci, a na slocie drugim co najmniej 1 ducha to skrypt też się wykona. Stracę tego jednego ducha i dostane zamiast czerwonych smoków - kościane. Czyli nie liczy ilości duchów tylko to czy w ogóle one są.
Proszę o pomoc, jeśli ktoś wie jak się z tym uporać. Z góry dziękuję.

Acid Dragon PW
26 maja 2007, 20:00
Proponuję prześledzić co dzieje się w momencie, gdy liczba duchów wynosi 1:

y4=1

Cytat:
!!VRy8&y4>=3/y1=82:Sy2:3; **sprawdzenie środków
!!VRy9&y4>=3/y1=82:Sy2*-3;**odjecie środków
!!VRy10&y4>=3/y1=82:Sy2*3;**ustalenie ilości potrzebnych duchów

polecenia nie wykonywane, gdyż y4<3, bo 1<3.
y10 nieokreślone, więc najprawdopodobniej wynosi 0.

Cytat:
!!HE-1&y3=159/y1=82/y4>=y10:C0/1/159/dy9; **odjecie duchów ze slota 2

y3=159 - zgadza się, w slocie 2 są duchy
y1=82 - zgadza się w slocie 1 są smoki
y4>=y10 - *zgadza się*, bo 1>=0

więc skrypt jest wykonywany.

Aby wykonywany nie był należy nie tylko sprawdzić, czy y4>=y10, ale cały czas sprawdzić też, czy y4>=3.
a więc:
!!HE-1&y3=159/y1=82/y4>=y10/y4>=3:C0/1/159/dy9;

Oprócz tego zauważ też, że Twój skrypt odejmuje rtęć bez względu na warunki o duchach - odejmuje ją zawsze, gdy tylko jest jej odpowiednia ilość i liczba smoków jest większa od 0. W części odnośnie rtęci nie ma ani jednego warunku odnośnie duchów.
Radzę więc pomyśleć nad przepisaniem skryptu, przeniesieniem wszelkich części 'efektorowych' na koniec skryptu oraz wykonywanie ich przy takich samych warunkach, jeśli mają być wykonywane tylko i wyłącznie razem.
A więc - te same warunki przy odejmowaniu rtęci, odejmowaniu duchów, jak i zamianie smoków.

Summoner PW
27 maja 2007, 11:25
Mam pytanie. Chcę zrobić tak, żeby po wejściu do obiektu dodało mi +1 do mocy, więc zrobiłem tak :
!#VRv805:S0;
!#VRz40:S^Źródełko^;
!#HT63/6642:T40;
!?OB63/6642;
!!PO998:V0/?y5;
!!IF&y5 < 1:Q2:M^Oto źródło zasilające twoją rodzinną studnię w wodę. Jednak ta druga najpierw wpada do powstałego wcześniej jeziora, zasilanego przez inną rzekę w większym stopniu, nie wiesz więc jakie skutki może mieć napicie się wody z tego wodopoju. Czy postanawiasz napić się z tego źródła?^;
!!IF&y5 < 1/2:M^Pijesz ze źródła. Momentalnie stwierdzasz, iż wypływający stąd strumień nie ma najmniejszego wpływu na wodę w twojej wiosce. Czujesz się wzmocniony.^;
!!HE-1&5:F?y1/?y1/d1/?y1;
!!IF&y5=1:M^Lepiej nie pić wody z nieznanego źródła. Kto wie jaki ono może mieć wpływ na ciebie?^;
!!PO998:V0/1;

Moim zdaniem (przypuszczam, że moje zdanie nic się nie liczy bo i tak nie umiem ERM :P) powinno mi dodać +1 do mocy, ale to niedość, że mi nie dodało to jeszcze mi powiedziało odpowiedź z całkiem innego skryptu :
!#VRv805:S0;
!?OB63/6642;
!!PO998:V0/?y5;
!!IF&y5 < 1:Q2:M^Wkraczasz do opuszczonego młynu. Śmierdzi tu zgnilizną, zamszone drzwi wypadły z zawiasów pod naciskiem twojej ręki. Lecz nagle coś usłyszałeś. Czy to szept? A może to tylko wiatr? Wolisz tego nie sprawdzać, lecz coś ciągnie cię do źródła tego szemrania. Czy pójdziesz sprawdzić, co wywołuje ten dźwięk?^;
!!IF&y5 < 1/2:M^Podszedłeś do ciemnego kąta, w którym najgłośniej słychać było szept. Wtem z dziury w podłodze wychodzi mężczyzna. Nie zwykły mężczyzna, lecz zielonkawy już trup. Jedno jego oko nie posiadało wcale tęczówki ni źrenicy, drugiego zaś nie było wcale. Trup przemówił do ciebie świszczącym głosem :
- Odejdź stąd podróżniku, to miasto jest przeklęte!
- Jak mam odejść, kiedy nie wiem gdzie jest wyjście? Czy pomożesz mi je znaleźć? - zadajesz pytanie mężczyźnie. Lecz ten upadł na ziemię, szeptanie ustało. Czujesz, że powinieneś opuścić to miejsce i nigdy do niego nie wracać.^;
*ten tekst mi powiedziało jak dałem TAK* -> -> ->
!!IF&y5=1:M^Nie, to nie jest miejsce, w którym powinieneś przebywać.
Postanawiasz iść dalej.^;
!!PO998:V0/1;

No i moim zdaniem powinno mi dodać +1 do mocy, lecz jak zwykle coś zawaliłem. Czy to ma może związek z tym, że do każdego pytania daje Q2, a powinienem do każdego osobne Q, tzn. np. Q1 do pierwszego, Q2 do drugiego itd?
Proszę o odpowiedź, tak, nie znam się na ERM.

aivin PW
27 maja 2007, 12:32
Dzięki Smoku!!
Teraz mi wszystko działa. Próbowałem jeszcze ustawić tak by nie miało znaczenia w jakim slocie trzymam ducha czy smoka, ale jakoś nie specjalnie mi to wychodzi więc sobie chyba odpuszczę. Skrypt teraz wygląda tak:

ZVSE
!?OB63/64;

!!HE-1:C0/0/?y1/?y2;**y1-rodzaj potwora; y2-ilość potwora .. slot 1
!!HE-1:C0/1/?y3/?y4;**y3-rodzaj potwora; y4-ilość potwora .. slot 2
!!OW:Rx1/1/?y5;**y5-ilość rtęci

!!VRy6&y2>0:Sy5:2; **sprawdzenie środków
!!VRy7&y2>0:Sy2*-2;**odjecie środków ..rtęć
!!VRy8&y4>=3/y1=82:Sy2:3; **sprawdzenie środków
!!VRy9&y4>=3/y1=82:Sy2*-3;**odjecie środków ..duchy
!!VRy10&y4>=3/y1=82:Sy2*3;**ustalenie ilości potrzebnych duchów

!!HE-1&y6>=y2/y3=159/y1=82/y4>=y10/y4>=3:C0/1/159/dy9; **odjecie duchów ze slota 2
!!OW&y6>=y2/y1=82/y3=159/y4>=y10/y4>=3:Rx1/1/dy7;**odjęcie rtęci
!!HE-1&y6>=y2/y4>=y10/y1=82/y4>=3/y3=159:C0/0/68/d; **zamiana smoków na slocie 1 na kościane smok
---------------------
Summoner nie wiem czy dobrze myślę, ale ja np. nie bardzo rozumiem nr obiektu 6642 - chyba takiego nie ma..
!?OB63/6642;
i przydzielenie mocy bym napisał tak:
!!HE-1&y5 < 1/2:Fd0/d0/d1/d0;
-----------------------
EDIT:
Mam jednak małą kaszanę. Skrypt ten dołączyłem do pętli (przeszukującej wszystkie sloty). Najprawdopodobniej chodzi o y-greki. Przypuszczalnie po wejściu do niej mam y4=1 i być może po wyjściu już y4=7. Tak czy inaczej tracę 4 rtęci a nie powinienem stracić nic. Da się np. na początku każdego obiegu pętli wyzerować interesujące mnie y-greki?
EDIT:
Dobra już nieistotne. Zastosowałem najprostszą metodę, a mianowicie wywaliłem tą część poza pętlę i po sprawie

Altair PW
27 maja 2007, 12:42
Zacznę od tego, że chyba najprościej uczyć się ERM na prostych przykładach. Jeśli ktoś kto się nie zna tym zaczyna pisać bardziej złożony skrypt to rezultatów nietrudno przewidzieć.

Summoner:
!?OB63/6642;

Nie wiem co to jest za obiekt. Nie znam pustego obiektu o podtypie 6642.

Summoner:
Moim zdaniem (przypuszczam, że moje zdanie nic się nie liczy bo i tak nie umiem ERM :P) powinno mi dodać +1 do mocy, ale to niedość, że mi nie dodało to jeszcze mi powiedziało odpowiedź z całkiem innego skryptu :

Tak racja tylko jak widzę nie masz pojęcia zielonego o flagach.
Skoro zadajesz pytanie Q2 (flaga 2) to dlaczego sprawdzasz warunek dla flagi 5 (&5)?
Poradnik ERM poziom podstawowy, rozdział Okna dialogowe, podrozdział obrazki wystarczy przeczytać ze zrozumieniem.

A dlaczego mieszają się oba skrypty też nietrudno zgadnąć skoro w obu użyłeś TEGO SAMEGO wyzwalacza !?OB63/6642 (cokolwiek by to miało znaczyć).

Na koniec powiem tak ludzie (i nieludzie) nie chce wam się czytać ze zrozumieniem, a potem są tego skutki. Podkreślam jeszcze raz żeby używać danej komendy trzeba znać jej działanie.

..a Poradnik ERM kurzem obrasta... ;P


Acid Dragon PW
27 maja 2007, 19:31
aivin - co do ostatniej kwestii, to fakt, że najlepiej przed każdym skryptem właśnie zerować wykorzystywane przez siebie zmienne, chyba, że jest się absolutnie pewnym, że nie zostały użyte wcześniej lub gdy zapisuje się *bezwarunkowo* ich wartość na nowo.

Zerujemy zmienne poleceniem !!VRy1:S0; (i analogicznie dla y2, y3, etc.)

aivin PW
28 maja 2007, 07:24
Dopatrzyłem się dziwnego, jak sądzę, błędu pisząc skrypt, a mianowicie. robiąc odwołanie do 3 pozycji w menu (v32=4) a następnie odwołanie do okna dialogowego z wyborem/pytaniem (Q ... /10) nie można ustawić tegoż właśnie pytania na nr 1000 (Q1000.../10), ponieważ odwołując się do niego w pętli (v1000=1) zupełnie nic się nie dzieje. Poza pętlą reaguje. A jeśli zmienię nr tego pytania na chociażby 950 (Q950.../10) to i w pętli reaguje. Same dziwności...

Summoner PW
28 maja 2007, 07:29
Aha! No to już wiem czemu - ten skrypt miał mieć podobne działanie, więc przekopiowałem z innego, ale nie zmieniłem numeru obiektu :/ Jak tak dalej pójdzie, to mi sie zacznie teleportować bohater w innych bohaterów jak na poprzedniej mapie (lol, sam nie wiem o co z tym chodzi). No, a co do poradnika to mam już caly podstawowy przeczytany, zaawansowany tylko trochę. Dzięki za podpowiedź, teraz już będę wiedział co robię źle :P

Nemomon PW
28 maja 2007, 08:13
Aivin:
ponieważ odwołując się do niego w pętli (v1000=1) zupełnie nic się nie dzieje. Poza pętlą reaguje. A jeśli zmienię nr tego pytania na chociażby 950 (Q950.../10) to i w pętli reaguje. Same dziwności...

Zasadniczo się na tym nie znam, ale:

AtakeeR:
Flag jest tysiąc, z czego flagi numer 1, 999, 1000 są zarezerwowane na specjalne funkcje. Flaga 999 upewnia się czy dany gracz jest graczem ludzkim a nie komputerowym. Flaga 1000 automatycznie ma wartość 1, gdy człowiek użyje jakiegoś obiektu, a gdy komputer użyje jakiegoś obiektu zmienia wartość na 0. Flaga 1 jest używana przez niektóre komendy do zwracania wyniku.

Cytat z Jaskini Behemota.

Acid Dragon PW
28 maja 2007, 14:24
To akurat odnośnie flag było, ale ze zmiennymi v jest dość analogicznie - zmienne v997-v1000 są generalnie używane przez niektóre polecenia ERM. Np. przy odwiedzeniu obiektu do zapisania współrzędnych.

Summoner PW
29 maja 2007, 08:30
A co do tego, co to jest obiekt 63/6642 to sam bym nie wiedział. Zmieniłem podtyp zwykłego obiektu, żeby móc np. robić 10 takich samych budynków i wszystkie z różnymi funkcjami. Pozmieniałem to dzięki patchowi do edytora map, który jest udostępniony w Gildii ERM, zresztą jak dużo innych super programów. Można tam zmienić obrazek obiektu, podtyp, typ... Po prostu miodzio!
Edit: Nie wiem czemu odnosiłem się do flagi5, prawdopodobnie coś zmieniałem i zapisałem, a potem nie zmieniłem z powrotem na 2.
Dzięki jeszcze raz za rozwiązanie problemu!
Summoner

To-ja PW
30 maja 2007, 15:52
Mam dwa pytania.

1) Czy można dodać własny skrypt do wogifikacji? Chodzi o to, czy jest możliwość, aby skrypt używany był nie w jednej mapie, jako zdarzenie, ale w każdej po wogifikacji.

2) Czy jest skrypt na zamianę grfiki jednostki, np. żeby grafika jednostki X była brana z pliku xyz.def, a nie z oryginalnego_pliku.def (plik xyz.def byłby oczywiście w h3sprite.lod)

AltairAltairPosty przeniesione z nadmiarowego tematu.


Altair PW
30 maja 2007, 16:07
To-ja:
Mam dwa pytania.

1) Czy można dodać własny skrypt do wogifikacji? Chodzi o to, czy jest możliwość, aby skrypt używany był nie w jednej mapie, jako zdarzenie, ale w każdej po wogifikacji.

2) Czy jest skrypt na zamianę grfiki jednostki, np. żeby grafika jednostki X była brana z pliku xyz.def, a nie z oryginalnego_pliku.def (plik xyz.def byłby oczywiście w h3sprite.lod)

1. Można oczywiście. Ściągnij sobie z mojej strony skrypty przeznaczone do WoGifikacji i zobacz jakich tam plików użyłem.

2. Nie ma i nie można.

Nemomon PW
30 maja 2007, 16:12
Ja jak jakieś skrypty dodawałem, to wpisywałem je do notatnika i zmieniałem format z .txt na .erm. Ewentualnie skorzystaj z Erm Scriptera i tam zapisz swój skrypt. Potem wrzuć go do katalogu: \data\s

Summoner PW
3 czerwca 2007, 12:09
Witam. Wiem, że jestem znany z całkowicie debilnych problemów, jednak teraz mam prawdziwy kłopot. Napisałem sobie prościutki skrypcik :
!?LE78/123/0;
!!IF:Q2^Widzisz dziwną dziurę w ziemi. Po chwili stwierdzasz, iż w jej środku znajduje się woda, jest to więc miejsce, gdzie możesz zbudować studnię. Niestety, jeśli zaraz tego nie zrobisz dziura prawdopodobnie zawali się. Czy chcesz wybudować studnię?
( Będzie to kosztować 15 sztuk kamienia )^;
!!UN&2:O79/123/0;
!!UN&2:I79/123/0/49/0;
!!IF&2:M^Wybudowałeś studnię.^;
!!IF&-2:M^Niestety, dziura zawaliła się bezpowrotnie.^;
!!UN&-2:O79/123/0;

Jeszcze tam nie wwaliłem, żeby odjeło 15 kamienia ale to jest pikuś. Chodzi o to, że jak już nacisnę, żeby wybudowało, to mi się pojawia studnia obsypana śniegiem, kiedy ja jestem na skorupie pośród orków! Niestety obydwie studnie mają ten sam podtyp, a nawet jak zrobię zwykłą studnię i zmienię jej podtyp we właściwościach ( mam patcha ) na inny, to i tak nie zadziała bo to mi nie bierze z mapy tylko z listy obiektów. Ta druga, nowa studnia z podtypem 1 też mi tam zbytnio nie pasuje, ale jeśli nie ma innego sposobu to ją tam wstawię :/.
Czy ma ktoś na to jakąś radę?

Altair PW
3 czerwca 2007, 12:23
Rozwiązanie twojego problemu jest bardzo proste. Otóż dla części wstawianych obiektów można jeszcze ustawić typ terenu.
Czyli:

!!UN:Ix/y/p/typ/podtyp/typterenu;

Jeśli dla studni jako typ terenu ustawisz np. 6 to zamiast "śnieżnej" zostanie wstawiona zwykła.

UWAGA! Ta metoda nie działa na nowe WoGowe wersje obiektów (śnieżne)! W takim wypadku należy napisać trochę inny skrypt.
strona: 1 - 2 - 3 ... 28 - 29 - 30 ... 81 - 82 - 83
temat: [WoG, ERA] Skrypty ERM

powered by phpQui
beware of the two-headed weasel