WARFORGE

Здравствуйте, гость ( Авторизация | Регистрация )

Форумы работают на сервере
 
Ответить на темуЗапустить новую тему
Внедрение своей Lua функции в сценарий карты без десинхронизации, Миссия невыполнима 30К
VenerateTheImmor...
сообщение 17.04.2021, 13:32
Сообщение #1


Neophyte
*

Группа: Пользователь
Сообщений: 28
Регистрация: 03.04.2021
Пользователь №: 78 019



Репутация:   8  


Хочу сделать интерфейс для зрителя наподобие этого https://www.youtube.com/watch?v=xYKAhiOE9xw

Вот как выглядит на данный момент:
"Вжух"


Работает так:
1)В корень игры вставляется autoexec.lua в котором каждый тик собираются данные с помощью функций
Player_GetResource(), Entity_GetProductionQueueItemName() и т.д. После эти данные пакуются в строку(и находятся в памяти игры).

2)В процесс игры внедряется dll хук который шарится по памяти игры и находит эту строку с данными, распаковывает ее, подменяет directX ф-ию отрисовки и дорисовывает уже нужный мне интерфейс на основе данных из строки.

Проблема в том что таким образом можно просматривать только реплеи, т.к. без -dev мода autoexec.lua не запустится. Нужно при старте карты внедрить этот код в нее, но не вызывая десинхронизации. Есть идеи как это сделать?

Сообщение отредактировал jONES - 17.08.2021, 15:18
Перейтик к верху страницы
 
+Цитировать сообщение
jONES
сообщение 17.04.2021, 14:27
Сообщение #2


Ordo Malleus Inquisitor Lord
************

Warhammer 40,000
Раса: Daemon Hunters
Армия: Ordo Malleus
Группа: Куратор
Сообщений: 4 153
Регистрация: 23.07.2009
Пользователь №: 19 252



Репутация:   1166  


Цитата(VenerateTheImmortalLenin @ 17.04.2021, 15:32) *
Проблема в том что таким образом можно просматривать только реплеи, т.к. без -dev мода autoexec.lua не запустится. Нужно при старте карты внедрить этот код в нее, но не вызывая десинхронизации. Есть идеи как это сделать?

Не знаю как помочь, но интересно что будет отражаться в реплее на 8 игроков?

Ещё более интересный мне вопрос: Как написать и как внедрять DLL которая что-нибудь на что-нибудь в игре заменяет.


--------------------
Black Templars мод - традиции 4-ой редакции. Моды Dark Angels и Thousand Sons для DoW:SS
Перейтик к верху страницы
 
+Цитировать сообщение
VenerateTheImmor...
сообщение 17.04.2021, 14:35
Сообщение #3


Neophyte
*

Группа: Пользователь
Сообщений: 28
Регистрация: 03.04.2021
Пользователь №: 78 019



Репутация:   8  


Цитата(jONES @ 17.04.2021, 15:27) *
Не знаю как помочь, но интересно что будет отражаться в реплее на 8 игроков?

Пока что делается только на дуэль, но на большее кол-во игроков можно сделать так https://youtu.be/nn90HRGcpZY?t=3054

Сообщение отредактировал VenerateTheImmortalLenin - 17.04.2021, 14:39
Перейтик к верху страницы
 
+Цитировать сообщение
VenerateTheImmor...
сообщение 18.09.2021, 20:43
Сообщение #4


Neophyte
*

Группа: Пользователь
Сообщений: 28
Регистрация: 03.04.2021
Пользователь №: 78 019



Репутация:   8  


На время подзабил, но решил все-таки доделать, если у кого есть идеи - пишите.
Возможно у кого-то есть исходники самой игры или dow online
Перейтик к верху страницы
 
+Цитировать сообщение
jONES
сообщение 19.09.2021, 13:47
Сообщение #5


Ordo Malleus Inquisitor Lord
************

Warhammer 40,000
Раса: Daemon Hunters
Армия: Ordo Malleus
Группа: Куратор
Сообщений: 4 153
Регистрация: 23.07.2009
Пользователь №: 19 252



Репутация:   1166  


Цитата(VenerateTheImmortalLenin @ 17.04.2021, 15:32) *
1)В корень игры вставляется autoexec.lua в котором каждый тик собираются данные с помощью функций
Player_GetResource(), Entity_GetProductionQueueItemName() и т.д. После эти данные пакуются в строку(и находятся в памяти игры).

Не обязательно использовать autoexec.lua , можно сделать опциональное условие победы, по типу timer, игрок создающий игру(карту) - должен будет просто включить его.

Сообщение отредактировал jONES - 21.09.2021, 11:41


--------------------
Black Templars мод - традиции 4-ой редакции. Моды Dark Angels и Thousand Sons для DoW:SS
Перейтик к верху страницы
 
+Цитировать сообщение
SF_elamaunt
сообщение 20.09.2021, 13:33
Сообщение #6


Master Flooder
**********

Группа: Пользователь
Сообщений: 715
Регистрация: 02.12.2010
Пользователь №: 26 099



Репутация:   276  


Довстатс оверлей как раз работают через хук DirectX.
А нет других редактируемых скриптов Lua, которые вызываются при каждой игре?


--------------------
Мой реплей пак link
Реплей менеджер link
Редактор горячих клавиш link
Проблемы блока в локальной сети link
Перейтик к верху страницы
 
+Цитировать сообщение

Ответить на темуЗапустить новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 20.04.2024 - 04:16