Случайная подборка модов
Плохая компания
4.0
Dead Autumn
4.1
Большая Зона
3.4
The Second Sun
2.9
История Борова
3.5
На распутье
3.5
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
Модострой:Вопросница
Российская Федерация  Wolfstalker
Понедельник, 22.10.2012, 14:58 | Сообщение # 1
Статус:
Легенда:
Сообщений: 2258
Награды: 15
Регистрация: 05.04.2010

В данной теме вы можете задавать любые вопросы касательно S.T.A.L.K.E.R. моддинга.

  • Не флудить
  • Предварительно просматривайте раздел. Ответ на ваш вопрос может быть там.
  • В своем вопросе указывайте платформу моддинга - Тень Чернобыля, Чистое небо или Зов Припяти.





    У кого есть желание, создать FAQ по основным вопросам моддинга - обращаемся в ЛС.


    Архив

    Архив#2
  •   Злобная реклама
    Понедельник, 22.10.2012, 14:58
    Статус:
    Сообщений: 666
    Регистрация: 05.04.2010
    Российская Федерация  Graff46
    Четверг, 27.06.2013, 16:09 | Сообщение # 6226
    Новое Время
    Статус:
    Бывалый:
    Сообщений: 867
    Награды: 7
    Регистрация: 02.05.2013

    И еще вопрос, мне на будущие, в ф-циях диологов, есть секонд и фёрст спикер
    Код
    function comm (first_speaker, second_speaker)

    вот актор это секонд или фёрст спикер, это вроде зависит еще от того стартовый диалог или нет?
    Сообщение отредактировал Graff46 - Четверг, 27.06.2013, 16:14
      Злобная реклама
    Четверг, 27.06.2013, 16:09
    Статус:
    Сообщений: 666
    Регистрация: 02.05.2013
    Украина  DJ_Yar
    Четверг, 27.06.2013, 16:12 | Сообщение # 6227
    Статус:
    Зевака:
    Сообщений: 22
    Награды: 1
    Регистрация: 18.05.2013

    Цитата (ColR_iT)
    про какой движок идёт речь?


    Прикручиваю к одной игре мультиплеер =)
    Сервер написал уже... Теперь нужно на него отправить при старте клиента инфу о нём (клиенте). Сокеты могут отправлять только строки - вот в чём печальбеда... А отдельный компонент для отправки таблиц писать на "настоящем" язые ой как не хочеться.

    В игре всё хранится в виде таблиц Lua (ну это понятно)... Местами юзердата встревает, иногда вообще непонятные типы - Transform, Physics... Ну и рекурсия, соответственно, глубокая...

    upd: Т.е. я предполагаю, что придется всё-таки находить таблицы нижнего уровня, их паковать и отправлять в несколько заходов, а не все сразу.... Или есть выход?
    Сообщение отредактировал DJ_Yar - Четверг, 27.06.2013, 16:22
      Злобная реклама
    Четверг, 27.06.2013, 16:12
    Статус:
    Сообщений: 666
    Регистрация: 18.05.2013
    Украина  BozKurt
    Четверг, 27.06.2013, 16:24 | Сообщение # 6228
    Статус:
    Опытный:
    Сообщений: 1753
    Награды: 3
    Регистрация: 25.05.2012

    Graff46, я по этому поводу завёл себе в файле dialogs.script вот такую функцию:
    Код
    --# Функция для диалога; определяем кто есть кто.
    --# Возвращает два аргумента: первый - ator, второй - npc.
    function WhoIsWho (first_speaker, second_speaker)
      if first_speaker:id() == db.actor:id() then
       return first_speaker, second_speaker
      end
      return second_speaker, first_speaker
    end
    Использовать следующим образом:
    В функцию, которую будешь вызывать в диалоге вписываешь вот такую стоку:
    Код
    local actor, npc = WhoIsWho(first_speaker, second_speaker)
    first_speaker и second_speaker - это то, что будут передаваться в твою функцию. После этого переменная actor будет содержать объект актора, а npc - соответственно НПС.

    Добавлено (27.06.2013, 16:24)
    ---------------------------------------------
    DJ_Yar, даже и не знаю, что тебе подсказать... Возможно при обратном преобразовании loadstring натыкается на запись, где ключу не присвоено значение. Т.е. функция при вот такой таблице:

    Код
    tbl = {key1 = "val1", key2 = function () end, key3 = 3}
    вернёт вот такую строку:
    Код
    {key1="val1",key2=,key3=3}
    Как видишь ключу key2 ничего не присвоено. Из-за этого loadstring может вполне сыпаться. Я просто даже не представляю, как можно представить userdata в виде строки.
      Злобная реклама
    Четверг, 27.06.2013, 16:24
    Статус:
    Сообщений: 666
    Регистрация: 25.05.2012
    Украина  DJ_Yar
    Четверг, 27.06.2013, 16:35 | Сообщение # 6229
    Статус:
    Зевака:
    Сообщений: 22
    Награды: 1
    Регистрация: 18.05.2013

    Цитата (ColR_iT)
    Из-за этого loadstring может вполне сыпаться.


    У меня двигло слетает еще при упаковке =) Так что до этого не доходит...

      Злобная реклама
    Четверг, 27.06.2013, 16:35
    Статус:
    Сообщений: 666
    Регистрация: 18.05.2013
    Украина  BozKurt
    Четверг, 27.06.2013, 16:42 | Сообщение # 6230
    Статус:
    Опытный:
    Сообщений: 1753
    Награды: 3
    Регистрация: 25.05.2012

    DJ_Yar, при упаковке!? Вообще-то не должен... У тебя Lua какой версии?
    По поводу упаковки... здесь не всё так просто. Нужно знать формат твоих типов данных: Transform, Physics и т.д. В противном случае в Lua преобразовать это в строку не получится. Отдельно dll - может быть, но это уже совсем не в эту тему (мы и так тут оффтопим smile ), лучше тебе будет сюда с этим вопросом: >>ClicK Me<<.
      Злобная реклама
    Четверг, 27.06.2013, 16:42
    Статус:
    Сообщений: 666
    Регистрация: 25.05.2012
    Украина  DJ_Yar
    Четверг, 27.06.2013, 16:48 | Сообщение # 6231
    Статус:
    Зевака:
    Сообщений: 22
    Награды: 1
    Регистрация: 18.05.2013

    Цитата (ColR_iT)
    У тебя Lua какой версии?


    print(_VERISON) вернул 'nil'

    а в целом - кажеться, 5.1
      Злобная реклама
    Четверг, 27.06.2013, 16:48
    Статус:
    Сообщений: 666
    Регистрация: 18.05.2013
    Российская Федерация  Graff46
    Четверг, 27.06.2013, 17:04 | Сообщение # 6232
    Новое Время
    Статус:
    Бывалый:
    Сообщений: 867
    Награды: 7
    Регистрация: 02.05.2013

    Назрел вопрос, можно ли функцией проверить принадлежность нпс к определенному смарттерейну в ТЧ (под этим-ли смартом он щас?)?
    Сообщение отредактировал Graff46 - Четверг, 27.06.2013, 17:04
      Злобная реклама
    Четверг, 27.06.2013, 17:04
    Статус:
    Сообщений: 666
    Регистрация: 02.05.2013
    Литва  Mefistorus
    Четверг, 27.06.2013, 17:23 | Сообщение # 6233
    Статус:
    Отмычка:
    Сообщений: 103
    Награды: 1
    Регистрация: 14.06.2012

    Помогите, пожалуйста, мне с SDK 0.4 конвертером. Делал все по инструкцие, но не работает. Нажимаю на converter.exe, быстро выскакивает табло и сразу же сворачивается.

    Код
    Создаем папку X-Ray SDK\converter. Из папки xray_re-tools-10sep2008 от Бардака копируем файлы converter.exe, fsconverter.ltx в эту папку. Это делается для удобства, чтобы все было в одном месте.Файл converter.ini помещаем в папку x-ray sdk\level_editor
    Затем настраиваем конвертер.
    Если установили СДК, как я говорил в C:\Program Files\X-Ray SDK, то в файле fsconverter.ltx ничего уже настраивать не надо.
    В файле converter.ini находим такие строки и исправляем их вот так:

    ; 2947+ (финалка включая обновления)
    [2947_config]:2945_config
    $game_data$ = c:\program files\x-ray sdk\level_editor\gamedata\
    $game_levels$ = c:\program files\x-ray sdk\level_editor\gamedata\levels\

    [aitest_config]:2947_config
    $game_data$ = c:\program files\x-ray sdk\level_editor\gamedata\
    $game_levels$ = c:\program files\x-ray sdk\level_editor\gamedata\levels\

    [3120_config]:2947_config
    $game_data$ = c:\program files\x-ray sdk\level_editor\gamedata\
    $game_levels$ = c:\program files\x-ray sdk\level_editor\gamedata\levels\


    Update:
    Спасибо, сам разобрался smile
    Сообщение отредактировал Mefistorus - Четверг, 27.06.2013, 17:46
      Злобная реклама
    Четверг, 27.06.2013, 17:23
    Статус:
    Сообщений: 666
    Регистрация: 14.06.2012
    Российская Федерация  TYOPA
    Четверг, 27.06.2013, 17:30 | Сообщение # 6234
    Тайна Зоны: История Стрелка
    Статус:
    Новичок:
    Сообщений: 226
    Награды: 0
    Регистрация: 10.08.2012

    Mefistorus, вообще-то нужно запускать не converter.exe, а создавать bat файлы, со своим кодом(для декомпилирования локации или конвертирования модели....неважно). Читай readme к конвертеру, там всё это есть.
      Злобная реклама
    Четверг, 27.06.2013, 17:30
    Статус:
    Сообщений: 666
    Регистрация: 10.08.2012
    Российская Федерация  Graff46
    Четверг, 27.06.2013, 18:19 | Сообщение # 6235
    Новое Время
    Статус:
    Бывалый:
    Сообщений: 867
    Награды: 7
    Регистрация: 02.05.2013

    Какой ф-цией можно проверить отношение нпс к актору(друг, нейтрал или враг)?
      Злобная реклама
    Четверг, 27.06.2013, 18:19
    Статус:
    Сообщений: 666
    Регистрация: 02.05.2013
    Российская Федерация  MODOSKEA
    Четверг, 27.06.2013, 19:15 | Сообщение # 6236
    Статус:
    Новичок:
    Сообщений: 211
    Награды: 1
    Регистрация: 06.07.2012

    Graff46,
    Код
    if obj:relation(db.actor) == game_object.neutral then --отношение obj к актеру,проверяем  нейтрал или нет, если да то действие
    --действие
    end

    if obj:relation(db.actor) == game_object.friend then --отношение obj к актеру,проверяем  друг или нет, если да то действие
    --действие
    end

    if obj:relation(db.actor) == game_object.enemy then --отношение obj к актеру,проверяем  враг или нет, если да то действие
    --действие
    end
      Злобная реклама
    Четверг, 27.06.2013, 19:15
    Статус:
    Сообщений: 666
    Регистрация: 06.07.2012
    Российская Федерация  Sander
    Четверг, 27.06.2013, 19:47 | Сообщение # 6237
    Статус:
    Бывалый:
    Сообщений: 764
    Награды: 6
    Регистрация: 18.09.2012

    Можно как нибудь вызвать скриптовую функцию из логики нпс?
      Злобная реклама
    Четверг, 27.06.2013, 19:47
    Статус:
    Сообщений: 666
    Регистрация: 18.09.2012
    Российская Федерация  ins33
    Четверг, 27.06.2013, 19:56 | Сообщение # 6238
    Dream Reader Mod
    Статус:
    Опытный:
    Сообщений: 2269
    Награды: 1
    Регистрация: 17.01.2012

    Sander, Точно так же, как и из рестриктора.
    %=name_function%
      Злобная реклама
    Четверг, 27.06.2013, 19:56
    Статус:
    Сообщений: 666
    Регистрация: 17.01.2012
    Российская Федерация  Sander
    Четверг, 27.06.2013, 20:52 | Сообщение # 6239
    Статус:
    Бывалый:
    Сообщений: 764
    Награды: 6
    Регистрация: 18.09.2012



    Есть идеи, что такое? Пытался сделать так, чтобы персонаж сначала отдал через логику награду ГГ (деньги) а потом исчез.

    Логика этого непися:



    Скрипты с выдачей награды и исчезанием:

      Злобная реклама
    Четверг, 27.06.2013, 20:52
    Статус:
    Сообщений: 666
    Регистрация: 18.09.2012
    Российская Федерация  Scouser
    Четверг, 27.06.2013, 22:05 | Сообщение # 6240
    Статус:
    Опытный:
    Сообщений: 1614
    Награды: 16
    Регистрация: 21.10.2012

    Sander, 1. Кинь всю логику.
    2. Если я не ошибаюсь, то target = actor всё-таки не рабочий параметр.
      Злобная реклама
    Четверг, 27.06.2013, 22:05
    Статус:
    Сообщений: 666
    Регистрация: 21.10.2012
    Поиск: