Модератор форума: FanG, Аdmin, FantomICW, Overfirst  
Форум » S.T.A.L.K.E.R. Модификации » Помощь в моддинге » [CoP] Модострой: вопросница
[CoP] Модострой: вопросница
Российская Федерация  Overfirst
Воскресенье, 31.12.2017, 13:17 | Сообщение # 1
Статус:
Бывалый:
Сообщений: 837
Награды: 13
Регистрация: 11.06.2015

[CoP] Модострой: вопросница

Тема посвящена моддингу на платформе Зов Припяти.

Соседние темы: Тень Чернобыля / Чистое небо.


  • Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.

  • Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке справочнике. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.

  • Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).

  • Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
  •   Злобная реклама
    Воскресенье, 31.12.2017, 13:17
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Российская Федерация  atanda
    Понедельник, 01.01.2018, 20:46 | Сообщение # 31
    Статус:
    Неопытный:
    Сообщений: 553
    Награды: 3
    Регистрация: 12.07.2017

    denis2000, уже разобрался) просто при спавне костра в сдк оказалось, что визуальная часть костра это статическая геометрия(статический объект, а не спавн элемент), а перекомпиливать весь уровень из-за одного костра для моего железа не вариант.
    Российская Федерация  Overfirst
    Понедельник, 01.01.2018, 20:48 | Сообщение # 32
    Статус:
    Бывалый:
    Сообщений: 837
    Награды: 13
    Регистрация: 11.06.2015

    buffy, можно что угодно комбинировать.
    Российская Федерация  R_Gamer_
    Понедельник, 01.01.2018, 20:54 | Сообщение # 33
    Статус:
    Гость:
    Сообщений: 56
    Награды: 3
    Регистрация: 08.10.2015

    Добрый день, столкнулся с очень странной проблемой. Попытался сделать динамический объект с анимацией. Пользуюсь плагинами от den stash'a. Модель экспортировал, настроил. Без анимации (motion) в сдк всё работает. Но после того как добавляю, мне вылетает ошибка (Line: 235) при попытке поставить её в левел-эдиторе или включить от вида "engine". Вот фото. Я не знаю, может я как-то неправильно экспортирую motion? (выделяю кости)

    Вопрос снят, нужно было в актор-эдиторе нажать кнопочку "bone parts", затем "reset to default".
    Сообщение отредактировал R_Gamer_ - Понедельник, 01.01.2018, 21:54
    Российская Федерация  atanda
    Понедельник, 01.01.2018, 20:54 | Сообщение # 34
    Статус:
    Неопытный:
    Сообщений: 553
    Награды: 3
    Регистрация: 12.07.2017

    BoBaH_671, угу, только сейчас в голову что-то шибануло и начал это понимать 10
    Сообщение отредактировал buffy - Понедельник, 01.01.2018, 20:59
    Российская Федерация  yobakun
    Понедельник, 01.01.2018, 22:43 | Сообщение # 35
    Статус:
    Новичок:
    Сообщений: 207
    Награды: 2
    Регистрация: 30.07.2016

    В коке есть вот такой коллбэк
    Код
    -- called when an inventory item is eaten/used
    -- returning false will prevent the item from being used
    function CInventory__eat(npc,item)
        local return_flag = true
        SendScriptCallback("on_before_item_use",npc,item,return_flag)
        return return_flag
    end

    По идее чтобы с ним работать нужно сделать что-то вроде этого:
    Код
    --если игрок пытается использовать аптечку, то ничего не происходит
    function on_before_item_use(npc,item,return_flag)
    if item:section() == "medkit" then
    return_flag = false
    end
    end

    Но не работает. Может это как-то по другому делается?
    Российская Федерация  atanda
    Вторник, 02.01.2018, 11:15 | Сообщение # 36
    Статус:
    Неопытный:
    Сообщений: 553
    Награды: 3
    Регистрация: 12.07.2017

    yobakun, английским же языком написано
    Цитата yobakun ()
    returning false will prevent the item from being used

    т.е. если CInventory__eat возвращает значение false, то предмет не будет юзаться.
    А сама функция, смелю предположить, вызывается из движка.
    Сообщение отредактировал buffy - Вторник, 02.01.2018, 11:16
    Российская Федерация  sinaps
    Вторник, 02.01.2018, 11:51 | Сообщение # 37
    Статус:
    Опытный:
    Сообщений: 3854
    Награды: 2
    Регистрация: 02.04.2016

    Цитата denis2000 ()
    объект на базе lights_hanging_lamp

    Ему class = SO_HLAMP присваивать? Где можно посмотреть пример конфигурационного файла такого предмета?
    Российская Федерация  makdm
    Вторник, 02.01.2018, 13:02 | Сообщение # 38
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1412
    Награды: 13
    Регистрация: 22.11.2012

    Цитата sinaps ()
    Где можно посмотреть пример конфигурационного файла такого предмета?

    Распакуйте утилитой ac/dc all.spawn Зова Припяти.
    Все станет наглядно ясно что содержит нет-пакет того либо иного объекта.

    Цитата sinaps ()
    Ему class = SO_HLAMP присваивать?

    В том же ac/dc файл scan.pm содержит все классы объектов в соответствии с их секциями.

    Это вам бесплатный справочник по секциям и классам.
    В вашем случае в файле есть запись:

    'lights_hanging_lamp' => 'SO_HLAMP'
    Российская Федерация  sinaps
    Вторник, 02.01.2018, 13:49 | Сообщение # 39
    Статус:
    Опытный:
    Сообщений: 3854
    Награды: 2
    Регистрация: 02.04.2016

    Цитата makdm ()
    Распакуйте all.spawn

    Ах вот оно где, спасибо, всё увидел.
    Это то есть его только в all.spawn и просто на локации поставить? И в инвентарь ГГ (НПС) положить будет нельзя? :'(
    Цитата makdm ()
    файл scan.pm содержит все классы объектов

    Конфиги тоже содержат. Я в system.ltx посмотрел. wink
    Российская Федерация  yobakun
    Вторник, 02.01.2018, 22:51 | Сообщение # 40
    Статус:
    Новичок:
    Сообщений: 207
    Награды: 2
    Регистрация: 30.07.2016

    Цитата buffy ()
    т.е. если CInventory__eat возвращает значение false, то предмет не будет юзаться.

    И как же заставить ее вернуть false? Нужен пример.
    Сообщение отредактировал yobakun - Вторник, 02.01.2018, 22:52
    Российская Федерация  atanda
    Вторник, 02.01.2018, 23:04 | Сообщение # 41
    Статус:
    Неопытный:
    Сообщений: 553
    Награды: 3
    Регистрация: 12.07.2017

    yobakun, а можно документацию(знаю, что не будет). Так вот, что это за функция? Что она делает? непонятно...
    Цитата yobakun ()
    SendScriptCallback

    Но если предпологать, то твой код и так должен срабатывать.
    ...
    Хотя нет, разве есть предмет чья секция называется
    Цитата yobakun ()
    medkit

    Правильно, нет. Поэтому лучше сделать так:
    Российская Федерация  yobakun
    Среда, 03.01.2018, 00:15 | Сообщение # 42
    Статус:
    Новичок:
    Сообщений: 207
    Награды: 2
    Регистрация: 30.07.2016

    buffy, сделал так
    Код
    function CInventory__eat(npc,item)
        local return_flag = true
        if string.find(item:section(), "medkit") ~= nil then
    return_flag = false
    end
        SendScriptCallback("on_before_item_use",npc,item,return_flag)
        return return_flag
    end

    Теперь аптечка юзается, но не исчезает. Повторно использовать нельзя.
    Российская Федерация  svo6o9a
    Среда, 03.01.2018, 10:51 | Сообщение # 43
    Статус:
    Отмычка:
    Сообщений: 173
    Награды: 1
    Регистрация: 19.11.2017

    Как заспавнить мертвые тела? Ну допустим как в ТЧ когда монолит лежит уже такой "прогнивший" немного и обыскать нельзя еще
    Российская Федерация  atanda
    Среда, 03.01.2018, 11:19 | Сообщение # 44
    Статус:
    Неопытный:
    Сообщений: 553
    Награды: 3
    Регистрация: 12.07.2017

    yobakun, а что ты хотел, видимо так всё и задумано в СоС!

    Добавлено (03.01.2018, 11:13)
    ---------------------------------------------
    svo6o9a, если я правильно понимаю вы про статическую геометрию локации? Если вы про это, то никак т.к. это статическая геометрия локации или сделать отдельную модель(динамическую геом. локации) и заспавнить.
    Это?

    Добавлено (03.01.2018, 11:19)
    ---------------------------------------------
    yobakun, и если я правильно понимаю проектировщиков СоС, то выглядеть должно примерно так:

    Сообщение отредактировал buffy - Среда, 03.01.2018, 11:16
    Российская Федерация  denis2000
    Среда, 03.01.2018, 12:05 | Сообщение # 45
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 3236
    Награды: 10
    Регистрация: 19.07.2013

    Цитата sinaps ()
    Это то есть его только в all.spawn и просто на локации поставить? И в инвентарь ГГ (НПС) положить будет нельзя?

    Спавниться скриптом прекрасно. Можно но только подменяя объект на носимый (так например сделаны переносные тайники в SGM). А вообще если нужен объект со специфическими свойствами - редактируете движек, не хотите редактировать - используйте существующие классы и скриптовые механизмы.
    Форум » S.T.A.L.K.E.R. Модификации » Помощь в моддинге » [CoP] Модострой: вопросница
    Поиск: