Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

Ответ
 
Опции темы
Старый 31.01.2011, 21:45   #1
 Сержант
Аватар для Cherinho
 
Cherinho на правильном путиCherinho на правильном пути
Регистрация: 20.09.2010
Сообщений: 106
Популярность: 172
Золото Zhyk.Ru: 50
Сказал(а) спасибо: 17
Поблагодарили 82 раз(а) в 50 сообщениях
Отправить сообщение для Cherinho с помощью ICQ
 
По умолчанию Создание бота на C#

Создание бота для браузерной игры на C#
Итак,в связи с часто возникающими вопросами по поводу того,как сделать бота,решил написать этот гайд.В нем я научу создавать бота для браузерных игр на примере бота для игры "Кактусомания" Вконтакте.
Требования для создания бота:
  • Microsoft Visual Studio 2010(в данном гайде я использовал именно ее,хотя можно и более ранние версии)
  • Начальные знания программирования
  • Прямые руки
  • Желание узнать новое
Процесс создания:
  1. Открываем Visual Studio и создаем новый проект

    В поле "Имя" вписываем любое имя,которое вам нравиться.В поле "Расположение" выберите местоположение вашего будущего проекта.Нажимаем кнопку "ОК"
  2. После нажатия кнопки "ок" появится дизайнер нашего приложения(в данном случае бота):

    так сейчас выглядит наше приложение.Можете потягать за уголочки,поменять размерЕще можно перейти во вкладку "Свойства" и посмотреть/поменять различные свойства нашего приложения
  3. Теперь давайте добавим кнопочку на наше приложение.Для этого в левой части Visual Studio откройте кладку "Панель инструментов" и найдите там элемент "button"

    Перетащите его на нашу форму,и во вкладке "Свойства" найдите поле "Техт" и напишите что-то осмысленное там

    В результате текст на кнопке у вас поменяется на написанный
  4. Так,с дизайнером покончено,перейдем к коду.Давайте клацнем в дизайнере по только что созданной нами кнопке 2 раза(это значит,что мы добавили обработчик события нажатия левой кнопки мыши на нашу кнопку).Если все сделано правильно,то очутимся мы в редакторе кода
  5. Сверху,где у нас написанны подключенные неймспейсы,давайте допишем еще один: System.Net
    Код:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Net;
  6. Теперь приступим к самому главному.Давайте немного теории.Как работает браузерная игра?Ну кочнечно же общаясь со своим сервером пост- и гет-запросами.В данном случае(напомню,что бот под игру "Кактусомания") игра с сервером общается посредством пост-запросов.Поэтому код будем адаптировать под пост-запросы серверу.Итак,перейдем в функцию button1_Click(если вы меняли свойство "Name"(не "Text",а именно "Name"),то название функции может быть другим,но суффикс _Click останется в любом случае)

    и добавим туда следующий код:
    Код:
                // Формируем строку с параметрами
                //Кактус 
                String secondStepForm = "type=1&viewer_id=ваш_айди&authkey=ваш_аутхкей&rand=1295814819207&invite=количество_друзей_в_приложении";
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://vkontakteapp.ru/kaktus/item.php");
                // Настраиваем параметры запроса
                request.UserAgent = "Opera/9.80";
                request.Method = "POST";
                // Указываем тип отправляемых данных
                request.ContentType = "application/x-www-form-urlencoded";
                // Преобразуем данные к соответствующую кодировку
                byte[] EncodedPostParams = Encoding.ASCII.GetBytes(secondStepForm);
                request.ContentLength = EncodedPostParams.Length;
                // Записываем данные в поток
                request.GetRequestStream().Write(EncodedPostParams, 0, EncodedPostParams.Length);
                request.GetRequestStream().Close();
    Собственно говоря,комментарии в коде присутствуют довольно подробные,но обращу ваше внимание на 2 строчки:
    1.HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://vkontakteapp.ru/kaktus/item.php"); - это строка,URL,на который идет пост-запрос.Получить ее можно,нажав ПКМ в Charles на нужном пакете,и нажав Copy URL

    2.String secondStepForm = "type=1&viewer_id=ваш_айди&authkey=ваш_аутхкей&ran d=1295814819207&invite=количество_друзей_в_приложе нии"; - это наши многоуважаемые параметры ,посылаемые в пост-запросе.Получить их можно нажав ПКМ в Charles на нужном пакете,и нажав Copy Request

    В данном примере мы не получаем ответа от сервера,но если требуется получить ответ,то дописываем снизу следующий код:
    Код:
    // Получаем ответ
                //HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                // Получаем html-код страницы
                //string html = new StreamReader(response.GetResponseStream(),Encoding.UTF8).ReadToEnd();
                //MessageBox.Show(html);
  7. Нажимаем F5.Все,бот готов
Итак,на примере игры Кактусомания мы,надеюсь,научились создавать ботов для браузерных игр.Этот бот абсолютно не функционален,в нем я хотел всего лишь показать азы создания ботаВключив фантазию,данного бота можно развить в что-то стоящееВсе зависит только от вас.Спасибо за внимание,все вопросы в теме...
P.S:данный пример ищите во вложениях
Cherinho (C) 2011
Special for Zhyk.ru
Вложения
Тип файла: rar TestBot.rar (36.8 Кб, 580 просмотров)

Последний раз редактировалось Cherinho; 03.02.2011 в 01:39.
  Ответить с цитированием
13 пользователя(ей) сказали cпасибо:
●DreN● (30.06.2011), .AsTex. (14.02.2011), crazy613ii (17.03.2012), cunt85 (31.01.2011), fireridlle (04.02.2011), Gamer1912 (02.01.2012), hommyone (23.03.2011), iamzero (08.06.2013), Nickitee (31.01.2011), object (08.02.2011), Shook† (07.01.2012), TeedI (01.02.2011), XRASER (25.03.2011)
Старый 31.01.2011, 22:45   #2
Читер-спонсор
 Рыцарь-защитник
Аватар для Nickitee
 
Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(
Регистрация: 28.08.2009
Сообщений: 603
Популярность: 19129
Золото Zhyk.Ru: 500
Сказал(а) спасибо: 84
Поблагодарили 602 раз(а) в 321 сообщениях
 
По умолчанию Re: Создание бота на C#

Молодец, но есть ещё легче способ.
Но вилка говорит не вылаживать код.
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
  Ответить с цитированием
Пользователь сказал cпасибо:
OnSidePB (12.03.2011)
Старый 01.02.2011, 01:55   #3
 Сержант
Аватар для Cherinho
 
Cherinho на правильном путиCherinho на правильном пути
Регистрация: 20.09.2010
Сообщений: 106
Популярность: 172
Золото Zhyk.Ru: 50
Сказал(а) спасибо: 17
Поблагодарили 82 раз(а) в 50 сообщениях
Отправить сообщение для Cherinho с помощью ICQ
 
По умолчанию Re: Создание бота на C#

Есть много способов легче)Разные языки-разные способы,разные требования к моску)
P.S.:а вилка,наскока я знаю,пишет на Delphi.Может там и легче

Последний раз редактировалось Cherinho; 01.02.2011 в 11:13.
  Ответить с цитированием
Старый 01.02.2011, 18:06   #4
Читер-спонсор
 Рыцарь-защитник
Аватар для Nickitee
 
Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(Nickitee сломал счётчик популярности :(
Регистрация: 28.08.2009
Сообщений: 603
Популярность: 19129
Золото Zhyk.Ru: 500
Сказал(а) спасибо: 84
Поблагодарили 602 раз(а) в 321 сообщениях
 
По умолчанию Re: Создание бота на C#

Цитата:
Сообщение от CherinhoПосмотреть сообщение
Есть много способов легче)Разные языки-разные способы,разные требования к моску)
P.S.:а вилка,наскока я знаю,пишет на Delphi.Может там и легче

C# Не хотел?
А способ второй тоже на C#.
Только там кода меньше.
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
  Ответить с цитированием
Старый 01.02.2011, 18:51   #5
 Сержант
Аватар для Cherinho
 
