Перейти к содержанию

pachela

Пользователи
  • Постов

    154
  • Зарегистрирован

  • Посещение

Весь контент pachela

  1. А как это на работе пользователя повлияет? Будет ли мешать мне, к примеру работать в VS или лазить в браузере по ютубам и вконтактам? Приблизительно это будет так: API FindWindow, GetForegroundWindow, SetForegroundWindow. Узнаем дескриптор уже активного окна, узнаем дескриптор окна мишени, устанавливаем фокус на окно мишень, эмулируем нажатие клавиш и возвращаем фокус на прошлое активное окно. Правильно?
  2. Даже в режиме оптимизации игра тянет слишком много ресурсов. Но ни это главное. Я тут вспомнил, Что совсем недавно видел уже видео с подобным ботом, там вот китаец реализовал то, что я хочу. Даже в свернутой игре, бот выполняет все поставленные задачи. Возможно он через драйвер это решил?
  3. На просторах интернет вычитал, что если игра защищена чем то вроде "фемиды", то эмуляция клавиш в фоновом режиме ей до одного места. А точнее речь идет не столько о самой фемиде, а о том, что современные ММО ставят проверку на фокус окна? Т.е. если я пробую тем же AHK или AutoIT и у меня в активном окне кликер работает, а в свернутом нет, то дальше и не мучить яйца, кота, мозги и Шарп, в попытках заставить слать клики в свернутое приложение? P.s. Пардоньте за кашу, на ногах уже кучу времени, голова стремительно клонится к подушке.
  4. Нашел еще вот такой вот ответ, но то ли я сонный, то ли лыжи не едут, не пойму, что к чему.
  5. Походу я не загружаю API нужную. Ибо все у меня красное =\. Можно как нибудь кратно, без лишней воды, но так, что бы было доходчиво, объяснить как эмулировать нажатие клавиши в фоновом приложении, без перенесения на него фокуса. В гугле доходчивых и полноценных примеров нет. Одни куски, которые ни чему умному научить не могут. Нажатие в окне на котором фокус, у меня получилось и то, только с бубном в виде InputSimulator private void button15_Click(object sender, EventArgs e) { inputSimulator.Keyboard.KeyPress(VirtualKeyCode.VK_R); } Но мне нужно, что бы клавиши клацались в окне без фокуса! Что бы свернул и ушел, а оно работает.
  6. Я очень дико извиняюсь, вернулся работать над ботом и дошел до стадии эмуляции клавиш. Увидел вашу ссылочку, а можно теперь для тугодума рассосать каждую строчку? public static void Send(short Keycode) { INPUT[] InputData = new INPUT[1]; InputData[0].type = 1; InputData[0].ki.wScan = Keycode; InputData[0].ki.dwFlags = KEYEVENTF_KEYUP | KEYEVENTF_SCANCODE; InputData[0].ki.time = 0; InputData[0].ki.dwExtraInfo = IntPtr.Zero; SendInput(1, InputData, Marshal.SizeOf(typeof(INPUT))); } по ссылке, вижу ниже комментарий, который гласит, что нужно сначала слать нажатие клавиши, потом отпускание, с небольшой паузой, как это реализуется или просто сначала KeyDown а затем KeyUp? Как я понимаю, это отправка в активное окно? Или в фоновое тоже можно?
  7. Так, почему была ошибка в OpenProcess, я понял. Просто почему то опечатался и ввел одинарные кавычки. это поправили и теперь код отчасти работает. Начало просто постоянно выдавать ошибку про время ожидания для присоединения отладчика. Если клацнуть НЕТ, то значение все равно напишет, НО игра через пару секунд вылетает... В игре античит защищает память от API. Может таким образом отладчик использует это самое API?
  8. Почему все время выдает вот такую вот ошибку? И вот что выдает еще, этого не выдавало... openProcess('myproc.exe') debugProcess(2) local addressCode = 'myproc.exe+D4BC13' debug_setBreakpoint(addressCode) print(RCX) s = string.format("%08X", RCX) print(s) debug_removeBreakpoint(addressCode) writeToClipboard(s) Ошибка:[string "openProcess('myproc.exe') ..."]:6: bad argument #2 to 'format' (number expected, got nil) Ошибка скрипта П.С. Я когда спрашивал про создание трейнера без формы, то имел ввиду в CE =). В шарпе это не проблема, проблема в шарпе отладку сделать, я этого еще не умею.
  9. Временно решил проблему в Lua Engine (нужно будет перенести в Lua или реализовать как то трейнер =)) вот таким вот кодом: А в Шарпе я беру с Буфера обмена, добавляю смещение и имею, то что хочу. Но это пока, что для развития, вообще нужно будет думать как это сделать в Шарпе. Подскажите еще вот что, как сделать форму трейнера или вообще трейнер, что бы при запуске не отображалось окно? Ну типа запустил, оно в фоне клацнуло и закрылось.
  10. Собственно задача заключается в следующем: 1. Есть инструкция "movss [rcx+00000378],xmm0" которая располагается по статическому адресу. 2. Мне нужно по средством CE, желательно LUA, что бы можно было использовать в дальнейшем трейнере, прочитать содержимое регистра RCX. 3. К этому значению прибавить 378. 4. Значение RCX записать в переменную 1, значение со смещением записать в переменную 2. P.s. На C# это сложно реализовать?
  11. тут бы не споткнуться через порог, а об чудесах эквилибристики я молчу и подавно. Да и зачем на столько заморачиваться, если можно сделать хождение по точкам. Сейчас пока что мучаю форму с лист боксом, сохранением результата в тхт и циклами. Но в ближайшем будущем я хочу организовать автозапись в лист бокс координат, через каждые 10 метров. А потом воспроизведение записи по этим точкам и воспроизведение в обратном порядке. Но пока что застрял на цикле поворота и отмера растояния до цели. А в дальних планах еще и до передвижения добавить боевку. Но вот с эмуляцией нажатий в Шарпе, я еще не знаком. Так что все по мере поступления.
  12. Такс, имеем результат! Перво наперво хочу сказать, что приходится дабл преобразовывать в флоат. Но так, как я использую при записи в память стороннюю библиотеку, в которой запись происходит как стринг, то проблем не возникает =). Вся запарка была в сторонах! Ведь у меня есть поворот тела от 0 до 6.28 и нет отрицательного числа. И наличие отрицательного числа, меня путало =). Так же в примере мы переводили градусы в радианты угол, а не полученное значение. Имею вот такой вот код, это если вдруг понадобится кому. Возможно где и косякнул, но вроде бы пашет =)
  13. Повылазили косячки, повылазали родные. Что то да делается не так. Значение всегда в районе 0.8-0.7. Я так подозреваю, что возможно дело все в мат.методе? Я использую Метод Math.Atan (Double). Сейчас пойду покушаю, сварю кофейку и еще немного покурю. Если ниче не выйдет, выложу сюда то, что есть.
  14. Игра на своем движке. И что либо с ней делать, очень тяжело. Всяких защит тут понавешали, мама не горюй =))
  15. Из-за того, что я в С++ вообще не бумбум, но вроде бы код предоставленных вами не сильно заморочен, то попытаюсь для начала прочитать его правильно. Под спойлом приведу ваш же код, но уже с добавленными мной комментариями вопросами. Я надеюсь, что хоть приблизительно понял код правильно =)
  16. Прочитал ваш пример и теоретически понял его. Осталось перевести в Шарп. Я правильно понял, что float CalcRadians(float angle) { // Возвращаем в радианы angle = angle / 57.29578; return angle; } Вот этот вот "angle" мы впишем в адрес содержащий "6.28"? Т.е. вот этот вот 6.28 и есть угол, который нам нужно изменить?
  17. Я вот сижу и думаю, на сколько я вчера сильно протупил? Камеру в игре можно поворачивать на 360 градусов по горизонтали и на 180 градусов по вертикали. Почитал я статейку от немца Алекса, любезно порекомендованную вот в этом посте товарищем 2zolo2, и мне она понравилась. Но только тяжковато воспринимается немецкий даже с переводом =). Теперь вот буду думать как вычислить "идеальный угол" =). Не. Не 6.14, если я правильно понял что пишет программа, то это xmm4:6.27
  18. Вот это вот сложнее вычислить. Хотя у меня есть адрес отвечающий за поворот "тела". Так вот оно от 0 и до 6 в float.
  19. Угол обзора это же FOV? Если так, то это 70. А вот в чем измеряется, вот даже я не знаю, нигде не написано, тупо значение и все.
  20. Ой. Тут бы сейчас на велосипеде научиться кататься, а за баранку боинга я даже и не думаю. Пока что пытаюсь реализовать сравнение 2 значений. Теперешний и последний вектора. И если значение теперешнего будет больше, то делать поворот. Пока что попробую так. ДАльше будем смотреть. В игре то есть маркер и автопуть, но не всегда этот автопуть кратчайший, да и в небе он не нужен =))). А маркер в некоторых ситуациях перестает работать и именно для этих ситуаций и нужен бот.
  21. я подозреваю, что руками тогда будет проще бежать =). Хочется же тыкнуть одну кнопку и идти пить чай. А он себе летит к нужной точке, а потом мягкая посадочка =))) Нашел сейчас вот такой вот ответ, но пока что еще не придумал ему применения =)
  22. Давайте разберемся для начала с прямой, без каких либо препятствий. Я вот что подумал, может стоит сравнивать 2 вектора, что бы бот повернул в правильном направлении? Ну т.е. запускаю кнопку и бот едет вперед 20 метров, записывает координаты старта и координаты финиша. Строит вектор и умножает это все в 500-1000 раз. А далее бот сравнивает эти 2 вектора и принимает решение, поворачивать или идти прямо. Или я не в те дебри лезу?
  23. Такс, сейчас опробовал это на практике и вижу, что я понял ход ваших мыслей. Мы берем в цикле считываем X0, Y0, Z0 и вычисляем вектор. Далее делаем сравнение, если вектор увеличивается, то нужно "повернуть", если вектор уменьшатся, то значит правильным путем мы идем. Но вот как оптимально выбрать самый кратчайший путь? Ведь я могу к примеру повернуть на 5 градусов и до поры, до времени значение будет уменьшаться и только когда угол станет слишком большой, начнет сначала слишком медленно уменьшаться, а в конечном итоге и увеличиваться.
  24. Ну мы же говорим о читах? Тем более в которых используется ось Z. Т.е. я планирую делать так: Перешел на определенную высоту и дальше по прямой до точки "А", а потом сбрасываем высоту. Нашел на просторах гугла, что этот математический метод для вычисления корня квадратного. А тем самым мы получим расстояние. Пример вот такой вот float deltaX = x1 - x0; float deltaY = y1 - y0; float deltaZ = z1 - z0; float distance = (float) Math.Sqrt(deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ); Хорошо, мы вычислим расстояние. Но как нам повернуть в нужную сторону и двигаться? Ведь я знаю координаты точки "А", но не знаю в какой стороне она находится.
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.