Tank: Zone of Death Wiki
Insert (обсуждение | вклад)
Insert (обсуждение | вклад)
 
(не показано 11 промежуточных версий этого же участника)
Строка 1: Строка 1:
  +
[[Тутор по созданию скриптов]]
=Скрипты=
 
==Игровые функции==
 
====actor====
 
Создание игрового объекта.
 
   
  +
==Список функций в алфавитном порядке==
Синтаксис:
 
  +
* [[Function_actor|actor]]
actor("тип объекта", X, Y, {свойства} )
 
  +
* [[Function_ai_attack|ai_attack]]
  +
* [[Function_ai_march|ai_march]]
  +
* [[Function_ai_pickup|ai_pickup]]
  +
* [[Function_damage|damage]]
  +
* [[Function_exists|exists]]
  +
* [[Function_export|export]]
  +
* [[Function_equip|equip]]
  +
* [[Function_import|import]]
  +
* [[Function_kill|kill]]
  +
* [[Function_load|load]]
  +
* [[Function_loadmap|loadmap]]
  +
* [[Function_loadtheme|loadtheme]]
  +
* [[Function_message|message]]
  +
* [[Function_music|music]]
  +
* [[Function_newmap|newmap]]
  +
* [[Function_pause|pause]]
  +
* [[Function_pget|pget]]
  +
* [[Function_position|position]]
  +
* [[Function_pset|pset]]
  +
* [[Function_pushcmd|pushcmd]]
  +
* [[Function_quit|quit]]
  +
* [[Function_reset|reset]]
  +
* [[Function_save|save]]
  +
* [[Function_service|service]]
   
  +
===Устаревшие===
Пример:
 
  +
* [[Function_freeze|freeze]]
actor("user_object", 42, 128, {name="test", health=10} )
 
  +
* [[Function_msgbox|msgbox]]
   
  +
==Глобальные переменные==
Доступные типы объектов:
 
* [[actor_crate|crate]]
+
* [[GlobalVar_conf|conf]]
* [[actor_pu_booster|pu_booster]]
+
* [[GlobalVar_conf|lang]]
* [[actor_pu_health|pu_health]]
+
* [[GlobalVar_conf|user]]
* [[actor_pu_mine|pu_mine]]
 
* [[actor_pu_shield|pu_shield]]
 
* [[actor_pu_shock|pu_shock]]
 
* [[actor_respawn_point|respawn_point]]
 
* [[actor_spotlight|spotlight]]
 
* [[actor_trigger|trigger]]
 
* [[actor_turret_cannon|turret_cannon]]
 
* [[actor_turret_gauss|turret_gauss]]
 
* [[actor_turret_minigun|turret_minigun]]
 
* [[actor_turret_rocket|turret_rocket]]
 
* [[actor_user_object|user_object]]
 
* [[actor_wall_brick|wall_brick]]
 
* [[actor_wall_concrete|wall_concrete]]
 
* [[actor_water|water]]
 
* [[actor_weap_autocannon|weap_autocannon]]
 
* [[actor_weap_bfg|weap_bfg]]
 
* [[actor_weap_cannon|weap_cannon]]
 
* [[actor_weap_gauss|weap_gauss]]
 
* [[actor_weap_minigun|weap_minigun]]
 
* [[actor_weap_plazma|weap_plazma]]
 
* [[actor_weap_ram|weap_ram]]
 
* [[actor_weap_ripper|weap_ripper]]
 
* [[actor_weap_rockets|weap_rockets]]
 
* [[actor_wood|wood]]
 
   
 
==Ссылки на внешние ресурсы==
====damage====
 
Нанесение повреждений объекту
 
 
Пример:
 
damage(10, "test")
 
 
====dofile====
 
Выполнение скрипта из файла.
 
 
Пример:
 
dofile("test.lua")
 
 
====exists====
 
Проверка на существование объекта с указанным именем.
 
 
Пример:
 
actor("crate", 42, 128, {name="foo"}) -- создали ящик
 
print(exists "foo") -- true
 
kill "foo" -- убили ящик
 
print(exists "foo") -- false
 
 
====export====
 
Сохранение карты в формате .map
 
 
Пример:
 
export("maps/моя новая карта.map")
 
 
====equip====
 
Экипировка танка указанным предметом
 
 
Пример:
 
actor("pu_booster", 0, 0, {name="boo"}) -- создали бустер
 
equip("tank", "boo") -- и прикрепили к танку
 
 
====freeze====
 
Установка/снятие паузы. Задания из очереди (pushqueue) продолжают выполняться.
 
 
Пример:
 
freeze(true) -- поставить на паузу
 
freeze(false) -- снять с паузы
 
 
====import====
 
Загрузка карты и переход в режим редактирования.
 
 
Пример:
 
import("maps/dm1.map")
 
 
====kill====
 
Удаление объекта.
 
 
Пример:
 
kill("enemy1")
 
 
====load====
 
Загрузка игры.
 
 
Пример:
 
load("save/save1.sav")
 
 
====loadmap====
 
Загрузка карты и запуск новой игры.
 
 
Пример:
 
loadmap("maps/dm1.map")
 
 
====loadtheme====
 
Загрузка пакета текстур.
 
 
Пример:
 
loadtheme("campaign/Battle City/textures.lua")
 
 
====message====
 
Вывод сообщения на экран
 
 
Пример:
 
message("Вы всех убили")
 
 
====msgbox====
 
Отображение диалогового окна с вариантами ответов.
 
 
Пример:
 
msgbox(function(btn) message("Вы нажали "..btn) end, "Нажмите кнопку", "кнопка 1", "кнопка 2")
 
 
====newmap====
 
Создание новой карты указанных размеров и переход в режим редактирования.
 
 
Пример:
 
newmap(32, 24)
 
 
====pause====
 
Установка/снятие паузы. Так же останавливается выполнение заданий из очереди (pushqueue)
 
 
Пример:
 
pause(true) -- поставить на паузу
 
pause(false) -- снять с паузы
 
 
====pget====
 
Возвращает значение свойства объекта.
 
 
Синтаксис:
 
:pget(name, param)
 
 
:где name - имя объекта, param - свойство.
 
 
Пример:
 
-- возвращение класса сервиса
 
pget("service", "class")
 
 
====print====
 
Вывод сообщения в консоль.
 
 
Синтаксис:
 
:print(text)
 
 
:где text - выводимый текст.
 
 
Пример:
 
print("test")
 
 
====pset====
 
Выставляет значение свойства объекта.
 
 
Синтаксис:
 
:pset(name, param, value)
 
 
:где name - имя, param - свойство, value - значение.
 
 
Пример:
 
-- задать новое имя для объекта а2
 
pset("a2", "name", "a3")
 
 
====pushcmd====
 
Помещение команды в очередь.
 
 
Синтаксис:
 
 
:pushcmd(func, delay)
 
 
:где func - произвольная функция, delay - задержка в секундах (опционально).
 
 
Пример:
 
-- загрузка карты dm1 через 5 секунд
 
pushcmd(function() loadmap("maps/dm1.map") end, 5)
 
 
====quit====
 
Выход в систему
 
 
Пример:
 
quit()
 
 
====reset====
 
Полный сброс всех игровых систем. Всегда делайте сброс в стартовом скрипте вашей кампании.
 
 
Пример:
 
reset()
 
 
====save====
 
Сохранение игры.
 
 
Пример:
 
save("save/save1.sav")
 
 
====service====
 
Создание сервисного объекта.
 
 
Синтаксис:
 
service("тип объекта", {свойства} )
 
 
Пример:
 
service("ai", {name="enemy", class="heavy", team=1} )
 
 
Доступные типы объектов:
 
* ai
 
* player_local
 
 
=Ссылки на внешние ресурсы=
 
 
* [http://www.lua.org Официальный сайт Lua]
 
* [http://www.lua.org Официальный сайт Lua]
 
* [http://www.lua.org/manual/5.1/ Cправка по Lua 5.1 на английском языке]
 
* [http://www.lua.org/manual/5.1/ Cправка по Lua 5.1 на английском языке]

Текущая версия от 22:08, 28 декабря 2009