Svět Might and Magic

Komunitní fórum stránek Svět Might and Magic

  • Leden 28, 2025, 04:12:49
  • Vítejte, Host
Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Pokročilé vyhledávání -

Autor Téma: Učitelé dovedností (1. level)  (Přečteno 12628 krát)

Kusák

  • Pokročilý
  • ***
  • Příspěvků: 108
Učitelé dovedností (1. level)
« kdy: Květen 01, 2022, 23:29:12 »

Ahoj,
moje dcerka si zase chtěla zahrát "ty panáčky X", tak jsem znovu rozehrál MMX. A napadlo mne, že by bylo fajn udělat MOD, kdy by bylo možné se naučit dovednosti od učitelů za peníze místo odemknutí jedním dovednostním bodem. Udělal jsem test a vypadá to že to půjde - je k tomu ale potřeba upravit xml soubory dialogů a hlavně je potřeba programátorský zásah do knihovny Legacy.Game.dll.
Idea je taková, že učitelé na experty budou moci také dovednost naučit (úroveň nováček, 1 bod), cena bude stejná, jako při povýšení na experta.
Mám se s tím párat, tedy jinak řečeno, bude v komunitě zájem?
Myslím, že můj MOD "Čestné povýšení" https://www.svetmightandmagic.cz/forum/index.php?topic=1217.msg19628#msg19628 se docela povedl, tak bych mohl přidat další  :)
« Poslední změna: Květen 02, 2022, 07:10:05 od Kusák »
IP zaznamenána

Elemir

  • Administrator
  • Zasloužilý člen
  • *
  • Příspěvků: 7555
Re:Učitelé dovedností (1. level)
« Odpověď #1 kdy: Květen 02, 2022, 06:35:27 »

Ahoj, jak moc velký bude zájem, to se tu hůř odhaduje, ale když už by ses do toho vrhnul, tak by možná bylo lepší udělat jeden větší mod. Mě by se třeba líbilo, kdyby navíc všichni kouzelníci mohli umět magické zaostřování na velmistra, tedy i šaman a druid. Už od počátku se mi totiž nelíbilo, jak je magie vody upozaděná a není možnost si jí vyzkoušet v plné síle. Ostatně ono by to vůbec chtělo drobný rebalanc, o čemž už pár let uvažuju, ale zatím jsem se do toho nepustil ;)
IP zaznamenána
This is the end ...

Kusák

  • Pokročilý
  • ***
  • Příspěvků: 108
Re:Učitelé dovedností (1. level)
« Odpověď #2 kdy: Květen 02, 2022, 07:23:32 »

Změna toho, co se postavy mohou naučit je snadná, stačí si pohrát se souborem CharacterClassStaticData.csv, však to sám v nějakém vlákně popisuješ. Drobný rebalanc jsem udělal v MODu čestné povýšení (např. Runový kněz dostal do začátku magické zaostřování místo nesmyslného kopí). A dost povoláním jsem právě přidal magii vody na experta. Jinak s tímto se mi moc hrát nechce - abych nenutil ostatním svoje představy, kdo má co umět.
Mým cílem je přiblížit MMX starším dílům (právě to čestné povýšení mi tam hodně chybělo). Protože mne štve, že se dovednost nedá naučit za peníze, tak to řeším. Investovat byť 1 bod do střeleckých zbraní bylo až moc, ten 1 bod prostě zatraceně chyběl. A tato úprava by jej mohla řešit. Otázka, zda se tím hra moc nezjednoduší, už s tím MODem Čestné povýšení mi to přišlo snadné (získané zkušenosti udělají ke konci hry cca 2-3 levely navíc). Ale možná to bylo tím, že už hru znám a tak vím, na co mám a hlavně jak postavy cvičit.
IP zaznamenána

tono

  • Zasloužilý člen
  • *****
  • Příspěvků: 836
Re:Učitelé dovedností (1. level)
« Odpověď #3 kdy: Květen 02, 2022, 14:21:56 »

Ahoj,
moje dcerka si zase chtěla zahrát "ty panáčky X", tak jsem znovu rozehrál MMX. A napadlo mne, že by bylo fajn udělat MOD, kdy by bylo možné se naučit dovednosti od učitelů za peníze místo odemknutí jedním dovednostním bodem. Udělal jsem test a vypadá to že to půjde - je k tomu ale potřeba upravit xml soubory dialogů a hlavně je potřeba programátorský zásah do knihovny Legacy.Game.dll.
Idea je taková, že učitelé na experty budou moci také dovednost naučit (úroveň nováček, 1 bod), cena bude stejná, jako při povýšení na experta.
Mám se s tím párat, tedy jinak řečeno, bude v komunitě zájem?
Myslím, že můj MOD "Čestné povýšení" https://www.svetmightandmagic.cz/forum/index.php?topic=1217.msg19628#msg19628 se docela povedl, tak bych mohl přidat další  :)

Ahoj.

Určite, MOD na čestné povýšenie mal úspech. Umožnil pri výbere ľubovolnej družiny prejsť všetky lokácie a pridal nejaký ten level navyše.
Platiť už za úroveň nováčik je síce zaujímavé, ale táto možnosť by mala byť už v prvom meste alebo jeho okolí. Napríklad štít by som mohol nosiť až po príchode do Seahavenu
IP zaznamenána

Kusák

  • Pokročilý
  • ***
  • Příspěvků: 108
Re:Učitelé dovedností (1. level)
« Odpověď #4 kdy: Květen 04, 2022, 13:45:50 »

Tak jsem se do toho pustil a jde to docela dobře. Mám hotový Sorpigal. Nemá cenu sem dávat meziprodukty, vystavím to až celé. Zahrnu to do MODu čestné povýšení, protože jsem to začal upravovat s ním a udělat to pro čistou hru by znamenalo novou instalaci (nebo odstranění MODu) což se mi nechtělo.
IP zaznamenána

Kusák

  • Pokročilý
  • ***
  • Příspěvků: 108
Re:Učitelé dovedností (1. level)
« Odpověď #5 kdy: Květen 05, 2022, 21:41:58 »

Tak jsem to dodělal a v příloze posílám.
Jak jsem psal výše, je to kombinace obou MODů, tedy Čestné povýšení a nově Učitelé dovedností.
Čestné povýšení je prakticky stejné, je tam jen drobná změna v souboru: CharacterClassStaticData.csv
Již dříve jsem mírně vybalancoval dovednosti (něco málo přidáno a malé změny ve výchozích dovednostech). Zůstala mi tam ale chyba v defaultním vybavení. Takže když jsem Runovému lordovi dal do začátku magické zaostřování místo kopí, tak měl stejně na začátku v ruce kopí, se kterým klidně bojoval. Když se mu kopí vzalo z rukou, tak už ale nešlo vrátit (dokud se kopí nenaučil odemčením dovednosti).

Teď k novinkám, tedy MOD Učitelé dovedností.
Úprava dovoluje naučit se dovednost u učitelů místo odemčení dovednosti investicí 1 dovednostního bodu. Dovednosti se dají naučit u expertních trenérů. Nyní každý expertní trenér nabízí i pouhé naučení dovednosti. Cena za naučení je stejná, jako trénink na expertní úroveň. Učitel naučí dovednost jen postavu, která se ji skutečně naučit může.
POZOR: v úpravě je jedna chyba, kterou se mi zatím nepodařilo odstranit - pokud je cena tréninku ukázána v záhlaví rozhovoru, pak se zobrazuje špatně (jako za velmistra). Při zobrazení u jednotlivých postav je cena v pořádku a při zakoupení se platí správná cena.

Princip: úprava XML souborů NPC (trenérů) + úprava knihovny Legacy.Game.dll pomocí dnSpy.
Konkrétně:
Ve třídě Legacy.Game.MMGI -> DialogView
upravit metodu InitTrainingDialog()
řádek 33, přidat do podmínky pro určení ceny tréninku:
|| p_dialog.Feature.m_skillRank == ETier.NOVICE
a řádek 77, přidat do podmínky "CONVERSATION_TRAINING_FAILED_SKILLLEVEL_TOO_LOW":
&& p_dialog.Feature.m_skillRank != ETier.NOVICE

Úprava také obsahuje změnu učitelů Těžké a Střední zbroje (protože oba učitelé Střední zbroje byli v Seahavenu) a opravu několika chyb v českém překladu, které jsem objevil.
Přehozen učitel Težké a Střední zbroje (Tristian v Seahavenu je teď težká a Thurmond v Sorpigalu je teď střední)
Tochiro v Seahavenu: chyba v českém překladu - učí experta meče, ale tvrdí, že vás naučil experta štítu.
Inamoca ve Skalním útesu se hlásí jako mistr obouručních zbraní, je přitom expert.

Pokud někdo bude hrát, prosím o zpětnou vazbu,  zda tam ještě nezůstaly nějaké chyby.
A kdyby někdo hrál v angličtině, budu také velmi rád za připomínky k anglické lokalizaci.
IP zaznamenána

tono

  • Zasloužilý člen
  • *****
  • Příspěvků: 836
Re:Učitelé dovedností (1. level)
« Odpověď #6 kdy: Květen 06, 2022, 08:46:47 »

Určite odskúšam hneď ako dokončím Elden Ring. Aj keď podľa toho ako sa mi v tej hre momentálne darí to bude až niekedy na Vianoce :D
IP zaznamenána

Kusák

  • Pokročilý
  • ***
  • Příspěvků: 108
Re:Učitelé dovedností (1. level)
« Odpověď #7 kdy: Květen 07, 2022, 11:17:44 »

Tak jsem louskl i to chybné zobrazení ceny, postup je následující:
V knihovně Legacy.Core.dll
Legacy.Core.NpcInteraction -> Dialog.Text -> ReplacementWithFeature(NpcConversationStaticData.DialogFeature)
řádek 57, přidat do podmínky pro určení ceny tréninku:
|| p_feature.m_skillRank == ETier.NOVICE
Upravenou knihovnu přidávám, pozor, obsahuje všechny úpravy z MODu Čestné povýšení, tedy:
1. Oprava bugu, kdy omráčený nepřítel oplácí útok.
2. Oprava bugu Větrného meče.
3. Elemirova úprava na zprovoznění hry po vypnutí serverů (vím, že už to není potřeba, že to nakonec Ubosift vyřešil, ale jsem líný to vracet do původního stavu).
4. Nově výše zmíněná úprava na zobrazení správné ceny tréninku na nováčka.
IP zaznamenána

Kusák

  • Pokročilý
  • ***
  • Příspěvků: 108
Re:Učitelé dovedností (1. level)
« Odpověď #8 kdy: Květen 15, 2022, 20:37:53 »

Hrajeme to s naší malou s tímto MODem, tak tím zároveň dělám test. Zatím máme hotový Act I, teď jsme v Seahavenu. Objevil jsem 1 chybu - v Seahavenské škole bojových umění se mi vůbec nezobrazuje Yayoi. Stává se to, pokud je chyba s souboru dialogu, ale zaboha na to nemůžu přijít (a nepomáhá ani nahrazení souboru originálem ze zálohy). Ale mohl jsem něco zvorat a přepsat i ten originál. Můžete mi sem někdo prosím nahrát soubor:
YayoiDialog.xml
Uvidíme, zda objevím, v čem je problém.
Jinak jsem našel pár drobností v anglickém překladu, co vznikly kopírováním textů (mám tam "an novice" místo "a novice"), opravu pošlu až po testu, až toho bude víc.

Edit: tak je to celé nějaké divné. Když nahraju starý save, tak tam Yayoi normálně je a nabízí učení normální i expertní. Ale s tou novou partou se mi nezobrazí.

Edit2: ještě jsem objevil chybu u Tristina v posádce města Seahaven, u učení nováčka jsou ty dialogy zpřeházené, už v originále jsou ID tak nelogické, že jsem se v tom ztratil. Opravu také zahrnu do další verze.
« Poslední změna: Květen 15, 2022, 21:15:15 od Kusák »
IP zaznamenána

tono

  • Zasloužilý člen
  • *****
  • Příspěvků: 836
Re:Učitelé dovedností (1. level)
« Odpověď #9 kdy: Květen 16, 2022, 16:09:22 »

YayoiDialog.xml
IP zaznamenána

Kusák

  • Pokročilý
  • ***
  • Příspěvků: 108
Re:Učitelé dovedností (1. level)
« Odpověď #10 kdy: Červen 05, 2022, 10:08:26 »

Ahoj,
tak MOD jsem dokončil a otestoval. Vše je funkční, problém s dialogem Yayoi byl v tom, že hra si uloží NPC, se kterými jde hovořit, takže i když jsem dialog opravil, tak ten starý save to ignoroval (šlo to napravit editací save).
Test jsem dělal na opravené instalaci MMX (přes Uplay jsem dal opravit soubory), do které jsem nahrál:
1) upravené soubory pro MOD Čestné povýšení
2) upravené soubory pro MOD Učitelé dovedností
3) udělal jsem úpravy knihovny LegacyCore.dll, do které jsem přidal:
- fix bugu Větrného meče (podle Alberiose)
- fix bugu, kdy omráčený nebo spící nepřítel oplácí úder (moje úprava)
- zpřístupnění Crack Hackových relikvií, dungeonu Mňaukání a arcimážky Sany (podle Elemira); další věci související s vypnutím serverů jsem neřešil, protože to nakonec Ubisoft opravil, kdyby v budoucnu byly problémy, není problém knihovnu dodatečně upravit (přechod do Act II a do DLC).
- úprava ceny v záhlaví dialogu, aby se zobrazovala správně v MODu Učitelé dovedností
- chybí úprava ForceSolveQuestFunction(), kterou jsem dělal pro MOD Česné povýšení, zapomněl jsem, jak jsem to dělal. Ale bude to jednoduché, spočívalo to v tom, že tato funkce nepřebírala všechny parametry jako SolveQuestFunction(), tak se to tam přidalo - ještě zahrnu a otestuji.
4) úprava knihovny LegacyGame.dll - aby fungovaly dialogy v MODu Učitelé dovedností.
5) Úprava souborů lokalizace, narazil jsem ještě na nějaké překlepy v českém překladu.
6) Zvažovaná úprava - zatím otestována "nanečisto": Hra mi přišla lehká i na obtížnosti Válečník, tak jsem si místo 4 bodů do atributů přiděloval jen 3, tedy na konci (39. level) mi jich 38 zbylo. A šlo to s tím v pohodě dohrát.
Zatím to nevystavuji, protože bych na to rád napsal poloautomatický instalátor přes *.bat soubor nebo přes PowerShell.
Prosím komunitu o následující:
1) Pokud máte české Windows a instalaci přes Uplay, zda je v registru hodnota pro cestu instalace MMX v klíči:
Počítač\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Ubisoft\Launcher\Installs\401
2) Jak to vypadá v anglických Widlích (předpokládám, že tam na začátku bude Computer)
3) Zda to vypadá stejně na různých verzích Widlí (7,8,10 a 32/64 bit).
4) Jak to vypadá u instalace přes Steam.
Stačí spustit Regedit a vyhledat tam cestu, kde máte nainstalované MMX (např: D:/Hry/Might & Magic® X Legacy/), prohledat všechny výskyty a podle kontextu vybrat, co asi bude ten správný klíč.

Prosím tedy o zprávu:
Windows verze 7/8/10, 32/64 bit, Uplay/Steam: klíč v registru, kde je instalační cesta

Jinak předpokládám, že oba MODy sloučím (tak to od začátku vyvíjím). Oddělit by asi šly, ale asi bych musel tvořit 3 verze lokalizačních souborů (jeden, druhý nebo oba MODy).
IP zaznamenána

tono

  • Zasloužilý člen
  • *****
  • Příspěvků: 836
Re:Učitelé dovedností (1. level)
« Odpověď #11 kdy: Červen 05, 2022, 12:01:23 »

Na W10 64bit SK je to takto.
IP zaznamenána

Elemir

  • Administrator
  • Zasloužilý člen
  • *
  • Příspěvků: 7555
Re:Učitelé dovedností (1. level)
« Odpověď #12 kdy: Červen 06, 2022, 07:49:13 »

Windows 10 64-bit, Steam:

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Ubisoft\Might & Magic X Legacy]
"GameLauncher"="F:\\Steam\\steamapps\\common\\Might & Magic X - Legacy\\Might and Magic X Legacy.exe"

Windows 7 to budou mít pro Uplay i Steam stejně jako Windows 10.
IP zaznamenána
This is the end ...

Kusák

  • Pokročilý
  • ***
  • Příspěvků: 108
Re:Učitelé dovedností (1. level)
« Odpověď #13 kdy: Červen 06, 2022, 09:08:01 »

Super, díky oběma.
Elemire, prosím, podívej se, zda v registru není přímo záznam o instalační cestě. Ale pokud není, nevadí, jde to i tak - prosím vyzkoušej v PoweShellu následující kód a napiš, jak to dopadlo:
--------------
If ((Test-Path "HKLM:\SOFTWARE\WOW6432Node\Ubisoft\Might & Magic X Legacy")) {
         Write-Output "According registry, path has been found at:"
         $key = (get-itemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Ubisoft\Might & Magic X Legacy" -Name "GameLauncher").GameLauncher
         $key = (Split-Path -Path $key)
         Write-Output $key
   }   Else {
         $key = Read-Host "Intalation path in the reistry was not found, please enter the correct installation path of MMX: "
}
-------------------------
Jen to testuje existenci záznamu v registru, z ní si to vykousne tu cestu a vypíše ji. Pokud se záznam nenalezne, vyzve to k ručnímu zadání a dál nic (stačí dát enter a příkaz skončí).
Dík:-)
IP zaznamenána

Elemir

  • Administrator
  • Zasloužilý člen
  • *
  • Příspěvků: 7555
Re:Učitelé dovedností (1. level)
« Odpověď #14 kdy: Červen 06, 2022, 12:22:29 »

Výsledek je:

F:\Steam\steamapps\common\Might & Magic X - Legacy

Odpovídá to té části parametru GameLauncher v HKML. Mě to taky překvapilo, ale v položce Install (jak má Tono) nic nebylo. Uplay se na to ukazuje odkazem :)
IP zaznamenána
This is the end ...