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: [H3/różne] Edycja bohaterów
komnata: Niebiańska Kuźnia (WoG, HotA, VCMI)

heikelind PW
3 kwietnia 2012, 14:49
Witam!

Szukałem sporo na ten temat i nie potrafię znaleźć odpowiedzi: co trzeba zrobić żeby edytować (nie dodać) od podstaw konkretnego bohatera (zmienić zdjęcie, to wiem, imię, profesję itd.).
Tyle, że nie na istniejącej mapie tylko żeby był on normalnie do wybrania przed rozegraniem scenariusza, przy wyborze zamku. Na celestialheavens znalazłem taki wątek: www.celestialheavens.com/forums/viewtopic.php?t=11503. Więc jest to chyba możliwe. Info, że da się to zrobić za pomocą skryptu pojawiła się też w kilku innych miejscach, gdzie autorzy zawsze odsyłaja do "ERM help". Szukałem tej dokumentacji i nie znalazłem:/ Ponoć da się też to zrobić ustawiając global time events w edytorze..i tego też nie umiem znaleźć. Widzę tylko time events :/
Jeśli ktoś zna odpowiedź i znajdzie chwilę to wielkie dzięki. Pozdrawiam

Matheo PW
3 kwietnia 2012, 20:47
Nie potrafię Ci pomoc, ale zainteresował mnie Twój nick. Nie wiem czy to zbieg okoliczności. Czytałeś, Sagę o Ludziach Lodu,?

heikelind PW
5 kwietnia 2012, 21:30
Ehh.. czytałem czytałem. Wieki temu. Ksywka jakoś wtedy powstała i się trzyma :) No nic to, szukam dalej. Pozdro

Edit: znalazłem programik Txtedit. Można nim łatwo edytować te wszystkie .txt w folderze data (normalnie Eureka! :) notatnikiem też by się dało, ale dzięki programowi zwróciłem w ogóle uwagę na coś takiego jak te pliki .txt). Czyli imię już wiem jak zmieniać. Jeszcze specjalność i będę wniebowzięty :)

majaczek PW
6 kwietnia 2012, 19:26
Specjalność musisz zmienić z poziomu skryptu, z poziomu plików txt możesz jedynie zmienić wyświetlaną nazwę specjalności przy wyborze bohatera (nie będzie miała ona wpływu na grę).
ze zmianą obrazka specjalności będzie trudniej: jest pewien plik def który zawiera obrazki dla wszystkich specjalności. problem w tym że zmieniając jego zawartość zmienimy obrazek specjalności dla oryginalnego bohatera (zanim skrypt zadziała), a co za tym idzie jeśli w grze pojawi się ta sama specjalność co stara specjalność bohatera będzie miała zły obrazek. Dlatego wnoszę że lepiej nie zmieniać tych obrazków.
Więc można łatwo zmienić opisy czegokolwiek u bohaterów (edycja plików txt) i można względnie łatwo zmienić specjalność bohaterów skryptem który będzie skryptem wogifikacji (scriptNN.erm w wog 3.58f, scriptNNN.erm w wog 3.59alfa - plik exe do skryptów sagamosy, *.erm w ERA II, gdzie N: dowolna cyfra "*":dowolny tekst, plik musi znajdować się w istniejącym folderze s)

