[C++] [mod_sa] AntTweakBar [Часть 1]
|
|
WarMix |
Дата: Воскресенье, 13.01.2013, 16:48 | Сообщение # 1
|
Бывалый
Сообщений: 359
Статус: Offline
|
Здравствуйте уважаемые форумчане. Сегодня я хотел бы рассказать вам как вшить AntTweakBar в собейт.
Введение:
AntTweakBar - это С/С++ библиотека, которая позволяет быстро встроить графический интерфейс в ваши OpenGL или DirectX приложения.
Подготовка:
1) Скачайте этот архив, и распакуйте его в любую удобную для вас папку 2) Папку "AntTweakBar" закиньте в исходник вашего собейта, а точнее в папку "src". Туда же ( в папку "src" ) закиньте два файла "new_menu.cpp" и "new_menu.h".
Основная часть:
1) Откройте ваш проект, затем два раза щелкните по "cheat.cpp"
В "cheat.cpp" найдите строчку:
Внизу вы видите вот такую запись:
Код // menus are good menu_run();
Удалите строчку:
И заместо неё добавьте:
Код if(set.use_old_menu) menu_run(); else runNewMenu();
2) Теперь два раза щелкните по "ini.cpp"
Найдите строчку:
И после неё добавьте:
Код if ( (ent = ini_register_entry("use_old_menu", TYPE_BOOL)) != NULL ) ini_register_data( ent, &set.use_old_menu, "true" ); if ( (ent = ini_register_entry("new_menu_populator_time", TYPE_INT)) != NULL ) ini_register_data( ent, &set.new_menu_populator_time, "1000" );
3) Откройте "ini.h"
Код [i][b]И найдите вот такую строчку:[/b][/i]
Перед ней добавьте:
Код int use_old_menu; int new_menu_populator_time;
4) Два раза щелкните по "keyhook.cpp"
Найдите там вот такую строчку:
Код goto wnd_proc_original;
После неё добавьте:
Код if(cheat_state->_generic.menu && !set.use_old_menu) { if(!gta_menu_active()) { if(TwEventWin(wnd, umsg, wparam, lparam)) return 0; } }
Теперь найдите вот такие строки:
Код vkey == set.key_menu_select ) ) { return 0; }
} break; }
И между двумя закрытыми скобками:
Добавьте:
Код if(cheat_state->_generic.menu && vkey == VK_ESCAPE && !set.use_old_menu) { cheat_state->_generic.menu = 0; toggleCursor(false); return 0; }
Должна получится вот такая запись:
Код || vkey == set.key_menu_select ) ) { return 0; }
if(cheat_state->_generic.menu && vkey == VK_ESCAPE && !set.use_old_menu) { cheat_state->_generic.menu = 0; toggleCursor(false); return 0; }
} break; } wnd_proc_original: return CallWindowProc( orig_wndproc, wnd, umsg, wparam, lparam ); }
5) Найдите и откройте "main.cpp"
Найдите вот такие строки:
Код if ( g_flLogChatboxAll != NULL ) { fclose( g_flLogChatboxAll ); g_flLogChatboxAll = NULL; } } break; }
return true; }
Затем, после двух закрытых скобок добавьте вот такие строки:
Код if(!set.use_old_menu) TwTerminate();
Должна получиться вот такая запись:
Код g_flLogChatboxAll = NULL; } }
if(!set.use_old_menu) TwTerminate(); break; }
return true; }
6) Щелкните два раза по "main.h"
Найдите вот такую строку:
И после неё добавьте следующие:
Код // AntTweakBar includes #include "AntTweakBar\AntTweakBar.h" #include "new_menu.h"
7) Щелкните два раза по "proxyIDirect3D9.cpp"
Найдите вот такую строку:
Код //Log("proxyIDirect3D9 destructor called.");
И после неё добавьте:
Код if(!set.use_old_menu) { TwWindowSize(0,0); TwTerminate(); }
8) Откройте "proxyIDirect3DDevice9.cpp"
Найдите строчку:
И после неё добавьте:
Код // new menu if(!set.use_old_menu) { TwWindowSize(0, 0); }
Теперь найдите вот такие строки:
Код // load death texture LoadSpriteTexture();
И после них добавьте:
Код // new menu if ( !set.use_old_menu ) { TwWindowSize(pPresentationParameters->BackBufferWidth, pPresentationParameters->BackBufferHeight); }
Найдите строчку:
Код set.window_mode = ( g_RsGlobal->ps->fullscreen == 0 );
И добавьте после неё:
Код // update the new menu if ( !set.use_old_menu ) { TwWindowSize(pPresentationParameters->BackBufferWidth, pPresentationParameters->BackBufferHeight); }
Ищем строчку:
Код *(uint8_t *)0xBAB233 = gta_money_hud->alpha;
И после него добавляем:
Код // AntTweakBar if (!set.use_old_menu) { TwInit(TW_DIRECT3D9, origIDirect3DDevice9); TwWindowSize(pPresentParam.BackBufferWidth, pPresentParam.BackBufferHeight); twBar_Main = TwNewBar("mod_sa", 0); twBar_SPCheats = TwNewBar("Cheats", 1); twBar_SPCarUpgrades = TwNewBar("Vehicle_Upgrades", 1); twBar_SPCarColorPJ = TwNewBar("Vehicle_ColorPJs", 1); twBar_SPWeapons = TwNewBar("Weapons", 1); twBar_SPVehicles = TwNewBar("Vehicles", 1); twBar_SPTeleports = TwNewBar("Teleports", 1); twBar_SPMisc = TwNewBar("GTA_Misc", 1); twBar_SPPatches = TwNewBar("GTA_Patches", 1); twBar_SAMPPlayers = TwNewBar("Players", 1); twBar_SAMPFavServers = TwNewBar("Favorite_servers", 1); twBar_SAMPMisc = TwNewBar("SA:MP_Misc", 1); twBar_SAMPObjects = TwNewBar("SA:MP_Objects", 1); twBar_SAMPPickups = TwNewBar("SA:MP_Pickups", 1); twBar_SAMPPatches = TwNewBar("SA:MP_Patches", 1); }
Далее ищем:
После этой строчки добавляем следующие:
Код // render menus if ( set.use_old_menu ) { if ( cheat_state->_generic.menu ) { RenderMenu(); } } else { static int menuinit; if ( cheat_state->_generic.menu && !gta_menu_active() && menuinit > 200 ) { TwDraw(); } else if ( menuinit < 200 && pPedSelf ) { menuinit++; } else if ( menuinit == 200 ) { initializeBarsMenu(); menuinit++; } }
• Мой ВК: vk.com/cm.calipso • Я ничего не продаю и не покупаю • В скайпе ни каких сделок не провожу • При добавлении указывайте причину • Помогаю новичкам в освоении
|
|
|
|
Weazzy |
Дата: Воскресенье, 13.01.2013, 19:28 | Сообщение # 2
|
Визи
Сообщений: 882
Статус: Offline
|
Опробую , а так респект тебе
Я вернулся
|
|
|
|
xxuxxuxx |
Дата: Воскресенье, 13.01.2013, 19:46 | Сообщение # 3
|
Новичок
Сообщений: 8
Статус: Offline
|
Поклон Calipso.Вообще красава .Оказывается у меня не отрисовывалось менню из-за ошибки в new_menu.cpp ,т.к. я и предпологал.Просто скачал твой файл,заменил.Откомпилировал и запустил...о чудо работает.Вобще накостячил я только в нев меню.Остальное всё было ок.Урок даже не читал=)Как знал...Делал по сорцам в code.google.ru Ещё раз спасибо...P.S. смортрю и удивляюсь.репа растёта у тебя 6+/сек.
Сообщение отредактировал xxuxxuxx - Воскресенье, 13.01.2013, 19:46 |
|
|
|
Cortez |
Дата: Воскресенье, 13.01.2013, 19:52 | Сообщение # 4
|
Боец
Сообщений: 136
Статус: Offline
|
Твоя темка мне даже очень помогла.
|
|
|
|
testing |
Дата: Воскресенье, 13.01.2013, 21:17 | Сообщение # 5
|
Боец
Сообщений: 71
Статус: Offline
|
Может кто мне кинуть исходник готовый плиз я уже 5 раз делаю открываю проект и у меня выходит Один или несколько проектов были загружены не правельно, плиз скиньте
Я не набивал пост, я просто люблю много писать !
|
|
|
|
xxuxxuxx |
Дата: Воскресенье, 13.01.2013, 22:03 | Сообщение # 6
|
Новичок
Сообщений: 8
Статус: Offline
|
Если кому нужны чистые исходники 0.3e от Голубя(bartekDVD raksamp+FYP) с AnttweakBar'ом.Выложу :)Пишите в лс.
|
|
|
|
testing |
Дата: Воскресенье, 13.01.2013, 22:32 | Сообщение # 7
|
Боец
Сообщений: 71
Статус: Offline
|
xxuxxuxx, Выкладывай !
Я не набивал пост, я просто люблю много писать !
|
|
|
|
Rezak_True |
Дата: Воскресенье, 13.01.2013, 22:36 | Сообщение # 8
|
Боец
Сообщений: 156
Статус: Offline
|
xxuxxuxx, выложы плз.
Игла в яйце - Яйцо в Утке - Утка в Зайце - Заяц в шоке:D
|
|
|
|
xxuxxuxx |
Дата: Воскресенье, 13.01.2013, 22:47 | Сообщение # 9
|
Новичок
Сообщений: 8
Статус: Offline
|
1.Эти файлы narod.ru/disk/65436478001.e2696648b7fd90dc14e1ed94e27ee1b4/AnttweakBar в sobeit.zip.html из архива нужно скопировать в папку src Исходника: полный перевод от FYP и raknet от batekdvd, Голубь добавил пропущенный пакет - RPC_SpawnPlayer (raksamp.cpp) Всё структуры переведены + raknet http://rghost.ru/41388946 Распоковать в отдельную папку.
После открыть проект:
mod_sa_VS2010.vcxproj откомпилировать и в папку bin будет готовый файл d3d9.dll
Сообщение отредактировал xxuxxuxx - Воскресенье, 13.01.2013, 22:53 |
|
|
|
Rezak_True |
Дата: Воскресенье, 13.01.2013, 23:09 | Сообщение # 10
|
Боец
Сообщений: 156
Статус: Offline
|
xxuxxuxx, каряво сделано , твик бар не воспроизводится
1>new_menu.cpp(1274): warning C4551: в вызове функции отсутствует список аргументов
Игла в яйце - Яйцо в Утке - Утка в Зайце - Заяц в шоке:D
|
|
|
|
xxuxxuxx |
Дата: Воскресенье, 13.01.2013, 23:39 | Сообщение # 11
|
Новичок
Сообщений: 8
Статус: Offline
|
Блин выложишь ещё и скажут дурак это warning.Можешь не придавать этому значение.И ещё ты его хоть включил???? Новый стиль меню???В mod_sa.ini пропиши use_old_menu = false new_menu_populator_time = 1000 и зайди в игру,жми f11 .Я выложил файлы чисто для ленивых.Сtrl+C-->>Ctrl+V
|
|
|
|
iMaddy |
Дата: Воскресенье, 13.01.2013, 23:44 | Сообщение # 12
|
Cheat-Master
Сообщений: 2855
Статус: Offline
|
Где мои 13 девственниц за помощь ?
Вопросами по сайту и так же игровому рынку (развод, невалидные товары, добавление в ЧС, проведение сделок) не занимаюсь
|
|
|
|
_MVP_ |
Дата: Понедельник, 14.01.2013, 00:20 | Сообщение # 13
|
Боец
Сообщений: 54
Статус: Offline
|
гвн нврн гнида
|
|
|
|
testing |
Дата: Понедельник, 14.01.2013, 13:45 | Сообщение # 14
|
Боец
Сообщений: 71
Статус: Offline
|
xxuxxuxx, У тя просто исходник голубя
Я не набивал пост, я просто люблю много писать !
|
|
|
|
login309 |
Дата: Понедельник, 02.06.2014, 17:13 | Сообщение # 15
|
Новичок
Сообщений: 8
Статус: Offline
|
Ссылка битая
|
|
|
|