На сайте gamedev.ru уже давно существует раздел, в которых выкладываются логи переписки с лекциями. Не смотря на то, что там собрано все в кучу, практически каждая такая переписка имеет толк. Например из них можно узнать множество вещей, которые невозможно узнать из сухой документации. В связи с тем, что на сайте много новичков, я хотел бы провести ряд таких экспериментальных лекций. Они будет представлять собой голосовой чат в котором будет подниматься какая-либо тема (например логика в игре) и лектор будет о ней рассказывать. Участники могут спрашивать любые вопросы, на которые лектор постарается ответить. По окончанию логи беседы будут выложены в аудио и текстовом формате. На каждую лекцию необходима будет записываться - это нужно для того, чтобы можно было искоренить флудеров и предотвратить переполнение. Формат записи (пример - я):
Quote (me)
Skype: rus_phantom Есть микрофон Буду на лекции.
Если вы записались, но не пришли - никаких проблем.
Правила: 1. Не флудить 2. Уважать участников 3. Уважать русский язык
Если будет адекватная аудитория то я обязательно постараюсь увеличить количество направлений в лекциях, и приглашу знаменитых людей, таких как AlexRos, macron, malandrinus. Не уверен что они все согласятся, но многие не против поделиться опытом.
Так же буду рад если кто нибудь из сильных скриптеров тоже присоединится к нам. Чтобы дополнить или поправить материал.
Наличие микрофона не обязательно, но желательно. Он нужен будет только для того чтобы задавать вопросы. Те у кого нет микрофона, могут задавать вопросы в чате. Голосовая запись будет опубликована в тот же день, в текстовом формате - через несколько дней.
Те, кто записался, приглашу за полчаса до начала к скайп конференцию.
Расписание:
29.06.12 21:00 - Основы скриптов (переменные, условия, циклы, функции, области видимости). Лектор: _Призрак_ 07.07.12 20:00 - Основы скриптов (Повторение). Лектор: _Призрак_ 08.07.12 20:00 - Логику игровых объектов (спавн НПС, установка логики). Лектор: ColR_iT 13.07.12 21:15 - Основы скриптов Лекция 3. Лектор: _Призрак_ 14.07.12 20:00 - Логика игровых объектов (схемы поведения НПС). Лектор: ColR_iT
Объявление
Происходит запись на лекцию по скриптам, а так же на лекцию про логику
Сообщение отредактировал _Призрак_ - Пятница, 13.07.2012, 00:20
Earthworm-Jim, по-моему мы обсуждали как найти определенный объект. Искали Волка. Надо было сделать так, чтобы он отразился меткой в ПДА. Как загнать в игру не помню, мы по-моему так и не обсудили.
А разве вызов нельзя впихнуть после любого диалога?
Stenli, да. И ориентируясь на язык Lua 5.1 и Сталкер.
Сообщение отредактировал Michman - Суббота, 30.06.2012, 15:19
Michman, мы обсудили, но не насчет метки, если бы его нашло, это бы отобразилось в консоли, если nil, то вылет, потому что мы не указали что выводить в консоль если объект не существует
Добавлено (30.06.2012, 15:27) --------------------------------------------- А добавить можно через любой диалог, например название файла где скрипт new_test, а название скрипта find_wolf, значит в ветке диалога пишем перед тегом </phraze> : <action>new_test.find_wolf</action>
А добавить можно через любой диалог, например название файла где скрипт new_test, а название скрипта find_wolf, значит в ветке диалога пишем перед тегом </phraze> : <action>new_test.find_wolf</action>
Погоди-погоди...откуда ты взял find_wolf?
В скрипте что я привёл:
Code
for i=1,65535 do local obj = alife():object( i ) if obj then local name = obj:character_name() get_console():execute("name_is_"..name) end end
Нет ничего подобного.
Сообщение отредактировал Earthworm-Jim - Суббота, 30.06.2012, 15:33
Earthworm-Jim, данный код перебирает все объекты в игре и выводит в консоль внятное имя объекта в виде: name_is_Волк. Правда в том виде, в котором код есть сейчас он работать не будет, его нужно слегка доработать. Вот 100% рабочий. Здесь есть некоторые "не изученные моменты", но пока просто примите на веру.
Code
--# Переберём все объекты for i=1,65535 do --# Определим клиентскую часть по id равному i obj = level.object_by_id(i) --# Если объект существует и это сталкер, то... if obj and IsStalker(obj) then --# Определим читаемое имя сталкера local name = obj:character_name() --# Выведем в консоль найденое имя get_console():execute("name_is_"..name) end end
Если нужно запустить и увидеть результат воочию, то создайте в папке scripts, свой файл, к примеру с именем new_file.script, затем в него впишите функцию:
Code
function new_func () --# Сюда вставляете код, который я привёл. Можете опробовать первоначальный вариант, но там будет вылет. end
И через диалог вызываете вот так:
Code
<action>new_file.new_func</action>
Всё.
Сообщение отредактировал ColR_iT - Суббота, 30.06.2012, 15:47
Всем привет. Я присутствовал вчера на лекции и как для первого раза она была неплохой и продуктивной, судя по комментариям Призрака он и сам знает где допускал организационные ошибки, поэтому заострять внимание на них я не буду. Единственное, что хочется отметить, так это то что следующие лекции должны проходить примерно в одно и тоже время с одинаковой разницей во времени (например 1 раз в неделю) и продолжаться они должны не более 2 часов, а то просто не у всех есть время, желание и возможности сидеть так долго и слушать/читать в режиме онлайн не говоря уже о том, что существует проблема разницы во времени. Касательно вчерашней лекции, если вырезать всю лишнюю болтовню и пропадания, то у нас получится где-то час, возможно чуть больше добротного потока информации. Я не вижу особой проблемы в том, что записать лекции не удалось - ее вполне можно изложить в виде грамотно оформленной статьи. Да и вот, еще выкладываю пример простейшей функции (та которая была на лекции мною выложенная и была крупной, из-за чего я ее удалил) рабочей в ЧН, которая отвечает за выдачу Сусловым стартового снаряжения для ГГ, но в этом варианте снаряжение выдается рандомно.
Добавлено (30.06.2012, 16:39) --------------------------------------------- Нужно просто изменить параметр math.random(1,4), а именно число 4, а потом создавать части, которые при выпадении числа, дают вещи