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 ... 38 - 39 - 40 ... 81 - 82 - 83

Altair PW
4 marca 2008, 21:17
Z właściwościami jednostek jest ogólnie spory problem. Nie wszystko da się łatwo włączać i wyłączać. Cześć rzeczy można ustawić tylko globalnie, dla wszystkich jednostek np. nazwa jednostki. Nie istnieje też jakiś ogólny wzór postępowania. Wszystko zależy od tego jaka to umiejętność i co chcemy osiągnąć. Cześć właściwości możemy ustawiać lokalnie. Indywidualnie dla udziału na polu bitwy. Oczywiście jeśli ktoś chce pięknych "efektów" to lepiej podejść do tego od strony doświadczenia jednostek, zedytować odpowiednie pliki (Co i jak znajduje się w dokumentacji) włączyć system doświadczenia jednostek i już. Jeśli chodzi wskrzeszanie Feniksa sprawa jest dość prosta. Wskrzeszenie to zaklęcie, więc wystarczy zmniejszyć liczbę "rzuceń" na 0. Najprościej zrobić to globalnie:

ZVSE
!#MA:B131/0;

Zadziała to na wszystkie feniksy na mapie, więc lepiej użyć drugiego sposobu:

ZVSE

!?BR&v997=-1/1000;
!!BMnr_slotu:E0;

Oczywiście aby nie działo się to podczas każdej bitwy trzeba dodać jakąś flagę lub zmienną. To już jednak wam pozostawiam.


tymolord PW
5 marca 2008, 14:29
To ja spróbuje bardziej skonkretyzować pytanie...
Bohater po wejściu do konkretnego budynku dostanie w wolnym slocie umiejętność z konkretnym obrazkiem, nazwą i opisem. Umiejętność ta spowoduje że będzie zadawał podwójne obrażenia.
Czy umiesz takie coś napisać?

Kulex PW
5 marca 2008, 14:45
Napisałem skrypt na stworzenie obiektu

!!UN:I129/13/0/124/0/2/0;

Chcę stworzyć dziurę, ale ona wygląda jak ołtarz ofiarny.
Dlaczego tak się dzieje?

Altair PW
5 marca 2008, 17:24
Cytat:
To ja spróbuje bardziej skonkretyzować pytanie...
Bohater po wejściu do konkretnego budynku dostanie w wolnym slocie umiejętność z konkretnym obrazkiem, nazwą i opisem. Umiejętność ta spowoduje że będzie zadawał podwójne obrażenia.
Czy umiesz takie coś napisać?

Bohater zadawał podwójne obrażenia? Jest już taka umiejętność nazywa się talent magiczny (Bohater zadaje obrażenia czarami). A od fizycznych obrażeń (jednostki) jest atak. W wersji 3.58F nie potrafię dodać nowej (ikony) umiejętności. Nazwę i opis można zmieniać. Samym ERM ikony podmienić się nie da (albo ja czegoś nie wiem). Można więc stworzyć nową umiejętność bez ikony lub w oparciu o inną umiejętność.

Cytat:
Napisałem skrypt na stworzenie obiektu

!!UN:I129/13/0/124/0/2/0;

Chcę stworzyć dziurę, ale ona wygląda jak ołtarz ofiarny.
Dlaczego tak się dzieje?

Dzieje się tak bo mu "każesz" (obiektowi) wyglądać jak ołtarz ofiarny. Prawidłowa składnia w tym wypadku to !!UN:I129/13/0/124/0/124/0; lub !!UN:I129/13/0/124/0;

Cichy PW
5 marca 2008, 18:11
Proszę o skrypt na budynek typu 63 podtypu 38. Bohater po wejściu do niego będzie mógł przekazać 3 sztabki mithrilu wzamian za naukę umiejętności, która da jego jednostkom w każdej walce 10% szans na to, że zablokują atak.

PS Jak za pomocą ERM zmienić obiektowi grafikę tak, aby gra się nie wysypała?

Kulex PW
5 marca 2008, 20:43
Co zrobić, że jak się odwiedzi obiekt, to coś będzie się działo, a jak drugi raz, to nic się nie będzie działo?

Ginden PW
6 marca 2008, 14:57
A do poradnika autorstwa Altaira zajrzeć nie łaska?

Altair PW
6 marca 2008, 15:16
Cytat:
Proszę o skrypt na budynek typu 63 podtypu 38. Bohater po wejściu do niego będzie mógł przekazać 3 sztabki mithrilu w zamian za naukę umiejętności, która da jego jednostkom w każdej walce 10% szans na to, że zablokują atak.

Oto i skrypt:

