Думаю прежде всего стоит сказать пару слов о себе и своих увлечениях. Зовут меня Роман, я только что закончил 3-й курс, сейчас мне 20 лет, и я увлекаюсь программированием. Стаж программирования в парадигме ООП сравнительно небольшой, лишь 2 года, но текущие успехи меня очень радуют.
Как же я к этому пришел?
В далеком 2010, я, как и многие дети, играл в майнкрафт (ха). Многие моды для него конфликтовали друг с другом и приходилось вручную выбирать какие использовать. Именно тогда я, покопавшись в интернете, и сделал свой первый батник, решавший данную проблему. С того всё и пошло.
Моим телефоном на тот момент была Nokia E71, с ее помощью я начал копаться в начинке мобильных игр. Тогда же увлекся модмейкингом для Java (но я вам не покажу, это cringe).
Позднее, в 2011, я дошел до мода ComputerCraft в котором можно было программировать своих юнитов на языке Lua. Тогда я почувствовал, что действительно создаю что-то своё и это чувство меня зажгло.
Я скачал на свой E71 кривую версию компилятора Basic и начал делать всё, что приходило в голову. Телефон имел qwerty-клавиатуру, чего мне хватало.
Примерно тогда же у меня появился интернет на ПК. Я скачал компилятор паскаля, к нему в довесок учебник для чайников и начал прокачиваться. В то время я залипал мобильную стратегию Uniwar и хотел сделать калькулятор кредитов противника. Это был чистый макаронный код, но я старался.
Где-то в 2013 я открыл для себя SA:MP. А чуть позднее я узнал, что можно программировать свои команды и привязывать их к горячим клавишам через программу AutoHotKey. Некоторое время желание творить я удовлетворял именно в ней.
В 2013 вышло обновление Arms Deal для CS:GO, где я открыл возможность создавать свои конфиги. Это было интересно, так как на серверах CS:Source я часто встречал кодеров, которые скриптами мешали другим играть. Как они это делают я на то время мог лишь догадываться. Когда я понял что к чему, большинство уязвимостей движка было исправлено, но разбираться в синтаксисе консольных команд менее интересно не стало. Далее мои руки дотянулись до Visual Basic и я создал упаковщик конфигов для CS.
Конкретные примеры программ
На первом курсе университета я начал проходить бесплатные интернет-курсы по Java. Примерно поняв что к чему, я разработал своего бота для SA:MP, который парсил файл chatlog.txt. Сначала он умел только в автоматическом режиме заходить на сервер, спамить в чат, подавать объявления, открывая чат и вводя команды. Но вскоре я понял мощь инструментов в своих руках. Я довёл бота до ума и он помогал мне зарабатывать виртуальную валюту на сервере, не совсем честным путём давая мне преимущество во внутриигровых мероприятиях.
Самой популярной программой на Java, насчитавшей тысячи скачиваний, стал AutoLobbySearcher. Он позволял входить в случайные лобби CS:GO, а также отслеживать лобби по профилям.
Некоторое время я занимался программированием под Android. Вот одна из программ для пика и бана карт CS:GO.
Но Java не давала взаимодействовать с памятью. Поэтому летом 2016-го я приобрел учебник по C#. В то же время начал писать в объектно-ориентированном стиле, практиковался в работе с памятью CS:GO. Создал Radarhack, ESP, Triggerbot, Aimbot, но выложить не позволила совесть, ибо играть нужно самостоятельно.
Читы не приветствуем, не продаём и не собираемся. Всё вышеперечисленное разрабатывалось лишь для собственной практики.
А вот софт, позволяющий менять любые строки текста в CS:GO в любой локализации aka Будь смешным, замени текст «Принять» на «Слить катку» на кнопке принятия катыча в мм (да это ж я).
Позднее для сдачи учебной практики я сделал свой искусственный интеллект для игры в «Сапёра». Также он сгодился на роль курсовой по дисциплине «Объектно-ориентированное программирование».
Начиная с августа 2017-го много времени уделял программе NetCrew (временное название), служащей инструментом для SEO оптимизации сайта. Программа сканирует все страницы сайта, ищет SEO-ошибки, а также работает с YaSpeller API. В будущем из программы планирую сделать полноценный коммерческий проект.
Просто потому что я ненавижу себя, запилил инжектор, который использовал для разработки internal-читов на C#.
В заключении
По большей части я использую C# + WPF. Несмотря на малый опыт, мне уже есть чем поделиться. Это я и сделаю в своем блоге. Поэтому прошу не судить строго и, надеюсь, каждый из вас сможет подчерпнуть что-то новое для себя.
Круто, но не так круто как я. Если вам интересно узнать о том, как программировать в Excelе, то заходите в мой блог blog.dimblebee.com.
Больше спасибо за долгожданный блог, я почерпнул большое количество интересной информации, которой ждал все свои неполные 14 лет. Дай Бог тебе здоровья и спасибо, что живой. Пишу из 2018 года, когда Франция — Хорватия 3:1, держу в курсе. Передаю привет маме, папе, сточу и шведу, отрыжки которого не слышал уже очень давно. Целую (no homo) — твой Рома.