Случайная подборка модов
Soc Style Addon 2.0
4.1
Время перемен v2.0
4.1
Поиск (DIES IRAE)
4.1
NEYA: Thunderstorm
2.9
Ночь перед Рождеством
3.3
Save and Protect: Killer
2.5
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
Модострой:Вопросница
Российская Федерация  Аdmin
Воскресенье, 03.11.2013, 19:36 | Сообщение # 1
Статус:
Опытный:
Сообщений: 1538
Награды: 11
Регистрация: 28.03.2011

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

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





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


    Архив

    Архив#2
  •   Злобная реклама
    Воскресенье, 03.11.2013, 19:36
    Статус:
    Сообщений: 666
    Регистрация: 28.03.2011
    Российская Федерация  denis2000
    Пятница, 04.12.2015, 15:50 | Сообщение # 8791
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Цитата _S_k_i_F_ ()
    И разве на Затоне может быть проблема с сеткой?

    Ну а почему ее может не быть? Скриншот из SDK покажите, место хоженое или глухие дебри? Сетка в объекты не заглублена?
      Злобная реклама
    Пятница, 04.12.2015, 15:50
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  _Val_
    Пятница, 04.12.2015, 16:07 | Сообщение # 8792
    Ф.О.Т.О.Г.Р.А.Ф
    Статус:
    Бывалый:
    Сообщений: 1063
    Награды: 5
    Регистрация: 20.01.2012

    Абсолютно согласен с уважаемым denis2000.
    У самого сейчас на правке лежит несколько лок, причем от оригинала ТЧ. Вот смотришь на АИ-сетку и видишь вылеты, которые обычно называют "зверушка зашла не туда".
    Вообще конечно надо бы посмотреть и на точки лоок. Вдруг там косячок. Насчет вылета я лично без понятия, сейчас столько движковых правок, что люди даже вылета по неправильному вертексу избегают.
    Сообщение отредактировал _Val_ - Пятница, 04.12.2015, 16:17
      Злобная реклама
    Пятница, 04.12.2015, 16:07
    Статус:
    Сообщений: 666
    Регистрация: 20.01.2012
    Украина  _S_k_i_F_
    Пятница, 04.12.2015, 16:34 | Сообщение # 8793
    Золотой Обоз
    Статус:
    Опытный:
    Сообщений: 1311
    Награды: 9
    Регистрация: 09.08.2015

    del
    Сообщение отредактировал _S_k_i_F_ - Пятница, 04.12.2015, 17:31
      Злобная реклама
    Пятница, 04.12.2015, 16:34
    Статус:
    Сообщений: 666
    Регистрация: 09.08.2015
    Российская Федерация  igi_vlad
    Пятница, 04.12.2015, 17:57 | Сообщение # 8794
    Статус:
    Неопытный:
    Сообщений: 552
    Награды: 4
    Регистрация: 04.08.2015

    Здесь тоже запощу, насчёт ОГСМ ЧН:
    Как мне ускорить появление артов в аномалиях после выброса (тайм-фактор 5, хочется всё-таки замедлить время ? - после ТДолины вернулся на Кордон, переждал второй выброс (или даже третий, на Свалке деньги уже отобрали, но на Агро ещё не ходил), пошёл на Свалку, вернулся в долину - нигде пока новых артов нет !
      Злобная реклама
    Пятница, 04.12.2015, 17:57
    Статус:
    Сообщений: 666
    Регистрация: 04.08.2015
    Соединенные Штаты  Joni_009
    Пятница, 04.12.2015, 19:05 | Сообщение # 8795
    Статус:
    Бывалый:
    Сообщений: 1008
    Награды: 14
    Регистрация: 25.05.2014

    Всем привет народ, такая проблема у меня метку ГГ не видно в ПДА на динамике, на статике все нормально работает. Платформа ЗП, что делать?
    Сообщение отредактировал Joni_009 - Пятница, 04.12.2015, 20:37
      Злобная реклама
    Пятница, 04.12.2015, 19:05
    Статус:
    Сообщений: 666
    Регистрация: 25.05.2014
    Российская Федерация  castle
    Пятница, 04.12.2015, 20:05 | Сообщение # 8796
    Статус:
    Новичок:
    Сообщений: 262
    Награды: 2
    Регистрация: 11.01.2014

    На Вики для ЗП есть такое:

    actor_friendly = true ;Монстр не атакует актера до первой атаки на него.

    npc_friendly = true ;Монстр не атакует сталкеров и монстров до первой атаки на него.

    friendly = true ;Монстр не атакует никого до первой атаки на него.

    braindead = true ;Монстр игнорирует любые атаки.

    Но эти параметры ж не читаются о_0

    Решил восстановить их

    Добавил файл mob_alife_mgr.script

    Изменив его немного

    получилось как-то так

    Код
    ---------------------------------------------------------------------------------
    -- Mob alife manager
    ---------------------------------------------------------------------------------
    local params = {
           "braindead",
           "friendly",
           "actor_friendly",
           "npc_friendly"
    }

    function cfg_get_mode(ini, section, npc)
        local modes = {}
        for k, v in ipairs(params) do
      modes[v] = utils.cfg_get_bool(ini, section, v, npc, false)
        end
        return modes
    end

    function alife_control(obj, mode)
        -- Мертвые монстры сразу отпускаются под alife
        local active_scheme = db.storage[obj:id()].active_scheme
        local active_section = db.storage[obj:id()].active_section --' DEBUG
        printf("alife_control obj=[%s], sect=[%s], active_scheme=[%s] active_section [%s]", obj:name(), obj:section(), active_scheme, active_section)
        --local mode = db.storage[obj:id()][active_scheme].alife_mode
        if not (obj:alive() and mode) then
      xr_logic.mob_release(obj)
      return true
        end
        printf("alife_control: obj=[%s], sect=[%s] %s %s %s %s", obj:name(), obj:section(), mode.braindead, mode.friendly, mode.actor_friendly, mode.npc_friendly)
        if mode.braindead then
      -- Braindead монстры не уходят из под скрипта даже если их обстрелять
      xr_combat_ignore.fighting_with_actor_npcs[obj:id()] = nil --' Нужно-ли?
      return false
        end
        -- Монстры, у которых есть враг - также должны работать в alife
        local enemy = obj:get_enemy()
        if enemy then
      printf("_bp: got enemy")
      if not mode.friendly and
         (not mode.actor_friendly or enemy:id () ~= db.actor:id ()) and
         (not mode.npc_friendly or enemy:id() == db.actor:id()) then
       if db.storage[obj:id()].mob_combat then
        xr_logic.issue_event(obj, db.storage[obj:id()][active_scheme], "combat_callback")
       end
       xr_logic.mob_release(obj)
       return true
      end
        else
      xr_combat_ignore.fighting_with_actor_npcs[obj:id()] = nil --' На всякий случай :D
        end
        
        -- Отпускать в alife монстров, которых обстреляли
        local h = obj:get_monster_hit_info()
        if h.who and h.time ~= 0 then
      xr_logic.mob_release(obj)
      return true
        end

        -- Остальные монстры работают под схемой
        return false
    end


    Затем добавил в апдейт mob_home и mob_walker



    А также

    set_scheme

    storage.alife_mode = mob_alife_mgr.cfg_get_mode(ini, section, npc)

    затем в bind_monster в hit_callback добавляю это: (перенёс сюда из из функции alife_control)

    и добавил xr_logic.mob_release(victim) в death_callback

    И всё работает!

    Пытаюсь перенести вызов функции alife_control из mob_home и mob_walker в биндер монстров

    Как-то так:


    Но как-то не работает, вылетает attemp to index a nil value

    На этой вот строчке if mob_alife_mgr.alife_control(self.object, self.st[self.st.active_scheme].alife_mode) then

    вот все строчки из лога



    Что я неправильно делаю???
    Сообщение отредактировал castle - Пятница, 04.12.2015, 22:29
      Злобная реклама
    Пятница, 04.12.2015, 20:05
    Статус:
    Сообщений: 666
    Регистрация: 11.01.2014
    Украина  _S_k_i_F_
    Пятница, 04.12.2015, 20:43 | Сообщение # 8797
    Золотой Обоз
    Статус:
    Опытный:
    Сообщений: 1311
    Награды: 9
    Регистрация: 09.08.2015

    Сделал рестриктор с логикой таймера, при получении поршня и перехода рестриктора в активное состояние таймер запускается и выводится на экран. А как убрать вывод таймера на экран и чтобы он считал игровое время, а не реальное? Зараннее спасибо!
    Сообщение отредактировал _S_k_i_F_ - Пятница, 04.12.2015, 20:56
      Злобная реклама
    Пятница, 04.12.2015, 20:43
    Статус:
    Сообщений: 666
    Регистрация: 09.08.2015
    Соединенные Штаты  Joni_009
    Пятница, 04.12.2015, 20:58 | Сообщение # 8798
    Статус:
    Бывалый:
    Сообщений: 1008
    Награды: 14
    Регистрация: 25.05.2014

    _S_k_i_F_, Попробуй так сделать
      Злобная реклама
    Пятница, 04.12.2015, 20:58
    Статус:
    Сообщений: 666
    Регистрация: 25.05.2014
    Российская Федерация  makdm
    Пятница, 04.12.2015, 21:33 | Сообщение # 8799
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    Цитата _S_k_i_F_ ()
    А как убрать вывод таймера на экран и чтобы он считал игровое время, а не реальное?

    Чем вам on_game_timer в логике рестриктора sr_idle не нравится?
    Сообщение отредактировал makdm - Пятница, 04.12.2015, 21:34
      Злобная реклама
    Пятница, 04.12.2015, 21:33
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Украина  _S_k_i_F_
    Пятница, 04.12.2015, 21:46 | Сообщение # 8800
    Золотой Обоз
    Статус:
    Опытный:
    Сообщений: 1311
    Награды: 9
    Регистрация: 09.08.2015

    makdm, как в on_game_timer правильно высчитывать время? Зараннее спасибо!
    Сообщение отредактировал _S_k_i_F_ - Пятница, 04.12.2015, 22:12
      Злобная реклама
    Пятница, 04.12.2015, 21:46
    Статус:
    Сообщений: 666
    Регистрация: 09.08.2015
    Российская Федерация  makdm
    Пятница, 04.12.2015, 22:15 | Сообщение # 8801
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    Цитата _S_k_i_F_ ()
    как в on_game_timer правильно высчитывать время?

    Не понял вопроса.
    В одном часе 60 минут, в минуте 60 секунд.
    Чего высчитывать будем???
      Злобная реклама
    Пятница, 04.12.2015, 22:15
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Украина  _S_k_i_F_
    Пятница, 04.12.2015, 23:10 | Сообщение # 8802
    Золотой Обоз
    Статус:
    Опытный:
    Сообщений: 1311
    Награды: 9
    Регистрация: 09.08.2015

    makdm, то есть если выставить 600 - то это будет 6 игровых минут?
      Злобная реклама
    Пятница, 04.12.2015, 23:10
    Статус:
    Сообщений: 666
    Регистрация: 09.08.2015
    Российская Федерация  makdm
    Пятница, 04.12.2015, 23:22 | Сообщение # 8803
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    Цитата _S_k_i_F_ ()
    то есть если выставить 600 - то это будет 6 игровых минут?

    Зачем задавать вопросы, на которые можно получить ответ путём эксперимента?
    Что мешает это проверить в игре?
    ( Вообще-то 60 * 6 = 360. У нас ещё и с математикой проблемы? )
      Злобная реклама
    Пятница, 04.12.2015, 23:22
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Российская Федерация  BeeRsek
    Суббота, 05.12.2015, 08:13 | Сообщение # 8804
    Тайна Зоны: История Стрелка
    Статус:
    Опытный:
    Сообщений: 1308
    Награды: 7
    Регистрация: 24.01.2011

    Нужна помощь. Установил фотошоп, установил плагин для открытия dds, а он зараза не работает. Дома на компе тот же фотошоп и тот же плагин и всё работает. Правда дома 32битная система,а тут 64. Может из-за этого? И как теперь решить эту проблему?
      Злобная реклама
    Суббота, 05.12.2015, 08:13
    Статус:
    Сообщений: 666
    Регистрация: 24.01.2011
    Украина  _S_k_i_F_
    Суббота, 05.12.2015, 12:27 | Сообщение # 8805
    Золотой Обоз
    Статус:
    Опытный:
    Сообщений: 1311
    Награды: 9
    Регистрация: 09.08.2015

    Скажите, что за вылет? Вылетает в при юзании диалога


    Зараннее спасибо!
      Злобная реклама
    Суббота, 05.12.2015, 12:27
    Статус:
    Сообщений: 666
    Регистрация: 09.08.2015
    Поиск: