igrik
Posts: 2819
|
(11.02.2019 09:36)totkotoriy Wrote: А можно как нибудь сохранить игру в битве? Надо рассинхрон отловить, а без сохранения очень долго будет.
И может у кого есть идея как комплексно избавится от проблемы рассинхрона в сетевой игре? Пробовал передавать переменные на другую сторону каждый ход - не помогает...
Нет, сохранения в битвах нельзя сделать даже в простом SoD. А в WoG и подавно.
На счет рассинхрона - Берсеркер вроде пробовал решать. Но опять же - есть ERM, который далеко не всегда стабильно по сети работает. И если мне не изменяет память - опыт стеков тоже вызвает рассинхрон. В любом случае, по моему мнению, Вог и рассинхрон это неразделимые вещи.
(11.02.2019 09:36)totkotoriy Wrote: Ещё хотел давно спросить, можно как нибудь сделать чтоб по нажатию, какой либо новой кнопки выполнялось действие при нажатии пробела на клавиатуре?
На ERM - наврятли. Через плагины - легко.
game bug fixes extended.dll || My Plugins || My GitHub
|
|
11.02.2019 23:24 |
|
totkotoriy
Posts: 873
|
А что именно вызывает рассинхрон сам опыт или умения полученные от опыта, не знаешь?
Мне казалось просто, что я у кого-то видел опцию сохранение в битве... нет так нет тогда
А нажатие кнопки на клавиатуре сымитировать, тоже плагин нужен? Такой плагин где-то есть?
Ты роешься в моих паках, но ты делаешь это без уважения...
(This post was last modified: 11.02.2019 23:58 by totkotoriy.)
|
|
11.02.2019 23:49 |
|
totkotoriy
Posts: 873
|
Berserker, вот с этим тоже ничего не понятно, функции ЕРМ и на другой стороне тоже работают, зачем тогда ещё дополнительно их вызывать от другого игрока?
Вот если б можно было пачкой все данные передавать каждое действие - была бы красота....
А есть какой-нибудь точный способ определение рассинхронизации?
Ты роешься в моих паках, но ты делаешь это без уважения...
|
|
12.02.2019 00:30 |
|
Berserker
Posts: 16657
|
totkotoriy, ряд событий происходят только на одной стороне. Например, щелчки мышкой или нажатия кнопок на клавиатуре, не приводящих к стандартным действиям. На другой стороне они не возникают. Проверять можно, запустив две копии игры на одном компьютере из разных папок и с разным Unique System ID из heroes3.ini.
Вызвать функцию удалённо можно через
Code:
!!FU:
D$1[/$2/$3/.../$16]
Поддержка интернет-игр. Вызывает функцию на противоположной стороне. Синтаксис такой же, как и FU:P, и, соответственно, особенности такие же. Для получения доступа к параметрам используйте синтаксис x# (# = 1...16). Они могут быть использованы где угодно (внутри функции) как обычные переменные. Когда вы вызываете функцию, все параметры, которые не были установлены, будут наследованы.
Примечание: параметр $1 D должен быть помещен в вызове !!FU (даже если нет значений, необходимых для передачи в функцию) для корректной работы команды.
Если важные переменные будут изменены в событии по щелчку/кнопке только на одной стороне, рассинхрон уже произошёл. Последствия зависят о того, что код делает с этими переменными.
Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
|
|
13.02.2019 16:56 |
|
totkotoriy
Posts: 873
|
(13.02.2019 16:56)Berserker Wrote: Если важные переменные будут изменены в событии по щелчку/кнопке только на одной стороне, рассинхрон уже произошёл. Последствия зависят о того, что код делает с этими переменными.
Да это всё понятно. Просто тяжело это искать по всем скриптам. Я надеюсь большую часть кода, вызывающую рассинхрон исправил. Проверим скоро...
А что за патч у вас в настройках для маски 192.168.*.*?
Мы с товарищем 4 часа пытались по сетке соединиться - не получалось, потом ещё раз все новые файлы скопировал из ЭРА 2.7.7 и потом заработало. Думаю эта опция не была включена, и у нас IPшники как раз такие и были. Что эта опция дает?
Ты роешься в моих паках, но ты делаешь это без уважения...
(This post was last modified: 14.02.2019 01:43 by totkotoriy.)
|
|
14.02.2019 01:38 |
|
Berserker
Posts: 16657
|
|
16.02.2019 05:40 |
|
totkotoriy
Posts: 873
|
А кто-то делал чтоб ангелы могли воскрешать друг друга?
Ты роешься в моих паках, но ты делаешь это без уважения...
|
|
19.02.2019 13:02 |
|
igrik
Posts: 2819
|
(12.02.2019 00:30)totkotoriy Wrote: А есть какой-нибудь точный способ определение рассинхронизации?
Самый надежный способ определения - наверное это сравнивать данные 2х баттлменеджеров на локальной и удаленной машине.
А вот с коррекцией рассинхронизаци - из-за огромного кол-ва скриптов я вижу только копирование почти всего баттлменеджера (точнее его части идущей до параметров диалога битвы) перед поиском нового стека, и последующая передача его удаленному компу, но это на секундочку постоянная швырялка 78592 байт кода.
Вообще надо попробовать запилить это плагином и увидеть что получится.
game bug fixes extended.dll || My Plugins || My GitHub
|
|
19.02.2019 15:45 |
|
totkotoriy
Posts: 873
|
Блин, сорян, точно у них просто мощности не хватает )))
igrik, было бы круто
Ты роешься в моих паках, но ты делаешь это без уважения...
(This post was last modified: 19.02.2019 18:34 by totkotoriy.)
|
|
19.02.2019 18:33 |
|
hippocamus
Posts: 517
|
(04.03.2019 16:56)daemon_n Wrote: Сложно ли сделать запрет элементам сборных артефактов быть квестовыми? И чем это делать вообще? Скрипт или плагин? Может, уже сделал кто?
Так ведь так и есть. Части сборных не являются квестовыми. Если, конечно, не настраивались новые сборники.
-= подпись Гиппокамуса =-
|
|
04.03.2019 18:07 |
|
azda.club
Posts: 13
|
(This post was last modified: 24.03.2019 09:13 by azda.club.)
|
|
24.03.2019 09:13 |
|