Показать сообщение отдельно
Непрочитано 27.11.2018, 11:09   #1
Аватар для Akumu
Пользователь

Автор темы (Топик Стартер) Lineage 2 SDK: Interlude v746

Lineage 2 SDK это набор файлов описывающих типы данных, структуры, прототипы функций и перечислимые типы доступные в клиенте Lineage 2. Использование SDK позволяет очень тесно взаимодействовать с игровым клиентом из вашего C++ кода, создавать достаночно сложные дополнения для игры всего в несколько десятков строк кода.

Простой пример использования: Вывод информации о активном акторе
Код:
auto Viewport = FCore::UObject::FindObject<FWinDrv::UWindowsViewport>("WindowsViewport Transient.WindowsClient0.WindowsViewport0");
if (Viewport)
{
	auto Controller = Viewport->Actor;
	if (Controller)
	{
		auto Actor = Controller->ViewTarget;
		if (Actor)
		{
			auto& Location = Actor->Location;
			auto Name = Actor->GetHumanReadableName();
			Utils::PrintDebug("Name='%s' Pos=(%.02f, %.02f, %.02f)", Name.c_str(), Location.X, Location.Y, Location.Z);
		}
	}
}
Добавляем сообщение в системный чат:
Код:
auto ChatWnd = FCore::UObject::FindObject<FInterface::UChatWnd>("ChatWnd Transient.ChatWnd0");

if (ChatWnd)
{
	ChatWnd->ShowAnnounceMessgage(L"Hello world");
}
На самом деле можно делать действительно мощные вещи. Мы в SmartGuard используем SDK для разработки плагинов-расширений игрового клиента, из последнего это портирование внутри-игровой почты в клиент Gracia Final, и автоматическое использование макросов как на последних хрониках, только для более ранних версий игры.

Вложения
Тип файла: zip lineage2_v746_sdk.zip (455.3 Кб, 143 просмотров)
Akumu вне форума Ответить с цитированием
Сказали спасибо: