Witaj Nieznajomy!
|
temat: [WoG, ERA] Skrypty ERM komnata: Niebiańska Kuźnia (WoG, HotA, VCMI) |
wróć do komnaty |
strona: 1 - 2 - 3 ... 25 - 26 - 27 ... 81 - 82 - 83 | |
Ginden |
Mistrz skryptów Altair: Gdzie x to numer stworzeniaZVSE !#VRz100:S^Nazwa jednego stworzenia^; !#VRz101:S^Nazwa większej ilości stworzeń^; !#UN:G1/x/0/100; !#UN:G1/x/1/101; Skrypt wygląda tak: Skrypt: Oczywiście zamiast x numer stworzenia
!#VRz100:S^Nazwa jednego stworzenia^; !#VRz101:S^Nazwa większej ilości stworzeń^; !#VRz102:S^Gorgona^; !#VRz103:S^Gorgony^; !?OB13/1/0; !!UN:G1/x/0/100; !!UN:G1/x/1/101; !$OB13/1/0; !!UN:G1/x/0/102; !!UN:G1/x/1/103; |
aivin |
Fajno, mniej więcej o to chodziło. Dzięki |
Ginden |
Ale jeśli po stronie wroga i gracza będą dwie np. gorgony to obie będą miały nazwę "Starożytna Gorgona". |
avatar |
A można prosić czarno na białym co dokładnie balansuje ten skrypt? Czyli ładnie opisane WSZYSTKIE modyfikacje... |
Ginden |
Niestety. Do skryptu wkradł się POWAŻNY błąd. Na skutek mojej znaajomości angielskiego pomyliłem maksymalne obrażenia z różnicą między największymi i minimalnymi i gdyby zastosować ten skrypt dostalibyśmy archaniły zadające 60 obrażeń, gnolle zadające 5 itd. |
aivin |
W jaki sposób używając okna dialogowego ‘Menu z jedną możliwą opcją wyboru naraz’, !!VRz111:S^tytuł^; !!VRz112:S^opcja 1^; !!VRz113:S^opcja 2^; !!VRz114:S^opcja 3^; !!VRz115:S^opcja 4^; !!VRz116:S^anuluj^; !!VRz117:S^^; !!IF:G1/8/16/z111/z112/z113/z114/z115/z116/z117/z117/z117/z117/z117/z117/z117; Przykład ten pochodzi z Gildii ERM… wpisać powiedzmy w pierwszą opcję !!HE-1:C1/78/164/d; !!HE-1:C1/79/164/d; ? |
Altair |
Hmm... Przecież tam jest wszystko dokładnie opisane. ;) Liczba 8 oznacza numer zmiennej. Czyli: !!HE-1&v8=1:C1/78/164/d;**opcja 1 !!HE-1&v8=2:C1/79/164/d;**opcja 2 jeśli oba mają być do pierwszej opcji to wtedy: !!HE-1&v8=1:C1/78/164/d; !!HE-1&v8=1:C1/79/164/d; Dla pierwszej opcji zmienna ma wartość 1, dla drugiej 2, dla trzeciej 4, dla czwartej 8 i tak dalej... |
aivin |
Może i napisane, ale dla mnie te v8=... nie było aż tak jasne, zwłaszcza po 2 miesięcznej przerwie w tworzeniu i pisaniu skryptów do mapki :) Dzięki za pomoc, jak zwykle :)) Sam nie wiem czy w ogóle ją kiedyś skończę :D ... No i się zapętliłem, bo chciałem korzystając z pętli !!DO ustawić system opłat za tą zamianę minotaurów ze wcześniejszego przykładu… Chce, przykładowo, dla każdej jednostki, znajdującej się w dowolnym slocie bohatera !!HE-1&v8=1:C1/78/164/d; Dodać opłatę, np. !!OW&v8=1:R-1/6/d-1000; Wskazać za co ma pobierać te 1000 złota jeszcze mi się udało, ale z ustawieniem licznika i blokady, w przypadku braku surowców było już gorzej :/ Przykładowo - 10minotaurów – 10000 złota. - Gdy gracz posiada 5000 złota, zostaje zamienionych 5 minotaurów a pięć zostaje niezmienionych (jeśli jest jakiś wolny slot na jednostkę), lub wyświetla się stosowna informacja i nic się nie dzieje Jakiś pomysł na rozwiązanie tego problemu? |
aivin |
Próbowałem przekształcić kod na ‘podatki chłopów’ aczkolwiek robie to zapewne strasznie nieudolnie i zupełnie nie wiem jak sprawić by pętla wykonywała się tylko w obiekcie !#VRv803:S0; !#VRz202:S^opis^; !#HT63/49:T202; !?OB63/49&1000; a nie codziennie jak właśnie to czyni. !!DO111/1/1/1&y1=y2:Px16/y2; ** przekazanie parametru x16 do x1 kolejnej funkcji i y2 do x2 – nie do końca rozumiem zastosowanie parametru x i może w tym problem, oraz składni ‘Px16/y2’ !?FU111; !!HEx1:C0/x16/?y1/?y2; **sprawdzenie ilości czegoś w armii !!VRy3&y1=78:Sy2*-10; **ustalenie mnożnika ujemnego jeśli OK. ( znaczy - jest Minotaur) !!VRy3&y178:S0; **jeśli nie OK to koniec !!OW:Rx2/6/dy3; ** wykonanie Poza tym, pętla chyba wcale nie musi być potrzebna skoro początek wynosi 1, koniec – również 1, a mimo to zlicza ilość jednostek. Wniosek: Albo pętla odnosi się zupełnie do czego innego, a liczenie jednostek jest pobocznym działaniem co wydaje mi się najbardziej prawdopodobne, albo nie rozumiem tej składni zupełnie i powinienem zacząć uczyć się na prostszych przykładach:) |
Altair |
Wszystkim początkującym radzę zaczynać od prostych przykładów. :) W tym wypadku rozwiązanie jest proste: ZVSE !?OBtyp/podtyp; !!OW:C?y2;**określenie gracza !!DO70/0/6/1:Py2;**przeszukanie slotów bohatera od 0 do 6 !?FU70; !!HE-1:C0/x16/?y1/?y2; !!VRy3&y1=78:Sy2*-10;**ustawienie mnożnika w tym wypadku -10 za każdego !!VRy3&y1<>78:S0; !!OW:Rx1/6/dy3;**dodanie złota !!OW:Rx1/6/?y5; !!OW&y5<0:Rx1/6/0;**zerowanie gdy złoto<0 EDIT: Nie wiem po co chciałeś ustawić pętlę na 1 jeden obieg skoro ma sprawdzać chyba wszystkie sloty bohatera. ;P !!DO służy do wywoływania pętli. Natomiast do pojedynczego wywołania funkcji służy !!FUnr:P; |
aivin |
Dzięki! Małe sprostowanie do jednej linijki: !!VRy3&y1=78:Sy2*-10;**ustawienie mnożnika w tym wypadku 2 za każdego teraz będzie ok. Chciałem jeszcze aby po zapłacie jednostki zamieniły się na inne, a dokładniej na C164, po zapłacie oczywiście: !!HE-1:C1/78/164/d; Wpisując powyższą linijkę kodu, niweluje działanie pętli którą napisał Altair. Nie wiem jak ustawić kolejność akcji. Próbowałem za pomocą kolejnej funkcji, sądząc że wykonają się po kolei: !?FU71; Czy też: !!FU70:P; i !?FU70; ale to wszystko sprawia tylko wykonanie akcji zamiany jednostek, bez ubytku złota |
Ginden |
Poradnik ERM! |
Summoner |
Witam. Po tym, jak zagrałem w kampanię pt. "Czas Przygody" postanowiłem zrobić swoją mapę, też w tym stylu. Pierwszy domek który zrobiłem nazwałem (przez VRz) "Twój dom". Wszystko jest ok. Potem do niego zrobiłem tekst z obrazkiem ogra, czy chcesz przeszukać swój dom itd. W wypadku TAK (zrobiłem z dwoma przyciskami i obrazkiem okno dialogowe) przeszukiwało się dom i upgrade'owało się ogra w ogra szamana. W przypadku NIE zrobiłem, że "wychodzisz z domu czując, że to jednak była lepsza decyzja" (ale jestem złośliwy :P). Supcio wszystko jak narazie, ale co mam zrobić, żeby jak wejdziemy tam drugi raz to nie będzie już pytania czy chcesz przeszukać swój dom, tylko że już nie ma po co wchodzić do tego domostwa? Wybaczcie, że nie wkleiłem pełnego skryptu, ale mam 2 komputery i teraz siedzę na tym, na którym nie mam WOGa. Liczę na waszą pomoc. Summoner |
Altair |
Aivin: Wpisując powyższą linijkę kodu, niweluje działanie pętli którą napisał Altair. Nie wiem jak ustawić kolejność akcji. Próbowałem za pomocą kolejnej funkcji, sądząc że wykonają się po kolei: !?FU71; Czy też: !!FU70:P; i !?FU70; ale to wszystko sprawia tylko wykonanie akcji zamiany jednostek, bez ubytku złota Aivin twój problem polega na tym, że nie rozumiesz działania pętli i tego skryptu. Skoro pętla sprawdza jakie jednostki są w danym slocie to do pętli trzeba także przypisać pobieranie komendę zamiany. Gdzieś musi być sprawdzone czy bohater posiada środki na ulepszenie danego oddziału. Dlatego taki skrypt powinien wyglądać mniej więcej tak: ZVSE !?OB63/3; !!OW:C?y2;**okreslenie gracza !!DO70/0/6/1:Py2;**przeszukanie slotów bohatera od 0 do 6 !?FU70; !!HE-1:C0/x16/?y1/?y2; !!OW:Rx1/6/?y5; !!VRy7&y2>0:Sy5:10; !!VRy8&y2>0:Sy2*-10; !!OW&y7>=y2/y1=78:Rx1/6/dy8;**odjęcie złota !!HE-1&y7>=y2/y1=78:C0/x16/164/d; Summoner : Supcio wszystko jak narazie, ale co mam zrobić, żeby jak wejdziemy tam drugi raz to nie będzie już pytania czy chcesz przeszukać swój dom, tylko że już nie ma po co wchodzić do tego domostwa? Rozwiązanie tego problemu jest bardzo proste (pisałem o tym kiedyś). Należy zastosować komendą !!POx/y/p: Działa ona jak zmienne z tym, że są one powiązane ze współrzędnymi mapy. Oto przykładowe zastosowanie: ZVSE !?OBtyp/podtyp; !!PO998:V0/?y5; !!IF&y5<1:M^Pierwsze odwiedzenie obiektu.^; !!IF&y5=1:M^Kolejne odwiedzenia obiektu^; **Jakieś komendy !!PO998:V0/1; Polecam lekturę poradnika ERM mojego autorstwa. Są tam m.in. informacje na ten temat. |
aivin |
Dzięki. Bardziej nie rozumiem tych warunków y1..y8 itd. Samą pętle nie trudno zrozumieć, ale ciągle mam właśnie z tym problem. Myślę że to kwestia praktyki zupełnie jak ucząc się programowania w C++, Javie.. dlatego się nie poddaje. :) |
Summoner |
Faktycznie, jest o tym w poradniku. Ściągnąłem go, przeczytałem (jeszcze nie do końca), ale nie mogę się doczekać i już muszę zadać kolejne pytanie. Wszystko jak najbardziej działa, skrypt wygląda tak : ZVSE !?OB63/6; !!PO998:V0/?y5; !!IF&y5i tutaj ma być "5 mniejsze od 1"1:Q2/21/90/2^Oto twój dom. Twoja rodzina zawsze była biedna, nie ma więc tutaj nic wartościowego. Jedynie jakiś stary ekwipunek bojowy twojego dziadka mógłby poniewierać się gdzieś między śmieciami. Twój ojciec - tak jak ty - postanowił wyruszyć z domu w poszukiwaniu sławy, kiedy ty byłeś jeszcze małym dzieckiem. Może jednak zostawił coś dla swojego syna? Czy chcesz przeszukać twój dom?^; !!IF&2:M^Szukasz wyposażenia po wszystkich zakamarkach w domu. Gdy wydaje ci się, że w domu nie ma nic odpowiedniego dla wojownika zauważasz, że pod starą szmatą leżą szaty szamana ogrów!^; !!HE-1&2:C1/90/91/d; !!IF&y5=1:M^Ten dom przypomina ci jedynie o przeszłości, tej jednak nie chcesz już pamiętać. Nie masz ochoty tu wchodzić kolejny raz.^; !!PO998:V0/1; Nie wiem czemu ale nie mogłem tam na początku skryptu wpisać znaku, że coś jest mniejsze od drugiej liczby. Chodzi o to, że chcę zrobić tak, że jak wchodzę do domku to mnie pyta, czy chcę przeszukać dom - to mam. Jeśli kliknę tak to mi ulepszy ogra, jeśli kliknę nie to mi nie ulepszy - to też już mam. A jak odmówię i wyjdę to mi ma pisać "ten dom przypomina ci..." a nie pisze tylko to, tylko przed tym jeszcze "Szukasz wyposażenia...". No i ulepsza ogra jak się zgodzę i potem przyjdę jeszcze raz... Wiem, że jestem kompletnym imbecylem jeśli chodzi o ERM, więc lepiej pójdę poczytać twój poradnik, Altairze :P |
aivin |
Chyba chodziło Ci mniej więcej o to: ZVSE !#VRv805:S0; !#VRz198:S^nazwa^; !#HT63/6:T198; !?OB63/6; !!PO998:V0/?y5; !!IF&y5 < 1:Q2/21/90/2^Oto twój dom. Twoja rodzina zawsze była biedna, nie ma więc tutaj nic wartościowego. Jedynie jakiś stary ekwipunek bojowy twojego dziadka mógłby poniewierać się gdzieś między śmieciami. Twój ojciec - tak jak ty - postanowił wyruszyć z domu w poszukiwaniu sławy, kiedy ty byłeś jeszcze małym dzieckiem. Może jednak zostawił coś dla swojego syna? Czy chcesz przeszukać twój dom?^; !!IF&y5 < 1/2:M^Szukasz wyposażenia po wszystkich zakamarkach w domu. Gdy wydaje ci się, że w domu nie ma nic odpowiedniego dla wojownika zauważasz, że pod starą szmatą leżą szaty szamana ogrów!^; !!HE-1&2:C1/90/91/d; !!IF&y5=1:M^Ten dom przypomina ci jedynie o przeszłości, tej jednak nie chcesz już pamiętać. Nie masz ochoty tu wchodzić kolejny raz.^; !!PO998:V0/1; |
Summoner |
Nie chodziło mi mniej więcej o to, chodziło mi DOKŁADNIE o to!! Bardzo dziękuję, może jednak moja mapa kiedyś zostanie wykonana? |
aivin |
Dzieje mi się coś dziwnego z poniższym, trochę zmodyfikowanym na te jednostki, skryptem a mianowicie: - zakładając że gracz posiada 10 rtęci i 10 000zł i 15 zmor: -- układając je na slotach w następujący sposób kolejno: 11 4 - wówczas skrypt wykonuje się poprawnie: gracz traci 4 rtęci i 80złota i dostaje zamiast 4 - zmor 4 duchy -- jednak układając je już: 10 5 - wówczas dzieją się jakieś anomalie i tracę 5 rtęci, 300 złota i z 15 zmor robi się 15 duchów.. - przy 25 zmorach -- układ 15 10 10 w slotach: wszystko dzieje się jak powinno tj. 10 duchów (w slocie po 15 zmorach) i odpowiednie ubytki surowców -- układ 10 10 15 w slotach: kolejna anomalia: pierwsze 2 sloty - po 10 duchów, -10 rtęci i - 400 złota. Ewidentnie problem z rtęcią w pętli, ale na jakich zasadach? Skoro działa prawidłowo gdy na 1 slocie jest więcej jednostek niż posiadanych surowców na modyfikacje. Oto skrypt: ZVSE !#VRv804:S0; !#VRz203:S^Num a Nga^; !#HT63/6:T203; !?OB63/6&1000; !!IF&1000:Q891/21/60/21/61/21/159/10^Wybierz rodzaj jednostki, którą chcesz ulepszyć do Ducha. Koszt za jednego: - Zmora {20 złota} i {1 rtęć} - Upiór {1 rtęć}^; !!OW:C?y2;**okreslenie gracza !!DO71/0/6/1:Py2;**przeszukanie slotów bohatera od 0 do 6 !?FU71; !!HE-1:C0/x16/?y1/?y2; !!OW:Rx1/1/?y5; !!OW:Rx1/6/?y6; zmora !!VRy7&v891=1/y2 > 0:Sy5:1; **sprawdzenie srodkow !!VRy8&v891=1/y2 > 0:Sy2*-1;**odjecie srodkow !!OW&v891=1/y7 > =y2/y11 > =y2/y1=60:Rx1/1/dy8;**odjęcie rtęci !!VRy11&v891=1/y2 > 0:Sy6:20; **sprawdzenie srodkow !!VRy12&v891=1/y2 > 0:Sy2*-20;**odjecie srodkow !!OW&v891=1/y11 > =y2/y7 > =y2/y1=60:Rx1/6/dy12;**odjęcie złota !!HE-1&v891=1/y7 > =y2/y11 > =y2/y1=60:C0/x16/159/d; upior !!VRy9&v891=2/y2 > 0:Sy5:1; **sprawdzenie srodkow !!VRy10&v891=2/y2 > 0:Sy2*-1;**odjecie srodkow !!OW&v891=2/y9 > =y2/y1=61:Rx1/1/dy10;**odjęcie rtęci !!HE-1&v891=2/y9 > =y2/y1=61:C0/x16/159/d; |
Summoner |
-Witaj podróżniku. Jestem starożytną czaszką wytworzoną przez Wielkiego Mistrza Altaira. Przelał we mnie całą swą wiedzę o pewnych skryptach nazywanych ERM lecz nie utracił przy tym nic z własnej. Pozostawił mnie tutaj, abym wybrańcom przekazywała swe wieloletnie doświadczenie życiowe. Czy chcesz z niego skorzystać, chcesz przenieść się w przeszłość? Nie obrazisz się, Altairze? :) |
strona: 1 - 2 - 3 ... 25 - 26 - 27 ... 81 - 82 - 83 |
temat: [WoG, ERA] Skrypty ERM | wróć do komnaty |
powered by phpQui
beware of the two-headed weasel