Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]

The role-playing games (I-X) that started it all and the various spin-offs (including Dark Messiah).
cthscr
Golem
Golem
Posts: 618
Joined: 12 Jan 2020

Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]

Unread postby cthscr » 08 Oct 2024, 08:43

toadking wrote: 05 Oct 2024, 12:44
toadking wrote: 05 Oct 2024, 11:52 Today I discovered an issue that can be reproduced in the following way:
1. Removing the file data\new.lod if it exists.
2. Starting a new game, then choose Enroth(MM6) and enter the first map "New Sorpigal".
3.Visiting the house named "Blade's End", game crash and exit.
If the party visit the house named "Blade's End" after joining the guild of "Blade's End Membership", the game will proceed normally, this is also my current temporary solution. Maybe you can help find the root cause of the problem, thank you very much.
I have tracked the code and it is possible that the issue is caused by the nil value of the award in line 234 of "Scripts\Global\Quest_Guilds.lua",FYR.
1. Cannot reproduce.
2. Line 234 shouldn't be an issue because it shouldn't be reached (if code wasn't changed locally) - MT.GuildNPCMastery is an empty table now.
So I think the problem is somewhere else.

PS. I'd set Merge.Settings.Logging.ForceFlush to 1 and Merge.Settings.Logging.LogLevel to 5 and see if "HousesTweaks: DrawShopTopics" is called yet.
PS2. First few function calls of last entry in ErrorLog.txt could be helpful too.

User avatar
toadking
Peasant
Peasant
Posts: 97
Joined: 22 Jul 2022

Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]

Unread postby toadking » 08 Oct 2024, 13:48

cthscr wrote: 08 Oct 2024, 08:43
toadking wrote: 05 Oct 2024, 12:44
toadking wrote: 05 Oct 2024, 11:52 Today I discovered an issue that can be reproduced in the following way:
1. Removing the file data\new.lod if it exists.
2. Starting a new game, then choose Enroth(MM6) and enter the first map "New Sorpigal".
3.Visiting the house named "Blade's End", game crash and exit.
If the party visit the house named "Blade's End" after joining the guild of "Blade's End Membership", the game will proceed normally, this is also my current temporary solution. Maybe you can help find the root cause of the problem, thank you very much.
I have tracked the code and it is possible that the issue is caused by the nil value of the award in line 234 of "Scripts\Global\Quest_Guilds.lua",FYR.
1. Cannot reproduce.
2. Line 234 shouldn't be an issue because it shouldn't be reached (if code wasn't changed locally) - MT.GuildNPCMastery is an empty table now.
So I think the problem is somewhere else.

PS. I'd set Merge.Settings.Logging.ForceFlush to 1 and Merge.Settings.Logging.LogLevel to 5 and see if "HousesTweaks: DrawShopTopics" is called yet.
PS2. First few function calls of last entry in ErrorLog.txt could be helpful too.
I tried it, and if I delete new.lod and directly access the house at the beginning of mm6 before join Blade's End Membership, it will report this error, almost every time. But if the following three lines are added, there will be no more errors. It is puzzling that there is no information output in the MMMergeLog *. txt log such as "Error found at this line" that I add only for trace :

Code: Select all

for npc, amastery in pairs(MT.GuildNPCMastery) do   ----Line 233
  MF.LogError("Error found at this line %d ", #MT.GuildNPCMastery)  ---only for trace
	local award = MT.GuildNPCAward[npc]
	if award == nil then   --I add line1
		return    --I add  line2
	end   --I add   line3
	...
	
In addition, the error messages in Errorlog.txt are as follows:

Code: Select all

Time: 2024/10/8 20:29:13 (08.10.2024 12:29:13 UTC)
Windows Version 6.2 

Exception EAccessViolation in module MM8patch.dll at 186AF91F.
Access violation at address 186B091F. Read of address 03C5F000.

Function Calls:

186B091F | (186B0000) + 91F
60003883 ? D:\Program Files\MMMerge\ExeMods\MMExtension\MMExtCore.dll + 3883
032981B6 | D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 481B6
60003E92 ? D:\Program Files\MMMerge\ExeMods\MMExtension\MMExtCore.dll + 3E92
60003EBB ? D:\Program Files\MMMerge\ExeMods\MMExtension\MMExtCore.dll + 3EBB
774069AF ? C:\Windows\SYSTEM32\ntdll.dll + 869AF
773E81E2 ? C:\Windows\SYSTEM32\ntdll.dll + 681E2
773E821B ? C:\Windows\SYSTEM32\ntdll.dll + 6821B
519A1E25 ? C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_a1e7755eb10c8b98\igc32.dll + A61E25
03298378 ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 48378
03298378 ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 48378
03298378 ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 48378
03298378 ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 48378
773BD379 ? C:\Windows\SYSTEM32\ntdll.dll + 3D379
51E73D58 ? C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_a1e7755eb10c8b98\igc32.dll + F33D58
51E4563D ? C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_a1e7755eb10c8b98\igc32.dll + F0563D
773B5F0E ? C:\Windows\SYSTEM32\ntdll.dll + 35F0E
773B5F0E ? C:\Windows\SYSTEM32\ntdll.dll + 35F0E
51A98075 ? C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_a1e7755eb10c8b98\igc32.dll + B58075
773B5F0E ? C:\Windows\SYSTEM32\ntdll.dll + 35F0E
773E8459 ? C:\Windows\SYSTEM32\ntdll.dll + 68459
773E84E5 ? C:\Windows\SYSTEM32\ntdll.dll + 684E5
773E8459 ? C:\Windows\SYSTEM32\ntdll.dll + 68459
773E8459 ? C:\Windows\SYSTEM32\ntdll.dll + 68459
773E84E5 ? C:\Windows\SYSTEM32\ntdll.dll + 684E5
773E84E5 ? C:\Windows\SYSTEM32\ntdll.dll + 684E5
774069E0 ? C:\Windows\SYSTEM32\ntdll.dll + 869E0
03298378 ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 48378
774069E0 ? C:\Windows\SYSTEM32\ntdll.dll + 869E0
774069AF ? C:\Windows\SYSTEM32\ntdll.dll + 869AF
773E8399 ? C:\Windows\SYSTEM32\ntdll.dll + 68399
03298378 ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 48378
773F3A31 ? C:\Windows\SYSTEM32\ntdll.dll + 73A31
7594542C ? C:\Windows\System32\KERNELBASE.dll + 12542C
773F3A31 ? C:\Windows\SYSTEM32\ntdll.dll + 73A31
7594542C ? C:\Windows\System32\KERNELBASE.dll + 12542C
7594542C ? C:\Windows\System32\KERNELBASE.dll + 12542C
032767D1 ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 267D1
7594542C ? C:\Windows\System32\KERNELBASE.dll + 12542C
773F2B8A ? C:\Windows\SYSTEM32\ntdll.dll + 72B8A
77406BB0 ? C:\Windows\SYSTEM32\ntdll.dll + 86BB0
0325E2B8 ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + E2B8
0325E384 ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + E384
0325E399 ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + E399
03256EBA ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 6EBA
03256FDB ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 6FDB
7594542C ? C:\Windows\System32\KERNELBASE.dll + 12542C
0325E2B8 ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + E2B8
0325E384 ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + E384
0325E399 ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + E399
03294F2E ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 44F2E
03294725 ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 44725
03294D45 ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 44D45
03276360 ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 26360
50E37471 ? C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.9554_none_d08d6fa2442aa556\MSVCR80.dll + 17471
03295107 ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 45107
50E374D3 ? C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.9554_none_d08d6fa2442aa556\MSVCR80.dll + 174D3
600034C8 ? D:\Program Files\MMMerge\ExeMods\MMExtension\MMExtCore.dll + 34C8
6000352A ? D:\Program Files\MMMerge\ExeMods\MMExtension\MMExtCore.dll + 352A
600033D5 ? D:\Program Files\MMMerge\ExeMods\MMExtension\MMExtCore.dll + 33D5
773BF2C3 ? C:\Windows\SYSTEM32\ntdll.dll + 3F2C3
773BF1C4 ? C:\Windows\SYSTEM32\ntdll.dll + 3F1C4
773BF1C4 ? C:\Windows\SYSTEM32\ntdll.dll + 3F1C4
773B7C6D ? C:\Windows\SYSTEM32\ntdll.dll + 37C6D
773B7768 ? C:\Windows\SYSTEM32\ntdll.dll + 37768
773BBDE1 ? C:\Windows\SYSTEM32\ntdll.dll + 3BDE1
773BC5FC ? C:\Windows\SYSTEM32\ntdll.dll + 3C5FC
773BC5FC ? C:\Windows\SYSTEM32\ntdll.dll + 3C5FC
21115B5D ? D:\Program Files\MMMerge\mss32.dll + 15B5D
004D45BC ? D:\Program Files\MMMerge\mm8.exe + D45BC
773BAE9C ? C:\Windows\SYSTEM32\ntdll.dll + 3AE9C
773BAE7B ? C:\Windows\SYSTEM32\ntdll.dll + 3AE7B
004D4811 ? D:\Program Files\MMMerge\mm8.exe + D4811
004D2079 ? D:\Program Files\MMMerge\mm8.exe + D2079
004DA170 ? D:\Program Files\MMMerge\mm8.exe + DA170
773F15BA ? C:\Windows\SYSTEM32\ntdll.dll + 715BA
75939473 ? C:\Windows\System32\KERNELBASE.dll + 119473
75939491 ? C:\Windows\System32\KERNELBASE.dll + 119491
759393CD ? C:\Windows\System32\KERNELBASE.dll + 1193CD
773F15BA ? C:\Windows\SYSTEM32\ntdll.dll + 715BA
75939473 ? C:\Windows\System32\KERNELBASE.dll + 119473
75939491 ? C:\Windows\System32\KERNELBASE.dll + 119491
004DEFB2 ? D:\Program Files\MMMerge\mm8.exe + DEFB2
004DEED3 ? D:\Program Files\MMMerge\mm8.exe + DEED3
21104F9B ? D:\Program Files\MMMerge\mss32.dll + 4F9B
004A9344 ? D:\Program Files\MMMerge\mm8.exe + A9344
21115B5D ? D:\Program Files\MMMerge\mss32.dll + 15B5D
60003792 ? D:\Program Files\MMMerge\ExeMods\MMExtension\MMExtCore.dll + 3792
60003899 ? D:\Program Files\MMMerge\ExeMods\MMExtension\MMExtCore.dll + 3899
032981B6 ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 481B6
60003E92 ? D:\Program Files\MMMerge\ExeMods\MMExtension\MMExtCore.dll + 3E92
60003E92 ? D:\Program Files\MMMerge\ExeMods\MMExtension\MMExtCore.dll + 3E92
773F15BA ? C:\Windows\SYSTEM32\ntdll.dll + 715BA
75939473 ? C:\Windows\System32\KERNELBASE.dll + 119473
75939491 ? C:\Windows\System32\KERNELBASE.dll + 119491
03252832 ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 2832
0325286E ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 286E
03276360 ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 26360
032C20A7 ? D:\Program Files\MMMerge\MM8patch.dll + 20A7
032C2CA8 ? D:\Program Files\MMMerge\MM8patch.dll + 2CA8
...

Registers:

EAX = 26B9AA80
EBX = 0019CEDC
ECX = 0000006C
EDX = 00000000
ESI = 03A801C8
EDI = 00000001
EBP = 0019CF00
ESP = 0019CED0

Stack Trace:

0019CED0: 00000001
0019CED4: 03A801C8
0019CED8: 60003886 ? D:\Program Files\MMMerge\ExeMods\MMExtension\MMExtCore.dll + 3886
0019CEDC: 03A80DC8
0019CEE0: 600037C0
0019CEE4: 03A802F4
0019CEE8: 03A80DC8
0019CEEC: 05AE0733
0019CEF0: 00000004
0019CEF4: 05AE0733
0019CEF8: 00000001
0019CEFC: 027F0000
0019CF00: 03A801C8 | Last EBP
0019CF04: 032981B8 | D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 481B8
0019CF08: 03A801C8
0019CF0C: 3B738A10
0019CF10: 3B738A08
0019CF14: 03A80DC8
0019CF18: 04617498
0019CF1C: 00000004
0019CF20: 0461FD14
0019CF24: 0019CF58
0019CF28: 3B738918
0019CF2C: 0019E028 | TExcFrame.next
0019CF30: 03270F70 | D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 20F70
0019CF34: 00000000
0019CF38: 0019CF6C
0019CF3C: 00517B40
0019CF40: 00000001
0019CF44: 60003E97 ? D:\Program Files\MMMerge\ExeMods\MMExtension\MMExtCore.dll + 3E97
0019CF48: 03A801C8
0019CF4C: 0019E004
0019CF50: 00000001
0019CF54: 03A801C8
0019CF58: 80000000
0019CF5C: 4152C942
0019CF60: 00000000
0019CF64: 004B250A
0019CF68: 60003EC0 ? D:\Program Files\MMMerge\ExeMods\MMExtension\MMExtCore.dll + 3EC0
0019CF6C: 00200206
0019CF70: 00517B40
0019CF74: 00000000
0019CF78: 00000001
0019CF7C: 0019DF94
0019CF80: 00000000
0019CF84: 00000000
0019CF88: 00000012
0019CF8C: 034F9C40
0019CF90: 0019CFFC
0019CF94: 0019DB58
0019CF98: 00010007
0019CF9C: 0019DB58
0019CFA0: 0019D37C
0019CFA4: 774069B4 ? C:\Windows\SYSTEM32\ntdll.dll + 869B4
0019CFA8: 0019D4B0
0019CFAC: 0019DB58
0019CFB0: 0019D0A0
0019CFB4: 0019CFFC
0019CFB8: 03270F70
0019CFBC: 0019D4B0
0019CFC0: 0019DBE4
0019CFC4: 0019DB58
0019CFC8: 773E81E7 ? C:\Windows\SYSTEM32\ntdll.dll + 681E7
0019CFCC: 0019D4B0
0019CFD0: 00010007
0019CFD4: 773E8220 ? C:\Windows\SYSTEM32\ntdll.dll + 68220
0019CFD8: 00010007
0019CFDC: 00000000
0019CFE0: 03A801C8
0019CFE4: 25F9FC78
0019CFE8: 0019DB34
0019CFEC: 001A0000
0019CFF0: 00196000
0019CFF4: 001A0000
0019CFF8: 00196000
0019CFFC: 0019D0C8
0019D000: 34F914E4
0019D004: 4CDF6B6F
0019D008: 0019D0EC
0019D00C: 519A1E2A ? C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_a1e7755eb10c8b98\igc32.dll + A61E2A
0019D010: 34F914E0
0019D014: 3299F858
0019D018: 00000004
0019D01C: 32FB002B
0019D020: 519A0053
0019D024: 3299002B
0019D028: 2B1E0053
0019D02C: 0000002B
0019D030: 0000002B
0019D034: 00000000
0019D038: 00000000
0019D03C: 00000000
0019D040: 00000000
0019D044: 00000000
0019D048: 0019DA28
0019D04C: 00000002
0019D050: 0329837D ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 4837D
0019D054: 00190023
0019D058: 00200202
0019D05C: 0019002B
0019D060: 00010053
0019D064: 0000002B
0019D068: 34F9002B
0019D06C: 00000000
0019D070: 00000000
0019D074: 00000000
0019D078: 00000000
0019D07C: 00000000
0019D080: 0019DA64
0019D084: 00000002
0019D088: 0329837D ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 4837D
0019D08C: 00000023
0019D090: 00200206
0019D094: 0019D2C4
0019D098: 0020002B
0019D09C: 0019D2CC
0019D0A0: 0001002B
0019D0A4: 34F8C07C
0019D0A8: 34F8C020
0019D0AC: 00000000
0019D0B0: 00000000
0019D0B4: 00000000
0019D0B8: 0000001A
0019D0BC: 00000002
0019D0C0: 00000000
0019D0C4: 00000005
0019D0C8: 00020000
0019D0CC: 000201CC
0019D0D0: 00000020
0019D0D4: 00000000
0019D0D8: 0000001C
0019D0DC: 000208FC
0019D0E0: 01410000
0019D0E4: 329C34B0
0019D0E8: 000208F8
0019D0EC: 0019002B
0019D0F0: 00190053
0019D0F4: 773B002B
0019D0F8: 0000002B
0019D0FC: 00000000
0019D100: 00000000
0019D104: 00000000
0019D108: 00000000
0019D10C: 00000000
0019D110: 0019DAF4
0019D114: 00000002
0019D118: 0329837D ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 4837D
0019D11C: 517A0023
0019D120: 00200202
0019D124: 0019D354
0019D128: 0141002B
0019D12C: 4CDF002B
0019D130: 00190053
0019D134: 32C0002B
0019D138: 32C0002B
0019D13C: 00000000
0019D140: 00000000
0019D144: 00000000
0019D148: 00000000
0019D14C: 00000000
0019D150: 0019DB34
0019D154: 00000002
0019D158: 0329837D ? D:\Program Files\MMMerge\ExeMods\MMExtension\lua51.dll + 4837D
0019D15C: 00000023
0019D160: 00200206
0019D164: 0019D394
0019D168: 0000002B
0019D16C: 00000000
0019D170: 00000012
0019D174: 00000002
0019D178: 00000000
0019D17C: 00000041
0019D180: 00020000
0019D184: 0002027C
0019D188: 00000020
0019D18C: 00000000
0019D190: 00000200
0019D194: 000210B4
0019D198: 01410000
0019D19C: 2FD5E128
0019D1A0: 000210B0
0019D1A4: 00000038
0019D1A8: 0019D1CC
0019D1AC: 773BD37E ? C:\Windows\SYSTEM32\ntdll.dll + 3D37E
0019D1B0: 03270F70
0019D1B4: 0019D280
0019D1B8: 00000000
0019D1BC: 00000000
0019D1C0: 00000200
0019D1C4: 00000040
0019D1C8: 00000000
0019D1CC: 00000000
0019D1D0: 51E73D5E ? C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_a1e7755eb10c8b98\igc32.dll + F33D5E
0019D1D4: 01410000
0019D1D8: 00000000
0019D1DC: 00000200
0019D1E0: 00000000
0019D1E4: 0019D1F0
0019D1E8: 51E45642 ? C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_a1e7755eb10c8b98\igc32.dll + F05642
0019D1EC: 00000200
...
PS:My program:Base2023.11.05+Master Branch 2024.07.15

cthscr
Golem
Golem
Posts: 618
Joined: 12 Jan 2020

Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]

Unread postby cthscr » 08 Oct 2024, 14:08

toadking wrote: 08 Oct 2024, 13:48

Code: Select all

60003883 ? D:\Program Files\MMMerge\ExeMods\MMExtension\MMExtCore.dll + 3883
...
PS:My program:Base2023.11.05+Master Branch 2024.07.15
Do NOT use 'Program Files' for MMMerge (or vanilla MM6/7/8 with MMExtension) on Windows. It doesn't matter whether it on C: or not - Windows might forbid code alteration.
Put MMMerge somewhere else, set compat and try again.
No crashes for me on clean install of pack 20231105 and commit 51958672 (20240715). (With or without new.lod)

PS. 'Windows Version 6.2' means compat to WinXP SP3 wasn't set.

User avatar
toadking
Peasant
Peasant
Posts: 97
Joined: 22 Jul 2022

Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]

Unread postby toadking » 09 Oct 2024, 00:57

cthscr wrote: 08 Oct 2024, 14:08
toadking wrote: 08 Oct 2024, 13:48

Code: Select all

60003883 ? D:\Program Files\MMMerge\ExeMods\MMExtension\MMExtCore.dll + 3883
...
PS:My program:Base2023.11.05+Master Branch 2024.07.15
Do NOT use 'Program Files' for MMMerge (or vanilla MM6/7/8 with MMExtension) on Windows. It doesn't matter whether it on C: or not - Windows might forbid code alteration.
Put MMMerge somewhere else, set compat and try again.
No crashes for me on clean install of pack 20231105 and commit 51958672 (20240715). (With or without new.lod)

PS. 'Windows Version 6.2' means compat to WinXP SP3 wasn't set.
My friend also encountered a similar problem during the game. When the party went to visit the second floor of the house facing Stone Castle, which is the "protection services", the game crashed and exited. After party joined the protection services guild membership to access it again without any problems. I confirmed that the issue can also be reproduced, even the code is added in Quest_Guilds.lua, the game file is in E:\MMMerge\, and compatibility is also set.
After observing these two problems, they have one thing in common: When the party goes to the guild to learn skills before joining, the game will crash and exit. However, the party joined the guild membership to access it again without any problems.
As you said, the problem is not be related to Quest_Guilds.lua, but it cannot be ruled out that the file new.lod(If new.lod exists, this problem hardly occurs). It seems to be related to the code used to determine whether the party has joined the guild when visiting a house, can you tell me where the relevant code is? Thank you again.

cthscr
Golem
Golem
Posts: 618
Joined: 12 Jan 2020

Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]

Unread postby cthscr » 10 Oct 2024, 11:50

toadking wrote: 09 Oct 2024, 00:57 My friend also encountered a similar problem during the game. When the party went to visit the second floor of the house facing Stone Castle, which is the "protection services", the game crashed and exited. After party joined the protection services guild membership to access it again without any problems. I confirmed that the issue can also be reproduced, even the code is added in Quest_Guilds.lua, the game file is in E:\MMMerge\, and compatibility is also set.
After observing these two problems, they have one thing in common: When the party goes to the guild to learn skills before joining, the game will crash and exit. However, the party joined the guild membership to access it again without any problems.
As you said, the problem is not be related to Quest_Guilds.lua, but it cannot be ruled out that the file new.lod(If new.lod exists, this problem hardly occurs). It seems to be related to the code used to determine whether the party has joined the guild when visiting a house, can you tell me where the relevant code is?
I mentioned it earlier - HousesTweaks.lua. See DrawShopTopics/DrawLearnTopics functions.
Note that this code is also used for Magic Guilds.

sarki
Lurker
Lurker
Posts: 1
Joined: 10 Oct 2024

Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]

Unread postby sarki » 10 Oct 2024, 17:28

