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).
User avatar
Maslyonok
Pixie
Pixie
Posts: 126
Joined: 18 Oct 2018

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

Unread postby Maslyonok » 03 Jan 2024, 13:20

I'm working now on russian localization for new version of mod now and found some bugs due to new localization's structure, for instance wrong generated localization file - 'RU_NPCNews.txt' for eponymous 'NPCNews.txt'. Other files which is in Text localization folder works fine at first sight, but 'RU_NPCNews.txt' is exception.

I found out that all translation files refers only to one column of original file, but NPCNews.txt requires two translated columns: 'Text' and 'Notes/Topic' but only for MM6, as content on other continents seem to work fine.

Current workaround is to add old translated NPCNews.txt to zz LocRU.T.lod (as
Sean1s wrote:
suggested earlier), but it would be cool to fix script which generates translation files, which I can't as I don't know lua language. Also, the same problem applies to NPCData

Comparison between original NPCNews.txt and generated translation file, which translates only one of two columns

Sithoid
Leprechaun
Leprechaun
Posts: 2
Joined: 03 Jan 2024

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

Unread postby Sithoid » 03 Jan 2024, 22:22

Hi! Due to the recent activity in the Heroes branch of the franchise, I've decided to finally catch up on the lore and found your project. This is a clean install on Win10 using your latest link; the only thing added on top is the "SkillTeachers" txt. I'm currently playing on Enroth, hoping to see all 3 stories in sequence. At first I was experiencing freezes every time enemies appeared, but WinXP compatibility mode helped with that. Still, one error persists: every time I load a game (or start a new one), the same (or very similar) three errors appear in sequence. Unfortunately I'm only able to attach one of them due to character count limitations, but there's always exactly 3.
After that the loading continues, so I guess this is a mild annoyance at best, but hopefully this bug report will be useful for you.
Thanks for keeping the legacy alive!

Code: Select all

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... VIII - Day of the Destroyer\Scripts\General\History.lua:126: array index (445) out of bounds [1, 349]

stack traceback:
	[C]: in function 'error'
	...Magic VIII - Day of the Destroyer\Scripts/Core/RSMem.lua:1429: in function '__newindex'
	... VIII - Day of the Destroyer\Scripts\General\History.lua:126: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

arguments of '__newindex':
	t = (table: 0x123a12c8)
	a = 445
	v = false

local variables of '__newindex':
	aorig = 445
	a1 = 444
	n = 349

upvalues of '__newindex':
	ptr = nil
	u4 = (table: 0x04829ac0)
	GetPtr = (function: 0x03ebf568)
	obj = (table: 0x0559b2b8)
	o = 64031675
	assertnum = (function: 0x03ce8970)
	error = (function: 0x03e26b60)
	type = (function: builtin#3)
	SetLen = nil
	low = 1
	GetLen = (function: 0x05290430)
	lenP = nil
	lenA = nil
	size = 0.125
	count = 349
	_index = nil
	_newindex = nil
	tonumber = (function: builtin#17)
	beyondLen = nil
	f = (function: 0x0483b570)
	format = (function: builtin#91)
	sOutOfBounds = "array index (%s) out of bounds [%s, %s]"
	tostring = (function: builtin#18)
	tostring2 = (function: 0x03ec14c0)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: bad argument #1 to 'pairs' (table expected, got nil)

stack traceback:
	[C]: in function 'pairs'
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:66: in function 'docall'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:126: in function 'call'
	...- Day of the Destroyer\Scripts\General\10_Continents.lua:27: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'v':
	CurContinent = 3

upvalues of 'v':
	MercenariesQBits = (table: 0x06704950)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:563: attempt to index field 'MercenariesProps' (a nil value)

stack traceback:
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua: in function 'HaveFreeMerc'
	... - Day of the Destroyer\Scripts\General\NPCFollowers.lua:864: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'HaveFreeMerc':
	(*temporary) = nil
	(*temporary) = (function: builtin#4)
	(*temporary) = (table: 0x069c7e10)
	(*temporary) = nan
	(*temporary) = "AllowedClasses"
	(*temporary) = (table: 0x069cb348)
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = "attempt to index field 'MercenariesProps' (a nil value)"

upvalues of 'HaveFreeMerc':
	NPCMercenaries = (table: 0x069c7e10)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... VIII - Day of the Destroyer\Scripts\General\History.lua:126: array index (445) out of bounds [1, 349]

stack traceback:
	[C]: in function 'error'
	...Magic VIII - Day of the Destroyer\Scripts/Core/RSMem.lua:1429: in function '__newindex'
	... VIII - Day of the Destroyer\Scripts\General\History.lua:126: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

arguments of '__newindex':
	t = (table: 0x123a12c8)
	a = 445
	v = false

local variables of '__newindex':
	aorig = 445
	a1 = 444
	n = 349

upvalues of '__newindex':
	ptr = nil
	u4 = (table: 0x04829ac0)
	GetPtr = (function: 0x03ebf568)
	obj = (table: 0x0559b2b8)
	o = 64031675
	assertnum = (function: 0x03ce8970)
	error = (function: 0x03e26b60)
	type = (function: builtin#3)
	SetLen = nil
	low = 1
	GetLen = (function: 0x05290430)
	lenP = nil
	lenA = nil
	size = 0.125
	count = 349
	_index = nil
	_newindex = nil
	tonumber = (function: builtin#17)
	beyondLen = nil
	f = (function: 0x0483b570)
	format = (function: builtin#91)
	sOutOfBounds = "array index (%s) out of bounds [%s, %s]"
	tostring = (function: builtin#18)
	tostring2 = (function: 0x03ec14c0)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: bad argument #1 to 'pairs' (table expected, got nil)

stack traceback:
	[C]: in function 'pairs'
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:66: in function 'docall'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:126: in function 'call'
	...- Day of the Destroyer\Scripts\General\10_Continents.lua:27: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'v':
	CurContinent = 3

upvalues of 'v':
	MercenariesQBits = (table: 0x06704950)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:563: attempt to index field 'MercenariesProps' (a nil value)

stack traceback:
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua: in function 'HaveFreeMerc'
	... - Day of the Destroyer\Scripts\General\NPCFollowers.lua:864: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'HaveFreeMerc':
	(*temporary) = nil
	(*temporary) = (function: builtin#4)
	(*temporary) = (table: 0x069c7e10)
	(*temporary) = nan
	(*temporary) = "AllowedClasses"
	(*temporary) = (table: 0x069cb348)
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = "attempt to index field 'MercenariesProps' (a nil value)"

upvalues of 'HaveFreeMerc':
	NPCMercenaries = (table: 0x069c7e10)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... VIII - Day of the Destroyer\Scripts\General\History.lua:126: array index (445) out of bounds [1, 349]

stack traceback:
	[C]: in function 'error'
	...Magic VIII - Day of the Destroyer\Scripts/Core/RSMem.lua:1429: in function '__newindex'
	... VIII - Day of the Destroyer\Scripts\General\History.lua:126: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

arguments of '__newindex':
	t = (table: 0x123a12c8)
	a = 445
	v = false

local variables of '__newindex':
	aorig = 445
	a1 = 444
	n = 349

upvalues of '__newindex':
	ptr = nil
	u4 = (table: 0x04829ac0)
	GetPtr = (function: 0x03ebf568)
	obj = (table: 0x0559b2b8)
	o = 64031675
	assertnum = (function: 0x03ce8970)
	error = (function: 0x03e26b60)
	type = (function: builtin#3)
	SetLen = nil
	low = 1
	GetLen = (function: 0x05290430)
	lenP = nil
	lenA = nil
	size = 0.125
	count = 349
	_index = nil
	_newindex = nil
	tonumber = (function: builtin#17)
	beyondLen = nil
	f = (function: 0x0483b570)
	format = (function: builtin#91)
	sOutOfBounds = "array index (%s) out of bounds [%s, %s]"
	tostring = (function: builtin#18)
	tostring2 = (function: 0x03ec14c0)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: bad argument #1 to 'pairs' (table expected, got nil)

stack traceback:
	[C]: in function 'pairs'
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:66: in function 'docall'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:126: in function 'call'
	...- Day of the Destroyer\Scripts\General\10_Continents.lua:27: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'v':
	CurContinent = 3

upvalues of 'v':
	MercenariesQBits = (table: 0x06704950)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:563: attempt to index field 'MercenariesProps' (a nil value)

stack traceback:
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua: in function 'HaveFreeMerc'
	... - Day of the Destroyer\Scripts\General\NPCFollowers.lua:864: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'HaveFreeMerc':
	(*temporary) = nil
	(*temporary) = (function: builtin#4)
	(*temporary) = (table: 0x069c7e10)
	(*temporary) = nan
	(*temporary) = "AllowedClasses"
	(*temporary) = (table: 0x069cb348)
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = "attempt to index field 'MercenariesProps' (a nil value)"

upvalues of 'HaveFreeMerc':
	NPCMercenaries = (table: 0x069c7e10)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... VIII - Day of the Destroyer\Scripts\General\History.lua:126: array index (445) out of bounds [1, 349]

stack traceback:
	[C]: in function 'error'
	...Magic VIII - Day of the Destroyer\Scripts/Core/RSMem.lua:1429: in function '__newindex'
	... VIII - Day of the Destroyer\Scripts\General\History.lua:126: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

arguments of '__newindex':
	t = (table: 0x123a12c8)
	a = 445
	v = false

local variables of '__newindex':
	aorig = 445
	a1 = 444
	n = 349

upvalues of '__newindex':
	ptr = nil
	u4 = (table: 0x04829ac0)
	GetPtr = (function: 0x03ebf568)
	obj = (table: 0x0559b2b8)
	o = 64031675
	assertnum = (function: 0x03ce8970)
	error = (function: 0x03e26b60)
	type = (function: builtin#3)
	SetLen = nil
	low = 1
	GetLen = (function: 0x05290430)
	lenP = nil
	lenA = nil
	size = 0.125
	count = 349
	_index = nil
	_newindex = nil
	tonumber = (function: builtin#17)
	beyondLen = nil
	f = (function: 0x0483b570)
	format = (function: builtin#91)
	sOutOfBounds = "array index (%s) out of bounds [%s, %s]"
	tostring = (function: builtin#18)
	tostring2 = (function: 0x03ec14c0)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: bad argument #1 to 'pairs' (table expected, got nil)

stack traceback:
	[C]: in function 'pairs'
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:66: in function 'docall'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:126: in function 'call'
	...- Day of the Destroyer\Scripts\General\10_Continents.lua:27: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'v':
	CurContinent = 3

upvalues of 'v':
	MercenariesQBits = (table: 0x06704950)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:563: attempt to index field 'MercenariesProps' (a nil value)

stack traceback:
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua: in function 'HaveFreeMerc'
	... - Day of the Destroyer\Scripts\General\NPCFollowers.lua:864: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'HaveFreeMerc':
	(*temporary) = nil
	(*temporary) = (function: builtin#4)
	(*temporary) = (table: 0x069c7e10)
	(*temporary) = nan
	(*temporary) = "AllowedClasses"
	(*temporary) = (table: 0x069cb348)
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = "attempt to index field 'MercenariesProps' (a nil value)"

upvalues of 'HaveFreeMerc':
	NPCMercenaries = (table: 0x069c7e10)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... VIII - Day of the Destroyer\Scripts\General\History.lua:126: array index (445) out of bounds [1, 349]

stack traceback:
	[C]: in function 'error'
	...Magic VIII - Day of the Destroyer\Scripts/Core/RSMem.lua:1429: in function '__newindex'
	... VIII - Day of the Destroyer\Scripts\General\History.lua:126: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

arguments of '__newindex':
	t = (table: 0x123a12c8)
	a = 445
	v = false

local variables of '__newindex':
	aorig = 445
	a1 = 444
	n = 349

upvalues of '__newindex':
	ptr = nil
	u4 = (table: 0x04829ac0)
	GetPtr = (function: 0x03ebf568)
	obj = (table: 0x0559b2b8)
	o = 64031675
	assertnum = (function: 0x03ce8970)
	error = (function: 0x03e26b60)
	type = (function: builtin#3)
	SetLen = nil
	low = 1
	GetLen = (function: 0x05290430)
	lenP = nil
	lenA = nil
	size = 0.125
	count = 349
	_index = nil
	_newindex = nil
	tonumber = (function: builtin#17)
	beyondLen = nil
	f = (function: 0x0483b570)
	format = (function: builtin#91)
	sOutOfBounds = "array index (%s) out of bounds [%s, %s]"
	tostring = (function: builtin#18)
	tostring2 = (function: 0x03ec14c0)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: bad argument #1 to 'pairs' (table expected, got nil)

stack traceback:
	[C]: in function 'pairs'
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:66: in function 'docall'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:126: in function 'call'
	...- Day of the Destroyer\Scripts\General\10_Continents.lua:27: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'v':
	CurContinent = 3

upvalues of 'v':
	MercenariesQBits = (table: 0x06704950)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:563: attempt to index field 'MercenariesProps' (a nil value)

stack traceback:
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua: in function 'HaveFreeMerc'
	... - Day of the Destroyer\Scripts\General\NPCFollowers.lua:864: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'HaveFreeMerc':
	(*temporary) = nil
	(*temporary) = (function: builtin#4)
	(*temporary) = (table: 0x069c7e10)
	(*temporary) = nan
	(*temporary) = "AllowedClasses"
	(*temporary) = (table: 0x069cb348)
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = "attempt to index field 'MercenariesProps' (a nil value)"

upvalues of 'HaveFreeMerc':
	NPCMercenaries = (table: 0x069c7e10)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... VIII - Day of the Destroyer\Scripts\General\History.lua:126: array index (445) out of bounds [1, 349]

stack traceback:
	[C]: in function 'error'
	...Magic VIII - Day of the Destroyer\Scripts/Core/RSMem.lua:1429: in function '__newindex'
	... VIII - Day of the Destroyer\Scripts\General\History.lua:126: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

arguments of '__newindex':
	t = (table: 0x123a12c8)
	a = 445
	v = false

local variables of '__newindex':
	aorig = 445
	a1 = 444
	n = 349

upvalues of '__newindex':
	ptr = nil
	u4 = (table: 0x04829ac0)
	GetPtr = (function: 0x03ebf568)
	obj = (table: 0x0559b2b8)
	o = 64031675
	assertnum = (function: 0x03ce8970)
	error = (function: 0x03e26b60)
	type = (function: builtin#3)
	SetLen = nil
	low = 1
	GetLen = (function: 0x05290430)
	lenP = nil
	lenA = nil
	size = 0.125
	count = 349
	_index = nil
	_newindex = nil
	tonumber = (function: builtin#17)
	beyondLen = nil
	f = (function: 0x0483b570)
	format = (function: builtin#91)
	sOutOfBounds = "array index (%s) out of bounds [%s, %s]"
	tostring = (function: builtin#18)
	tostring2 = (function: 0x03ec14c0)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: bad argument #1 to 'pairs' (table expected, got nil)

stack traceback:
	[C]: in function 'pairs'
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:66: in function 'docall'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:126: in function 'call'
	...- Day of the Destroyer\Scripts\General\10_Continents.lua:27: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'v':
	CurContinent = 3

upvalues of 'v':
	MercenariesQBits = (table: 0x06704950)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:563: attempt to index field 'MercenariesProps' (a nil value)

stack traceback:
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua: in function 'HaveFreeMerc'
	... - Day of the Destroyer\Scripts\General\NPCFollowers.lua:864: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'HaveFreeMerc':
	(*temporary) = nil
	(*temporary) = (function: builtin#4)
	(*temporary) = (table: 0x069c7e10)
	(*temporary) = nan
	(*temporary) = "AllowedClasses"
	(*temporary) = (table: 0x069cb348)
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = "attempt to index field 'MercenariesProps' (a nil value)"

upvalues of 'HaveFreeMerc':
	NPCMercenaries = (table: 0x069c7e10)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... VIII - Day of the Destroyer\Scripts\General\History.lua:126: array index (445) out of bounds [1, 349]

stack traceback:
	[C]: in function 'error'
	...Magic VIII - Day of the Destroyer\Scripts/Core/RSMem.lua:1429: in function '__newindex'
	... VIII - Day of the Destroyer\Scripts\General\History.lua:126: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

arguments of '__newindex':
	t = (table: 0x123a12c8)
	a = 445
	v = false

local variables of '__newindex':
	aorig = 445
	a1 = 444
	n = 349

upvalues of '__newindex':
	ptr = nil
	u4 = (table: 0x04829ac0)
	GetPtr = (function: 0x03ebf568)
	obj = (table: 0x0559b2b8)
	o = 64031675
	assertnum = (function: 0x03ce8970)
	error = (function: 0x03e26b60)
	type = (function: builtin#3)
	SetLen = nil
	low = 1
	GetLen = (function: 0x05290430)
	lenP = nil
	lenA = nil
	size = 0.125
	count = 349
	_index = nil
	_newindex = nil
	tonumber = (function: builtin#17)
	beyondLen = nil
	f = (function: 0x0483b570)
	format = (function: builtin#91)
	sOutOfBounds = "array index (%s) out of bounds [%s, %s]"
	tostring = (function: builtin#18)
	tostring2 = (function: 0x03ec14c0)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: bad argument #1 to 'pairs' (table expected, got nil)

stack traceback:
	[C]: in function 'pairs'
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:66: in function 'docall'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:126: in function 'call'
	...- Day of the Destroyer\Scripts\General\10_Continents.lua:27: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'v':
	CurContinent = 3

upvalues of 'v':
	MercenariesQBits = (table: 0x06704950)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:563: attempt to index field 'MercenariesProps' (a nil value)

stack traceback:
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua: in function 'HaveFreeMerc'
	... - Day of the Destroyer\Scripts\General\NPCFollowers.lua:864: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'HaveFreeMerc':
	(*temporary) = nil
	(*temporary) = (function: builtin#4)
	(*temporary) = (table: 0x069c7e10)
	(*temporary) = nan
	(*temporary) = "AllowedClasses"
	(*temporary) = (table: 0x069cb348)
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = "attempt to index field 'MercenariesProps' (a nil value)"

upvalues of 'HaveFreeMerc':
	NPCMercenaries = (table: 0x069c7e10)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... VIII - Day of the Destroyer\Scripts\General\History.lua:126: array index (445) out of bounds [1, 349]

stack traceback:
	[C]: in function 'error'
	...Magic VIII - Day of the Destroyer\Scripts/Core/RSMem.lua:1429: in function '__newindex'
	... VIII - Day of the Destroyer\Scripts\General\History.lua:126: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

arguments of '__newindex':
	t = (table: 0x123a12c8)
	a = 445
	v = false

local variables of '__newindex':
	aorig = 445
	a1 = 444
	n = 349

upvalues of '__newindex':
	ptr = nil
	u4 = (table: 0x04829ac0)
	GetPtr = (function: 0x03ebf568)
	obj = (table: 0x0559b2b8)
	o = 64031675
	assertnum = (function: 0x03ce8970)
	error = (function: 0x03e26b60)
	type = (function: builtin#3)
	SetLen = nil
	low = 1
	GetLen = (function: 0x05290430)
	lenP = nil
	lenA = nil
	size = 0.125
	count = 349
	_index = nil
	_newindex = nil
	tonumber = (function: builtin#17)
	beyondLen = nil
	f = (function: 0x0483b570)
	format = (function: builtin#91)
	sOutOfBounds = "array index (%s) out of bounds [%s, %s]"
	tostring = (function: builtin#18)
	tostring2 = (function: 0x03ec14c0)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: bad argument #1 to 'pairs' (table expected, got nil)

stack traceback:
	[C]: in function 'pairs'
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:66: in function 'docall'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:126: in function 'call'
	...- Day of the Destroyer\Scripts\General\10_Continents.lua:27: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'v':
	CurContinent = 3

upvalues of 'v':
	MercenariesQBits = (table: 0x06704950)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:563: attempt to index field 'MercenariesProps' (a nil value)

stack traceback:
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua: in function 'HaveFreeMerc'
	... - Day of the Destroyer\Scripts\General\NPCFollowers.lua:864: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'HaveFreeMerc':
	(*temporary) = nil
	(*temporary) = (function: builtin#4)
	(*temporary) = (table: 0x069c7e10)
	(*temporary) = nan
	(*temporary) = "AllowedClasses"
	(*temporary) = (table: 0x069cb348)
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = "attempt to index field 'MercenariesProps' (a nil value)"

upvalues of 'HaveFreeMerc':
	NPCMercenaries = (table: 0x069c7e10)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... VIII - Day of the Destroyer\Scripts\General\History.lua:126: array index (445) out of bounds [1, 349]

stack traceback:
	[C]: in function 'error'
	...Magic VIII - Day of the Destroyer\Scripts/Core/RSMem.lua:1429: in function '__newindex'
	... VIII - Day of the Destroyer\Scripts\General\History.lua:126: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

arguments of '__newindex':
	t = (table: 0x123a12c8)
	a = 445
	v = false

local variables of '__newindex':
	aorig = 445
	a1 = 444
	n = 349

upvalues of '__newindex':
	ptr = nil
	u4 = (table: 0x04829ac0)
	GetPtr = (function: 0x03ebf568)
	obj = (table: 0x0559b2b8)
	o = 64031675
	assertnum = (function: 0x03ce8970)
	error = (function: 0x03e26b60)
	type = (function: builtin#3)
	SetLen = nil
	low = 1
	GetLen = (function: 0x05290430)
	lenP = nil
	lenA = nil
	size = 0.125
	count = 349
	_index = nil
	_newindex = nil
	tonumber = (function: builtin#17)
	beyondLen = nil
	f = (function: 0x0483b570)
	format = (function: builtin#91)
	sOutOfBounds = "array index (%s) out of bounds [%s, %s]"
	tostring = (function: builtin#18)
	tostring2 = (function: 0x03ec14c0)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: bad argument #1 to 'pairs' (table expected, got nil)

stack traceback:
	[C]: in function 'pairs'
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:66: in function 'docall'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:126: in function 'call'
	...- Day of the Destroyer\Scripts\General\10_Continents.lua:27: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'v':
	CurContinent = 3

upvalues of 'v':
	MercenariesQBits = (table: 0x06704950)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:563: attempt to index field 'MercenariesProps' (a nil value)

stack traceback:
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua: in function 'HaveFreeMerc'
	... - Day of the Destroyer\Scripts\General\NPCFollowers.lua:864: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'HaveFreeMerc':
	(*temporary) = nil
	(*temporary) = (function: builtin#4)
	(*temporary) = (table: 0x069c7e10)
	(*temporary) = nan
	(*temporary) = "AllowedClasses"
	(*temporary) = (table: 0x069cb348)
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = "attempt to index field 'MercenariesProps' (a nil value)"

upvalues of 'HaveFreeMerc':
	NPCMercenaries = (table: 0x069c7e10)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... VIII - Day of the Destroyer\Scripts\General\History.lua:126: array index (445) out of bounds [1, 349]

stack traceback:
	[C]: in function 'error'
	...Magic VIII - Day of the Destroyer\Scripts/Core/RSMem.lua:1429: in function '__newindex'
	... VIII - Day of the Destroyer\Scripts\General\History.lua:126: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

arguments of '__newindex':
	t = (table: 0x123a12c8)
	a = 445
	v = false

local variables of '__newindex':
	aorig = 445
	a1 = 444
	n = 349

upvalues of '__newindex':
	ptr = nil
	u4 = (table: 0x04829ac0)
	GetPtr = (function: 0x03ebf568)
	obj = (table: 0x0559b2b8)
	o = 64031675
	assertnum = (function: 0x03ce8970)
	error = (function: 0x03e26b60)
	type = (function: builtin#3)
	SetLen = nil
	low = 1
	GetLen = (function: 0x05290430)
	lenP = nil
	lenA = nil
	size = 0.125
	count = 349
	_index = nil
	_newindex = nil
	tonumber = (function: builtin#17)
	beyondLen = nil
	f = (function: 0x0483b570)
	format = (function: builtin#91)
	sOutOfBounds = "array index (%s) out of bounds [%s, %s]"
	tostring = (function: builtin#18)
	tostring2 = (function: 0x03ec14c0)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: bad argument #1 to 'pairs' (table expected, got nil)

stack traceback:
	[C]: in function 'pairs'
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:66: in function 'docall'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:126: in function 'call'
	...- Day of the Destroyer\Scripts\General\10_Continents.lua:27: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'v':
	CurContinent = 3

upvalues of 'v':
	MercenariesQBits = (table: 0x06704950)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:563: attempt to index field 'MercenariesProps' (a nil value)

stack traceback:
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua: in function 'HaveFreeMerc'
	... - Day of the Destroyer\Scripts\General\NPCFollowers.lua:864: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'HaveFreeMerc':
	(*temporary) = nil
	(*temporary) = (function: builtin#4)
	(*temporary) = (table: 0x069c7e10)
	(*temporary) = nan
	(*temporary) = "AllowedClasses"
	(*temporary) = (table: 0x069cb348)
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = "attempt to index field 'MercenariesProps' (a nil value)"

upvalues of 'HaveFreeMerc':
	NPCMercenaries = (table: 0x069c7e10)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... VIII - Day of the Destroyer\Scripts\General\History.lua:126: array index (445) out of bounds [1, 349]

stack traceback:
	[C]: in function 'error'
	...Magic VIII - Day of the Destroyer\Scripts/Core/RSMem.lua:1429: in function '__newindex'
	... VIII - Day of the Destroyer\Scripts\General\History.lua:126: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

arguments of '__newindex':
	t = (table: 0x123a12c8)
	a = 445
	v = false

local variables of '__newindex':
	aorig = 445
	a1 = 444
	n = 349

upvalues of '__newindex':
	ptr = nil
	u4 = (table: 0x04829ac0)
	GetPtr = (function: 0x03ebf568)
	obj = (table: 0x0559b2b8)
	o = 64031675
	assertnum = (function: 0x03ce8970)
	error = (function: 0x03e26b60)
	type = (function: builtin#3)
	SetLen = nil
	low = 1
	GetLen = (function: 0x05290430)
	lenP = nil
	lenA = nil
	size = 0.125
	count = 349
	_index = nil
	_newindex = nil
	tonumber = (function: builtin#17)
	beyondLen = nil
	f = (function: 0x0483b570)
	format = (function: builtin#91)
	sOutOfBounds = "array index (%s) out of bounds [%s, %s]"
	tostring = (function: builtin#18)
	tostring2 = (function: 0x03ec14c0)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: bad argument #1 to 'pairs' (table expected, got nil)

stack traceback:
	[C]: in function 'pairs'
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:735: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:66: in function 'docall'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:126: in function 'call'
	...- Day of the Destroyer\Scripts\General\10_Continents.lua:27: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'v':
	CurContinent = 3

upvalues of 'v':
	MercenariesQBits = (table: 0x06704950)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:563: attempt to index field 'MercenariesProps' (a nil value)

stack traceback:
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua: in function 'HaveFreeMerc'
	... - Day of the Destroyer\Scripts\General\NPCFollowers.lua:864: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'HaveFreeMerc':
	(*temporary) = nil
	(*temporary) = (function: builtin#4)
	(*temporary) = (table: 0x069c7e10)
	(*temporary) = nan
	(*temporary) = "AllowedClasses"
	(*temporary) = (table: 0x069cb348)
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = nil
	(*temporary) = "attempt to index field 'MercenariesProps' (a nil value)"

upvalues of 'HaveFreeMerc':
	NPCMercenaries = (table: 0x069c7e10)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... VIII - Day of the Destroyer\Scripts\General\History.lua:126: array index (445) out of bounds [1, 349]

stack traceback:
	[C]: in function 'error'
	...Magic VIII - Day of the Destroyer\Scripts/Core/RSMem.lua:1429: in function '__newindex'
	... VIII - Day of the Destroyer\Scripts\General\History.lua:126: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

arguments of '__newindex':
	t = (table: 0x123a12c8)
	a = 445
	v = false

local variables of '__newindex':
	aorig = 445
	a1 = 444
	n = 349

upvalues of '__newindex':
	ptr = nil
	u4 = (table: 0x04829ac0)
	GetPtr = (function: 0x03ebf568)
	obj = (table: 0x0559b2b8)
	o = 64031675
	assertnum = (function: 0x03ce8970)
	error = (function: 0x03e26b60)
	type = (function: builtin#3)
	SetLen = nil
	low = 1
	GetLen = (function: 0x05290430)
	lenP = nil
	lenA = nil
	size = 0.125
	count = 349
	_index = nil
	_newindex = nil
	tonumber = (function: builtin#17)
	beyondLen = nil
	f = (function: 0x0483b570)
	format = (function: builtin#91)
	sOutOfBounds = "array index (%s) out of bounds [%s, %s]"
	tostring = (function: builtin#18)
	tostring2 = (function: 0x03ec14c0)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> 
UPD: of course it fixed itself right after I've posted... This seems to be related to party size, since I'm no longer getting these errors after I've hired a second party member.
Last edited by Sithoid on 04 Jan 2024, 01:31, edited 1 time in total.

User avatar
Maslyonok
Pixie
Pixie
Posts: 126
Joined: 18 Oct 2018

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

Unread postby Maslyonok » 05 Jan 2024, 09:19

Can't add last (332) string into RU_NPCGreet1 to translate boy messenger's text which appears in Antagarich.
Although, NPCGreet file have 332 strings, not 331

Code: Select all

D:\Games\MMMerge test\Scripts\General\LocalizeTables.lua:97: array index (332) out of bounds [0, 331]

stack traceback:
	[C]: in function 'error'
	D:\Games\MMMerge test\Scripts/Core/RSMem.lua:1429: in function '__index'
	D:\Games\MMMerge test\Scripts\General\LocalizeTables.lua:97: in function '_RelocalizeTables'
	D:\Games\MMMerge test\Scripts\General\LocalizeTables.lua:129: in function 'v'
	D:\Games\MMMerge test\Scripts/Core/EventsList.lua:101: in function <D:\Games\MMMerge test\Scripts/Core/EventsList.lua:96>

arguments of '__index':
	t = (table: 0x05ba7840)
	a = 332
	v = nil

local variables of '__index':
	aorig = 332
	a1 = 332
	n = 332

upvalues of '__index':
	ptr = nil
	u4 = (table: 0x03cd5568)
	GetPtr = (function: 0x03b4d970)
	obj = (table: 0x04e997e8)
	o = 114299440
	assertnum = (function: 0x03b02960)
	error = (function: 0x03b09990)
	type = (function: builtin#3)
	SetLen = nil
	low = 0
	GetLen = (function: 0x04fb9de0)
	lenP = nil
	lenA = nil
	size = 8
	count = 332
	_index = nil
	_newindex = nil
	tonumber = (function: builtin#17)
	beyondLen = nil
	f = (function: 0x04f7d2d0)
	format = (function: builtin#91)
	sOutOfBounds = "array index (%s) out of bounds [%s, %s]"
	tostring = (function: builtin#18)
	tostring2 = (function: 0x030ed0c0)
> 

Rodril
Swordsman
Swordsman
Posts: 560
Joined: 18 Nov 2016

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

Unread postby Rodril » 05 Jan 2024, 10:45

Maslyonok wrote: 05 Jan 2024, 09:19 Can't add last (332) string into RU_NPCGreet1 to translate boy messenger's text which appears in Antagarich.
Although, NPCGreet file have 332 strings, not 331
Hey. I see the issues, will post patch soon.
Sithoid wrote:the only thing added on top is the "SkillTeachers" txt.
What is SkillTeachers.txt? Could you give me link, please?

Sean1s
Leprechaun
Leprechaun
Posts: 9
Joined: 10 Mar 2021

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

Unread postby Sean1s » 05 Jan 2024, 10:52

Maslyonok wrote: 05 Jan 2024, 09:19 Can't add last (332) string into RU_NPCGreet1 to translate boy messenger's text which appears in Antagarich.
Although, NPCGreet file have 332 strings, not 331
In NPCGreet.txt from rewamp.t.lod is numbered 1-334.
But if 1-334 is done in RU_NPCGreet1.txt (as in RU_NPCGreet2.txt) then we get an error.
As a result, I added an empty line 0 and removed the last line 334 (it's not used anyway).
And it works. It seems to be.

Sithoid
Leprechaun
Leprechaun
Posts: 2
Joined: 03 Jan 2024

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

Unread postby Sithoid » 05 Jan 2024, 13:26

Rodril wrote: 05 Jan 2024, 10:45 What is SkillTeachers.txt? Could you give me link, please?
Do you think it could be the culprit? This is one of Grayface's additions, found here; it seems to add some dialogue options with helpful tips.
UPD: Yeah, this seems to be the case. I've started getting similar errors again (this time one or two on different attempts, not three):

Code: Select all

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... VIII - Day of the Destroyer\Scripts\General\History.lua:126: array index (445) out of bounds [1, 349]

stack traceback:
	[C]: in function 'error'
	...Magic VIII - Day of the Destroyer\Scripts/Core/RSMem.lua:1429: in function '__newindex'
	... VIII - Day of the Destroyer\Scripts\General\History.lua:126: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

arguments of '__newindex':
	t = (table: 0x0fd21210)
	a = 445
	v = false

local variables of '__newindex':
	aorig = 445
	a1 = 444
	n = 349

upvalues of '__newindex':
	ptr = nil
	u4 = (table: 0x04a282c8)
	GetPtr = (function: 0x049fe4a8)
	obj = (table: 0x051770e8)
	o = 62065595
	assertnum = (function: 0x045202d8)
	error = (function: 0x045231d0)
	type = (function: builtin#3)
	SetLen = nil
	low = 1
	GetLen = (function: 0x052505c8)
	lenP = nil
	lenA = nil
	size = 0.125
	count = 349
	_index = nil
	_newindex = nil
	tonumber = (function: builtin#17)
	beyondLen = nil
	f = (function: 0x045583a8)
	format = (function: builtin#91)
	sOutOfBounds = "array index (%s) out of bounds [%s, %s]"
	tostring = (function: builtin#18)
	tostring2 = (function: 0x0452d1d0)
--------------------------------------------------------------------------------------------------------------------------
> 
If I delete SkillTeachers and load the same save, the error is different:

Code: Select all

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
... Day of the Destroyer\Scripts\General\NPCMercenaries.lua:737: attempt to perform arithmetic on local 'k' (a table value)

stack traceback:
	... Day of the Destroyer\Scripts\General\NPCMercenaries.lua: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:66: in function 'docall'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:126: in function 'call'
	...- Day of the Destroyer\Scripts\General\10_Continents.lua:27: in function 'v'
	... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:101: in function <... VIII - Day of the Destroyer\Scripts/Core/EventsList.lua:96>

local variables of 'v':
	(*temporary) = 3
	(*temporary) = (function: builtin#4)
	(*temporary) = (table: 0x20be4290)
	(*temporary) = nan
	(*temporary) = (table: 0x20be5090)
	(*temporary) = (table: 0x20be50b8)
	(*temporary) = (table: 0x067152a0)
	(*temporary) = 1.0182452877756e-283
	(*temporary) = 1.4009251760329e-312
	(*temporary) = "attempt to perform arithmetic on local 'k' (a table value)"

upvalues of 'v':
	MercenariesQBits = (table: 0x067152a0)
--------------------------------------------------------------------------------------------------------------------------
> 
This probably means it messed up with some internal arrays' size, and that got recorded into my saves. Oh well, I guess I'll just have to live with the errors during this playthrough and remember not to use this addon if I decide to generate a fresh party.
Last edited by Sithoid on 05 Jan 2024, 13:58, edited 1 time in total.

Rodril
Swordsman
Swordsman
Posts: 560
Joined: 18 Nov 2016

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

Unread postby Rodril » 05 Jan 2024, 13:31

Adding patch link to first post. Notes:
-- Fixed localization support for NPCNews.txt, texts will be used properly, topic column is localized via new file "XX_NPCNewsTopics.txt". Localization links are updated, reapply localization files to see the effect.
-- Pathfinder will notify player if unsupported compatibility mode used (any below win XP) or Microsoft visual c++ redistributables x86 (vcredist) are not detected.
-- Under rare circumstances ranger promotion quest could become uncompleteable, not anymore.
-- MM7 Trumphet could become unobtainable due to map refill happening at certain time, fixed now.

NPC names will stay unlocalized in savegames created prior to localization files application. This happens because NPC names are saved along with player progress and can be changed by game scripts. I don't have good solution for this problem at the moment.
If you are using multiplayer mod, you'll have to apply patch, and reapply multiplayer mod files on top of it.
Sithoid wrote: 05 Jan 2024, 13:26
Rodril wrote: 05 Jan 2024, 10:45 What is SkillTeachers.txt? Could you give me link, please?
Do you think it could be the culprit? This is one of Grayface's additions, found here; it seems to add some dialogue options with helpful tips.
Unfortunately, yes: this file replaces merge' History.txt, while having less lines, thus causing errors whenever game tries to access text, that does not exist. Please, remove "Autonote.txt" from your "DataFiles" folder, to avoid further errors. I'll take a look and post merge-compatible version of this file later.

User avatar
Maslyonok
Pixie
Pixie
Posts: 126
Joined: 18 Oct 2018

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

Unread postby Maslyonok » 05 Jan 2024, 15:37

Rodril wrote: 05 Jan 2024, 13:31 Adding patch link to first post. Notes:
-- Fixed localization support for NPCNews.txt, texts will be used properly, topic column is localized via new file "XX_NPCNewsTopics.txt". Localization links are updated, reapply localization files to see the effect.
-- Pathfinder will notify player if unsupported compatibility mode used (any below win XP) or Microsoft visual c++ redistributables x86 (vcredist) are not detected.
-- Under rare circumstances ranger promotion quest could become uncompleteable, not anymore.
-- MM7 Trumphet could become unobtainable due to map refill happening at certain time, fixed now.
Thanks a lot for your effort :D I'll just continue to highlight other loc issues.
In this one a few strings NPCs in Emerald Island say is not translated, so I have to manually write translation in "News topics - area" file in Tables folder. Maybe it'll be a good idea to move those strings to NPCText and NPCTopic files for consistency purposes?

Though corresponding strings which original file refer to have translation, it cause no effect in game

Rodril
Swordsman
Swordsman
Posts: 560
Joined: 18 Nov 2016

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

Unread postby Rodril » 05 Jan 2024, 17:21

Maslyonok wrote: 05 Jan 2024, 15:37 Thanks a lot for your effort :D I'll just continue to highlight other loc issues.
In this one a few strings NPCs in Emerald Island say is not translated, so I have to manually write translation in "News topics - area" file in Tables folder.
I think, you should not need to edit "News topics - area.txt":

Code: Select all

62	NPCTopic 788	NPCText 987
62	NPCTopic 790	NPCText 989
62	NPCTopic 758	NPCText 1627
62	NPCTopic 758	NPCText 1628
keep these lines of original file, related texts are already in NPCTopic.txt and NPCText.txt. You only need to make sure, corresponding lines of "RU_NPCTopic.txt" (lines 758, 788, 790) and "RU_NPCTexts.txt" (lines 987, 989, 1627, 1628) are translated.

Efezjel90
Leprechaun
Leprechaun
Posts: 5
Joined: 05 Jan 2024

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

Unread postby Efezjel90 » 05 Jan 2024, 19:57

Hi ALL,

One quick question - I have no idea how to normally use taverns/INN I started merge in mm8 and in each tavern I can only see new heroes selection screen - how to access bartender to learn disarm/ or just have a sleep?

Please advice getting lost here.

User avatar
justl
Demon
Demon
Posts: 347
Joined: 26 Dec 2017

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

Unread postby justl » 06 Jan 2024, 07:47

Efezjel90 wrote: 05 Jan 2024, 19:57 Hi ALL,

One quick question - I have no idea how to normally use taverns/INN I started merge in mm8 and in each tavern I can only see new heroes selection screen - how to access bartender to learn disarm/ or just have a sleep?

Please advice getting lost here.
usually there should be a "learn skills" option in the tavern, if the innkeeper has something to offer in this regards.
V2: Compendium of mm6-8 Secrets + Details about the base merge and DaveHer's redone merge (its in english!)
https://www.mightandmagicworld.de/fileb ... index.html

Efezjel90
Leprechaun
Leprechaun
Posts: 5
Joined: 05 Jan 2024

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

Unread postby Efezjel90 » 06 Jan 2024, 08:44

Hi, thanks for response.

The thing is I do not see any bartender - each tavern I can only see new heroes selection screen. Literally click on inn doors and there is only character selection - I can add, remove or exit. I had this on dagger island, thought that if I finish this part and move to next town it will be different.

Basically how to access innkeeper..

made snipshot of inn - https://ibb.co/HFrrC0W

Thellur
Leprechaun
Leprechaun
Posts: 3
Joined: 07 Nov 2022

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

Unread postby Thellur » 06 Jan 2024, 09:36

Hi Dev Team,

playing the merge for the second time with bolstering monsters. A balancing issue that I have recognized so far with the bolstering:

Black magick from Lichs and Necromancers is too strong. While I am able to kill dragons and titans in seconds I die in seconds against black magick casters.

A possible solution to this problem from my perspective:

Introduce black and light magick resistance to balance these magick schools.

What do you guys think and would it be possible to implement these resistances to the merge?

Greetings

Thellur

User avatar
Arch-vile
Leprechaun
Leprechaun
Posts: 44
Joined: 25 Oct 2019

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

Unread postby Arch-vile » 06 Jan 2024, 10:37

Efezjel90 wrote: 06 Jan 2024, 08:44 Hi, thanks for response.

The thing is I do not see any bartender - each tavern I can only see new heroes selection screen. Literally click on inn doors and there is only character selection - I can add, remove or exit. I had this on dagger island, thought that if I finish this part and move to next town it will be different.

Basically how to access innkeeper..

made snipshot of inn - https://ibb.co/HFrrC0W
Run the game without localization

Efezjel90
Leprechaun
Leprechaun
Posts: 5
Joined: 05 Jan 2024

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

Unread postby Efezjel90 » 06 Jan 2024, 10:52

Arch-vile wrote: 06 Jan 2024, 10:37
Efezjel90 wrote: 06 Jan 2024, 08:44 Hi, thanks for response.

The thing is I do not see any bartender - each tavern I can only see new heroes selection screen. Literally click on inn doors and there is only character selection - I can add, remove or exit. I had this on dagger island, thought that if I finish this part and move to next town it will be different.

Basically how to access innkeeper..

made snipshot of inn - https://ibb.co/HFrrC0W
Run the game without localization
How do I do that ?

Cheers for help

Efezjel90
Leprechaun
Leprechaun
Posts: 5
Joined: 05 Jan 2024

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

Unread postby Efezjel90 » 06 Jan 2024, 10:58

I removed all files for language localisation band even stared new game to check - still the same no bartender in mm8 other continents works fine

Efezjel90
Leprechaun
Leprechaun
Posts: 5
Joined: 05 Jan 2024

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

Unread postby Efezjel90 » 06 Jan 2024, 11:15

Even re-installed patch to be sure it's most up to date. No one else have this issue?

Rodril
Swordsman
Swordsman
Posts: 560
Joined: 18 Nov 2016

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

Unread postby Rodril » 06 Jan 2024, 11:29

You are entering Adventurer's Inn, it is place, where you can hire other characters, you cannot rest there. What you trying to find is Tavern - different type of house. Go to house marked with red (blue is one you're openning):
Image

User avatar
Xfing
Vampire
Vampire
Posts: 931
Joined: 04 Jul 2011

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

Unread postby Xfing » 07 Jan 2024, 21:12

Been a while. Glad to see the mod is still being worked on and updated. I haven't played in some time myself, but I've probably reported most of the recent bugs. Not sure if this has been addressed yet (haven't seen it be commented on), but as I've mentioned - there is a problem where you can get artifact/relic class items from turning in stalt-laced ore. I'm not sure what flag exactly decides this (despite this ore producing items of treasure class 6), but it shouldn't be a legitimate way of obtaining artifacts and relics.

Lovin' the new Catalyst mechanic, it definitely makes catalysts more useful and reagent hunting more engaging - most of the time no one would pick up gray reagents any weaker than Philosopher's Stones, and now with patience it's possible to make really powerful potions, suitable for bolstered lategame & characters over level 200. I think that's a net bonus to the game's alchemy system.

Speaking of - as the author of the ideas that went into the implementation of the new potions, there are still 2 things that bother me, it'd be nice to at least hear back from Rodril on whether they can be somehow addressed:

- The recipe scrolls for the added white and black potions still don't seem to appear in alchemy shops, even though they're otherwise fully implemented and findable in loot. Is there a way to somehow integrate them into the "special" tab of these shops, or are only the original recipes hardcoded to be there? I only see the MM8-format recipe scrolls in shops - can't remember if the other formats were removed from the game or not, but they don't ever seem to appear in shops, and if they weren't, that would mean there is some sort of hardcoded flag for MM8's original recipe scrolls to appear in the shop. Anyway, I hope there is a way to also introduce the extra scrolls into alchemy shops.

- The fact that a potion gives Protection from Magic to the whole party still doesn't sit well with me. I know we've discussed this, but it just messes with my immersion seeing that one guy drinks a potion and the whole party benefits. I know Protection from Magic is only coded to work for the whole party and other spells that also are have separate potion effects (such as Haste or Shield). I'm not saying we should code up an individualized potion effect for Prot Magic (although if that's possible to do, it'd be great for sure). But still, the potion as it is now sticks out like a sore thumb (and I'm saying that as the guy who came up with the damn thing :P). Instead of keeping the potion as is, it'd be best removed, or turned into another spell that does grant an individual effect. I used to think Pain Reflection (that'd be an awesome potion effect to have), but I think someone told me it's either not feasible individually or would require coding up the effect regardless, the other options I thought of were Hammerhands or Regeneration.

Also, a little suggestion that has been in the back of my mind recently: what if we reduced the clutter in the game by instead of every scroll and spellbook from MM6, 7, 8 being able to carry every spell? I was thinking, based on their appearance:
- the MM6 books/scrolls could be for the Self schools
- the MM7 ones could be for the Elemental schools
- the MM8 ones could be for Light and Dark

That'd kinda fit - the diversity of items in the game wouldn't decrease, but now the player could also tell more easily what magic type the scroll/book is likely to carry.

I had the same idea for wands some time ago - that we could split the spells that each level comes with into different ones, instead of every version being able to carry every spell. That would help give the player a visual idea of the spells a wand is likely to carry just by looking at the wand. I know this can't be achieved by just removing items from the item table like with the scrolls, but I still wonder whether it'd be achievable?

xom94ok
Leprechaun
Leprechaun
Posts: 1
Joined: 01 Jan 2024

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

Unread postby xom94ok » 09 Jan 2024, 19:26

Hi. In patch 05.01.2024 and, at least, in 05.11.2023 several plates are placed incorrectly on female paperdoll, Yoruba, for example.
Image

Edit: I corrected coordinates for all female armor. I made changes in Complex item pictures.txt, hope i did it in right place :) Here is the corrected file:
https://file.io/MS9uxXnkZOI1

Another problem that i have, when i tried to add pictures of the armor from Orlock's archives in game i got untransparent armors. But if i add pictures of the armor from "mmmerge.icons.lod Backup" they will be transparent again, despite they have the same file size and name. How to fix that?
Image


Return to “Might and Magic”

Who is online

Users browsing this forum: No registered users and 5 guests