ZVSE
!#UN:B0/1;**wł mithrilu
!?OB63/38&1000;** nie dla AI
!!OW:R-1/7/?y2;
!!IF:W-1;
!!IF&w88=1:M^Wiesz już wszystko czego mogłem cię nauczyć!^;
!!FU&w88=1:E;**wyjście

!!IF:Q2/7/3/2^Czy chcesz poznać umiejętność, dzięki której twoje jednostki w każdej walce będą mieć 10% szans na to, że zablokują atak?^;
!!IF&y2<3:M^Przykro mi, ale nie posiadasz dostatecznej ilości Mithrilu!^;
!!FU&y2<3|-2:E;**wyjście
!!VRw88:S1;**umiejętność dla danego bohatera

!?MF1;**walka


!!MF:N?y2;
!!BG:Q?y3;

!!VRy3:X1;**negacja zmiennej stron
!!BHy3:N?y4;**pobranie nr bohatera, które jednostka otrzymuje obrażenia
!!FU&y4=-1:E;
!!IF:Wy4;
!!VRv3:S0 R9;**losowanie 10%

!!FU&w88<>1|y2<0/v3<>5:E;**niespełnione warunki wyjście

!!MF:E0 F0;**blokowanie
!!BMy2:V84;**animacja
!!VRz10:S^Jednostka blokuje atak!^;
!!MM:Sz10;**tekst w battle logu

Cytat:
Co zrobić, że jak się odwiedzi obiekt, to coś będzie się działo, a jak drugi raz, to nic się nie będzie działo?

W poradniku był dobry przykład. Jednak nie wiem o jak zdarzenie ci chodzi.
Oto najprostszy przykład:

ZVSE

!?OB20/21/0;

!!PO998:V1/?y1;

!!IF&y1<>1:M^Coś się dzieje^;
!!IF&y1=1:M^Nic się nie dzieje^;
!!PO998:V1/1;

Przy okazji najpierw zastanówcie się o co pytacie, a dopiero potem pytajcie.


Altair PW
10 marca 2008, 16:27
Nie ma "np." specjalnej umiejętności jednostki nie można zmieniać jak skarpetek. Każdy typ umiejętności musi być rozpatrywany indywidualnie. Szczególnie jeśli chodzi o "prawdziwe" rzucanie zaklęć przez jednostki. Co takie proste zwykle nie jest. Nie mogę więc podać szablonu w stylu "x to nr umiejętności, który należy podstawić". Dlatego proszę na przyszłość o precyzowanie, a nie wpisywanie "np.". Jeśli szukasz natomiast prostego i (w miarę) szybkiego sposobu na dodawanie umiejętności to najlepiej posłużyć się systemem doświadczenia jednostek (należy je włączyć w opcjach WoGifikacji). Można to zrobić przez modyfikacje odpowiednich plików (co i jak jest w dokumentacji) lub ERM (przykład to tacza ognia dla sojuszników rzucana przez kapłanów wojny):

ZVSE

!#EA169:F0/?v2;
!#EA169:Bv2/1/115/29/4/4/4/4/4/4/4/4/4/4/4;

Istnieją także inne metody, ale są to sposoby raczej dla zaawansowanych ERM scripterów, których nijak nie da się zrozumieć bez dużej znajomości skryptów.

Kulex PW
11 marca 2008, 22:23
Co zrobić, żeby obiekt stracił funkcję po odwiedzeniu innego obiektu, zdarzenia itd.?

Altair PW
12 marca 2008, 01:09
To akurat można znaleźć w ERM Helpie.

!!OBx/y/p:S;

gdzie x, y, p to współrzędne wyłączanego obiektu.
Oczywiście wyłączanie to będzie działać na oryginalne funkcje obiektów, a nie na nasze skrypty do obiektów.

Kulex PW
12 marca 2008, 20:43
Co zrobić, żeby to działało na ERMowe obiekty?

Altair PW
12 marca 2008, 23:13
Trzeba usunąć te skrypty albo dodać do nich warunek, że dla danych współrzędnych obiektu mają nie działać. To chyba logiczne ;)
Ja osobiście polecam konstrukcje opartą na komendzie !!PO (kilka skryptów temu).
Czyli przykładowo gramy z włączoną WoGifikacją i chcemy, aby dana karczma nie tylko straciła swoje własne właściwości, ale także te skryptowe. Należy odszukać w plikach ERM (Wogifikacji) wyzwalacz Karczmy (!?OB95;). Następnie zaraz pod nim dodajemy dwie linijki:

!?OB95;**wyzwalacz

**dwie linijki**
!!PO998:V1/?y1;
!!FU&y1=1:E;

**reszta skryptu**

Skrypt zapisujemy i teraz z poziomu naszego skryptu możemy łatwo wyłączyć inne właściwości skryptowe :) :

!!POx/y/p:V1/1;

lub !#POx/y/p:V1/1; jeśli ma działać od włączenia mapki.

x, y, p - to współrzędne wyłączanego obiektu.

Altair PW
13 marca 2008, 17:29
Cytat:
cofasz sie dwa kroki w tył
A można cofać się do przodu? ;P
Istnieje taki skrypt, ale nie na cofanie lecz teleportacje o dwa kroki w tył.

!?LEx/y/p;
!!VRy1:Sv999+2;
!!HE-1:Pv998/y1/v1000;

Altair PW
13 marca 2008, 18:45
Cóż... trzeba w zdarzeniu ODzaznaczyć opcje "usuń po pierwszej wizycie", inaczej zdarzenie będzie wyzwalane tylko raz. (Następny kto zapyta o to straci wszystkie kończyny). Nie napisałeś w którą stronę ma przenosić się bohater. !!VRy1:Sv999+2; zmień na !!VRy1:Sv998+2; lub zamiast +2 daj -2. Poeksperymentuj kiedyś zadziała.

Kulex PW
15 marca 2008, 15:08
Robię skrypt ze skasowaniem ERMowych właściwości, ale jak chcę żeby przyjął inną, to on nie chce.

!?OBx/y/z;
To długa historia
!!IF:V10/1; Dodanie zdarzenia z flagą 10.

!?OBx/y/z;
!!PO998:V1/?y1;
!!FU&y1=1:E;
!!IF:M^Bla! Bla!^;
Nowe zdarzenie
!!VRz10&10:S^sound.WAV^;
!!SN&10:Pz10;
!!VRz900&10:S^obrazek^;
!!IF&10:B1/900/0;
!!IF&10:P1;
!!HE&10-1:Px/y/z;

Po odwiedzeniu tamtego obiektu powinien ten zmienić stare zdarzenie na nowe zdarzenie, a nie działa.
Co mam zrobić?

Altair PW
15 marca 2008, 15:58
Ujmę to tak: !!IF:V10/1; to nie samo co !!PO998:V1/1;
O ile zmienna obiektowa !!PO jest trwała, to o tyle flaga 10 (jak wszystkie flagi w ERM) jest bardzo ulotna. Wystarczy, że np. między wizytami zostanie stoczona chociaż jedna walka, a zostanie wyzerowana. Dlatego flag nie należy używać do długoterminowych zapisów wartości! Lepiej użyć v albo w wypadku zdarzeń przypisanych do miejsca !!PO.

Kulex PW
15 marca 2008, 18:45
Zmieniłem wrzystkie $10 na &y1=1 i nadal mi nie działa.

Altair PW
18 marca 2008, 13:12
Odpowiedzi znajdziesz tu i tutaj. Podstaw tylko sobie własne parametry.

Altair PW
18 marca 2008, 19:19
Nivelus:
prosze jeszcze o jeden skrypt

mianowicie za pomocą kamienia z linku http://www.fotosik.pl/pokaz_obrazek/16719a275f4d4700.html raz na trzy dni można przywołać arcylisza za 7 punktów many.

Oto i skrypt:
ZVSE

!?OBx/y/p;
!!PO998:V1/?y1;
!!VRy4:Sc;
!!FU&y1>=y4:E;
!!VRe1:Sy4;
!!VRy2:Sy4;
!!VRe1::3;
!!VRy2::3;
!!VRe1:-y2;
!!VRe1:Se1*10;
!!VRy2:Se1;
!!FU&y2>0:E;
!!IF:Q3/21/65/2^Czy chcesz przywołać arcylisza za 7 punktów many?^;
!!FU&-3:E;
!!HE-1:I?y3/1;
!!IF&y3<7:M^Za mało many!!^;
!!FU&y3<7:E;
!!HE-1:C2/65/1/1;
!!PO998:V1/y4;

Kulex:
Zmieniłem wszystkie $10 na &y1=1 i nadal mi nie działa.

Chyba odpowiedziałem już na twoje pytanie. Gdybyś przeczytał ze zrozumiem zauważyłbyś, że zamiast !!IF:V10/1; powinno być !!POx/y/p:V1/1; o czym pisałem kilka postów temu. Jeśli nadal nie widzisz różnicy między flagą a zmienną i nie rozumiesz innych elementarnych rzeczy, które wielokrotnie omawiałem i pisałem m.in. w poradniku to lepiej skontaktuj się ze mną przez komunikator lub mail (To samo tyczy się innych milusińskich pytających w kółko o to samo).
strona: 1 - 2 - 3 ... 38 - 39 - 40 ... 81 - 82 - 83
temat: [WoG, ERA] Skrypty ERM

powered by phpQui
beware of the two-headed weasel