how do you train E/M/GM Fangs and Scales for dragons?

User avatar
Deck5
Lurker
Lurker
Posts: 1
Joined: 15 Oct 2024

Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]

Unread postby Deck5 » 15 Oct 2024, 17:11

Hello
I wanted to ask if this is a problem someone else has and if someone can help me with this.

For some reason i cant find any unenchanted items in Shops anymore.
I tried to reinstall and also start a new game but the only succes i had was with the new game and that too only temporary since as soon as i got to Castle Ironfist, the Shops all had only ennchantedd items.

I installed the Mods in the following order.

MM8 ( base Game from GoG) -> MM Merge mod -> Newest Patch -> Revamp -> Character / Race Unnlocker


Did i do something wrong? Or did i just not notice something in the Patch notes.

Edit: I tried installing the MM Merge now like this:

MM8 ( base Game from GoG) -> MM Merge mod -> Newest Patch.

I wanted to see if this is the fault of maybe the Revamp or the Character unlocker.
Turns out :no: it is not. This is also in base MM Merge.
Last edited by Deck5 on 16 Oct 2024, 16:08, edited 2 times in total.

Rodril
Swordsman
Swordsman
Posts: 580
Joined: 18 Nov 2016

Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]

Unread postby Rodril » 17 Oct 2024, 14:57

Deck5 wrote: 15 Oct 2024, 17:11 For some reason i cant find any unenchanted items in Shops anymore.
Hello. Thank you for reporting. I've added fix to the patch: https://drive.google.com/file/d/1my2gNb ... drive_link
You might need to wait for shops reset, already enchanted items won't be cleared untill then.
Also you don't need to use character unlocker anymore, there's button at upper right corner of character paperdoll frame, press it to enable free calss/race selection.

User avatar
Deck5
Lurker
Lurker
Posts: 1
Joined: 15 Oct 2024

Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]

Unread postby Deck5 » 17 Oct 2024, 17:10

Rodril wrote: 17 Oct 2024, 14:57
Deck5 wrote: 15 Oct 2024, 17:11 For some reason i cant find any unenchanted items in Shops anymore.
Hello. Thank you for reporting. I've added fix to the patch: https://drive.google.com/file/d/1my2gNb ... drive_link
You might need to wait for shops reset, already enchanted items won't be cleared untill then.
Also you don't need to use character unlocker anymore, there's button at upper right corner of character paperdoll frame, press it to enable free calss/race selection.
Thank you for the fast reply and the quick fix.
cthscr wrote: 18 Oct 2024, 07:55 The issue is in MMExtension so even MM8 with it is affected. Patch is applied to Revamp.
If you think there are too many enchanted items still, you can adjust chances via Game.ItemsStdBonusChanceByLevel and Game.ItemsSpcBonusChanceByLevel arrays.

Note that (due to other previously committed changes) you'll get items from MM6 more often while being in Enroth (general rule is chances are 3-1-1 for MM6-MM7-MM8 items). Same applied to other continents as well. Weights could be changed in Data/ItemsExtra.txt, column 'ContF'. Artifacts aren't affected yet.
Thanks to you as well. It works now as I remember it.
Last edited by Deck5 on 19 Oct 2024, 07:07, edited 3 times in total.

cthscr
Golem
Golem
Posts: 618
Joined: 12 Jan 2020

Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]

Unread postby cthscr » 18 Oct 2024, 07:55

Deck5 wrote: 15 Oct 2024, 17:11 I wanted to see if this is the fault of maybe the Revamp or the Character unlocker.
Turns out :no: it is not. This is also in base MM Merge.
The issue is in MMExtension so even MM8 with it is affected. Patch is applied to Revamp.
If you think there are too many enchanted items still, you can adjust chances via Game.ItemsStdBonusChanceByLevel and Game.ItemsSpcBonusChanceByLevel arrays.

Note that (due to other previously committed changes) you'll get items from MM6 more often while being in Enroth (general rule is chances are 3-1-1 for MM6-MM7-MM8 items). Same applied to other continents as well. Weights could be changed in Data/ItemsExtra.txt, column 'ContF'. Artifacts aren't affected yet.

Gray Magic Expert
Leprechaun
Leprechaun
Posts: 48
Joined: 18 Mar 2023

Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]

Unread postby Gray Magic Expert » 21 Oct 2024, 09:45

Rodril wrote: 17 Oct 2024, 14:57 [For some reason i cant find any unenchanted items in Shops anymore.]

Hello. Thank you for reporting. I've added fix to the patch: https://drive.google.com/file/d/1my2gNb ... drive_link
You might need to wait for shops reset, already enchanted items won't be cleared untill then.
Splendid! This is a great change!
Enchanting weapons is once again a powerful tool!

But, when returning from a 5 month pause, I found 2 more bugs with base merge
BUG 1 Bonus magic skills are counted twice when casting a spell:
1) I have 12 light magic, and +6 from items.
Somehow, this effect doubles the power of Day of the Gods spell, Day of protection spell, and others. I am supposed to have 12+6=18 skill, and the game writes exatly that in my character skill section. However, the magic spells work like I have 24 points of skill.
2) If I double down on Light Artifacts, and get 12+12 skill - the spells become equivalent to 36 skill!
3) Same applies to water magic and duration of Lloyd Beacon:
- with 10 magic I should get 70 / 105 / 140 days of beacon duration (no items = 70, amulet of water = 105, amulet of water + Elemental staff = 140).
- but I get 70 / 140/ 210 days instead (no items = 70, amulet of water = 140, amulet of water + Elemental staff = 210). Once again, the game writes corect numbers in the character skill section. But the bonus skill effect becomes 2 times stronger when casting actual spells.

BUG 2 Relic chests and mm6-7 relics:
- no relic chest is capable of generating mm 6 and mm 7 relics and artifacts. Only mm8 ones appear. Even in Clanker's lab and the like
- mm6 and mm7 artifacts still appear, but only in tier 6 treasure spots. Funny thing with that - even Ore Crafters can create them!

User avatar
toadking
Peasant
Peasant
Posts: 97
Joined: 22 Jul 2022

Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]

Unread postby toadking » 21 Oct 2024, 10:11

cthscr wrote: 10 Oct 2024, 11:50
toadking wrote: 09 Oct 2024, 00:57 My friend also encountered a similar problem during the game. When the party went to visit the second floor of the house facing Stone Castle, which is the "protection services", the game crashed and exited. After party joined the protection services guild membership to access it again without any problems. I confirmed that the issue can also be reproduced, even the code is added in Quest_Guilds.lua, the game file is in E:\MMMerge\, and compatibility is also set.
After observing these two problems, they have one thing in common: When the party goes to the guild to learn skills before joining, the game will crash and exit. However, the party joined the guild membership to access it again without any problems.
As you said, the problem is not be related to Quest_Guilds.lua, but it cannot be ruled out that the file new.lod(If new.lod exists, this problem hardly occurs). It seems to be related to the code used to determine whether the party has joined the guild when visiting a house, can you tell me where the relevant code is?
I mentioned it earlier - HousesTweaks.lua. See DrawShopTopics/DrawLearnTopics functions.
Note that this code is also used for Magic Guilds.
This problem is indeed difficult to find its root cause, I have traced many files in the folder of scripts these past few days and summarized some patterns:
1.If there is no new.lod, the probability of this problem occurring is relatively high.
2. Replace the ExeMods\MMExtended.dll file (size 19k, version 2.3.0.0) with the MMExtended.dll file fixed in Win7 (512k version 2.2.0.0), and the problem will hardly occur. There is a significant difference in size between the two MMExtended.dll files, perhaps this is also a temporary solution.

MMExtended.dll file in ExeMods fixed in Windows 7 download from, it seems to work properly on my Windows 10:
https://www.celestialheavens.com/forum/topic/16657

jeremy001
Leprechaun
Leprechaun
Posts: 12
Joined: 29 Apr 2020

Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]

Unread postby jeremy001 » 22 Oct 2024, 13:31

Friends, why if I put the czech language to data folder,i dont have all translate in game? Is it correct? For example menu of game. And one more thing, I can see czech in game but sometimes i can see broken diacritic (for example in communication with Verdant)

https://ibb.co/j3YWWn0
https://ibb.co/hdqcbbz
https://ibb.co/MffDpGc


Thank you

Kane176
Leprechaun
Leprechaun
Posts: 8
Joined: 07 Mar 2018

Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]

Unread postby Kane176 » 22 Oct 2024, 14:40

Ive got a bug in First Travel of MM7
After I have completed all the quests on the island and want to get to Harmondy Castle, the game hangs after the video.
Music plays but cant open the debug console or something else.

Rodril
Swordsman
Swordsman
Posts: 580
Joined: 18 Nov 2016

Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]

Unread postby Rodril » 22 Oct 2024, 15:38

Kane176 wrote: Ive got a bug in First Travel of MM7
After I have completed all the quests on the island and want to get to Harmondy Castle, the game hangs after the video.
Music plays but cant open the debug console or something else.
Please send me your autosave prior to shippng off and ErrorLog.txt form your game folder. Saves are stored in "Saves" folder.
jeremy001 wrote: 22 Oct 2024, 13:31 Friends, why if I put the czech language to data folder,i dont have all translate in game? Is it correct? For example menu of game. And one more thing, I can see czech in game but sometimes i can see broken diacritic (for example in communication with Verdant)

https://ibb.co/j3YWWn0
https://ibb.co/hdqcbbz
https://ibb.co/MffDpGc

Thank you
UI elements have not been translated. Some texts might have broken encoding, and some parts of merge specific quest could be missed. I was not working on this translation, aside of merging provided Czech assets, and I cannot fix it (I don't speak Czech).
There's "Data/TextLocalization" folder, that contains all texts, you can open files there with Grayface's TxtEdit, and fix something, I have no other suggestions, unfortunately.

Kane176
Leprechaun
Leprechaun
Posts: 8
Joined: 07 Mar 2018

Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]

Unread postby Kane176 » 23 Oct 2024, 11:40

D:\GOG Games\Might and Magic 8\Scripts/Core/RSFunctions.lua:93: bad argument #1 to 'pairs' (table expected, got nil)

stack traceback:
: in function 'pairs'
D:\GOG Games\Might and Magic 8\Scripts/Core/RSFunctions.lua:93: in function 'find'
...mes\Might and Magic 8\Scripts\General\NPCMercenaries.lua:670: in function 'RefillMercenaries'
...mes\Might and Magic 8\Scripts\General\NPCMercenaries.lua:729: in function 'v'
D:\GOG Games\Might and Magic 8\Scripts/Core/EventsList.lua:101: in function <D:\GOG Games\Might and Magic 8\Scripts/Core/EventsList.lua:96>

arguments of 'find':
t = nil
v = 60

upvalues of 'find':
pairs = (function: builtin#5) Thats i become on Travel befor the Video Now

Rodril
Swordsman
Swordsman
Posts: 580
Joined: 18 Nov 2016

Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]

Unread postby Rodril » 23 Oct 2024, 16:45

Kane176 wrote: 23 Oct 2024, 11:40

Code: Select all

D:\GOG Games\Might and Magic 8\Scripts/Core/RSFunctions.lua:93: bad argument #1 to 'pairs' (table expected, got nil)

stack traceback:
	[C]: in function 'pairs'
	D:\GOG Games\Might and Magic 8\Scripts/Core/RSFunctions.lua:93: in function 'find'
	...mes\Might and Magic 8\Scripts\General\NPCMercenaries.lua:670: in function 'RefillMercenaries'
	...mes\Might and Magic 8\Scripts\General\NPCMercenaries.lua:729: in function 'v'
	D:\GOG Games\Might and Magic 8\Scripts/Core/EventsList.lua:101: in function <D:\GOG Games\Might and Magic 8\Scripts/Core/EventsList.lua:96>

arguments of 'find':
	t = nil
	v = 60

upvalues of 'find':
	pairs = (function: builtin#5)
Thats i become on Travel befor the Video Now
It looks, like you are using save from Revamp, MAW or Redone with base merge, or "Data\Tables\Class Extra.txt" is invalid. Please, send me your savegame file via any filehosting.

Kane176
Leprechaun
Leprechaun
Posts: 8
Joined: 07 Mar 2018

Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]

Unread postby Kane176 » 24 Oct 2024, 11:18

Send but i have the Next Problem i start a fresh game, as soon as monsters come near (yellow dot) the game starts to lag completely and is hardly playable

i have Only installed the game then this MM678_Merged_05.11.2023_gdrv.7z this MMMerge patch 17.10.2024.7z and the German Translate LocGR.7z
Thats all

Rodril
Swordsman
Swordsman
Posts: 580
Joined: 18 Nov 2016

Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]

Unread postby Rodril » 24 Oct 2024, 13:54

Kane176 wrote: 24 Oct 2024, 11:18 Send but i have the Next Problem i start a fresh game, as soon as monsters come near (yellow dot) the game starts to lag completely and is hardly playable
I was able to reproduce exact your issues by setting compatibility mode of mm8.exe to WIN95. Please, check compatibility mode of mm8.exe and MM8Setup.exe and set it to WinXP SP2 or disable completely.
Also, have not you got this message at startup?
Image

Kane176
Leprechaun
Leprechaun
Posts: 8
Joined: 07 Mar 2018

Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]

Unread postby Kane176 » 24 Oct 2024, 17:29

Sry Fixed i have it set to All users and now it runs.
I got no message to many fresh install and the mm8Setup and the mm8-Rel is set in Windows by default to XP


Return to “Might and Magic”

Who is online

Users browsing this forum: Majestic-12 [Bot] and 4 guests