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

Drwal PW
1 lutego 2017, 22:59
A nie łatwiej to zrobić edytując plik txt?

Szaman PW
1 lutego 2017, 23:15
Fakt:P... Zapomniałem że można to na poziomie txt...

Szaman PW
21 lutego 2017, 13:32
Potrzebuje małej pomocy przy ERM... nie zdaje że to coś trudnego dla kogoś doświadczonego.

Chce zrobić "end text" tak jak w Heroes 4... Np: po zabiciu potwora/bohatera..

Ble ble ble... dobra robota...
Naciskam OK
Koniec gry

avatar PW
21 lutego 2017, 21:26
Nie ma czegoś podobnego w którejś planszy pierwszej wogowskiej kampanii?

Szaman PW
21 lutego 2017, 22:31
Oj nie wiem...:) Nigdy nie grałem w Wogowskie kampanie, mógłbym się przyjrzeć i zobaczyc ale nie wiem gdzie znajdują się owe kampanie, znalazłem tylko tutorial...

Szaman PW
24 lutego 2017, 13:58
Potrzebuje małej pomocy przy Skrypcie, znalazłem stary skrypt Altaira.

ZVSE

!#TM20:S29/600/28/255;

!#VRv801:S0;
!#VRz200:S^Magiczny grzybek^;
!#HT63/30:T200;
!?OB63/30;
!!PO998:V1/?y5;
!!IF&y5<1:Q2^Czy chcesz zaatakować strażników?^;
!!IF&y5=1:M^Nic tu nie ma?^;
!!HE-1&y5=1:R0/d-1;
!!VRv801:S0;
!!HE-1&2/y5<1:Tv998/v999/v1000/18/15;
!!VRv801&2/y5<1:S1;

!$OB63/30;
!!HE-1?y2;
!!PO998&y2<>-1/v801=1:V1/1;
!!IF&y2<>-1/v801=1:Q3/21/18/6/5000/1^Pokonawszy strażników (Leśne Elfy). Zabierasz łupy (5000 szt. złota)^;
!!OW&y2<>-1/v801=1:R-1/6/d5000;

!?TM20;
!!PO15/11/0:V1/0;

Robi on z pustego obiektu, bank stworzeń. Na chwile obecną ustawienia ma takie że ma obrońców skradających się z 15 elfów.

Chciałbym dodać więcej obrońców, np:anioły... a nie wiem jak.
Duplikacja linii:
!!HE-1&2/y5<1:Tv998/v999/v1000/18/15;

Nie daje zamierzonego efektu, wywołuje poprostu drugą walkę, po pierwszej. A ja chciałbym poprostu dodać kilka innych stworzeń do pierwszej bitwy.

Kammer PW
24 lutego 2017, 14:13
ERMHelp twierdzi, że konstrukcje z T: to tylko Provoke a battle but only with one type of monsters..

ALE

Ten sam ERMHelp zawiera receiver BATTLE ATTRIBUTES (BA), który z kolei zawiera składnie M#1/#2/$1/$2;, która z kolei
cytat prosto z ERMHelp-u:
Set the Monsters that are fighting the battle.
#1 = Attacker's monsters (0) or defender's monsters (1) See format C
#2 = Slot number (0..6)
$1 = Monster type (use -1 for a slot with no monsters)
$2 = Number of monsters

Pobaw się tym, ja się nie znam na ERM-ie, choć sobie obiecywałem, że się pouczę.
Teoretycznie to pozwalałoby na wygenerowanie walki z jednymi stworami, a potem na dodanie innych stworów na wolne pozycje.

Krukov PW
26 lutego 2017, 12:35
Tak jak mówi Kammer, dodatkowe potwory ustawiasz przy pomocy BA:M.
Jeśli ma to być powtarzalny bank stworzeń to należy dodać mu identyfikator, po którym skrypt będzie rozpoznawał dany budynek i przydzielał odpowiednie jednostki.

Przykładowy skrypt może wyglądać tak:

:
!?BA0;
!!PO998:B0/?y1;
!!BA&y1=50:M1/0/116/10 M1/1/34/2 M1/2/9/1 M1/3/9/1 M1/4/9/1 M1/5/34/2 M1/6/116/10;

Żeby to działało to trzeba jeszcze przypisać bankowi ten identyfikator. Powinno to wyglądać mniej więcej tak:

:
!?OBx/y;
!!PO998:B0/50;
**tutaj dalszy skrypt**

avatar PW
26 lutego 2017, 13:04
Cytat:
Nigdy nie grałem w Wogowskie kampanie, mógłbym się przyjrzeć i zobaczyc ale nie wiem gdzie znajdują się owe kampanie, znalazłem tylko tutorial...
Kampanie WoG znajdują się w pliku h3sprite.lod albo h3bitmap.lod lub h3wog.pac (nie pamiętam dokładnie) pod nazwami zc1-zc4.h3c.

Szaman PW
26 lutego 2017, 15:28
Cytat:
!?OBx/y;
Oczywiście X to typ obiektu a Y podtyp obiektu?

EDIT:

Wielkie Dzięki Krukov! Tego własnie mi było trzeba! ale chciał bym też zmienić, nagrody za zwycięstwo i przepisać skrypt konkretnemu bankowi, nie ogółowi!

np: Po pokonaniu obrońców otrzymujesz X artefkat X surowców, X oddziałów.

Szaman PW
26 lutego 2017, 23:31
To już definitywnie ostatnia prośba;) Bo mnie zabijecie za taki natłok próśb...

Salamandre z HC stworzył mi ten skrypt do banku stworów.

ZVSE

!#VRz240:S^ABC^; [Mój dopisek]
!#OB21/16/0:H240; [Mój dopisek]

!?OB21/16/0;
!!CB21/16/0:G0/116/10 G1/34/2 G2/9/1 G3/9/1 G4/34/2; [Set guards]
!!CB21/16/0:R5/5 R6/5000; [Add resource bonus]

!$OB21/16/0;
!!HE-1:O?y1;
!!FU&y1<0:E;
!!PO21/16/0:N?y2;
!!FU&y2>0:E;
!!UN:J6/4/?y3; generate random minor artifact
!!HE-1:Ay3 B0/?z1;
!!IF:Q1/8/y3/1^After defeating the cave, %Z1 gets a minor artifact.^;
!!PO21/16/0:N15;

Skrypt jest idealny, ale brakuje jednego detalu.. a Mianowicie. Własnego tekstu początkowego... Chodzi mi oto że jak np: wejdę do skarbca krasnoludów to pojawia się napisz:
"Znalazłeś skarbiec krasnoludów, czy chcesz go zaatakować?"

I chciałbym zmienić na inny napis np: Stoisz u progu Czarnej Cytadeli, czy chcesz wejść i zaatakować strażników?"

Oczywiście ma być to indywidualne przepisane konkretnemu budynkowi a nie wszystkim skarbcom krasnoludzkim...

Liczę na pomoc SALAMANDRA, ale zdaje mi się że już trochę jest poirytowany moimi pytaniami:) Dlatego zwracam się tutaj, nie jest zapewne trudna prośba do wykonania.

Krukov PW
27 lutego 2017, 00:09
Szaman:
przepisać skrypt konkretnemu bankowi, nie ogółowi!
W tej sytuacji nie odwołujesz się poprzez OBt/s, tylko po konkretnych współrzędnych OBx/y/z.

Szaman:
ale chciał bym też zmienić, nagrody za zwycięstwo
(...)
np: Po pokonaniu obrońców otrzymujesz X artefkat X surowców, X oddziałów.
Przyznawanie nagród po wygranej odbywa się w następujący sposób:
1. Piszemy skrypt w triggerze !$OB - ten trigger wywołuje się po odwiedzeniu budynku, czyli jeśli masz skrypt wywołany przez trigger !?OB, w którym wywoływana jest walka, to !$OB i tak wywoła się dopiero po jej zakończeniu.
2. Wykorzystujemy fakt, że bohater, który zginie traci kolor - jego atrybut dotyczący właściciela ustawiany jest na -1
3. Dalej korzystamy z faktu czy bohater zachował swój kolor czy nie.

Przykładowy kod:
:
!?OBx/y/z;
!!HE-1:O?y1;
!!IF&y1<>-1:M^Gratulacje, wygrałeś. W nagrodę otrzymujesz 3 złota!^;
!!OW&y1<>-1:Ry1/6/d3;

Szaman:
I chciałbym zmienić na inny napis np: Stoisz u progu Czarnej Cytadeli, czy chcesz wejść i zaatakować strażników?"
Po prostu w triggerze ustawiasz wyświetlanie wiadomości:
:
!?OB21/16/0;
!!IF:M^Stoisz u progu Czarnej Cytadeli, czy chcesz wejść i zaatakować strażników?^;

