<<<Назад <<<

Короткая лекция по созданию скриптов!!!

Здорово бойцы!!!
Если вы плохо разбираетесь, или вообще не разбираетесь в скриптах и лень лазить скачивать, конечно было бы лучше если бы вы сами всё искали, ну да ладно помогу.

Самое простое:вывод текста на экран

Hello.sqs

этот скрипт выводит на экран сообщение "Hello!"
TitleText ["Hello!", "plain down"]
Exit

Запуск скрипта: [] exec "Hello.sqs"

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

Следующее
"TitleText" - позволяет выводить на экран разные сообщения.

TitleText [" текст ","Позиция текста на экране", скорость прокручивания]
"PlAIN" - в центре экрана
"PLAIN DOWN" - внизу экрана

Запуск cкрипта в игре:
Создадим миссию, назовём её Test полное название с островом смотря каким:

Открываем блокнот,пишем:

TitleText ["Mupy mup", "plain down"]
Exit

Сохраняем в каталоге(папке) с миссией mup.sqs

В редакторе:
В строке Иницилизация(Initalization) пишем: [] exec "mup.sqs"
ВСЁ!!! МИРУ МИР
[] - сюда надо писать аргумент задаваемый в скрипт. В данной команде аргумент нам не нужен.

Теперь попробуем заставить вашего солдата говорить (махать рукой как при разговоре).

;получение аргумента(солдат)
_Unit = _this select 0
;прекратить выполнение скрипта до тех пор, пока дистанция между игроком и юнитом _unit не станет меньше 5 метров
@(_unit distance player < 5)
;устанавливает юниту _unit режим поведения SAFE (все спокойно, оружие за спину)
_unit setbehaviour "SAFE"
;заставляет юнит _unit следить за игроком
_unit doWatch player
;пауза в 5 секунд
~5
; Заставляет юнит _unit проиграть анимацию тоесть говорить "effectstandtalk"
_unit playmove "effectstandtalk"
; заставляет юнит _unit не за кем не следить(следить за отсутствием объекта)
_unit dowatch objnull
;выход
exit


Теперь рассмотрим:
distance - с помощью этой команды скрипт приостанавливает свое действие, пока расстояние между игроком и юнитом не сократится на 5метров.

UnitName setbehaviour "{тип поведения}"
типы поведения: и главное

UnitName playmove "{название анимации}"

НЕ ВСЕ! Скрипты работают с командой playmove, некоторые с switchmove.
UnitName switchmove "{название анимации}"

Вроде всё описание.

Теперь пример и запуск:

Пишем,сохраняем talk.sqs(ложим в папку с миссией)

_Unit = _this select 0
@(_unit distance player < 5)
_unit setbehaviour "SAFE"
_unit doWatch player
~5
_unit playmove "effectstandtalk"
_unit dowatch objnull
exit


В редакторе:
Ставим одного игрока player(без имени), и другого с именем Sold1, ставить солдат надо с расстоянием не меньше 5метров.
В строке Иницилизация (Initialization) юнита с именем Sold1(хотя без разницы можно и тому написать):[Sold1] exec "talk.sqs"
Запускаем и подходим к тому юниту.

<<<Назад <<<