Прозрачные боксы. 2-й вариант. - Разработка ПО для Point Blank - Бюро разработчиков Zhyk.Ru: создание чит-программ и прочего ПО для Point Blank
18.08.2012, 18:43
#1
Фельдмаршал
Регистрация: 22.02.2011
Сообщений: 949
Популярность: 34698
Сказал(а) спасибо: 939
Поблагодарили 2,534 раз(а) в 911 сообщениях
Прозрачные боксы. 2-й вариант.
1.Работаем с LineBuilder.cpp Добавляем новый элимент "LineBuilder.cpp" в него приписуем
Код:
#include "cMain.h"
LineBuilder::LineBuilder(IDirect3DDevice9* Device)
{
D3DXCreateLine(Device , &oLine);
}
void LineBuilder::DrawCanvas(int iX, int iY, int iWidth, int iHeight, int iBorderSize, D3DCOLOR d3dBackgroundColor, D3DCOLOR d3dBorderColor)
{
D3DXVECTOR2 LineCoords[2];
LineCoords[0].x = iX + (iWidth/2);
LineCoords[0].y = iY - iBorderSize;
LineCoords[1].x = iX + (iWidth/2);
LineCoords[1].y = iHeight + iBorderSize;
this->oLine->SetWidth(iWidth+(iBorderSize*2));
this->oLine->SetAntialias(false);
this->oLine->SetGLLines(true);
this->oLine->Begin();
this->oLine->Draw(LineCoords, 2, d3dBackgroundColor);
this->oLine->End();
this->DrawBorder(iX, iY, iWidth+iBorderSize, iHeight, d3dBorderColor, 2, iBorderSize);
//this->DrawBorder(iX-2, iY-2, iWidth+iBorderSize, iHeight, iBorderSize, 2, d3dBorderColor);//Рамка
}
void LineBuilder::DrawBorder(int iX, int iY, int iX1, int iY1, int iSpace, int iThikness, D3DCOLOR d3dColor)
{
D3DXVECTOR2 LineCoords[2];
LineCoords[0].x = iX - iSpace + (iThikness/2);
LineCoords[0].y = iY - iSpace + (iThikness/2);
LineCoords[1].x = iX - iSpace + (iThikness/2);
LineCoords[1].y = iY1 + iSpace + (iThikness/2);
this->oLine->SetWidth(iThikness);
this->oLine->SetAntialias(false);
this->oLine->SetGLLines(true);
this->oLine->Begin();
this->oLine->Draw(LineCoords, 2, d3dColor);
this->oLine->End();
LineCoords[0].x = iX1 + iSpace*2 + (iThikness/2);
LineCoords[0].y = iY - iSpace + (iThikness/2);
LineCoords[1].x = iX1 + iSpace*2 + (iThikness/2);
LineCoords[1].y = iY1 + iSpace + (iThikness/2);
this->oLine->Begin();
this->oLine->Draw(LineCoords, 2, d3dColor);
this->oLine->End();
LineCoords[0].x = iX - iSpace + (iThikness/2);
LineCoords[0].y = iY - iSpace + (iThikness/2);
LineCoords[1].x = iX1 + iSpace*2 + (iThikness/2);
LineCoords[1].y = iY - iSpace + (iThikness/2);
this->oLine->Begin();
this->oLine->Draw(LineCoords, 2, d3dColor);
this->oLine->End();
LineCoords[0].x = iX - iSpace + (iThikness/2);
LineCoords[0].y = iY1 + iSpace + (iThikness/2);
LineCoords[1].x = iX1 + iSpace*2 + (iThikness/2);
LineCoords[1].y = iY1 + iSpace + (iThikness/2);
this->oLine->Begin();
this->oLine->Draw(LineCoords, 2, d3dColor);
this->oLine->End();
}
void LineBuilder::OnLostDevice(void)
{
if (this->oLine != NULL)
{
this->oLine->OnLostDevice();
}
}
2.Работаем с cMain.h Открываем "cMain.h"
- подключаем "d3dx9core.h"
- прописуем класс "LineBuilder"
Код:
class LineBuilder
{
public:
LineBuilder(IDirect3DDevice9* Device);
// ~LineBuilder(void);
void OnLostDevice(void);
void LineBuilder::DrawCanvas(int iX, int iY, int iWidth, int iHeight, int iBorderSize, D3DCOLOR d3dBackgroundColor, D3DCOLOR d3dBorderColor);
void LineBuilder::DrawBorder(int iX, int iY, int iX1, int iY1, int iSpace, int iThikness, D3DCOLOR d3dColor);
private:
LPD3DXLINE oLine;
};
- в класс cMenu добаляем "LineBuilder* MenuBox;" (для устранения конфликта в меню, меню у нас один класс, боксы другой класс).
3.Работаем с Main.cpp Открываем "Main.cpp"
- void cMenu::PostReset(LPDIRECT3DDEVICE9 pDevice)
- void меняем на HRESULT и в конце прописуем "return S_OK;"
- также делаем и с cMenu::PreReset(void)
- в HRESULT cMenu::PostReset(LPDIRECT3DDEVICE9 pDevice) добавляем
Код:
MenuBox = new LineBuilder(pDevice);
- полный код.
Код:
HRESULT cMenu::PostReset(LPDIRECT3DDEVICE9 pDevice)
{
font = new CD3DFont("Arial", 7, D3DFONT_BOLD);
MenuBox = new LineBuilder(pDevice);
font->InitDeviceObjects(pDevice);
font->RestoreDeviceObjects();
return S_OK;
}
HRESULT cMenu::PreReset (void)
{
font->InvalidateDeviceObjects();
font->DeleteDeviceObjects();
delete font;
font = NULL;
return S_OK;
}
- не забываем изменить их в cMain.h
- в самом меню
Код:
MenuBox->DrawCanvas(X,Y,ширина,высота, 1 ,в нутри окраска, рамка);
4.Работаем с cBase.cpp Открываем "cBase.cpp"
- void PreReset( LPDIRECT3DDEVICE9 pDevice ) и void PostReset( LPDIRECT3DDEVICE9 pDevice ), void меняем на HRESULT
- вписуем туда "Menu.MenuBox->OnLostDevice();"
Полный код.
Код:
HRESULT PreReset( LPDIRECT3DDEVICE9 pDevice )
{
// Code here
Menu.PreReset();
Menu.MenuBox->OnLostDevice();
return S_OK;
}
HRESULT PostReset( LPDIRECT3DDEVICE9 pDevice )
{
// Code here
Menu.PostReset(pDevice);
Menu.MenuBox->OnLostDevice();
return S_OK;
}
Вот и всё.
Что не понятно, спрашуйте.
9 пользователя(ей) сказали cпасибо:
18.08.2012, 19:59
#2
Разведчик
Регистрация: 07.04.2012
Сообщений: 34
Популярность: 718
Сказал(а) спасибо: 47
Поблагодарили 63 раз(а) в 49 сообщениях
Re: Прозрачные боксы. 2-й вариант.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
Делаю Музыкальные сеты
Пользователь сказал cпасибо:
18.08.2012, 22:06
#3
Разведчик
Регистрация: 22.01.2012
Сообщений: 13
Популярность: -446
Сказал(а) спасибо: 22
Поблагодарили 6 раз(а) в 6 сообщениях
Re: Прозрачные боксы. 2-й вариант.
Dimedrol1536(2) , А на цп давит?
18.08.2012, 22:41
#4
Разведчик
Регистрация: 14.12.2011
Сообщений: 13
Популярность: 52
Сказал(а) спасибо: 22
Поблагодарили 26 раз(а) в 24 сообщениях
Re: Прозрачные боксы. 2-й вариант.
Последний раз редактировалось Ruslanaries$; 18.08.2012 в 22:47 .
19.08.2012, 00:06
#5
Разведчик
Регистрация: 05.06.2012
Сообщений: 6
Популярность: 35
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Re: Прозрачные боксы. 2-й вариант.
19.08.2012, 00:13
#6
Разведчик
Регистрация: 22.01.2012
Сообщений: 13
Популярность: -446
Сказал(а) спасибо: 22
Поблагодарили 6 раз(а) в 6 сообщениях
Re: Прозрачные боксы. 2-й вариант.
19.08.2012, 02:52
#7
Разведчик
Регистрация: 28.06.2011
Сообщений: 4
Популярность: -109
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Re: Прозрачные боксы. 2-й вариант.
19.08.2012, 03:23
#8
Разведчик
Регистрация: 22.02.2012
Сообщений: 49
Популярность: 2418
Сказал(а) спасибо: 123
Поблагодарили 79 раз(а) в 56 сообщениях
Re: Прозрачные боксы. 2-й вариант.
фпс не жрёт вообще!Токо способ крайса легче))Хотя там немножко нагрузка на цп
________________
Украина не победима...
Кто имел дело с ring0 пишите в лс...
19.08.2012, 11:43
#9
Разведчик
Регистрация: 07.04.2012
Сообщений: 34
Популярность: 718
Сказал(а) спасибо: 47
Поблагодарили 63 раз(а) в 49 сообщениях
Re: Прозрачные боксы. 2-й вариант.
тогда простите за мой первый пост.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
Делаю Музыкальные сеты
19.08.2012, 12:53
#10
Разведчик
Регистрация: 24.07.2012
Сообщений: 12
Популярность: -102
Сказал(а) спасибо: 3
Поблагодарили 6 раз(а) в 6 сообщениях
Re: Прозрачные боксы. 2-й вариант.
Блин понять не могу ,у мя меню нету а у друга вылазиет >_<
27.08.2012, 09:15
#11
Сержант
Регистрация: 03.12.2010
Сообщений: 132
Популярность: 20587
Золото Zhyk.Ru: 3
Сказал(а) спасибо: 1,934
Поблагодарили 1,091 раз(а) в 589 сообщениях
Re: Прозрачные боксы. 2-й вариант.
я честно говоря так же не смог понять ничего (((
27.08.2012, 12:49
#12
Разведчик
Регистрация: 24.07.2012
Сообщений: 12
Популярность: -102
Сказал(а) спасибо: 3
Поблагодарили 6 раз(а) в 6 сообщениях
Re: Прозрачные боксы. 2-й вариант.
Дима ,допиши что нужно установить DirectX 9 чтобы боксы было видно в игре
27.08.2012, 13:34
#13
Фельдмаршал
Регистрация: 22.02.2011
Сообщений: 949
Популярность: 34698
Сказал(а) спасибо: 939
Поблагодарили 2,534 раз(а) в 911 сообщениях
Re: Прозрачные боксы. 2-й вариант.
КаМаZ , без директы ты в игру не войдёш или дллка не заинжектится.
30.08.2012, 01:41
#14
Фельдмаршал
Регистрация: 22.02.2011
Сообщений: 949
Популярность: 34698
Сказал(а) спасибо: 939
Поблагодарили 2,534 раз(а) в 911 сообщениях
Re: Прозрачные боксы. 2-й вариант.
30.08.2012, 07:39
#15
Разведчик
Регистрация: 24.07.2012
Сообщений: 12
Популярность: -102
Сказал(а) спасибо: 3
Поблагодарили 6 раз(а) в 6 сообщениях
Re: Прозрачные боксы. 2-й вариант.
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
Похожие темы
Тема
Автор
Раздел
Ответов
Последнее сообщение
Прозрачные боксы
КаМаZ
Общение разработчиков
6
16.08.2012 20:37
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 16:18 .