Патч 1 (300 кб) http://ins-games.narod.ru/files/tzod140a1patch.zip Исправляет баг с оружием и (внимание!) добавляет возможность создавать разрушаемые пользовательские объекты. А так же дает возможность выполнять произвольный скрипт при уничтожении любого объекта (OnDestroy). Пример скрипта: pushcmd(function() loadmap("maps/dm5.map") end) -- загружает карту dm5
карту сохранять из консоли: export("maps/имя карты.map")
Патч 2 (300 кб) http://ins-games.narod.ru/files/tzod140a2patch.zip Добавляет следующие команды: actor("object type", X, Y) -- создать объект damage(hp, "object name") -- повредить объект А так же команда pushcmd теперь может принимать значение таймера. Пример: pushcmd( function() loadmap("maps/dm1.map") end, 5) -- загрузит карту dm1 через 5 секунд
Патч 3 (310 кб) http://ins-games.narod.ru/files/tzod140a3patch.zip Позволяет менять свойства объектов из скрипта pget("имя объекта", "свойство") -- получение текущего значения свойства pset("имя объекта", "свойство", значение) -- установка свойства
Так же свойства можно указывать при создании объектов actor("user_object", 100, 100, { name="my object", texture="booster", ... } )
Можно убрать любой объект с карты kill("имя")
Теперь можно создавать сервисы. Игрок - это сервис! service("player_local", { nick="Insert" } ) service("ai", { nick="bot", skin="blue" } ) -- альтернатива команде addbot
ЗЫ, действует команда :import("maps\...")- ну, правдо с ошибкой,экран тупо чернеет.
Не забывайте, что в Зоне для обращения к файлам используется прямой слэш "/", а не обратный как в виндах.
hmh Функция message выводит сообщение прямо на экран и дублирует его в консоль. Функция print печатает только в консоль. Однако, в текущей версии на экране не видно сообщений, так что message работает как print. Скоро исправлю.
Имя того кто уничтожил получить нельзя.
У мин нет OnDestroy потому что они не являются физич объектами. Они имеют общего потомка с аптечками, оружием и т.п. Правильней им будет сделать событие OnPickup
ОТЛИЧНО! МОЛОДЕЦ! Как всегда, уведомлю об очередной грабле - при прокрутке строки производится и перемещение. Советую в следующей версии при выделенной строке блокировать перемещение. И, как водится, спрошу очередной вопрос, который забыл спросить: возможно ли сейчас поменять свойства, задаваемые классом, по имени, а не по классу?
Ну... Если стрелками прокрутку скриптовой строки делать(у меня карта "Матрица"), то прокручивается не только строка, но и карта. Может, это и не баг - но вдруг ты недоглядел?
УПД: Опаньки... Имя танка не считается именем объекта. Наверное, все-таки чтобы damage работал не только против стен, надо бы это исправить. Второе опаньки - бетонные стены нельзя повредить даже из скрипта.
УПД: Вспомнил три функции, которые нужны для скриптовых кампаний - появление бота с определенной командой, уничтожение какого-либо объекта(в случае появляющегося однажды отряда - их точек рождения) и чтобы при вызове addbot(actor) возвращался указатель на результат(например, имя созданного объекта, созданное, если не было предварительного написания имени, автоматически).
Ну... Если стрелками прокрутку скриптовой строки делать(у меня карта "Матрица"), то прокручивается не только строка, но и карта. Может, это и не баг - но вдруг ты недоглядел?
А! Ну дык знаю про это. Лень пока исправлять, ибо есть вещи поважнее.
hmh пишет:
цитата:
Опаньки... Имя танка не считается именем объекта. Наверное, все-таки чтобы damage работал не только против стен, надо бы это исправить.
Конечно не считается, и не должно. На самом деле тут замешаны два объекта. Во первых это собственно танк, который является actor'ом, а во вторых это "моск", который относится к классу service. В редакторе пока никак нельзя редактировать сервисы (но будет можно). Ник, который ты назвал именем танка, на самом деле принадлежит сервису бота. И при этом не является его именем. Надеюсь, я всех запутал :)
hmh пишет:
цитата:
появление бота с определенной командой
Это уже есть. addbot{ team=1, skin="red", class="heavy", ... }
Insert Как насчет того чтобы к Ондестрой() добавить команду, которая бы останавливала игру и выкидывала на экран n-ую текстуру. Вот зачем: Можно будет делать карты с режимом assaut(зохват). Как только уничтажается главный обьект базы, игра останавливается и появлюется красочная картинка с надписью, мол: "синие выграле!". Только вот еще: тогда для этого случая придется програмировать ботов, или добавить особое свойство обьекту, из-за которого его бы стремились уничтожить боты.
Insert Не надейся, не запутал :) Концепция понятна и знакома. Ладно, жду функций, выдающих указатели(у тебя service имена) по действиям или местоположению :)
Ну а вместо текстуры можно грузить новую карту, в которой аптечками будет написано ПРЕВЕД ))
Да йа уже подумал над этим. Но несолидно как кто. Да и к тому же придется несколько карт за собой тощить. Но не это самое УЖАСТНОЕ(бугогагого). У неопытного юзера, после установки такой карты возникнед воопрос: "дык какуйу карту первой запускать???". Ну а как насчет программирования ботов и заставления их отоковать этот обьект?
Инс, хотелось бы видеть в окне заказа игроков\ботов кнопочку КОПИРОВАТЬ, чтобы копировался выбранный танк. Или ещё лучше для ботов - количество. Тогда на огромных картах можно будет задать всего несколько типов ботов, по 5-10 штук на усмотрение игрока )
Мы еще больше продвинулись к кампании!!! Теперь обьекты рулят. Текстуру только обьявить осталось. Еще вопросчег - а на чем основан юзер обьект? На кирпиче или на коробке - всмысле - это стационарный обьет который можно развалить или он будет пихаться как коробка?
Все даты в формате GMT
3 час. Хитов сегодня: 0
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет