Multiplayer for MMMerge [beta 14.01.2024/4]

The role-playing games (I-X) that started it all and the various spin-offs (including Dark Messiah).
Rodril
Swordsman
Swordsman
Posts: 558
Joined: 18 Nov 2016

Re: Multiplayer for MMMerge [beta 23.07.2023/5]

Unread postby Rodril » 18 Aug 2023, 00:31

Malekitsu wrote: 17 Aug 2023, 11:05 I'm trying scripting some events for mmmerge, but variables like vars and mapvars doesn't seem to be shared between players.
Do you have any advice/guide on how to do that?
Mod synchronizes only necessary vars and mapvars, means you have to explicitly state what you want to synchronize. Simpliest way for non-table mapvars values sync is to use "Multiplayer.mapvar_watch(varname)" method in map script, where varname is string - name of the field from mapvars table.
Check "Arbitrary data exchange" section of the readme: https://gitlab.com/letr.rod/mmmerge/-/r ... line=false

User avatar
Arr
Leprechaun
Leprechaun
Posts: 2
Joined: 15 Aug 2023

Re: Multiplayer for MMMerge [beta 23.07.2023/5]

Unread postby Arr » 18 Aug 2023, 13:15

The barrow downs, for lack of the better word, are f##ked. One of the barrow's walls started melting, and some of them are even walkable through. The doors don't work.
Debug console says the following
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
...cripts\Modules\Multiplayer\Synchronization/TurnBased.lua:366: bad argument #1 to 'select' (index out of range)

stack traceback:
: in function 'select'
...cripts\Modules\Multiplayer\Synchronization/TurnBased.lua:366: in function 'v'
...GOG.com\Might and Magic VIII\Scripts/Core/EventsList.lua:101: in function <...GOG.com\Might and Magic VIII\Scripts/Core/EventsList.lua:96>

local variables of 'v':
main_player = 0

upvalues of 'v':
WAS_IN_MODE = true
notify_end = (function: 0x10780c10)
notify_ongoing = (function: 0x10780bd0)
HOST_PHASE = 0
match_host_phase = (function: 0x10779fe0)
RaisePhase = (function: 0x1048d828)
ReadyForNextPhase = (function: 0x10780a20)
CanEndCombatPhase = (function: 0x10776678)
all_participants_ready = (function: 0x10780af8)
new_phase_flags = (function: 0x1077a0d8)
sync = (table: 0x1077a0b0)
packets = (table: 0x1048d8d8)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
...cripts\Modules\Multiplayer\Synchronization/TurnBased.lua:366: bad argument #1 to 'select' (index out of range)

stack traceback:
[C]: in function 'select'
...cripts\Modules\Multiplayer\Synchronization/TurnBased.lua:366: in function 'v'
...GOG.com\Might and Magic VIII\Scripts/Core/EventsList.lua:101: in function <...GOG.com\Might and Magic VIII\Scripts/Core/EventsList.lua:96>

local variables of 'v':
main_player = 0

upvalues of 'v':
WAS_IN_MODE = true
notify_end = (function: 0x10780c10)
notify_ongoing = (function: 0x10780bd0)
HOST_PHASE = 0
match_host_phase = (function: 0x10779fe0)
RaisePhase = (function: 0x1048d828)
ReadyForNextPhase = (function: 0x10780a20)
CanEndCombatPhase = (function: 0x10776678)
all_participants_ready = (function: 0x10780af8)
new_phase_flags = (function: 0x1077a0d8)
sync = (table: 0x1077a0b0)
packets = (table: 0x1048d8d8)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
....com\Might and Magic VIII\Scripts\General\MiscTweaks.lua:105: array index (1) out of bounds [0, 0]

stack traceback:
[C]: in function 'error'
...x86)\GOG.com\Might and Magic VIII\Scripts/Core/RSMem.lua:1429: in function '__newindex'
....com\Might and Magic VIII\Scripts\General\MiscTweaks.lua:105: in function 'fix'
....com\Might and Magic VIII\Scripts\General\MiscTweaks.lua:136: in function 'v'
...GOG.com\Might and Magic VIII\Scripts/Core/EventsList.lua:101: in function <...GOG.com\Might and Magic VIII\Scripts/Core/EventsList.lua:96>

arguments of '__newindex':
t = (table: 0x19861ea0)
a = 1
v = 3

local variables of '__newindex':
aorig = 1
a1 = 1
n = 1

upvalues of '__newindex':
ptr = true
u4 = (table: 0x03abb3d0)
GetPtr = (function: 0x03abce18)
obj = (table: 0x031665f0)
o = 76
assertnum = (function: 0x03b24088)
error = (function: 0x02f03f40)
type = (function: builtin#3)
SetLen = (function: 0x04ce6360)
low = 0
GetLen = (function: 0x04c3d048)
lenP = 72
lenA = (table: 0x03abaf30)
size = 2
count = 4294967295
_index = nil
_newindex = nil
tonumber = (function: builtin#17)
beyondLen = nil
f = (function: 0x03abbde8)
format = (function: builtin#91)
sOutOfBounds = "array index (%s) out of bounds [%s, %s]"
tostring = (function: builtin#18)
tostring2 = (function: 0x03b24b80)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
....com\Might and Magic VIII\Scripts\General\MiscTweaks.lua:105: array index (1) out of bounds [0, 0]

stack traceback:
[C]: in function 'error'
...x86)\GOG.com\Might and Magic VIII\Scripts/Core/RSMem.lua:1429: in function '__newindex'
....com\Might and Magic VIII\Scripts\General\MiscTweaks.lua:105: in function 'fix'
....com\Might and Magic VIII\Scripts\General\MiscTweaks.lua:136: in function 'v'
...GOG.com\Might and Magic VIII\Scripts/Core/EventsList.lua:101: in function <...GOG.com\Might and Magic VIII\Scripts/Core/EventsList.lua:96>

arguments of '__newindex':
t = (table: 0x19861ea0)
a = 1
v = 3

local variables of '__newindex':
aorig = 1
a1 = 1
n = 1

upvalues of '__newindex':
ptr = true
u4 = (table: 0x03abb3d0)
GetPtr = (function: 0x03abce18)
obj = (table: 0x031665f0)
o = 76
assertnum = (function: 0x03b24088)
error = (function: 0x02f03f40)
type = (function: builtin#3)
SetLen = (function: 0x04ce6360)
low = 0
GetLen = (function: 0x04c3d048)
lenP = 72
lenA = (table: 0x03abaf30)
size = 2
count = 4294967295
_index = nil
_newindex = nil
tonumber = (function: builtin#17)
beyondLen = nil
f = (function: 0x03abbde8)
format = (function: builtin#91)
sOutOfBounds = "array index (%s) out of bounds [%s, %s]"
tostring = (function: builtin#18)
tostring2 = (function: 0x03b24b80)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>

Rodril
Swordsman
Swordsman
Posts: 558
Joined: 18 Nov 2016

Re: Multiplayer for MMMerge [beta 23.07.2023/5]

Unread postby Rodril » 18 Aug 2023, 14:06

Arr wrote: 18 Aug 2023, 13:15 The barrow downs, for lack of the better word, are f##ked. One of the barrow's walls started melting, and some of them are even walkable through. The doors don't work.
Debug console says the following
Hey. Do you have your game installed in "Program files (x86)" folder maybe? Game have very strange behaivor, when installed there due to special treatment of executables in this folder. Please, reinstall it into anywhere outside of system-defined folders at check if error persist.

User avatar
Anerag
Leprechaun
Leprechaun
Posts: 32
Joined: 20 Jan 2019

Re: Multiplayer for MMMerge [beta 23.07.2023/5]

Unread postby Anerag » 19 Aug 2023, 22:40

More bugs:
  • Buffing with magic skill level over 63 doesn't work correctly on other players. It seems the value overflows, for example hour of power at level 74 acts like level 10 for others. The caster still gets the full effect.
  • Eradicated players leave a body. Arguably this is not really a bug but my immersion is ruined!
  • You can drop -1, 0.1, and even NaN gold.
  • Dispel magic doesn't work on other players, tested against fly.
  • NPC remains in the world if first turned hostile then charmed and hired.
  • Other players don't receive experience when you place a memory crystal.
  • Resting (especially as a client) makes time skip around randomly sometimes.
  • Summoned will o' wisp will act as an NPC for players who entered the map after summoning.
  • In VARN some monsters were not appearing or only appeared when a certain player entered an area. For example the guardians just outside the library and in the "water temple".
  • Invisible bridge outside castle Darkmoor can't be made visible by clicking the tree next to it.
  • Defeating reactor teleports and cancels only the player who defeated it.
  • Thunderfist mountain transition says "placeholder text".
  • Tularean caves entrance hint says "enter castle Navan".
  • The secret armor in a wall in goblinwatch isn't there.
Edit: more stuff.

Can't quite remember the context to this one.

Code: Select all

...c VIII v2\Scripts\Modules\Multiplayer\Network/Sender.lua:264: attempt to index field 'connector' (a nil value)

stack traceback:
  ...c VIII v2\Scripts\Modules\Multiplayer\Network/Sender.lua: in function 'sendall'
  ...c VIII v2\Scripts\Modules\Multiplayer\Network/Sender.lua:29: in function 'network_cycle'
  ...c VIII v2\Scripts\Modules\Multiplayer\Network/Sender.lua:86: in function 'wait_response'
  ...c VIII v2\Scripts\Modules\Multiplayer\Network/Sender.lua:105: in function 'get_client_map_data'
  ...pts\Modules\Multiplayer\Synchronization/SaveLoadExit.lua:339: in function 'f'
  ... and Magic VIII v2\Scripts\Modules\Multiplayer\Utils.lua:482: in function 'v'
  ...erge\Might and Magic VIII v2\Scripts/Core/EventsList.lua:101: in function <...erge\Might and Magic VIII v2\Scripts/Core/EventsList.lua:96>

arguments of 'sendall':
  (*temporary) = 64

local variables of 'sendall':
  (*temporary) = (table: 0x1ca04030)
  (*temporary) = nil
  (*temporary) = (table: 0x1ca04058)
  (*temporary) = nan
  (*temporary) = ("udp{unconnected}: 2204D268")
  (*temporary) = nil
  (*temporary) = "refused"
  (*temporary) = nil
  (*temporary) = (table: 0x210bd348)
  (*temporary) = 24
  (*temporary) = 24
  (*temporary) = (table: 0x2c157fc0)
  (*temporary) = (table: 0x23f47760)
  (*temporary) = 124661
  (*temporary) = nil
  (*temporary) = false
  (*temporary) = 0
  (*temporary) = 9.2942485225279e-171
  (*temporary) = "attempt to index field 'connector' (a nil value)"

upvalues of 'sendall':
  send_chunks = (function: 0x1ca058c0)
  LogEvent = (function: 0x04da5b30)

This came up repeatedly and wouldn't go away until the game was closed.

Code: Select all

... and Magic VIII v2\Scripts\Modules\Multiplayer\Utils.lua:584: Could not exit to screen 0 after 10 attempts.

stack traceback:
  [C]: in function 'error'
  ... and Magic VIII v2\Scripts\Modules\Multiplayer\Utils.lua:584: in function 'f'
  ... and Magic VIII v2\Scripts\Modules\Multiplayer\Utils.lua:482: in function 'v'
  ...erge\Might and Magic VIII v2\Scripts/Core/EventsList.lua:101: in function <...erge\Might and Magic VIII v2\Scripts/Core/EventsList.lua:96>

upvalues of 'f':
  After = (function: 0x213475f0)
  AfterParam = nil
  attempt = 11
  f = (function: 0x37ab4668)

User avatar
Malekitsu
Pixie
Pixie
Posts: 120
Joined: 25 May 2022

Re: Multiplayer for MMMerge [beta 23.07.2023/5]

Unread postby Malekitsu » 20 Aug 2023, 23:02

I have an issue with abandoned temple map (MM8).
When entering in the internal map in the editor this room is broken:
https://ibb.co/VSD8vbv
Compiling and playing the map will make it as shown here

Rodril
Swordsman
Swordsman
Posts: 558
Joined: 18 Nov 2016

Re: Multiplayer for MMMerge [beta 23.07.2023/6]

Unread postby Rodril » 20 Aug 2023, 23:42

Updated version to 23.07.2023/6. It contains only small fixes along with workaround for "Could not exit to screen 0 after 10 attempts" error.
Malekitsu wrote: 20 Aug 2023, 23:02 I have an issue with abandoned temple map (MM8).
When entering in the internal map in the editor this room is broken:
https://ibb.co/VSD8vbv
Compiling and playing the map will make it as shown here
Might be related to latest mmext/editor update. I had similar issue with doors compilation long ago. Will check it out and answer tomorrow.

Rodril
Swordsman
Swordsman
Posts: 558
Joined: 18 Nov 2016

Re: Multiplayer for MMMerge [beta 23.07.2023/5]

Unread postby Rodril » 21 Aug 2023, 22:48

Updating version to 23.07.2023/7.
-- Dead players will be displayed differently, depending on their condition: stand still if paralyzed / stoned, invisible if eradicated (eradicated players still can be targeted with revivification spell with side UI);
-- Remote player's gold can be looted from it's corpse (unless player is eradicated, then gold gone too);
-- Specific port can be set for multiplayer in Settings section of multiplayer UI (saved in multiplayer data, so can be set once and forever, set it back to 0, to allow multiplayer to request any from system);
-- Connection listening does not require to have multiplayer UI to be open anymore (admit, if listening is on, it will add a bit extra load on your network, so toggle it off, if you care)
-- SP of remote players will be displayed in side UI, toggleable in multiplayer settings.

Malekitsu wrote: 20 Aug 2023, 23:02 I have an issue with abandoned temple map (MM8).
When entering in the internal map in the editor this room is broken:
https://ibb.co/VSD8vbv
Compiling and playing the map will make it as shown here
Happens in clean installation of MM8 + latest mmext and editor. I don't have quick solution, will try to reach out Grayface. Use previous version of the merge for map editing for now, link is up in it's thread.

User avatar
Anerag
Leprechaun
Leprechaun
Posts: 32
Joined: 20 Jan 2019

Re: Multiplayer for MMMerge [beta 23.07.2023/7]

Unread postby Anerag » 22 Aug 2023, 20:53

Thanks a lot! This resolves much of the tedium with (re)connecting.

Edit: more bugs:
  • NPCs take some of the gold dropped by players when picking up with spacebar, but not when picking up with mouse.
  • The game sometimes hangs for a few seconds on map transition (empty progress bar), don't remember this happening before. Usually as the host but sometimes for clients as well. Tried turning listening off but no use.
  • Resurrection makes the spell failure sound when (successfully) used on another player.
Crash when trying to connect:

Code: Select all

...and Magic VII\Scripts\Structs\After\InterfaceManager.lua:382: attempt to perform arithmetic on local 'W' (a nil value)

stack traceback:
  ...and Magic VII\Scripts\Structs\After\InterfaceManager.lua: in function 'MouseInBox'
  ...and Magic VII\Scripts\Structs\After\InterfaceManager.lua:1039: in function 'MouseInterceptByCustomUI'
  ...and Magic VII\Scripts\Structs\After\InterfaceManager.lua:1057: in function 'v'
  ...mes\MMMM\Might and Magic VII\Scripts/Core/EventsList.lua:101: in function <...mes\MMMM\Might and Magic VII\Scripts/Core/EventsList.lua:96>

arguments of 'MouseInBox':
  (*temporary) = 0
  (*temporary) = 0
  (*temporary) = nil
  (*temporary) = nil

local variables of 'MouseInBox':
  (*temporary) = 91
  (*temporary) = 3.0984877770496e-312
  (*temporary) = "attempt to perform arithmetic on local 'W' (a nil value)"

User avatar
Anerag
Leprechaun
Leprechaun
Posts: 32
Joined: 20 Jan 2019

Re: Multiplayer for MMMerge [beta 23.07.2023/7]

Unread postby Anerag » 24 Aug 2023, 21:48

Bugs:
  • Artifacts and quest items from monsters can be picked up by multiple players.
  • Melee attack speed is reduced while moving.
  • When promoting to lich in MM7 you don't receive the lich jar with your remains.
  • Judge Grey took forever to die.
  • Found "_potion/reagent" in the temple in a bottle.
Fix for the spell skill level issue. Maybe there's a better way but this works.

Code: Select all

diff --git a/Scripts/Structs/After/HardcodedTopicFunctions.lua b/Scripts/Structs/After/HardcodedTopicFunctions.lua
index 1c1a413..c1b4d6a 100644
--- a/Scripts/Structs/After/HardcodedTopicFunctions.lua
+++ b/Scripts/Structs/After/HardcodedTopicFunctions.lua
@@ -536,6 +536,26 @@ function events.GameInitialized2()
  end
  mem.hook(ExitCurScr, function() ExitCurrentScreen() end)
 
+ local real_skill = mem.StaticAlloc(2)
+
+ mem.asmpatch(0x42623a, [[
+   mov edi, eax
+   and edi, 0x3f
+
+   push ebx
+   xor ebx, ebx
+   mov bx, []] .. real_skill .. [[]
+   test ebx, ebx
+   jz @end
+
+   mov edi, ebx
+   xor ebx, ebx
+   mov []] .. real_skill .. [[], bx
+
+   @end:
+   pop ebx
+ ]])
+
  function CastSpellDirect(SpellId, Skill, Mastery, Caster, Target, Flags, TargetKind)
    mem.u2[0x51d820] = SpellId
    mem.u2[0x51d822] = Caster or 49 -- Caster - rosterId
@@ -543,6 +563,8 @@ function events.GameInitialized2()
    mem.u2[0x51d828] = Flags or 0x8020
    mem.u2[0x51d82a] = JoinSkill(Skill or 1, Mastery or 0)
    mem.u2[0x51d82c] = bit.lshift(Target or 0, 3) + (TargetKind or 4)
+
+   mem.u2[real_skill] = Skill or 1
  end
 
  function CastSpellScroll(SpellId)

User avatar
Mercs
Peasant
Peasant
Posts: 61
Joined: 19 Sep 2020

Re: Multiplayer for MMMerge [beta 23.07.2023/7]

Unread postby Mercs » 25 Aug 2023, 10:36

I'd argue showing eradicated players as a pile of ash (fire elemental death sprite) is a better way. I know that's not exactly what eradication IS, but still. A scenario of a player dying somewhere alone and other players having to look for their invisible corpse using UI as a proximity tool is yikes.

On the other hand, we can consider this an added difficulty? Does it also mean you can't loot eradicated gold?)

Rodril
Swordsman
Swordsman
Posts: 558
Joined: 18 Nov 2016

Re: Multiplayer for MMMerge [beta 23.07.2023/8]

Unread postby Rodril » 26 Aug 2023, 11:34

Updated version to 23.07.2023/8.
It contains few fixes, only important - fix for crash on connection attempt, caused by custom UI initialization. Also it includes Anerag's fix for spell skill overflow.
Anerag wrote: NPCs take some of the gold dropped by players when picking up with spacebar, but not when picking up with mouse.
Could you confirm issue still exist? I was not able to reproduce it after previous fix.
Anerag wrote: The game sometimes hangs for a few seconds on map transition (empty progress bar), don't remember this happening before. Usually as the host but sometimes for clients as well. Tried turning listening off but no use.
This issue was there before and is not tied to latest changes. It happens, when few players entering same map simultaneously: one should finish map loading to send map data to others, thus they're waiting. I have not found good solution yet.
Mercs wrote:Does it also mean you can't loot eradicated gold?
Yes, that's the point. It should be possible to show eradicated players as pile of ash and still forbid gold pickup, though it requires temporary custom frames setup. It is good idea, I will check if it is implementable.

User avatar
Anerag
Leprechaun
Leprechaun
Posts: 32
Joined: 20 Jan 2019

Re: Multiplayer for MMMerge [beta 23.07.2023/8]

Unread postby Anerag » 26 Aug 2023, 12:49

Rodril wrote: Could you confirm issue still exist? I was not able to reproduce it after previous fix.
Tried it just now on on the latest version and it only happened as the client picking up gold with space. But it also happened as the host on the previous version though I couldn't reproduce it right now.
Rodril wrote: This issue was there before and is not tied to latest changes. It happens, when few players entering same map simultaneously: one should finish map loading to send map data to others, thus they're waiting. I have not found good solution yet.
I see, we just started noticing it a lot recently and it seemed like a regression. Maybe it's more apparent in MM7 than MM6 for some reason?

User avatar
Macros the Black
Druid
Druid
Posts: 897
Joined: 21 May 2008
Location: Elemental Plane of Air

Re: Multiplayer for MMMerge [beta 23.07.2023/5]

Unread postby Macros the Black » 30 Aug 2023, 02:07

Rodril wrote: 21 Aug 2023, 22:48 Updating version to 23.07.2023/7.
-- Dead players will be displayed differently, depending on their condition: stand still if paralyzed / stoned, invisible if eradicated (eradicated players still can be targeted with revivification spell with side UI);
You could use the pile of ash from the Fire Elemental corpse for eradicated players
You'd think Darkmoor was a ghost town, but instead there's plenty of life among the dead.

User avatar
Anerag
Leprechaun
Leprechaun
Posts: 32
Joined: 20 Jan 2019

Re: Multiplayer for MMMerge [beta 23.07.2023/8]

Unread postby Anerag » 01 Sep 2023, 23:14

Image
We finished our playthrough! Besides the somewhat frequent crashes, it's amazing how well it all just works.

One thing we talked about was how it'd be nice to have the multiplayer mod for each of the games separately. Now I know this is a huge ask and will probably not happen. It's just that while the three games are similar, there are significant differences. MM6 especially is not a great fit for the MM8 engine. But again, I really can't expect you to more or less quadruple your workload.

More bugs:
  • Clones of a player sometimes appear as another player enters the map.
  • No chaos hydras seem to spawn around north of Nighon. Could have just been unlucky?
  • Wins towards arcomage champion quest (MM7, didn't test in 8) are not shared between players.
  • Clients can't join with listen left on in the background. Turning it off and back on lets them join again. Might have to do with clients crashing and the connection hanging.
  • The telelocator is super buggy. Keys typed are passed through, like attack and quick spell, leading to the UI breaking. Space breaks the UI especially horribly.
  • The merge quest progress is not synced well between players. We got stuck in a loop and fixed it by doing the tasks on the host.
  • Graphics breaking in castle Harmondale: https://rekurs.io/files/FTK8Y.png
  • UI breaking in the merge maze dungeon when another player goes up the stairs: https://rekurs.io/files/sVqLf.png
  • Some UI elements are visible on the congratulations screen (see above).
This happened when playing arcomage as host:

Code: Select all

Debug Message at line 578 of ...erge Multiplayer\Scripts\Modules\Multiplayer\Packets.lua:
Client 2 timed out.
Debug Message at line 578 of ...erge Multiplayer\Scripts\Modules\Multiplayer\Packets.lua:
Client 3 timed out.

Error when entering the merge maze dungeon:

Code: Select all

...ic Merge Multiplayer\Scripts\Structs\After\Functions.lua:53: array index (256) out of bounds [0, 255]

stack traceback:
  [C]: in function 'error'
  ...Might and Magic Merge Multiplayer\Scripts/Core/RSMem.lua:1366: in function 'check'
  ...Might and Magic Merge Multiplayer\Scripts/Core/RSMem.lua:1113: in function '__index'
  ...Might and Magic Merge Multiplayer\Scripts/Core/RSMem.lua:840: in function '__newindex'
  ...ic Merge Multiplayer\Scripts\Structs\After\Functions.lua:53: in function 'XYZ'
  ...ight and Magic Merge Multiplayer\Scripts\Maps\BrBase.lua:971: in function 'LoadMazeData'
  ...ight and Magic Merge Multiplayer\Scripts\Maps\BrBase.lua:1079: in function 'OnLoadMap'
  ...ight and Magic Merge Multiplayer\Scripts\Maps\BrBase.lua:1295: in function 'v'
  ... and Magic Merge Multiplayer\Scripts/Core/EventsList.lua:101: in function <... and Magic Merge Multiplayer\Scripts/Core/EventsList.lua:96>

arguments of '__newindex':
  o = 4
  obj = (table: 0x03259600)
  _ = "Z"
  val = -20000

local variables of '__newindex':
  (*temporary) = (table: 0x02a6b958)
  (*temporary) = nil
  (*temporary) = 6.9014658352248e-296

upvalues of '__newindex':
  arr = (table: 0x02a6b958)

Same thing?

Code: Select all

...ight and Magic Merge Multiplayer\Scripts\Maps\BrBase.lua:971: array index (256) out of bounds [0, 255]

stack traceback:
  [C]: in function 'error'
  ...Might and Magic Merge Multiplayer\Scripts/Core/RSMem.lua:1429: in function '__index'
  ...ight and Magic Merge Multiplayer\Scripts\Maps\BrBase.lua:971: in function 'LoadMazeData'
  ...ight and Magic Merge Multiplayer\Scripts\Maps\BrBase.lua:1079: in function 'OnLoadMap'
  ...ight and Magic Merge Multiplayer\Scripts\Maps\BrBase.lua:1171: in function 'v'
  ... and Magic Merge Multiplayer\Scripts/Core/EventsList.lua:101: in function <... and Magic Merge Multiplayer\Scripts/Core/EventsList.lua:96>

arguments of '__index':
  t = (table: 0x1dd64eb8)
  a = 256
  v = nil

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

upvalues of '__index':
  ptr = true
  u4 = (table: 0x02a21d88)
  GetPtr = (function: 0x02a3e8a8)
  obj = (table: 0x02bd0238)
  o = 7290012
  assertnum = (function: 0x02a2c598)
  error = (function: 0x029a9910)
  type = (function: builtin#3)
  SetLen = (function: 0x02baae10)
  low = 0
  GetLen = (function: 0x02baad68)
  lenP = 7290008
  lenA = (table: 0x02a81498)
  size = 20
  count = 4294967295
  _index = nil
  _newindex = nil
  tonumber = (function: builtin#17)
  beyondLen = nil
  f = (function: 0x02baacd8)
  format = (function: builtin#91)
  sOutOfBounds = "array index (%s) out of bounds [%s, %s]"
  tostring = (function: builtin#18)
  tostring2 = (function: 0x02a2c600)

User avatar
rampage77t
Peasant
Peasant
Posts: 75
Joined: 03 Jun 2020

Re: Multiplayer for MMMerge [beta 23.07.2023/8]

Unread postby rampage77t » 09 Sep 2023, 23:45

After a long time I resumed the game that I had started with my brother, after using the last update we were able to finish Enroth completely, now we only have Jadame left, but inexplicably when we use the city portal in Jadame, we can go to all the cities when I have It is understood that it cannot be done until you visit the city's fountain and drink from it for the first time, more than anything because we can go to Regna when they did not even give us the mission to sink the fleet so it is impossible to access there before that.
Another detail I noticed is that in addition to seeing the companion's hit points on their icon you can also see the spell points, but unlike the hit points, it only shows the spell points of the first character, not the total of the characters group as it happens with hit points.
The rest everything works fine, in the first attempt to connect, many console messages appeared that did not allow me to connect, but in the second attempt there were no errors.
Thank you again for all the effort you make to give us good gameplay.

pyrahead
Leprechaun
Leprechaun
Posts: 6
Joined: 11 Nov 2016

Re: Multiplayer for MMMerge [beta 23.07.2023/8]

Unread postby pyrahead » 18 Sep 2023, 11:03

I am thinking about playing this mod with a friend of mine. Is it possible that each of us have 2 characters? We would like to play Paladin / Thief but you always need a Wizard for flying...

Rodril
Swordsman
Swordsman
Posts: 558
Joined: 18 Nov 2016

Re: Multiplayer for MMMerge [beta 23.07.2023/8]

Unread postby Rodril » 19 Sep 2023, 06:18

pyrahead wrote: 18 Sep 2023, 11:03 I am thinking about playing this mod with a friend of mine. Is it possible that each of us have 2 characters? We would like to play Paladin / Thief but you always need a Wizard for flying...
Yes, you can have up to 5 characters in each party, like in solo.

I did not post updates, but there are few:
-- multiplayer routine is not tied to game ticks anymore, instead it works periodically, it should solve issues, caused by screens, where game does not tick (arcomage, loading screen);
-- musical instruments now audible for remote players;
-- multiplayer contains fix for doors in editor mode (i have not moved this fix to base version yet);
And some minor fixes.

User avatar
Malekitsu
Pixie
Pixie
Posts: 120
Joined: 25 May 2022

Re: Multiplayer for MMMerge [beta 23.07.2023/8]

Unread postby Malekitsu » 19 Sep 2023, 22:18

Rodril wrote: 19 Sep 2023, 06:18 -- multiplayer contains fix for doors in editor mode (i have not moved this fix to base version yet);
Thanks for the update!
I've just checked but abandoned temple seems to have still the same issue on that room.

Rodril
Swordsman
Swordsman
Posts: 558
Joined: 18 Nov 2016

Re: Multiplayer for MMMerge [beta 23.07.2023/8]

Unread postby Rodril » 20 Sep 2023, 09:24

Malekitsu wrote: 19 Sep 2023, 22:18 I've just checked but abandoned temple seems to have still the same issue on that room.
If that map was compiled with error, issue will persist. You have to load backup d05.blv / d05.dlv prior to changes with flawous editor. I've briefly reopened the map, recompiled and checked it, and it seems fine. Please, make sure you are not using compiled with error map, and if you don't, tell me, I'll check everything again.

User avatar
Mercs
Peasant
Peasant
Posts: 61
Joined: 19 Sep 2020

Re: Multiplayer for MMMerge [beta 23.07.2023/10]

Unread postby Mercs » 23 Sep 2023, 07:18

Started MM7 with a party of 5 including @Malekitsu yesterday
As always, will post issues as well as general feedback as we go
Also we are using MAW mod, but since we are playing with it's author, we should be able to distinguish issues

1. no 4th ally portrait in UI, not sure if resolution related, I play at 1366x768 due to old laptop, visually there's enough space for one more portrait.
2. ability to hear other player barks in combat would be nice
3. can we use some kind of console script to activate Malwick's quest? he got accidentally killed by dragonflies and we are worried we are missing content. halp~


Return to “Might and Magic”

Who is online

Users browsing this forum: Ahrefs [Bot] and 23 guests