Cherinho на правильном путиCherinho на правильном пути
Регистрация: 20.09.2010
Сообщений: 106
Популярность: 172
Золото Zhyk.Ru: 50
Сказал(а) спасибо: 17
Поблагодарили 82 раз(а) в 50 сообщениях
Отправить сообщение для Cherinho с помощью ICQ
 
По умолчанию Re: Создание бота на C#

Цитата:
Сообщение от NickiteeПосмотреть сообщение
C# Не хотел?
А способ второй тоже на C#.
Только там кода меньше.

ну c# так c#,мне-то какая разница
та вообще способов отправки пост-запросов куча,здесь показан только лишь один из них
п.с:уважаемые модеры,а че это первая картинка поменялась?)
  Ответить с цитированием
Старый 03.02.2011, 18:05   #6
 Разведчик
Аватар для fireridlle
 
fireridlle никому не известный тип
Регистрация: 05.04.2010
Сообщений: 25
Популярность: 16
Сказал(а) спасибо: 29
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Создание бота на C#

дописал код что бы получить ответ от сервера. вот такая ошибка:

Ошибка 1 Не удалось найти имя типа или пространства имен "StreamReader" (пропущена директива using или ссылка на сборку?) C:\Users\Ridlle\Documents\Visual Studio 2010\Projects\bot_for_prison\bot_for_prison\Form1. cs 51 31 bot_for_prison

Еще подскажите как отобразить в проге количество папирирос. по идеи в ответе должно быть указано
  Ответить с цитированием
Старый 03.02.2011, 20:01   #7
 Сержант
Аватар для Cherinho
 
Cherinho на правильном путиCherinho на правильном пути
Регистрация: 20.09.2010
Сообщений: 106
Популярность: 172
Золото Zhyk.Ru: 50
Сказал(а) спасибо: 17
Поблагодарили 82 раз(а) в 50 сообщениях
Отправить сообщение для Cherinho с помощью ICQ
 
По умолчанию Re: Создание бота на C#

Цитата:
Сообщение от fireridlleПосмотреть сообщение
дописал код что бы получить ответ от сервера. вот такая ошибка:

Ошибка 1 Не удалось найти имя типа или пространства имен "StreamReader" (пропущена директива using или ссылка на сборку?) C:\Users\Ridlle\Documents\Visual Studio 2010\Projects\bot_for_prison\bot_for_prison\Form1. cs 51 31 bot_for_prison

да,сори,забыл об этом сказать
там,где подключаешь неймспейсы(using System...) допиши using System.IO;


Цитата:
Сообщение от fireridlleПосмотреть сообщение
Еще подскажите как отобразить в проге количество папирирос. по идеи в ответе должно быть указано

да,количество папирос в каком-то ответе приходят.в каком именно-можешь в charles посмотреть

Последний раз редактировалось Cherinho; 03.02.2011 в 20:12.
  Ответить с цитированием
Пользователь сказал cпасибо:
fireridlle (04.02.2011)
Старый 04.02.2011, 08:20   #8
 Разведчик
Аватар для fireridlle
 
fireridlle никому не известный тип
Регистрация: 05.04.2010
Сообщений: 25
Популярность: 16
Сказал(а) спасибо: 29
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Создание бота на C#

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

вот тут http://zhyk.ru/forum/showthread.php?t=155919 еще вопрос. если можешь помоги

Последний раз редактировалось fireridlle; 04.02.2011 в 08:26.
  Ответить с цитированием
Старый 04.02.2011, 15:26   #9
 Сержант
Аватар для Cherinho
 
Cherinho на правильном путиCherinho на правильном пути
Регистрация: 20.09.2010
Сообщений: 106
Популярность: 172
Золото Zhyk.Ru: 50
Сказал(а) спасибо: 17
Поблагодарили 82 раз(а) в 50 сообщениях
Отправить сообщение для Cherinho с помощью ICQ
 
По умолчанию Re: Создание бота на C#

можешь лейбл и рядом тоже лейбл ставить,т.к. кол-во пааирос тебе менять не обязательно же)
программно текст в элементе меняется следующим образом
Код:
element.text="твоя строка";
где element - это имя твоего элемента.это во многих элементах так меняется текст,но не во всех
в конкретно твоем случае можно сделать так:
получаем ответ сервера,записываем его в строку.далее из этой строки выдираем количество папирос.а потом
Код:
label1.Text = "твоя строка с кол-вом папирос"
и все должно получиться
  Ответить с цитированием
