PDA

Просмотр полной версии : [Руководство] GoldBase [SourceCode]


Devil™
18.06.2013, 22:39
Приветствую всех "кодеров".
Хочу выложить сюда D3D9 исходник под названием "Gold Base [Publiс]"
Данный исходник сделан Мной(Loginov),Александром(Insider).
Я,Санька,и Артемий выложили исходник на паре сайтов....
Хочу выложить его сюда,и узнать мнения нормальных кодеров.
И так,скриншот меню :
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Особенности исходника :

- Грамотный кодинг
- Маленький вес дллки [от 10 до 16 килобайт]
- Очень функциональный исходник,подходит как на Паблик читы,так и на "приват".
- Подходит ко всем играм которые поддерживают Дайрект 9
- Сама длл не приводит к снижению ФПС (игра не лагает)
- Удобное и красивое меню
- Цп- не давит вообще:)
- Возможность изменения цвета в Menu.h , а не в корневой с Components.h
и многое другое...

Скачать Исходник(Кликабельно) ([Ссылки могут видеть только зарегистрированные и активированные пользователи])

Annedroid
19.06.2013, 13:11
- Грамотный кодинг
Ну, я бы так не сказала...

Подходит ко всем играм которые поддерживают Дайрект 9
Так любое вх, построенное на SDK D3D9 подходит к любым играм на этом же движке.
Кроме того OSH может работать на 4 версиях D3D, кроме того даже на OpenGL работает.

Честно говоря я не понимаю таких функций:
int Load(char* szSection, char* szKey, int iDefaultValue,LPCSTR file)
{
int iResult = GetPrivateProfileInt(szSection, szKey, iDefaultValue, file);
return iResult;
}
Вы так делаете чтобы имя функции короче было что ли?
Даже если так, то сразу return жаба душит?

Ну в остальном не плохо...

Devil™
19.06.2013, 17:51
Можно ли этот исход использовать по WF?
И что в нем надо заменить что бы он работал под wf
Хук,фунцкии,скрытие.

slava-zis
19.06.2013, 20:39
- Грамотный кодинг
ненавижу когда не соблюдаются отступы -___- причем так прикольно в некоторых местах красиво написано, а некоторых не разобрать.

есть пара моментов, которые ну...

if(lm){if(Var == 1 && Var !=0){Var = 0;}else if(Var == 0){
Test1=Test2=Test3=Test4=Test5=Test6=Test7=Test8=Te st9=Test10=0;Var = 1;}}
}

//Подполка КОДЕР

while(1)
{
if(memcmp((void*)VTable[82],(void*)(PBYTE)"\x8B\xFF",2)== 0)
{
pDrawIndexedPrimitive = (oDrawIndexedPrimitive)DetourCreate((PBYTE)VTable[82],(PBYTE)myDrawIndexedPrimitive, 7);
}
Sleep(100);
}
return 0;

ну а общее впечатление - слишком много копипасты, но для паблика вроде сойдет

Devil™
19.06.2013, 22:27
ненавижу когда не соблюдаются отступы -___- причем так прикольно в некоторых местах красиво написано, а некоторых не разобрать.

есть пара моментов, которые ну...

if(lm){if(Var == 1 && Var !=0){Var = 0;}else if(Var == 0){
Test1=Test2=Test3=Test4=Test5=Test6=Test7=Test8=Te st9=Test10=0;Var = 1;}}
}

//Подполка КОДЕР

while(1)
{
if(memcmp((void*)VTable[82],(void*)(PBYTE)"\x8B\xFF",2)== 0)
{
pDrawIndexedPrimitive = (oDrawIndexedPrimitive)DetourCreate((PBYTE)VTable[82],(PBYTE)myDrawIndexedPrimitive, 7);
}
Sleep(100);
}
return 0;

ну а общее впечатление - слишком много копипасты, но для паблика вроде сойдет
Да,был за основу взят PHC D3D Base,от крайса:)

Test1=Test2=Test3=Test4=Test5=Test6=Test7=Test8=Te st9=Test10=0;Var = 1;
На счёт этого момента,хочу спросить.
Как правильно писать?Мне шепнули,что через массив,но я хз как.
Слав,если в лс черканёшь -буду рад:)

iamzero
19.06.2013, 23:52
что там черкать? создаешь массив "тестов"
далее циклом приравниваешь все значения

да и хранить все эти элементы (как я понял интеджеры) лучше не в переменной а в массиве... Из из массива уже юзать их

крайслер
22.06.2013, 12:55
На счёт этого момента,хочу спросить.
Как правильно писать?Мне шепнули,что через массив,но я хз как.

int CheckMass[20] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
CheckNumber = 0,
CheckMax = 0;

Кнопка выглядит так:
void cDraw::Button_Menu(_Menu* _menu,char* text,IDirect3DDevice9* pDevice )
{
int w_Butt =100, //Длина кнопки
h_Butt =20; //Высота кнопки
D3DCOLOR fCol = WHITE;
int x = (*_menu)._mX,
y = (*_menu)._mY;
int h = 23;

if(IsInBox(x,y,w_Butt,h_Butt))
{

if ( lm )
if ( CheckMass[CheckNumber] != 1 )
CheckMass[CheckNumber] = 1;
}

if ( CheckMass[CheckNumber] )
{
fCol = RED;
for ( int i = 0; i < 20; i++ )
if ( i != CheckNumber )
CheckMass[i] = 0;
}
Draw_Button(x,y,w_Butt,h_Butt,text ,fCol,pDevice);//Тупо прямоугольник с текстом)

CheckNumber =CheckNumber + 1;

if (CheckMax < CheckNumber )
CheckMax = CheckNumber;
}

void _stdcall cDraw::SHOW_MENU(LPDIRECT3DDEVICE9 pDevice)
{
lm = GetAsyncKeyState(VK_LBUTTON)&1;

/*Твоя магия*/
Button_Menu(&_menu,"Меню 1", pDevice);
if ( CheckMass[0] )
{
//Содержимое Меню 1
}


Button_Menu(&_menu,"Меню 2", pDevice);
if ( CheckMass[1] )
{
//Содержимое Меню 2
}




CheckNumber = 0;