Jump to content

Recommended Posts

[Мод] Время сервера

 

screenshot_01.png

 

 

Мод добавляет в игру текстовую метку с часами - текущее время сервера.

 

Время сервера берется из пакета ID: 940, который сервер отправляет клиенту при подключении, например:

[01-17 10:44:47:879]

Метка с часами привязывается к форме миникарты "frmMinimap" из файла GUI-скриптов "\scripts\lua\forms\minimap.clu".

 

 

Требования

 

Установленный Загрузчик модов для сервера и клиента (PKOdev.NET mod loader).

 

 

Информация о моде

 

Название: pkodev.mod.clock;

Версия: 1.0;

Автор: V3ct0r;

Тип: для клиента (Game.exe);

Поддерживаемые исполняемые .exe файлы: GAME_13X_0, GAME_13X_1, GAME_13X_2, GAME_13X_3, GAME_13X_4 иGAME_13X_5).

 

 

Установка

 

1) В директории "mods" Вашего клиента создайте папку "pkodev.mod.clock";

2) Поместите в неё файл DLL-библиотеки мода "pkodev.mod.clock.client.13x_<x>.dll" для Вашей версии Game.exe.

3) Поместите в неё файл настроек мода "pkodev.mod.clock.cfg" и запишите в него желаемый формат вывода времени сервера в соответствии с документацией на функцию strftime(). Например, формат:

Время сервера: %H:%M:%S %d.%m.%y

Может дать следующий вывод:

Время сервера: 10:51:20 17.01.2022

4) В файл GUI-скриптов "\scripts\lua\forms\minimap.clu" добавьте код для текстовой метки "labClock", которая будет отвечать за вывод времени сервера:

------------------------------------------------------------------------------------------
-- Clock label
------------------------------------------------------------------------------------------
labClock = UI_CreateCompent(frmMinimap, LABELEX_TYPE, "labClock", 20, 15, 20, 220)
UI_SetCaption(labClock, "Clock")
UI_SetTextColor(labClock, COLOR_WHITE)
UI_SetLabelExFont(labClock, DEFAULT_FONT, TRUE, COLOR_BLACK)
------------------------------------------------------------------------------------------

 

 

Скачать

 

1) Бинарные файлы мода (.dll);

2) Исходный код мода для Visual Studio 2019 Community (C++).

 

 

Если Вы столкнулись с какой-либо проблемой, багом или у Вас возникли вопросы, то пишите в данной теме.

 

  • Like 1

Share this post


Link to post
Share on other sites

Обновление мода от 26.01.2022

 

+ Исправлен некорректный адрес CUIInterface___FindForm для Game.exe версии GAME_13X_1;

+ Исправлен баг связанный с некорректным вычислением времени сервера.

 

Всех пользователей, кто использует данный мод на своем сервере, прошу как можно быстрее обновиться - ссылки на мод и его исходный код обновлены. За найденные баги благодарю нашего участника @Fomin!


Share this post


Link to post
Share on other sites

spacer.png

 

Прости V3ct0r но хотел бы добавить данное изменение к нижней панели может кому и пригодится к примеру мне так удобнее 🙃

 

В файле main.clu путь "\scripts\lua\forms\main.clu"

------------------------------------------------------------------------------------------
-- Время сервера
------------------------------------------------------------------------------------------
labClock = UI_CreateCompent(frmMainFun, LABELEX_TYPE, "labClock", 20, 15, 30, -15)
UI_SetCaption(labClock, "Clock")
UI_SetTextColor(labClock, COLOR_WHITE)
UI_SetLabelExFont(labClock, DEFAULT_FONT, TRUE, COLOR_BLACK)
------------------------------------------------------------------------------------------

 

mod_clock.bin

Edited by small666
  • Thanks 1

Share this post


Link to post
Share on other sites
On 3/12/2022 at 6:21 PM, small666 said:

spacer.png

 

Прости V3ct0r но хотел бы добавить данное изменение к нижней панели может кому и пригодится к примеру мне так удобнее 🙃

 

В файле main.clu путь "\scripts\lua\forms\main.clu"


------------------------------------------------------------------------------------------
-- Время сервера
------------------------------------------------------------------------------------------
labClock = UI_CreateCompent(frmMainFun, LABELEX_TYPE, "labClock", 20, 15, 30, -15)
UI_SetCaption(labClock, "Clock")
UI_SetTextColor(labClock, COLOR_WHITE)
UI_SetLabelExFont(labClock, DEFAULT_FONT, TRUE, COLOR_BLACK)
------------------------------------------------------------------------------------------

 

mod_clock.bin

 

Соответственно, в исходном коде мода нужно заменить строку:

// Search minimap form
void* frmMinimap = pkodev::pointer::CUIInterface___FindForm(
	reinterpret_cast<void*>(pkodev::address::MOD_EXE_VERSION::CUIInterface),
	"frmMinimap"
);

на

 // Search minimap form
void* frmMinimap = pkodev::pointer::CUIInterface___FindForm(
	reinterpret_cast<void*>(pkodev::address::MOD_EXE_VERSION::CUIInterface),
	"frmMainFun"
);

 

  • Like 2

Share this post


Link to post
Share on other sites
48 минут назад, V3ct0r сказал:

 

Соответственно, в исходном коде мода нужно заменить строку:


// Search minimap form
void* frmMinimap = pkodev::pointer::CUIInterface___FindForm(
	reinterpret_cast<void*>(pkodev::address::MOD_EXE_VERSION::CUIInterface),
	"frmMinimap"
);

на


 // Search minimap form
void* frmMinimap = pkodev::pointer::CUIInterface___FindForm(
	reinterpret_cast<void*>(pkodev::address::MOD_EXE_VERSION::CUIInterface),
	"frmMainFun"
);

 

Ой я что не те mod.dll скинул? 

Share this post


Link to post
Share on other sites
8 hours ago, small666 said:

Ой я что не те mod.dll скинул? 

Я их не смотрел, просто отправил изменения для других пользователей, если кому-нибудь будет интересно посмотреть как сделать привязку метки времени сервера к другим формам GUI.

  • Thanks 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...