Очень часто сталкиваюсь с вопросом: "Как сделать меню для ВХ?", и чтоб больше этот вопрос мне задавали, решил написать это гайд.
Я бы мог просто выложить готовый исходник и ничего не писать, так как я в исходнике подробно расписал, какие функции за что отвечают. Но я знаю что все равно будет очень много вопросов, и чтоб их было меньше, попытаюсь все подробно расписать..
Для начала вам надо скачать исходник меню:
[Ссылки могут видеть только зарегистрированные пользователи. ] Скачали? Ну пол дела уже сделано.. =)
Прежде чем начать, хочу объяснить вам, как ориентироваться в исходнике:
Если вы не можете найти раздел о котором говориться в гайде, вам нужно просто нажать на вкладку Правка, выбрать Поиск и замена>Быстрый поиск и вписать строку, которую вы не можете найти.
Теперь можно начинать.
Первым делом, нужно определиться какие цвета вам понадобятся для вашего меню и для ваших функций.
Для того чтоб указать цвет, который вы будете использовать в интерфейсе вашего меню, вам нужно открыть файл color.h и задать там нужный вам цвет в виде такой строки:
Цитата:
#define Имя_цвета D3DCOLOR_ARGB(насыщенность, R, G, B)
Таблицу цветов в формате RGB вы можете найти в интернете или воспользоваться палитрой в Paint.
Чтоб использовать указанный цвет помимо интерфейса, еще и в функциях ВХ (цвет чамса, прицела) вам нужно в верхней части wallhack.cpp найти строчку:
Цитата:
LPDIRECT3DTEXTURE9 White,Red,Green,Blue,Black;
Добавить в этот список переменную вашего цвета.
Перейти в EndScene и присвоить вашей переменной цвет, дописав рядом с другими строчками этого вида вашу:
И после этого можете использовать его в ваших функциях.
Вроде с цветами разобрались, теперь перейдем к интерфейсу вашего меню: В EndScene находите:
Цитата:
dMenu.BuildMenu("..::_D3D Menu Base::..",5 ,5 ,140 ,60 ,RED,BLACK,BLACK,pDevice);
В котором указываете заголовок вашего меню, координаты меню(первая пара чисел), ширину и высоту(вторая пара), цвет заголовка, цвет фона и цвет рамки. После этого переходите в zenixMenu::RenderMenu и по моим указателям находите и меняете цвет функций в списке меню, цвет выбранной функции и цвета On/Off. Все интерфейс меню готов.
Можем добавлять функции в ваше ВХ: Для примера в исходник уже добавлены функции WallHack и Chams.
Чтобы добавить функцию для начала надо задать ее переменную в виде:
Цитата:
int Имя_переменной = 0;
Перейти в zenixMenu::BuildMenu и добавить ее в список меню:
Цитата:
CreateItem(1,"Название", &Имя_переменной); Число указывает на каком месте в меню будет стоять эта функция.
И после этого добавить функцию в hkDrawIndexedPrimitive.
Текстуры: Текстуры надо добавлять не так как мы привыкли в верху, так как это вызовет краш игры, а непосредственно в самой функции.
Думаю поймете на примере добавленных мною функций.
И наше ВХ c меню почти готово: Ну все, в Start_key ставите кнопку для вызова меню и указываете ту же кнопку в zenixMenu::BuildMenu для прорисовки фона меню.
Теперь можете компилить и радоваться, что у вашего ВХ, наконец-то появилось меню.. =)
При компилировании не забывайте менять конфигурацию на Release, иначе будет возникать проблема при инжекте dll-ки в игру.
Если возникнут вопросы пожалуйста задавайте их в теме, по возможности буду отвечать.
Спасибо за внимание..
Последний раз редактировалось object; 16.12.2011 в 18:49.
Помогите решить проблему
Открываю WallHack with Menu
Нажимаю F7 вот что пишет
Код:
------ Перестроение всех файлов начато: проект: WH with Menu, Конфигурация: Debug Win32 ------
Удаление промежуточных и выходных файлов проекта "WH with Menu", конфигурации "Debug|Win32"
Компиляция...
wallhack.cpp
c:\documents and settings\дима.mycomp.000\рабочий стол\wallhack with menu\functions.h(61) : warning C4244: аргумент: преобразование 'DWORD' в 'FLOAT', возможна потеря данных
c:\documents and settings\дима.mycomp.000\рабочий стол\wallhack with menu\functions.h(64) : warning C4244: =: преобразование 'long' в 'FLOAT', возможна потеря данных
c:\documents and settings\дима.mycomp.000\рабочий стол\wallhack with menu\functions.h(65) : warning C4244: =: преобразование 'long' в 'FLOAT', возможна потеря данных
c:\documents and settings\дима.mycomp.000\рабочий стол\wallhack with menu\functions.h(66) : warning C4244: =: преобразование 'long' в 'FLOAT', возможна потеря данных
c:\documents and settings\дима.mycomp.000\рабочий стол\wallhack with menu\functions.h(67) : warning C4244: =: преобразование 'long' в 'FLOAT', возможна потеря данных
c:\documents and settings\дима.mycomp.000\рабочий стол\wallhack with menu\functions.h(211) : warning C4927: недопустимое преобразование; неявно применены несколько пользовательских преобразований
во время вызова конструктора 'D3DXVECTOR3::D3DXVECTOR3(const FLOAT *)'
c:\program files\microsoft directx sdk (june 2010)\include\d3dx9math.h(166): см. объявление 'D3DXVECTOR3::D3DXVECTOR3'
c:\documents and settings\дима.mycomp.000\рабочий стол\wallhack with menu\functions.h(33) : warning C4715: WScreen2D: значение возвращается не при всех путях выполнения
Компиляция манифеста в ресурсы...
Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
Copyright (C) Microsoft Corporation. All rights reserved.
Компоновка...
wallhack.obj : error LNK2019: ссылка на неразрешенный внешний символ _D3DXVec3Project@24 в функции "bool __cdecl WScreen2D(struct IDirect3DDevice9 *,struct D3DXVECTOR3,struct D3DXVECTOR3 *)" (?WScreen2D@@YA_NPAUIDirect3DDevice9@@UD3DXVECTOR3@@PAU2@@Z)
wallhack.obj : error LNK2019: ссылка на неразрешенный внешний символ _D3DXVec4Transform@12 в функции "struct D3DXVECTOR3 __cdecl W2S(struct IDirect3DDevice9 *,struct D3DXVECTOR3,struct D3DXMATRIX,struct D3DXMATRIX)" (?W2S@@YA?AUD3DXVECTOR3@@PAUIDirect3DDevice9@@U1@UD3DXMATRIX@@2@Z)
wallhack.obj : error LNK2019: ссылка на неразрешенный внешний символ _D3DXMatrixMultiply@12 в функции "struct D3DXVECTOR3 __cdecl W2S(struct IDirect3DDevice9 *,struct D3DXVECTOR3,struct D3DXMATRIX,struct D3DXMATRIX)" (?W2S@@YA?AUD3DXVECTOR3@@PAUIDirect3DDevice9@@U1@UD3DXMATRIX@@2@Z)
wallhack.obj : error LNK2019: ссылка на неразрешенный внешний символ _D3DXMatrixInverse@12 в функции "struct D3DXVECTOR3 __cdecl GetCamera(struct D3DXMATRIX)" (?GetCamera@@YA?AUD3DXVECTOR3@@UD3DXMATRIX@@@Z)
wallhack.obj : error LNK2019: ссылка на неразрешенный внешний символ _D3DXMatrixTranspose@8 в функции "struct D3DXMATRIX __cdecl CreateFourByFourTranspose(struct D3DXVECTOR4,struct D3DXVECTOR4,struct D3DXVECTOR4)" (?CreateFourByFourTranspose@@YA?AUD3DXMATRIX@@UD3DXVECTOR4@@00@Z)
wallhack.obj : error LNK2019: ссылка на неразрешенный внешний символ _D3DXCreateFontA@48 в функции __catch$?ReFont@@YAXPAUIDirect3DDevice9@@@Z$0
WH by Fro.dll : fatal error LNK1120: 6 неразрешенных внешних элементов
Журнал построения был сохранен в "file://c:\Documents and Settings\Дима.MYCOMP.000\Рабочий стол\WallHack with Menu\Debug\BuildLog.htm"
WH with Menu - ошибок 7, предупреждений 7
========== Перестроение всех: успешно: 0, с ошибками: 1, пропущено: 0 ==========
[Ссылки могут видеть только зарегистрированные пользователи. ]
Добавлено через 13 минут
Бывает такая ошибка
[Ссылки могут видеть только зарегистрированные пользователи. ]
И вот такая
[Ссылки могут видеть только зарегистрированные пользователи. ]
Вот скачайте скрин,а то так плохо видно
Последний раз редактировалось Saw55; 25.05.2011 в 17:23.
Причина: Добавлено сообщение