Создаем простого бота для Point Blank + Исходники некоторых макросов [C#]
Добрый день.
В данной статье пойдет речь о том, как сделать Бота для ПБ. + Макросы (об этом отдельно потом)
Что нам потребуется :
Microsoft Visual Studio 2010
Easy Macro Recorder 4.2 (Прикреплен во вложении) // [Ссылки могут видеть только зарегистрированные пользователи. ] Очень плохой 31 / 42. Мой аваст не ругается, если боитесь - Поищите в другом месте. Гугл поможет
Желание
И так, всем иногда приходила в голову идея сделать "бота", который за вас бы качался. Да, есть определенные программы, которые заменяют ниже мною написанное, но у нас будет возможность настраивать данный бот "как хочешь", можно всякие возможности добавить. Т.е мы будем подстраивать под себя.
Первая часть.
Мы хотим, что бы данный бот делал движения мышкой + управлял нажатием клавиш.
Для управлением мышкой нам потребуется идентификатор окна, в котором будет управление.
Я не стал замарачиваться с поиском окна. К тому же, фрост скрывает его, хоть и есть несколько способов обойти это, я решил пойти намного легким путем.
Я создал фейковое окно. Создал форму, положил панель1 на форму, сделал прозрачным центр и установил положение окна при включении - Maximized.
Детально все описывать не буду. Готовый проект находится во вложении (под названием - "Тест.rar")
Вторая часть.
Добавляем в файле Form1.cs ссылки на библиотеку:
Код:
using System.Runtime.InteropServices;
Теперь чуть ниже вставляем:
Код:
public static int MAKELONG(int x, int y)
{
return (x & 0xffff) | ((y & 0xffff) << 16);
}
//SendMessage - отправляет сообщение для приложения (окна).
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
static int GetParamFromButton(MouseButtons btn)
{
switch (btn)
{
case MouseButtons.Left: return 0x0001;
case MouseButtons.Middle: return 0x0010;
case MouseButtons.Right: return 0x0002;
default: throw new Win32Exception("Невозможно преобразовать значение!");
}
}
public static void MouseClick(IntPtr hWnd, MouseButtons btn, int x, int y , int Sleep)
{
int xyPoint = MAKELONG(x, y);
int wParam = GetParamFromButton(btn);
SendMessage(hWnd, (int)btn, wParam, xyPoint);
System.Threading.Thread.Sleep(Sleep);
SendMessage(hWnd, (int)btn + 1, wParam, xyPoint);
}
void KeysPress(string key,int sleep)
{
SendKeys.Send(key);
System.Threading.Thread.Sleep(sleep);
// SendKeys.Send(key);
}
Теперь мы можем управлять мышкой и нажатием клавиши мышки.
Еще ниже после этого как вставили предыдущий код, вставляем:
Код:
[DllImport("user32.dll")]
public static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, int dwExtraInfo);
private const int WM_KEYUP = 0x0002;//Отжимает клавишу
private const int WM_KEYDOWN = 0x0001;//Нажимает клавишу
Вот теперь, мы можем управлять не только мышкой, но еще и клавиатурой.
Третья часть.
Скачиваем из вложения программку "Easy Macro Recorder 4.2 + (в архиве находится кряк)".
Устанавливаем, запускаем, регистрируемся.
Устанавливаем софт клавиши для управления
[Ссылки могут видеть только зарегистрированные пользователи. ]
1. - Софт клавиша для записи
2. - Софт клавиша для остановки записи.
3. - Ок, сохраняет
Записываем то, что хотите, что бы потом бот повторял.
Затем, сохраняем файл с макросом и открываем его через "блокнот". Видим вот такое:
где :
MouseMove 1273,561 - движение мышки до позиции (X = 1273, Y = 561)
Wait 16 - 16 миллисекунд ничего не делается.
KeyDown j - зажатие клавиши j
Wait 140 - продолжительность действия (в миллисекундах)
KeyUp j - отжатие клавиши (прекращает нажатие).
Немного разобравшись мы сможем понять, что каждое нажатие клавиши - состоит из 3х действий
Макроса от Easy Macro Recorder , который делает два действия - это переводит мышку по координатам X,Y и нажимает клавишу левой кнопки мыши (1 секунду = 1000 миллисекунд) :
Код:
LButtonUp 867,714
Wait 234
LButtonDown 867,714
где 867,714 - координаты 234 - продолжительность зажатия левой кнопки мыши (в миллисекундах)
где 867 - координаты по оси X. 714 - координаты по оси Y. 234 - задержка в миллисекундах. panel1.Handle - Идентификатор окна.
Вот такое будет управление мышью.
Управление клавиатурой:
Опять же думаю, показать на примере.
В Easy Macro Recorder будет выглядеть так:
Код:
KeyDown n
Wait 78
KeyUp n
Опять все объяснять не буду, читайте выше.
в C#:
Код:
KeysPress("N",78);
С этим я думаю разобрались.
Теперь поговорим о фросте и его способности - "скрывать окно".
Для этого, я в начале темы и затронул эту тему. Но это все решено
вставляем в файл "Form1.cs":
Код:
public static FormFakeWindow Ffw = new FormFakeWindow();
Затем открываем файл "FormFakeWindow.Designer.cs" и изменяем приватность panel1 на "public".
После этого, можем вставлять в функции вот это:
Макросы будет легко сделать с помощью данной статьи.
Ничего рассказывать не буду, просто вот выложу сорец некоторых макросо, которые я написал недавно. (Если у вас есть фантазия подскажите мне какой еще макрос можно сделать).
Исходник триггер бота вот из этой темы : ТыК
Находится в вложениях (Название - "TrigerBot [Source].rar"), VirusTotal на исходные файлы не делаются. А исполняемых файлов там нету.
Исходник макроса. Данный макрос удобен для снаперов, при нажатии левой кнопки мыши нажимаются QQ (быстрая смена оружия). Скачать можно в вложении (Название - "Макрос [Source].rar")
Вот и все, если будет что нибудь не понятно (а это 100% инфа ) задавайте в ЛС, ICQ - 645555544 или же ниже в теме.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Последний раз редактировалось Skilful; 26.04.2012 в 13:09.
Re: Создаем простого бота для Point Blank + Исходники некоторых макросов [C#]
Цитата:
Сообщение от pwnzloled
Эту массу файлов нужно упаковать в .ехе файл? Есле да, то как?
Не упаковывать, а Компилировать. А файлы - только проекта, а там не много их.
А если ты насчет файлов Easy Macro Recorder, то их не нужно упаковывать, их нужно только посмотреть и переделать в c# вид. Я первом посте я все написал. Если будут дополнительные вопросы - пишите в ЛС или ICQ.
Цитата:
Сообщение от pro100ni
просто вставь макрос в Easy Macro Recorder 4.2
вставить макрос в сам макрос? Нужно переделывать в c# вид.
В макросе от Easy Macro Recorder каждое действие по 5 строк в c# замещается одной.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Re: Создаем простого бота для Point Blank + Исходники некоторых макросов [C#]
Цитата:
Сообщение от Getsuga =)
На макросы вроде не распространяется, а вот для триггер бота, нужно.
Цитата:
Сообщение от Web-Net7
Если я еще все не позабыл то чтобы работали макросы и тд нужно открыть процесс pointblank.exe. Или винду х64
Цитата:
Сообщение от pwnzloled
и в окне не работает. я хз короче.
Во первых, если вы хотите сделать бота и играете в оконном режиме - у вас не получится.
Во вторых здесь не нужно будет ничего открывать (хоть в макросе, хоть в самом тригерботе).
Еслиб требовалось это, я бы указал в 1 посту.
И для бота не нужно будет. Т.к мы специально создавали файковое окно (для вычесления ид окна).
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Re: Создаем простого бота для Point Blank + Исходники некоторых макросов [C#]
Mathers, можешь доработать макрос для снайперов? а то он совсем не работает... на Ctrl+F1 если нажать,то ничего не происходит и на Ctrl+F3, ничего не выскакиевает....
я сам в С# ничего не понимаю,так что можешь помочь?
Последний раз редактировалось krenovut; 27.04.2012 в 21:16.
Re: Создаем простого бота для Point Blank + Исходники некоторых макросов [C#]
Ребят, остались ли ещё способы программно нажать клавишу? Уже что только не пробовал - SendKey, SendInput, SendMessage и несколько других WinApi методов - Говнофрост всё палит и игнорит это дело. Если кто-то знает как обойти это - скажите, пожалуйста.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).