Witaj Nieznajomy!
|
temat: [WoG, ERA/mod] Aquamarine Library (AL) komnata: Niebiańska Kuźnia (WoG, HotA, VCMI) |
wróć do komnaty |
Altair |
Tak jak wspominałem (narzekałem) w kilku tematach trochę za dużo jest tych wszystkich wersji, pluginów do Woga (ERY) aby wszystko mógł opanować zwykły skrypter. Do której wersji pisać skrypty? - 3.58F? - (zabugowana i trochę już archaiczna) - TE (mało kto używa) czy 3.59 (niedokończony) - ERA? (wciąż wychodzą nowe wersje mniej lub bardziej stabilne, wciąż mało popularna) - VCMI? (wciąż brak skryptów) Link do skryptu Aquamarine Library (AL) v3.0 beta (przetestowane dla 3.58F i ERA) Nawet stosując standardową składnie i tak natkniemy się na problemy. Bo w samym ERMie są błędy. A już stosując skrypty korzystające ze składni UN:C (takie jak w temacie ERM poziom - "Impossible"), trzeba zakładać, że może "coś" nie działać w kolejnej wersji. Stąd pomysł stworzenia jednego skryptu łatające stare błędy i umożliwiający korzystanie z różnych funkcjonalności w maksymalnej liczbie wersji. Czyli w skrócie, wersje się zmieniają twój skrypt powinien pozostać ten sam (wystarczy uaktualnić Aquamarine Library). dlatego w tym temacie prezentuje skrypt Aquamarine Library (AL) opis: Stare funkcje (tylko dla 3.58F): FU20300 / wersja komendy TE/ERY !!SS (pozwalająca na modyfikowanie zaklęć dla 3.58F) Miejski portal przypisany do magii wody :) ** 20304 / poprawki do 3.58F (komenda dodająca drogę na mapę TR:T oraz niepotrzebnie odświeżająca ekran HE:F) poprawka do dróg po prawej bez patcha ** 20309 / poprawka komendy !!MR:N (!?MR2) AKTUALIZACJA **20301 (GetMapName) - pobranie nazwy mapy **20303 (GetBlackMarketArtifact) - obsługa czarnego rynku (tak jak w temacie ERM poziom - "Impossible") **20305 (GetRumor) - czytanie/ustawianie pogłosek z karczmy. **20306 (GetBattleType) - zmienianie typu bitwy (zwykła/w banku stworzeń) - stworzenia po lewej stronie lub w środku pola bitwy. **20307 (GetSecondarySkillsText) - pobranie tekstu umiejętności drugorzędnych **20308 (GetTownResourceSilo) - pobranie/ustawianie surowców w miejskim magazynie zasobów **20310 (GetSkeletonTransformerCreature) - pobranie/ustawianie stworzeń zmienianych w szkieletorni **20311 (SetSpellToCreature) - dodawanie jednostkom możliwości rzucania zaklęć **20312 (GetCurrentDate) - pobieranie/ustawianie aktywnego czasu gry (w końcu herosi mogą podróżować w czasie ;) ) **20313 (SplitStr) - podział łańcucha znaków (np. tekst podzielony przecinkami) i zapis w postaci tablicy przy pomocy slotów ERY **20315 (GetArtifactPrimarySkills) - set/get artifact primary skill modyficator **20316 (GetArrowTowerCreature) - zmienianie stworzeń w wieżach miejskich (tylko era) **20317 (GetArrowTowerXY) - zmienianie współrzędnych strzelców w wieżach miejskich **20318 (GetCreatureMissile) - przypisywanie stworzeniom umiejętności strzelania |
Altair |
Zaktualizowałem skrypt, dodałem pełną zgodność z ERĄ. Dodałem dwie nowe funkcjonalności. Wkrótce dodam przykładowe skrypty (póki co, bardziej zaznajomionym z ERM starczą komentarze w kodzie). |
Shin0bi |
Niesamowite, wracasz do ERM Altair? Super, po tych skryptach z tematu poziom Impossible nie mogę się już doczekać kolejnych ^^ |
Irhak |
Cytat: To on kiedykolwiek się z nim rozstał? :D
Niesamowite, wracasz do ERM Altair? |
Altair |
Cytat: To on kiedykolwiek się z nim rozstał? :D Będzie już kilka lat jak nie wychodzą żadne nowe (większe) skrypty. |
majaczek |
Chciałem się już spytać skąd wziąć Aquamarine - ale powstał teamt. Dobra robota! Szkoda że skryptów jest tak ubogo. Proponuje dodać funkcję na przywołanie żywiołaków (kody UN:C na stworzenie dla każdego z tych czarów), oraz jeśli się dokopię który z 2x50 adresów jest odpowiedzialny za co dokładnie - funkcję na modyfikowanie Commanderów na polu bitwy (mam jeszcze sporo do sprawdzenia). Chyba że jest tam sporo niewymienionych funkcji, a te wypisane to tylko przykłady - wtedy proszę o bardziej szczegółową listę. Cieszę się że taki projekt powstał. Mam nadzieję że wessie inne skrypty na UN:C z publicznie dostępnych w sieci. |
TopFunny525 |
Ciekawe Skrypty(skrypt). Mam nadzieję, że nie zaprzestaniesz projektu i będziesz kontynuował ulepszanie jego. Obejrzę się później gdyż teraz... nie mam jak go obejrzeć i przetestować. Pozdro. |
Altair |
AKTUALIZACJA Wersja 3.0 (link w pierwszym poście) Nowości: **20313 (SplitStr) - podział łańcucha znaków (np. tekst podzielony przecinkami) i zapis w postaci tablicy przy pomocy slotów ERY **20315 (GetArtifactPrimarySkills) - set/get artifact primary skill modyficator **20316 (GetArrowTowerCreature) - zmienianie stworzeń w wieżach miejskich (tylko era) **20317 (GetArrowTowerXY) - zmienianie współrzędnych strzelców w wieżach miejskich **20318 (GetCreatureMissile) - przypisywanie stworzeniom umiejętności strzelania - Możliwość stosowania nazw funkcji - Najbardziej denerwującym elementem w ERM jest brak możności używania nazw funkcji (można od biedy używać makr ale wtedy potrzebujemy na każdą nazwę jedną zmienną "v"). Musimy więc stosować numeracje i stosować duuużo komentarzy. Jednak jeśli korzystamy z Ery mamy wybór. Jedną z ciekawszych rzeczy w ERZE są tablice asocjacyjne. Standardowo aby pobrać/ustawić pogłoskę w karczmy (za pomocą tego skryptu) musimy: !!VRz11:S^Graal jest na bagnach!^; !!FU20305:Pz11/1;**ustawienie pogłoski !!FU20305:Pz11/0;**pobranie pogłoski !!IF:M^%Z11^;**wyświetlenie Teraz o ile korzystamy z Ery (i mojego skryptu): !!VRz11:S^Graal jest na bagnach!^; !!VRz10:S^SetRumor^; !!FU77:Pz10/z11; !!VRz10:S^GetRumor^; !!FU77:Pz10/z11; !!IF:M^%Z11^;**wyświetlenie Jak widać w drugim przypadku przekazujemy nazwę funkcji do tymczasowej zmiennej "z10" wywołujemy pomocniczą funkcje !!FU77 (zawsze tą samą). Ostatni parametr rozróżniający (0 odczyt, i 1 zapis) zniknął, a całość rożni się teraz tylko nazwą. ;) Pobranie nazwy mapy Kiedyś: !!FU20301:Pz11; Teraz: !!VRz10:S^GetMapName^; !!FU77:Pz10/z11; Możemy też definiować własne funkcje. Deklaracje wpisując do !?FU78; najlepiej na początku pliku (!!SN:W^Nazwa_funkcji(#Liczba parametrów)^/rzeczywisty_numer _funkcji;): ** deklaracja !?FU78; !!SN:W^TestowaFunkcja(#2)^/15999; !!SN:W^KolejnaTestowaFunkcja(#2)^/16000; **koniec deklaracji !?FU15999; !!IF:M^test parametr-1:%X1 parametr-2:%X2^; Potem aby wywołać wystarczy: !!VRz10:S^TestowaFunkcja^; !!FU77:Pz10/1/2; |
temat: [WoG, ERA/mod] Aquamarine Library (AL) | wróć do komnaty |
powered by phpQui
beware of the two-headed weasel