Tank: Zone of Death Wiki
Advertisement

Итак, вы решили оснастить вашу карту дополнительной красотой и функциональностью, при этом слышали что-то про скрипты, но в руках никогда не держали. Эта статья поможет вам создать простенькие (и не очень) скрипты превратив банальную карту в целую миссию.

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

Начало[]

Первое и самое простое что можно сделать, это задать простенькие действия на определенные события. Что такое событие вообще думаю пояснять не надо, а у нас событие – эта некая игровая ситуация. Допустим повреждение какого-нибудь объекта, или вьезд танка в область. Практически у любого объекта в игре есть два события – это on_damage и on_destroy. Для каждого из этих событий можно назначить действие. Делается это заполнением соответствующей строчки в редакторе.

Окно редактора

Давайте для начала создадим скрипт который при повреждении объекта будет писать что-нибудь в консоль. В консоль у нас пишет команда «message(<текст>)», ее мы и напишем в строке on_damage.

Окно редактора

Не забываем нажать на enter после каждой редактуры, а то изменения не внесутся. Сохраняем карту, запускаем, и видим что кирпичек стал кричать о своих повреждениях.

Наш скрипт работает!


Продолжение[]

Более интересные результаты можно получить если начать обращаться к свойствам объктов. Для этого оные объекты надо поименовать. По умолчанию у нас ни у какого объекта имени нет, но мы можем его задать в графе name. Теперь, когда у объекта есть имя мы можем получить какое-нибудь его свойство командой «pget(<имя объекта>,<имя свойства>)». Например количество оставшегося ХП (свойство «health»).

Задали имя и новое действие

Выражение «"У меня всего "..pget().." ХП"» означает конкатенацию (иначе прибаление) строк. То есть результирующий текст сообщения будет состоять из трех частей сложенных друг с другом, причем результат функции pget будет тоже рассматриваться как строка (хотя на самом деле это число). Сохраняем и проверяем наш скрипт.

Работа продвинутого скрипта

Advertisement