Co do tego kiedy powinno wywołać się skrypt są dwie "najprostsze" metody:
1) piszesz skrypt dla zdarzenia !?TM1; - skrypt wykona się codziennie, więc jest to brzydkie rozwiązanie, ale masz pewność że twoje zmiany wezmą górę chociażby nad skryptem Enchanced Hero Specialities (i każdym innym który nie zastosuje takiej samej metody), ponieważ piszesz pod triggerem korzystasz ze składni receiver (np. !!HE ) czyli normalnej składni jak w erm helpie
2) nie korzystasz z żadnego zdarzenia i korzystasz ze składni command (czyli np. !#HE zamiast !!HE ) polecenia są takie same jak w składni receiver ze skromnymi wyjątkami - skrypt wywoła się na "początku" wogifikacji (tj. zanim wystąpi wogóle dzień pierwszy), i wykona się dokładnie raz - wszystkie zmiany dla bohaterów ze zdarzeń nadpiszą twoje zmiany (bo wykonają się "później"), też jest to brzydkie rozwiązanie bo składnia commmand jest uważana za przestarzałą i powoduje problemy przy niektórych bardziej skomplikowanych zmianach bo wykonuje się "bardzo wcześnie" kiedy część gry jeszcze nie jest jeszcze załadowana. wesprę cię tym że do zmiany specjalności bohatera w zupełności wystarczy, oraz że sprawuje się niespodziewanie dobrze, tzn. działa tam gdzie laikowi wydaje się że nie powinno działać (część zmian które już są załadowane jest całkowicie niewidoczna dla zwykłego gracza), natomiast zasmucę cię tym że jest to wykonywane po etapie wyboru bohatera, więc nie pomoże na zły obrazek specjalności na tym etapie.

Parę wniosków ogólnych:
-aby zmienić specjalność bohatera korzystasz z polecenia !!HE lub !#HE, podając konkretny numer bohatera (w zdarzeniach nie wywołanych przez bohatera nie można użyć !!HE-1 - skrótu znaczącego "ten bohater", a polecenie !#HE-1 jest całkowicie niepoprawne), resztę sprawdź w ERM help
-aby zrobić skrypt ładnie, powinieneś zarezerwować nowy, niezajęty timer poleceniem !#TM i skorzystać z odpowiadającego mu zdarzenia !?TM lub skorzystać z !?TM1 ale przed poleceniami zmieniającymi specjalności wywołać !!FU:E; pod warunkiem że dzień nie jest pierwszy. również powinieneś dodać nową opcję wogifikacji za pomocą pliku ers i sprawdzić w skrypcie czy jest włączona.

heikelind PW
7 kwietnia 2012, 13:51
Wielkie piwo dla Ciebie majaczek :) Kolejny raz zostałem odesłany do ERM helpa więc uwziąłem się i znalazłem go w końcu..i tam praktycznie wszystko jest. Z pomocą Gildii ERM, w którą się porządnie wczytałem udało mi się osiągnąć cel. Nie ukrywam, że chciałem go osiągnąć niejako na skróty, bez opanowywania całego języka. W końcu chodzi tylko o jedną modyfikację. Hmm..nie wiem jak to działa, ale działa: bez TM, bez PI.. Chciałem żeby Ivora specjalnością były centaury miast elfy. Napisałem tylko tyle:
ZVSE
!#HE21:x1/14;
Nie potrafiłem znaleźć informacji jak stworzyć własną opcję (jest taki wątek na Grocie, ale nic tam nie ma) więc troche oszukałem. Zapisałem jako script34 ( Cards of prophecy), załączyłem skrypt w opcjach, wybrałem Arogancje, Bastion i Ivora na początek. I są centaury :) Jest nawet obrazek, opis już niestety od elfów. Próbowałem w script34.ert zmienić podpis żeby w opcjach woga nie było Cards, ale nic to nie dało. Chyba nie do tego służy ten plik :P

Aj, aj.. Jeszcze raz sprawdziłem, tym razem odznaczając script34 i Ivor dalej ma centaury. Ciekawe co się stanie kiedy te karty wpadną do inventory.. Nic się nie dzieje, tzn. standardowe +1 luck. Pisałeś o brzydkich rozwiązaniach, a to moje przy Twoich to wygląda paskudnie wręcz. Nic to, mam nadzieję, że nic więcej się nie rozwali :) Jeszcze raz wielkie dzięki.

Edit: Działa to tak wybiórczo, że szok. Praktycznie tylko na podmiane specjalnośc jednostki. Praktycznie każdemu herosowi, którego sprawdzałem, można dać np. zielone smoki. Oprócz Aerisa któremu nie dało się zmienić jego scautingu na nic. Może to chodzi o rodzaj specjalności? (jednostka, umiejętność drugorzędna, czar, surowce). Ale Gem czy Elleshar normalnie przyjmowali zielone smoki czy produkcje surowca. Inna sprawa: Ufretinowi dałem specjalność wskrzeszenie i ikonka zmieniła się na stosowną, ale czaru nie ma. Myślałem, że to może kwestia mądrości. Dałem mu experta, ale czar i tak się nie pojawia. Może to wszystko wina klas? Jedne mogą mieć takie specjalności, drugie takie. Help, anyone?

majaczek PW
7 kwietnia 2012, 21:46
Ostrzegałem cię jest to "proste rozwiązanie 2", z tym że korzystałeś z istniejącego skryptu. Polecenie się wykona na początku wogifikacji. Inny skrypt który zmienia niektóre specjalności to "Enchanced Hero Specialities" i wykona się później - "twoje" rozwiązanie nie działa na heroesów których zmienia taki skrypt - zostaje nadpisane.

heikelind PW
11 kwietnia 2012, 13:08
Hmm..tu jest tylko Hero Specialization Boost (w opcjach), który jest wyłączony u mnie. Czy może chodzi o coś innego nie "włączalno-wyłączalnego"?

majaczek PW
11 kwietnia 2012, 21:39
@heikelind
nikt cię nie zmusza do poznania całego erm help, jednak błagam przeczytaj choć fragment dotyczący polecenia HE:X czyli "zmień specjalność bohaterowi". Dowiesz się tam jakich numerków użyć. Zapewniam cię że każdy bohater może mieć ustawioną dowolną specjalność dostępną w grze, nawet taką która nie została w tej grze wykorzystana (Jak na przykład specjalność od jednostki Dracolich). Jeśli wciąż ci za mało zajrzyj do rzeczonego Skryptu - dodaje on do istniejących specjalności dodatkowe skryptowe opcje - możesz go sobie zmodyfikować lecz obawiam się że sama znajomość polecenia HE:X nie wystarczy.
EDIT: może to być też ograniczenie składni command ("!#") wynikające że twój skrypt odpalił się za wcześnie. Gdyby lektura ERM Help nie pomogła zalecam skorzystać ze składni receiver ("!!"), najprościej tuż pod dodanym przez ciebie poleceniem "!?TM1;" ("wykonaj jeśli uaktywnił się Timer 1"). Zalecam ci też nie modyfikować istniejących skryptów jeśli twój skrypt nie zmienia wyraźnie działania skryptu edytowanego - lepiej utwórz nowy plik ze skryptem np. "script88.erm" - o ile edytujesz go w programie ERM Scripter i plik zaczyna się od liter "ZVSE" powinien się załadować przy wogifikacji.

Gertos PW
10 sierpnia 2012, 22:36
Nie znalazłem odpowiedniego tematu żeby zadać to pytanie, więc zadam je tutaj.

Da się dodać własnego bohatera, lub podmienić istniejącego? Nie chodzi mi tylko o zmianę imienia i portretu, ale także o dodanie specjalizacji itp.

AmiDaDeer PW
10 sierpnia 2012, 23:31
Dodanie nowego bohatera nie jest w zasięgu ręki z poziomu "przeciętnego użytkownika". Podmiana imienia, portretu, biografii, umiejętności i specjalizacji zaś - jak najbardziej. Za pomocą ERM jest to stosunkowo proste (trzeba jedynie pamiętać, że niektóre specjalności nie działają). Jeśli jednak chcesz to robić na SoD...

...cóż, jest to możliwe, ale mnie nie pytać, bo tajników tego szczególnie dobrze jeszcze nie zgłębiłem. :P

BanBreaker PW
10 sierpnia 2012, 23:48
Jeśli jednak chcesz to zrobić na SoDzie, to spokojnie da się zmienić wszystko z wyjątkiem specjalizacji (z mojego doświadczenia, no bo nie jestem pewien czy ktoś tu się jeszcze SoDem zajmował oprócz mnie i Fishkebaba?)

Gertos PW
11 sierpnia 2012, 00:04
Tak, chodzi mi o SoDa(to jest nas co najmniej trzech ;p ), w takim razie jak się za to zabrać; nie wliczając specjalizacji bo to jakoś załatwię podmieniając pod odpowiedniego bohatera.

BanBreaker PW
11 sierpnia 2012, 13:37
Okej, wyjaśniam. Do zmiany bohatera będą Ci potrzebne:
- program ResEdit, aby wyciągnąć interesujące nas pliki tekstowe z zasobów gry, plików .lod (jeżeli chcesz zmienić ilość startowych jednostek, imię bohatera, czy też biografię);
- program SimpleLod, aby umieścić wyedytowane pliki z powrotem do gry;
- dowolny hex-edytor jeżeli chcesz również zmienić umiejętności początkowe bohatera i typ jednostek startowych;
- zastępczy portret bohatera w dwóch wersjach, rozdzielczości 58x64 oraz 48x32 =D

Programem ResEdit wyciągasz z h3bitmap.lod następujące pliki: HOTRAITS.TXT oraz HeroBios.txt. Polecam używanie edytora tabelek do otwierania tych plików, żeby uniknąć zjadania odstępów, była o nim mowa gdzieś tu na początku tematu. W pliku HOTRAITS możesz zmienić imię dowolnego bohatera oraz ilość jednostek startowych w pierwszych trzech slotach. Zmiana nazwy w kolumnie 'type' nie zmieni jednak rodzaju startowych jednostek. Natomiast HeroBios odpowiada za biografie bohaterów. W każdej linijce znajduje się biografia kolejnego bohatera, zgodnie z kolejnością zamków, najpierw znajdują się teksty herosów z Zamku, następnie Rampart itd. Po zastąpieniu starych tekstów/wartości nowymi zapisujesz pliki. Aby zobaczyć zmiany w grze możesz albo użyć programu SimpleLod, aby umieścić pliki w H3bitmap.lod albo po prostu przenieść je do folderu 'Data' w folderze z grą (lub je tam zostawić o ile tam je rozpakowałeś ResEditem =P ).

Jeżeli chodzi o podmianę portretu bohatera to tutaj nie ma wielkiej filozofii =D Musisz posiadać 2 obrazki, tak jak już napisałem na wstępie, oprócz tego muszą być one zapisane w formacie 256-kolorowej bitmapy. Nazwy tych dwóch plików muszą idealnie odpowiadać nazwom portretów bohatera, którego chcesz zastąpić (można je łatwo sprawdzić: otwierasz programem ResEdit -> H3Bitmap.lod i poprzez podgląd sprawdzasz pliki zaczynające się na HPS (mniejsze rozdzielczości) i HPL (większe), numerek będzie ten sam =) ). Następnie używasz programu SimpleLod żeby umieścić obie grafiki w grze.

PS. Jeżeli nie masz programu SimpleLod / Nie potrafisz go obsługiwać to gdzieś tu na forum był bardzo prosty i szybki tutorial wraz z linkiem do pobrania =)
Edit: http://www.forum.acidcave.net/topic.php?TID=881&page=1#30044

Część II - informatycy/studenci informatyki proszeni są o NIE czytanie tej części postu ze względu na laicki sposób przekazywania wiedzy z mojej strony, jestem tylko amatorem =P

Ta część będzie nieco trudniejsza od poprzedniej. Jeżeli nigdy nie miałeś do czynienia z hex-edycją zajrzyj na wstęp tutaj: Poradnik do hex-edycji Fishkebaba
Dokonanie edycji na bohaterze jest możliwe bez deasemblera, ale zajmie nieco więcej czasu ze względu na sposób szukania odpowiedniej linijki, zaraz wszystko wyjaśnię.
Hex-Edytorem otwierasz plik Heroes3.exe i przenosisz się na linijkę 279DD0. Tutaj zaczynają się właściwości bohaterów w kolejności od Zamku poprzez Conflux kończąc na bohaterach specjalnych (tych z kampanii). Kolejność odzwierciedlona jest w HOTRAITS.txt, więc szukając bohatera będzie można prawdopodobnie spokojnie nawigować tym plikiem. Więc tak: Od początku mamy każdego bohatera co
92 pary cyferek :D Zgodnie z tym szablonem:

0A 00 00 00 0B 00 00 00 0C 00 00 00 D1 00 00 00 P1 00 00 00 D2 00 00 00 P2 00 00 00 SB 00 00 00 FF FF FF FF
S1 00 00 00 S2 00 00 00 S3 00 00 00 XX XX XX 00 YY YY YY 00 01 01 [i dalej jeszcze 34 par 00]

Przykład pierwszego bohatera Zamku:

00 00 00 00 07 00 00 00 00 00 00 00 06 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 FF FF FF FF
00 00 00 00 02 00 00 00 04 00 00 00 44 F1 67 00 34 F1 67 00 01 01

Wyjaśniam symbole, nie wszystko jednak może się pokrywać z rzeczywistością
0A - prawdopodobnie płeć bohatera [00 - mężczyzna/01 - kobieta]
0B - prawdopodobnie rasa bohatera [07 - człowiek, itd.]. Nie mam pojęcia jaki to może mieć wpływ na grę
0C - profesja bohatera [00 - rycerz, 01 - kleryk, 02 - łowca itd.]
D1 - pierwsza umiejętność bohatera [00 - znajdowanie drogi, 01 - łucznictwo itd. kolejność do obejrzenia w defie od umiejętności drugorzędnych]
P1 - poziom startowy pierwszej umiejętności [01 - basic, 02 - advanced, 03 - expert]
D2 - druga umiejętność
P2 - poziom startowy drugiej umiejętności
SB - startowa księga czarów, jeżeli chcesz żeby Twój bohater ją miał wpisz 01, jeżeli nie - 00 (normalnie jedynie bohaterowie magii startują z księgą czarów)
FF FF FF FF - pojawia się jedynie przy bohaterach mocy, definiuje bonusowy czar początkowy (jeżeli chcesz, aby Twój bohater miał na start jakiś czar wpisz jego numer - niestety nie jestem w stanie wypisać numerów wszystkich czarów, więc musiałbyś poeksperymentować =P przykład: 3D 00 00 00 <-- startowe zapomnienie, nie wymagany jest odpowiedni poziom mądrości aby rzucać czar startowy)
S1, S2, S3 - numery stworzeń pojawiające się startowo w slotach bohatera. Parzyste liczby przypisane są do stworzeń nieulepszonych, nieparzyste do ulepszonych (przynajmniej aż do stworków confluxu, gdzie kolejność się lekko miesza). I tak na przykład 00 - pikinier, 01 - halabardzista, 02 - kusznik, 03 - ten lepszy kusznik itd. Żaden normalny bohater nie zaczyna jednak gry z ulepszonymi stworkami ^^
XX XX XX - ścieżka do mniejszego portretu (czytana parami od końca, od której wartości należy odjąć 400 000 :D może pomóc w nawigacji po bohaterach, ale pod żadnym pozorem nie zmieniaj tych wartości)
YY YY YY - ścieżka do większego portretu
Ostatnich 00 01 01 radzę nie ruszać, bo kij wie co to jest o.o" Te wartości są tylko inne dla bohaterów confluxu.
Chcąc zmienić jakąś właściwość bohatera po prostu zastąp stare wartości nowymi, a po zapisaniu zmian i odpaleniu H3 będziesz mógł już od razu dostrzec zmiany :)

UWAGA: Sir Mullich zgodnie z kolejnością w HOTRAITS znajduje się między bohaterami confluxu, a herosami specjalnymi, więc należy go pominąć przy liczeniu bohaterów z Zamku.

PS2. Jeżeli nic z tego nie rozumiesz to po prostu wyślij mi maila albo napisz na gg ^^"

Gertos PW
11 sierpnia 2012, 21:40
Dziękuje bardzo za wyczerpującą odpowiedź :). Ogólnie miałem już do czynienie trochę z tymi rzeczami nawet z hexedycją, więc ten poradnik powinien mi wystarczyć, jeśli nie to ew. napiszę. ;p

FIRERODAN PW
31 stycznia 2014, 09:23
Muszę odkopać temat. Otóż mam dwa pytania: Czy możliwa jest edycja umiejętności bohaterów? Np. zwiększenie pola widzenia w IMO beznadziejnym odkrywaniu z +1/2/3 na +2/4/6.
Kolejne pytanie dotyczy specjalizacji bohaterów w danym stworzeniu. Czy można edytować takową specjalizację, żeby nie dodawała co kilka poziomów po 1 punkciku do statystyk, tylko zapewniała stałą premię, już od startu, jak ma to miejsce np. u Ignissy (Kontrolowane przez bohatera żywiołaki ognia oraz żywiołaki energii uzyskują +1 punkt ataku, +2 punkty obrony i + 2 punkty obrażeń więcej)?

Gertos PW
20 stycznia 2016, 13:04
Nie wiem czy ktoś się tu jeszcze zajmuje modowaniem za pomocą hexedycji ale ostatnio natrafiłem przypadkiem na chińskie forum gdzie opisane jest jak zmienić specjalność bohaterów tym sposobem. Autor opisuje jak to robi w WoGu ale próbowałem na SoDzie i też działa. Zrobiłem próbę i dałem Orrinowi logistykę zamiast łucznictwa. A tu link do posta http://wakeofgods.com/thread-54712-1-1.html tylko trzeba sobie przetłumaczyć stronę :D

avatar PW
20 stycznia 2016, 13:39
To samo (chyba) po angielsku.
http://heroescommunity.com/viewthread.php3?TID=42152

Gertos PW
20 stycznia 2016, 14:22
To co innego, tam jest przedstawiona edycja bohaterów ale nie specjalizacji, o ile wiem to nikt tego wcześniej nie był w stanie zrobić poza HoTa team (albo był ale nie było postu o tym).

J. M. Sower PW
20 stycznia 2016, 14:26
Być może autorzy The Forgotten Fields w przeciwieństwie do HoTA Crew będą dzielić się z nami wiedzą na temat przerabiania czystego H3. ;) Póki VCMI jeszcze się dostatecznie nie rozwinęło, to nie będzie innego sposobu na wykonanie rozbudowanej i jednocześnie grywalnej modyfikacji, więc dobrze by było. ;)

Swoją drogą to przydałoby się w którejś z Grotowych komnat zawrzeć ten poradnik z mojej stronki, aby ta wiedza w końcu nie przepadła, leżąc na stronie zapomnianej nawet przez swojego leniwego autora. ;P

Kertra PW
24 grudnia 2019, 20:34
Da radę zrobić każdą specjalizację tylko trzeba wiedzieć gdzie szukać ;) Wiem, bo sam się tym bawiłem :D Poza tym HoTa tylko zmienił pewne wartości w pliku exe i dali odnośnik do pliku dll. Wszystko co dodali zawarli właśnie w pliku dll. Oczywiście z tego co zauważyłem w plikach. Więc tak na dobrą sprawę nie musieli wcale znać kodu gry, wystarczył im ktoś kto zna się na hexedycji i miał czas żeby poznać plik binarny gry. Dla kogoś kto lubi i wie co i jak, to jak zabawa w piaskownicy. Sam lubie grzebać, ale mamy VCMI, więc po co robić drugą HoTe. Później zmienili wartości i stworzyli plik dll z własnymi dodatkami.
temat: [H3/różne] Edycja bohaterów

powered by phpQui
beware of the two-headed weasel