Старый 04.02.2011, 16:10   #10
 Разведчик
Аватар для fireridlle
 
fireridlle никому не известный тип
Регистрация: 05.04.2010
Сообщений: 25
Популярность: 16
Сказал(а) спасибо: 29
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Создание бота на C#

а как выдернуть из ответа количество?
  Ответить с цитированием
Старый 04.02.2011, 16:50   #11
 Сержант
Аватар для Cherinho
 
Cherinho на правильном путиCherinho на правильном пути
Регистрация: 20.09.2010
Сообщений: 106
Популярность: 172
Золото Zhyk.Ru: 50
Сказал(а) спасибо: 17
Поблагодарили 82 раз(а) в 50 сообщениях
Отправить сообщение для Cherinho с помощью ICQ
 
По умолчанию Re: Создание бота на C#

проще всего это сделать стандартными методами разбора строки
например:
Код:
string str="hello world";
str=str.Substring(3,5);
данный пример вернет тебе "lo wo"
есть куча методов при работе со строками.[Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Пользователь сказал cпасибо:
fireridlle (04.02.2011)
Старый 04.02.2011, 19:17   #12
 Разведчик
Аватар для fireridlle
 
fireridlle никому не известный тип
Регистрация: 05.04.2010
Сообщений: 25
Популярность: 16
Сказал(а) спасибо: 29
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Создание бота на C#

а можно просто вытянуть значение между тегами?а то количество папирос у всех разное, соответственно длина записи тоже разная. например у меня 10000 а у когото 10
  Ответить с цитированием
Старый 04.02.2011, 19:19   #13
 Сержант
Аватар для Cherinho
 
Cherinho на правильном путиCherinho на правильном пути
Регистрация: 20.09.2010
Сообщений: 106
Популярность: 172
Золото Zhyk.Ru: 50
Сказал(а) спасибо: 17
Поблагодарили 82 раз(а) в 50 сообщениях
Отправить сообщение для Cherinho с помощью ICQ
 
По умолчанию Re: Создание бота на C#

можно конечно.все,что хочешь из строки можешь вытянуть)
я ж дал ссылку на описание методов,которыми можно пользоваться.там найдешь все нужное
  Ответить с цитированием
Старый 06.02.2011, 23:51   #14
 Разведчик
Аватар для bohdan09
 
bohdan09 на правильном пути
Регистрация: 10.01.2011
Сообщений: 21
Популярность: 43
Сказал(а) спасибо: 78
Поблагодарили 45 раз(а) в 13 сообщениях
 
По умолчанию Re: Создание бота на C#

Тема суперская, БОЛЬШОЙ РЕСПЕКТ!!!!!!!!!!ОЧЕНЬ ОЧЕНЬ БОЛЬШОЙ !!!!!!!!!!=))))))))))))))))))))))))) Оч понравилась. Этим способом можно вытягивать идишники с приложений 2 левела и вставлять через чарлез, или также написать прогу для вставки идишников.
ЖДУ ПРОДОЛЖЕНИЯ УРОКОВ!!!


Последний раз редактировалось bohdan09; 06.02.2011 в 23:56.
  Ответить с цитированием
Старый 07.02.2011, 02:35   #15
 Разведчик
Аватар для Attos
 
Attos никому не известный тип
Регистрация: 07.02.2011
Сообщений: 2
Популярность: 14
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 1 сообщении
 
По умолчанию Re: Создание бота на C#

Спасибо большое за урок! Это как раз то что искал!
Не зря зарегился
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Руководство] Создание бота для PW. Часть 1. C# version Kitsune C# 22 09.12.2015 12:46
[Руководство] Создание бота в AutoIt Часть 1 KlouS Школа Читера 4 09.09.2014 17:57
[Руководство] создание скрипта WP для бота IBot booot Dark Orbit 10 14.10.2010 11:12
[Помогите!] создание вх xmaxm Общение и обсуждение, архив Point Blank 4 07.08.2010 04:18

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 04:00.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net