Oczywiście cały skrypt ma jedną wadę. Mianowicie odpali się za każdym wejściem, zatem potrzebujesz jeszcze zmiennej, która będzie przechowywała wiadomość o tym, czy bank został już obrabowany.

beholder PW
15 marca 2017, 20:32
Proszę o pomoc. Mam taki problem (3.58f + SU), że na swojej mapce próbuję w post-instrukcji (!?PI) wyspawnować na zadanej pozycji konkretnego potwora.

!?PI;
!!FU29006:P23/93/0/108/68/1; // x1-x3 pozycja miasta, x4-x6 pozycja gdzie ma się wyspawnować potwór

!?FU29006;
!!CAx1/x2/x3:T?y-1; //pobranie typu miasta do y-1
!!VRy-2:S15+y-1; //y-2 to numer potwora z 8 poziomu z tego miasta
!!UN:Ix4/x5/x6/54/y-2; //wyspawnowanie potwora


W takim kodzie mam crash WOGa na wywoływaniu funkcji (debug pokazuje miejsce pomiędzy parametrami funkcji a średnikiem, w miejscu wywołania funkcji w triggerze PI).

Jeżeli zmienię w UN:I czwarty parametr z 54 (monster) na 71 (random monster) to wtedy kod się wykonuje, ale pojawia się faktycznie random monster (piąty argument z UN:I jest ignorowany).

Czy ktoś wie dlaczego taki kod crashuje? I jak w takim razie można wyspawnować konkretnego potwora?

Krukov PW
15 marca 2017, 22:39
Nie jestem całkowicie pewien, ale mi chyba zawsze crashowało przy próbie modyfikowania mapy za pomocą PI. Próbowałeś wywołać tą funkcję innym triggerem? Spróbuj np. z Local Eventu i zobacz czy problem leży w ciele funkcji czy wywoływaniu przez PI.

beholder PW
18 marca 2017, 10:40
Good call. Faktycznie jeżeli wołam UN:I z typem 54 (monster) z instrukcji lub post-instrukcji to się crashuje. Jak to odpalam na timerze (!?TM) to działa bez problemu. Dzięki!

Krukov PW
18 marca 2017, 16:07
Powiedz mi. A to Ci działa w ten sposób, że składa wartość zmiennej jako 15x, a nie jako równanie 15 + x?

Szaman PW
20 kwietnia 2017, 01:19
Potrzebuje małej pomocy, utknąłem z upartym ERM, które nie chce zadziałać. A w ERM HELP nie znalazłem rozwiązanie (albo już mentalnie oślepłem, patrząc na te wszystkie składnie).

A mianowicie chce zmienić nagrodę w Domu nietoperza/transylwańska tawerna z X wampirów na X inną jednostkę, powiedzmy na Hobgobliny.

EDIT:

Już nieistotne, poradziłem sobie !!CB niema to jak mieć rozwiązanie przed nosem a kombinować X godzin! xD

Krukov PW
21 kwietnia 2017, 00:53
Niestety ERM nie jest najwygodniejszy i czasem łatwo coś przeoczyć. Szczególnie kiedy skrypt ma, jak np. na mojej mapie koło 2000 linijek.

Teraz pytanie ode mnie. Sprawdzał ktoś czy Macrosy można stosować również do funkcji?

beholder PW
3 maja 2017, 20:03
Czy można jakoś sprawdzić czy dany budynek jest 'zablokowany' i nie można go budować w danym zamku? Z tego co widzę to nie ma takiej komendy w !!CA, w innych, też nie znalazłem nic takiego. Można ustawić enabled/disabled (!!CA:B4 i !!CA:B5) ale nie można tego sprawdzić?

also @Krukov jeżeli jeszcze aktualne:
z tego co sprawdzałem u siebie to nie działają makra na funkcje

Krukov PW
7 maja 2017, 02:11
@beholder
Dzięki za sprawdzenie. Jestem ostatnio zalatany i nie mam czasu sprawdzić. A przyznam, że przydałoby mi się, bo kiedy po pół roku siada się do skryptu, gdzie jest ponad 70 różnych funkcji to można palpitacji uzwojeń nerwowych dostać - oto kara za zapominanie o komentowaniu xD

Co do Twojego problemu, nic mi nie wiadomo o takiej możliwości :/

I jeszcze jedno pytanie ode mnie. Jakie są różnice pomiędzy ERĄ, a ERM'em?
strona: 1 - 2 - 3 ... 81 - 82 - 83
temat: [WoG, ERA] Skrypty ERM

powered by phpQui
beware of the two-headed weasel