MasterGH Опубликовано 9 октября, 2012 Поделиться Опубликовано 9 октября, 2012 СООБЩЕНИЕ ВНУТРИ ИГРЫНапример, необходимо1) сообщить пользователю об активации чита прямо внутри игры2) нет времени писать на С++3) любим использовать формат *.CETRAINER или другие генерируемые Cheat Engine4) хотим просто воспользоваться моим примером5) хотим исследовать функциональность Cheat EgineИтак я покажу как вывести сообщение внутри игры при нажатии комбинации горячих клавиш. Это сообщение пропадёт через 2 секунды.Конечный результат. Это просто окно DirectX программы в которой клинтские части могут двигать звезду на серверной части... Короче это вместо окна любой игры на Windows (поддерживающая directx 9,10,11).рис.1Техническая форма трейнерарис.2Скачать .CETRAINERCenterMessageInGame.rarКак разобраться в моём скрипте.Сначала посмотрим на него целиком через редактор Notpad++isD3dhook_initializeHook = falseisTimerShowingMessageInGameMenu = falsefunction OnCloseClick(sender) closeCE() return caFreeendtrainerForm = createForm()form_onClose(trainerForm, OnCloseClick)control_setCaption(trainerForm, 'Trainer Form v1.0 (in game message)')form_centerScreen(trainerForm)exitBtn = createButton(trainerForm)control_setCaption(exitBtn, 'Exit')control_onClick(exitBtn, OnCloseClick)control_setSize(exitBtn, 200, 70)control_setPosition(exitBtn, 62, 130)labelCaption1 = createLabel(trainerForm)control_setCaption(labelCaption1, 'Press in game: CTRL + 1')control_setPosition(labelCaption1, 62, 30)form_show(trainerForm)autoAttachList = getAutoAttachList()stringlist_add(autoAttachList, processName);function onOpenProcess(processid) if not isD3dhook_initializeHook then reinitializeSymbolhandler() d3dhook_initializeHook() isD3dhook_initializeHook = true ShowMessageInGame('GAMEHACKLAB Present', 400, 100, 2) endendfunction OnTickTimerShowingMessageInGameMenu(senderTimer) timer_setEnabled(senderTimer, false) object_destroy(senderTimer) object_destroy(displayedTextObject) object_destroy(fontmap) object_destroy(font) isTimerShowingMessageInGameMenu = falseendfunction ShowMessageInGame(stringMessage, fontWidthTextContainer, fontHeightTextContainer, timeShowing) font = createFont() font_setSize(font, 24) font_setColor(font,0x0000ff) --red rgb fontmap = d3dhook_createFontmap(font) displayedTextObject = d3dhook_createTextContainer(fontmap, fontWidthTextContainer, fontHeightTextContainer, stringMessage ) d3dhook_renderobject_setY(displayedTextObject, -1) d3dhook_renderobject_setX(displayedTextObject, -1) messageTimer = createTimer(nil, false) timer_setInterval(messageTimer, timeShowing * 1000) timer_onTimer(messageTimer, OnTickTimerShowingMessageInGameMenu) timer_setEnabled(messageTimer, true) isTimerShowingMessageInGameMenu = trueendpressCount = 0function OnKeyPressSomeActivate() if not isTimerShowingMessageInGameMenu then pressCount = pressCount + 1 ShowMessageInGame('Message count №'..pressCount..' !', 400, 100, 2) endendcreateHotkey(OnKeyPressSomeActivate, VK_CONTROL, VK_1)processName = 'Trainer.exe'Код создаёт техническую форму трейнера и начитает искать процесс Trainer.exeКод создаёт ХотКей комбинацию горячих клавиш (см. [1*])Когда код находит процесс, то код проводит инициализацию DirectX хука.Затем показывается сообщение GAMEHACKLAB PresentТеперь если нажали на комбинацию клавиш, то видим другое сообщение и его счётчикМы не можем теперь вывести другое сообщение пока старое не пропадёт.Если старое сообщение пропало, то теперь можно вывести новое.Более подробное ищите информацию по функциям.Важное дополнения после статьи.[1*] Я увидел, что создаю хоткей независимо от того нашёлся процесс или нет. Поэтому нужно создавать его после иницилазации DirectX хука Ссылка на комментарий Поделиться на другие сайты Поделиться
Vlad2 Опубликовано 19 мая, 2014 Поделиться Опубликовано 19 мая, 2014 Не работает не в одной из игр, подскажите правильный алгоритм использования Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения