Berserker, категорически не согласен
То же касается не только битв, но и событий в игре.
Скажем, тот же скрипт "книга заклинаний" генерирует нам всегда разные заклинания. Просто рай для сейв/лоадов
Новая инфа! Только наложившая сторона получает эффект от спец абилок на своей машине, когда как визуально может совпасть у обеих.

В сетевой часто при передаче существ герою опыт пропадает
Если друг стоит в моём замке и я вместо него замок защищаю
Если я нападаю на друга за него комп играет не тестил пока из за чего
suftfree, очень интересно звучит.
Нужен список модов и сохранение
Перепроверил. Нет, Слава, ты используешь геройский Random, а не rand() из C++:
Code:
int Random(int ZLow,int ZHigh)
{
#include "templ.h"
__asm{
mov ecx,ZLow
mov edx,ZHigh
mov eax,0x50C7C0
call eax
mov IDummy,eax
}
RETURN(IDummy)
}
Он везде используется,
Проверял рассинхронизацию в бою 4 отрядов волшебниц против 4 отрядов драколичей.
Причина: у первого игрока SetSeed(1) + Random(1, 100) для волшебниц, затем действие с отсылкой нового зерна (2).
Второй игрок получает новое зерно SetSeed(2), ИД действия, вызывает Random(1, 100) для волшебниц уже с другим зерном.
Реализовал отладочный вывод и детерминистический генератор на базе CRC32C от кортежа (CombatRoundId, MinValue, MaxValue, CombatActionId + Const), где все члены кортежа сперва пропускаются через функцию кодирующую int -> int. Рассинхронизации не видно. Просьба проверить с опытом.
В отладке выводятся все вызове SRand (установка зерна генератора, которое игнорируется) и Rand (генерация случайного значения). Видно откуда вызывается, с каким диапазоном, для какого номера действия и с каким результатом.
https://dropmefiles.com/f6713
Berserker, отлично! Скоро проверю
Утро начинается не с кофе

Berserker, у меня игра крашится при попытке попасть в лобби игры (меню выбора/создания карты)
Failed to read data at 4.
EIP: Era.532B7 (Tweaks.Hook_DL_D_ItemCreation + 219 in Tweaks.pas on line 1152 offset 21). Code: C0000005
> Registers
EAX: 00000000 (int: 0)
ECX: 00000000 (int: 0)
EDC: 00000064 (int: 100)
EBX: 00000001 (int: 1)
ESP: 02D3840C (int: 47416332, pint: 0x02D387AC = 47417260)
EBP: 02D38478 (int: 47416440, pint: 0x02D387B8 = 47417272)
ESI: 00000064 (int: 100)
EDI: 02D38810 (int: 47417360, pint: 0x0FF266D0 = 267544272)
> Callstack
H3era.0057A292 (A0_MapSelectDlg_Create_sub_579CE0 + 1458)
Wog native dialogs.C6CB (?Y_NewScenarioDlg_Create@@YGXPAVHiHook@@PAU_NewScenarioDlg_@@H@Z + 27)
H3era.0077927A (wog_start + 492154)
H3era.004EF3A5 (A0_MainMenu_sub_4EEA70 + 2357)
H3era.004F824F (A0_Create_Main_Window_sub_4F80C0 + 399)
H3era.0061A964 (_WinMainCRTStartup + 224)
Kernel32.1FA29
Ntdll.67A9E
Ntdll.67A6E
daemon_n, и давно у тебя так?
Зарегистрировался, проверил — ничего не вылетело. Тестируй с одной копией игры через локальную сеть.
Quote:что с, что без hd mod
Лобби без HD мода? Сильно!
Berserker, только с новой версией ERA. Проблема даже в одиночной игре!
Есть онлайн-лобби, а есть оригинальное лобби, где настраиваются предстартовые параметры игры/выбирается карта. Я даже в скобочках уточнил, чтобы не было неразберихи
Если уж совсем просто, то мне не начать игру
Berserker, проверил, у меня так же краш, всё точно как у Димона

Кинь ещё папок Debug, пожалуйста. Не могу повторить.
Berserker, вот дебаг, но там наверн ничего нового и интересного нет:
https://disk.yandex.ru/d/fV2DhcdZIV9TCg
Итак, проверил новый архив, в лобби теперь заходит нормально, комната так же создается нормально. Но для проверки загрузки в саму игру мне нужен 2 чел.