Случайная подборка модов
Clear Sky: MYSTERY
4.1
Игра Душ: Новое Начало
4.3
Погоня за Праздником 2: В Ожидании Чуда...
4.1
Clear Sky - Remake
3.8
Время Перемен 2.5
4.0
Путь в Припять
3.8
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
Институт модмейкера
Российская Федерация  _Призрак_
Среда, 27.06.2012, 21:16 | Сообщение # 1
Статус:
Неопытный:
Сообщений: 544
Награды: 6
Регистрация: 12.02.2011

Лекции


На сайте 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
  Злобная реклама
Среда, 27.06.2012, 21:16
Статус:
Сообщений: 666
Регистрация: 12.02.2011
  Earthworm-Jim
Суббота, 30.06.2012, 15:13 | Сообщение # 91
Статус:
Опытный:
Сообщений: 2561
Награды: 3
Регистрация: 01.01.2012

_Призрак_, вчера написал:
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


Напомните: для чего?

Quote (Earthworm-Jim)
Напомните: для чего?

Точнее...я помню, что для того чтобы найти Волка среди сотни npc. Но всё-таки.

И как скрипт в игру загнать можно было?

Quote (Earthworm-Jim)
И как его в игру загнать можно было?

Вписать код в новый скрипт, с названием, например: new_test.script

Потом где-то...вписать вызов его. Где?
Сообщение отредактировал Earthworm-Jim - Суббота, 30.06.2012, 15:16
  Злобная реклама
Суббота, 30.06.2012, 15:13
Статус:
Сообщений: 666
Регистрация: 01.01.2012
Российская Федерация  Stenli
Суббота, 30.06.2012, 15:13 | Сообщение # 92
Статус:
Отмычка:
Сообщений: 74
Награды: 1
Регистрация: 13.05.2012

Извините конечно за тупость,но я чет не догнал на лекции рассказывают о скриптах программирование и тд?
  Злобная реклама
Суббота, 30.06.2012, 15:13
Статус:
Сообщений: 666
Регистрация: 13.05.2012
Российская Федерация  Michman
Суббота, 30.06.2012, 15:17 | Сообщение # 93
Статус:
Новичок:
Сообщений: 303
Награды: 2
Регистрация: 16.06.2011

Earthworm-Jim, по-моему мы обсуждали как найти определенный объект. Искали Волка. Надо было сделать так, чтобы он отразился меткой в ПДА. Как загнать в игру не помню, мы по-моему так и не обсудили.

А разве вызов нельзя впихнуть после любого диалога?

Stenli, да. И ориентируясь на язык Lua 5.1 и Сталкер.
Сообщение отредактировал Michman - Суббота, 30.06.2012, 15:19
  Злобная реклама
Суббота, 30.06.2012, 15:17
Статус:
Сообщений: 666
Регистрация: 16.06.2011
  Earthworm-Jim
Суббота, 30.06.2012, 15:25 | Сообщение # 94
Статус:
Опытный:
Сообщений: 2561
Награды: 3
Регистрация: 01.01.2012

Quote (Michman)
Как загнать в игру не помню, мы по-моему так и не обсудили.

Дык я поэтому и спрашиваю... dry

Quote (Michman)
А разве вызов нельзя впихнуть после любого диалога?

Тот код что я привёл в своём посте, не дописали.
А в диалог вставить вроде можно.

new_test. ... а вот как дальше...?
Сообщение отредактировал Earthworm-Jim - Суббота, 30.06.2012, 15:26
  Злобная реклама
Суббота, 30.06.2012, 15:25
Статус:
Сообщений: 666
Регистрация: 01.01.2012
Российская Федерация  antonnkz76
Суббота, 30.06.2012, 15:27 | Сообщение # 95
5 лет в Зоне
Статус:
Опытный:
Сообщений: 2342
Награды: 9
Регистрация: 26.02.2012

Michman, мы обсудили, но не насчет метки, если бы его нашло, это бы отобразилось в консоли, если nil, то вылет, потому что мы не указали что выводить в консоль если объект не существует

Добавлено (30.06.2012, 15:27)
---------------------------------------------
А добавить можно через любой диалог, например название файла где скрипт new_test, а название скрипта find_wolf, значит в ветке диалога пишем перед тегом </phraze> : <action>new_test.find_wolf</action>

  Злобная реклама
Суббота, 30.06.2012, 15:27
Статус:
Сообщений: 666
Регистрация: 26.02.2012
  Earthworm-Jim
Суббота, 30.06.2012, 15:33 | Сообщение # 96
Статус:
Опытный:
Сообщений: 2561
Награды: 3
Регистрация: 01.01.2012

Quote (antonnkz76)
А добавить можно через любой диалог, например название файла где скрипт 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
  Злобная реклама
Суббота, 30.06.2012, 15:33
Статус:
Сообщений: 666
Регистрация: 01.01.2012
Российская Федерация  antonnkz76
Суббота, 30.06.2012, 15:36 | Сообщение # 97
5 лет в Зоне
Статус:
Опытный:
Сообщений: 2342
Награды: 9
Регистрация: 26.02.2012

