Рейтинг - 5.0 (1)

Итак, мы подошли в плотную к написанию скрипта, и здесь мы рассмотрим необходимые условия для его создания.

Первым шагом будет подключения необходимых библиотек для работы. В обозревателе решений выделим папку "Ссылки". Нажимаем "ПКМ->Добавить ссылку...". В появившемся окне выбираем вкладку "Обзор" и ищем в нём файл "ScriptHookDotNet.dll". Он лежит в папке

GTA IV\scripts\for Developers\bin

Нажимаем "Ок":

В этой библиотека находятся все функции GTA 4, которые мы будем использовать в скриптах.

Так же нам необходима ещё одна ссылка. Используя метод выше, добавим ссылку "System". Она уже вложена в каталог, поэтому искать её нужно во вкладке ".NET":

Минимальные ссылки мы подключили. Теперь можно писать код. В первую очередь нам необходимо подключить эти ссылки. Делается это командой using. В поле редактора добавляем следующий код:

using System;
using GTA;

Теперь мы можем пользоваться командами, находящиеся в этих библиотеках. Дальше мы должны объявить область, которая содержит набор связанных объектов ( namespase ). Обычно это делается как для удобства так и во избежание возможных конфликтов между типами ( в разных пространствах имён могут существовать типы с одинаковыми именами ).

namespace TestScript {
 // Сюда пишем код! Это как область для главного потока 'MAIN' в Sanny Builder
}

Этому пространству обычно дают название такое же, как и название проекта. В нашем случаи это "TestScript". В отличии от SannyBuilder, скобки { и } являются блоком, внутри которого пишется код. Они всегда должны идти парно, чтобы одна открывала блок, другая - закрывала. В сумме этот блок формирует так званую "область видимости".

Как и известном Саннике, тут же присутствуют комментарии. Синтаксис написания таков:

код;
код; // Это строчный комментарий!
код;
код;

/* -------------------------------------
А это уже
многострочный комментарий!!!
код; -------------------------------- */

код;

В блоке "namespace" нам нужно добавить новый класс с произвольным именем. Это будет какбы аналогом потока в SannyBuilder:

public class Thread : Script {

 /* ПРОСТРАНСТВО ФУНКЦИЙ */

} ///////////////////////

В нашем случае, мы объявили поток с именем "Thread". "Script" - это класс, который нужен для запуска этого потока. Другими словами эта конструкция "превращает" клас в скрипт, используемый игрой. Символ ":" здесь говорит о том, что все методы, которые есть в классе "Script" будут доступны и в классе "Thread". В C# это принято называть "наследованием". Это одна из базовых концепций объектно-ориентированного программирования. Но о нём мы поговорим в следующих уроках.

Этот "поток", как Вы уже догадались по скобкам, так же блочный. Внутри его находится область видимости, которое я здесь упрощённо назвал "пространством функций". В нём мы можем размещать различные методы в блоке и прочее. Главная функция, которая начинает поток ( аналог name_thread в Саннике ), имеет следующий синтаксис написания:

public Thread() {

 /* ПРОСТРАНСТВО ПОТОКА */

} ///////////////////////

Стоит отметить, что этот синтаксис не походит для остальных функций. Дело в том, что это "конструктор" - функция, котороя сосдаёт объект. Имя функции совпадает с и именем класса. Поскольку, ScriptHook имеет свою реализацию запуска, то создавать объекты через него нам не нужно - это делается автоматически. Внутри этого блока мы как раз и будем писать скрипт, вызывая функции для GTA IV. Если собрать всё в кучу, то мы получим следующий код:

C#Аналог в Sanny Builder
using System;
using GTA;

namespace TestScript {

 /* ПРОСТРАНСТВО ДЛЯ ВСЕХ ПОТОКОВ */

 public class Thread : Script {

 public Thread() {

 /* ПРОСТРАНСТВО ДЛЯ КОНКРЕТНОГО ПОТОКА */

 }

 /* ПРОСТРАНСТВО ФУНКЦИЙ ПОТОКА */
 }
}
{$CLEO}
0000:

{ ПРОСТРАНСТВО ФУНКЦИЙ ПОТОКА }

thread 'Thread'

// ПРОСТРАНСТВО ДЛЯ КОНКРЕТНОГО ПОТОКА

0A93: end_custom_thread

Сохраняем наш проект. НЕ компилируем, а просто сохраняем! Можем закрывать C# и перейти в папку с проектом. Копируем файл "TestScript.cs" в папку "GTA IV\scripts". Скрипт установлен! Теперь он готов к выполнению! :)

Естественно, скрипт ничего не делает, так как он пуст. Что и как писать я расскажу в следующих уроках. Это только основа.

P.S. Рекомендация:

  1. Создать текстовый файл в папке "GTA IV\scripts";
  2. Переименовать расширение файла с *.txt на *.cs;
  3. Нажимаем ПКМ на названии проекта и выбрать "Добавить->Существующий элемент...":

    В появившемся окне выбираем созданный нами файл в шаге 1 и нажимаем "Добавить";
  4. Сохраняем проект;

Теперь мы можем редактировать несколько проектов!


Теги: ScriptHook скрипт

SanKing   (14.05.13 09:14)
Благодарствую.

major   (14.05.13 15:13)
урок СУПЕР!!!
Вход на сайт

Поиск
Категории раздела
Мини-чат
Пожалуйста, все вопросы по скриптингу задавать на форуме!
Наш опрос
Какие моды Вы хотите видеть на сайте?
Всего ответов: 15
Активность на сайте
Пожертвования
Кошельки WebMoney:
U859420971000
R407741810602
Z331072372430
E314272616890
Друзья сайта
Полезные ресурсы
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Сегодня нас посетили:
wmysterio, 4lifeGTA
Рекомендую