Перейти к содержанию
Авторизация  
Akumu

Lineage 2 SDK: High Five v273

Рекомендуемые сообщения

Lineage 2 SDK: High Five v273


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");
}

 

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 23.02.2019 в 12:45, Akumu сказал:

Lineage 2 SDK: High Five v273


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");
}

 

я в c++ новичок. сделал injector и .dll в которой использовал код выше и результата  нет .
injector и .dll - работает . если изменить имя("ChatWnd Transient.ChatWnd0") поиска , бывает вылетает с критом. 
собирал в VS2013 . в классе L2_Basic.hpp добовлял

typedef __int32 int32_t;
typedef unsigned __int32 uint32_t;

typedef __int16 int16_t;
typedef unsigned __int16 uint16_t;

typedef __int8 int8_t;
typedef unsigned __int8 uint8_t;

Что я сделал не так? и как нужно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сори за некропостинг, есть у кого-нибудь рабочий проект для примера как работать с этой СДК, вот хоть убей даже компил не получается сделать нормально

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, k0ss11 сказал:

Ему нужны lib файлы и работать нужно внутри namespace L2v273.

ты можешь поделиться либками под этот СДК?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ем, их вытаскивать нужно с дллок в визуалстудио.
У меня были под интерлюд а не под хф, да и багнутый сдк вообще.
Делал ради интереса и давно удалил.
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...