Создание скриптов в GTA 5 на C#: c чего начать? Часть первая

12 листопада 2018
Пейдж


Привет. Меня зовут Пейдж. В ближайшее время я буду твоим персональным наставником. Ты хочешь научиться создавать скрипты для GTA 5 на языке C#? Ты пришёл по адресу.
Знай, что я не смогу дать тебе все навыки владения языком. Но не беспокойся, для этого существует множество различных туториалов, книг, видео-лекций. Но как и в случае с иностранными языками, чтобы понять язык программирования, необходимо использовать его на практике. Поэтому мы будем писать с тобой скрипты для GTA 5.
Какие скрипты?
Какие ты захочешь. Только не читерские. Я, конечно, могу взломать любую защиту, но этому учить тебя не буду, хорошо? Мы с тобой займемся скриптами для одиночной игры. Ты познакомишься с внутренним функционалом GTA 5, который довольно обширен. Он настолько огромен, что ещё не был до конца изучен, представляешь?
Но не бойся. Всё, что нужно для создания полноценного мода, уже давно известно. С этим не возникнет никаких проблем.


Прежде, чем приступить, тебе нужен софт. Скачай и установи Visual Studio. Именно в этом редакторе мы создадим с тобой первый скрипт.
Установил? Хорошо, открывай программу. Не пугайся, найди в верхнем углу пункт "Файл" - "Создать" - "Проект". В появившемся окне найди раздел "C#", "Классическое приложение Windows", "Библиотека классов (.NET Framework"). Нажми ОК.

Перед тобой открылась рабочая область и начальные строчки кода. Но к этому мы вернемся позже. В правой колонке найди "Обозреватель решений". Там будет отображаться созданный тобою проект. Найти там пункт "Ссылки", нажми на него правой кнопкой мыши - "Добавить ссылку". Нажми кнопку обзор и добавь файл ScriptHookVDotNet2.dll. Он должен быть установлен у тебя в игре, если ты всё же решил заниматься скриптингом

Так же к проекту необходимо подключить стандартную библиотеку Windows - System.Windows.Forms

Теперь необходимо добавить пространство имен в начало скрипта:
using GTA;using GTA.Native;using GTA.Math;using System;using System.Collections.Generic;using System.Drawing;using System.Reflection;using System.Windows.Forms;

В наш уже готовый код допишем настройки, чтобы наш класс унаследовал GTA.Script:

Теперь добавим в наш код конструктор. Конструктор запускается один раз при запуске игры, поэтому добавляй туда только то, что должно быть запущено один раз. Давай впишем туда KeyDown события:

Как видишь, редактор подчеркивает эти строчки красным, якобы там ошибка. Ошибка в том, что мы только что объявили события, но не вписали их в код. Давай это исправим:

Ошибка исправлена. Теперь этот код можно запустить в игре. Но ничего не произойдет, потому что он пустой. Давай добавим что-нибудь. Например... Дадим игроку 5 звезд розыска при нажатии определенной клавиши. Что для этого нужно? Нам необходимо перехватить нажатие клавиши! Для этого мы и добавили событие KeyDown: оно срабатывает при каждом нажатии клавиш на клавиатуре, а класс KeyEventArgs содержит все данные о нажатой клавише. С помощью оператора IF мы можем узнать, нажата ли нужная нам клавиша, и если да, то мы выдадим игроку звезды розыска.

Теперь усложним наш скрипт. Если игрок уже выдал себе 5 звезд розыска и пытается выдать их ещё раз, уведомим его об этом сообщением на экране. Вывести текст на экран можно командой UI.ShowSubtitle("Твой текст");
Обрати внимание, GTA 5 поддерживает стандарт Unicode, это значит, что ты можешь писать на русском языке без всяких проблем.

Наш скрипт готов. Найди в верхнем меню пункт "Сборка" - "Собрать решение".

Если всё прошло успешно, в окне ты найдешь путь к своему dll файлу. Если в процессе сборки вылезли ошибки, скидывай скриншот в комментарии, я попытаюсь тебе помочь.
Скрипт необходимо положить в папку Scripts, которая находится в корневой папке GTA 5. Если её нет, то просто создай и положи туда свой скрипт.

Давай зайдем в игру, и убедимся, что наш скрипт работает. Звезды розыска выдаются на английскую клавишу H, ты же можешь выбрать любую другую на своё усмотрение.


Поздравляю! Ты сделал свой первый скрипт. Изучай особенности C#, чтобы в полной мере владеть им, и читай мои гайды по скриптингу в GTA 5. В некоторых из них ты можешь найти уникальное задание, за выполнение которого сможешь получить различные плюшки на этом сайте. Желаю удачи!
Рейтинг: 5 (13 голосів)