Язык описания сценариев игры «Operation Flashpoint»
Справочное руководство
Оглавление
Первые шаги
Среда
Редактор
Первый скрипт «привет мир» его запуск
Основные способы активации скрипта
Простая sqf-функция её запуск
Основные отличия sqf-функций и sqs-скриптов
Обзор других способов запуска скриптов
Синтаксис языка
Sqs скрипты
Выполнение sqs скриптов
Построковая структура sqs скрипта
Передача и получение аргументов скрипта
Комментарии
Операторы управления процессом вычисления
Оператор условного выполнения ?:
Метки и оператор goto
Ожидание выполнения указанного условия @
Ожидание наступления указанного времени &
Пауза ~
Выход из скрипта
Sqf функции
Выполнение sqf функций
Блочная структура функций
Передача и получение аргументов функций
Возвращаемое значение
Комментарии
Макро
Операторы управления процессом вычисления
Оператор условного выполнения if then else
Оператор цикла while do
Оператор поэлементного обхода массива foreach
Косвенный вызов функций или имитирование оператора switch
Рекурсивные функции
Переменные, их типы и операции над ними
Переменные, их имена, значения и типы, область видимости, зарезервированные переменные
Имена переменных
Инициализация переменных
Область видимости
Типы переменных
Зарезервированные переменные
Числа или величины с типом Number
Операции над числами и их приоритеты
Математические функции
Логические или Булевы величины
Операции отношения
Операции над булевыми величинами
Приоритеты логических операций
Строки или величины с типом String
Конкатенация строк
Преобразование значений других типов в строку — команда format
Массивы или переменные с типом Array
Массивы как наборы индексируемых значений
Операции над массивами
Чтение элемента массива командой select
Запись элемента массива командой set
Изменение размера массива командой resize
Переменная с типом Array — суть ссылка
Конкатенация массивов
Вычитание массивов
Другие манипуляции с массивами
Вложенные массивы
Разделяемые области данных
Переменные других типов
Переменные ссылающиеся на объекты, значения с типом Object
Переменные идентифицирующие группы юнитов, значения с типом Group
Переменные идентифицирующие стороны, значения с типом Side
Галопом по европам
Некоторые ошибки начинающего скриптовальщика
Совсем ужасный код
Никогда не используйте копипаст кода
Выносите многократно повторяющиеся действия в подпрограммы
Разделяйте код и данные
Ваши структуры данных важнее вашего кода
Никогда не дублируйте данные
Храните данные связанные по смыслу в одном месте
SQS vs SQF?
Глобальные имена, чем это плохо и как с этим бороться
Трудности с глобальными именами
Mangled-Style
Переменные передаваемые по ссылке от родительского скрипта дочерним
Библиотеки возвращающие список определяемых функций
На что уходит время?
Сортировка
Послесловие
«Стеб» или «Смешные вещи с серьезным лицом»
«Отмазка» или «Сентиментальная ирония»
Copyright ©
DenVdmj
, 2006–2014.