Earthworm-Jim, тогда нужно сделать еще один скрипт, внутри которого будет данный код, но скрипт уже будет называться find_wolf
  Злобная реклама
Суббота, 30.06.2012, 15:36
Статус:
Сообщений: 666
Регистрация: 26.02.2012
Украина  BozKurt
Суббота, 30.06.2012, 15:40 | Сообщение # 98
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

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>
Всё. smile
Сообщение отредактировал ColR_iT - Суббота, 30.06.2012, 15:47
  Злобная реклама
Суббота, 30.06.2012, 15:40
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Российская Федерация  antonnkz76
Суббота, 30.06.2012, 15:41 | Сообщение # 99
5 лет в Зоне
Статус:
Опытный:
Сообщений: 2342
Награды: 9
Регистрация: 26.02.2012

ColR_iT, ему надо в игру это вставить, но уже так, чтобы Волк отметился меткой на карте.
  Злобная реклама
Суббота, 30.06.2012, 15:41
Статус:
Сообщений: 666
Регистрация: 26.02.2012
Российская Федерация  Stenli
Суббота, 30.06.2012, 15:43 | Сообщение # 100
Статус:
Отмычка:
Сообщений: 74
Награды: 1
Регистрация: 13.05.2012

Блин я как раз хотел научится, ну уже опоздал.Никто незнает когда будет еще? smile
Сообщение отредактировал Stenli - Суббота, 30.06.2012, 15:43
  Злобная реклама
Суббота, 30.06.2012, 15:43
Статус:
Сообщений: 666
Регистрация: 13.05.2012
Российская Федерация  Michman
Суббота, 30.06.2012, 15:45 | Сообщение # 101
Статус:
Новичок:
Сообщений: 303
Награды: 2
Регистрация: 16.06.2011

ColR_iT, то есть мы просто пишем данный скрипт и вставляем его. Не надо писать еще один как говорил antonnkz76?

Stenli, _Призрак_ сам скажет когда будет, а так еще никто не знает, когда следующая конфа.
Сообщение отредактировал Michman - Суббота, 30.06.2012, 15:46
  Злобная реклама
Суббота, 30.06.2012, 15:45
Статус:
Сообщений: 666
Регистрация: 16.06.2011
Украина  BozKurt
Суббота, 30.06.2012, 15:46 | Сообщение # 102
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

В данном коде нет никакого упоминания о метке.
Как вставлять читайте выше в посте, я дополнил.
  Злобная реклама
Суббота, 30.06.2012, 15:46
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Украина  kaizer96
Суббота, 30.06.2012, 16:14 | Сообщение # 103
Статус:
Неопытный:
Сообщений: 575
Награды: 2
Регистрация: 25.12.2010

Всем привет.
Я присутствовал вчера на лекции и как для первого раза она была неплохой и продуктивной, судя по комментариям Призрака он и сам знает где допускал организационные ошибки, поэтому заострять внимание на них я не буду. Единственное, что хочется отметить, так это то что следующие лекции должны проходить примерно в одно и тоже время с одинаковой разницей во времени (например 1 раз в неделю) и продолжаться они должны не более 2 часов, а то просто не у всех есть время, желание и возможности сидеть так долго и слушать/читать в режиме онлайн не говоря уже о том, что существует проблема разницы во времени.
Касательно вчерашней лекции, если вырезать всю лишнюю болтовню и пропадания, то у нас получится где-то час, возможно чуть больше добротного потока информации. Я не вижу особой проблемы в том, что записать лекции не удалось - ее вполне можно изложить в виде грамотно оформленной статьи.
Да и вот, еще выкладываю пример простейшей функции (та которая была на лекции мною выложенная и была крупной, из-за чего я ее удалил) рабочей в ЧН, которая отвечает за выдачу Сусловым стартового снаряжения для ГГ, но в этом варианте снаряжение выдается рандомно.
Сообщение отредактировал kaizer96 - Суббота, 30.06.2012, 16:14
  Злобная реклама
Суббота, 30.06.2012, 16:14
Статус:
Сообщений: 666
Регистрация: 25.12.2010
Российская Федерация  RETRIX
Суббота, 30.06.2012, 16:36 | Сообщение # 104
AP-Production
Статус:
Ветеран:
Сообщений: 9439
Награды: 12
Регистрация: 24.08.2011

kaizer96, очень интересная функция! А вариантов снаряжения может быть много или есть какое-то ограниченное количество?
  Злобная реклама
Суббота, 30.06.2012, 16:36
Статус:
Сообщений: 666
Регистрация: 24.08.2011
Российская Федерация  antonnkz76
Суббота, 30.06.2012, 16:39 | Сообщение # 105
5 лет в Зоне
Статус:
Опытный:
Сообщений: 2342
Награды: 9
Регистрация: 26.02.2012

RETRIX, на сколько фантазии хватит biggrin

Добавлено (30.06.2012, 16:39)
---------------------------------------------
Нужно просто изменить параметр math.random(1,4), а именно число 4, а потом создавать части, которые при выпадении числа, дают вещи

  Злобная реклама
Суббота, 30.06.2012, 16:39
Статус:
Сообщений: 666
Регистрация: 26.02.2012
Поиск: