Случайная подборка модов
Игра Душ: Начало
3.6
EPILOGUE
3.5
Lost World: Origin
4.1
Dragon`s MOD
2.5
Новое Время. Научный Подход
3.8
X-RAY Multiplayer Extension: Defence
4.7
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: FanG, Аdmin, FantomICW, Overfirst  
[CoP] Модострой: вопросница
Российская Федерация  Overfirst
Воскресенье, 31.12.2017, 13:17 | Сообщение # 1
Статус:
Бывалый:
Сообщений: 1081
Награды: 19
Регистрация: 11.06.2015

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

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

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


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

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

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

  • Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
  •   Злобная реклама
    Воскресенье, 31.12.2017, 13:17
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Российская Федерация  denis2000
    Вторник, 04.02.2020, 09:30 | Сообщение # 6001
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Цитата Lektorrr ()
    Симуляционным НПС, которые респавнятся на смарте, особо и не пропишешь

    Респавниться могут любые сквады.
    Цитата Lektorrr ()
    В таком случае НПС будут только респавнится там и сразу же уходить, а мне надо с точностью наоборот

    Симуляционные сквады для этого и предназначены. Если вам нужно наоборот, то для этого применяют несимуляционные сквады, то есть те у которых жестко прописан целевой смарт в конфиге.

    Полезная информация: КМБ Урок 6-7
    Сообщение отредактировал denis2000 - Вторник, 04.02.2020, 09:32
      Злобная реклама
    Вторник, 04.02.2020, 09:30
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  Lektorrr
    Вторник, 04.02.2020, 10:19 | Сообщение # 6002
    Статус:
    Новичок:
    Сообщений: 266
    Награды: 5
    Регистрация: 09.01.2013

    Цитата denis2000 ()
    Полезная информация: КМБ Урок 6-7

    Довольно интересная и полезная статья. Спасибо, попробую реализовать такой сквад.

    ------------------------------------------------------------------------------------------------------------

    Народ, ещё вопрос. Пытаюсь сделать так, чтобы работа в смарте была доступна только при наличии у НПС какого-либо определенного предмета. Однако стандартная ЗП функция из xr_conditions вызывает вылет (возможно, из-за того, что я начинаю НИ на другой локации). Возможно ли как-то реализовать вообще подобную проверку? Может быть это уже было в каком-либо моде?

    Вот сама работа:
    Цитата

    [logic@svd]
    prior = 193
    suitable = {=npc_has_item(wpn_svd)} true
    active = walker@svd


    А это вылет:
    Цитата

    Expression : !m_error_code
    Function : raii_guard::~raii_guard
    File : ..\xrServerEntities\script_storage.cpp
    Line : 748
    Description : ... - Çîâ Ïðèïÿòè\gamedata\scripts\xr_conditions.script:1757: attempt to call method 'object' (a nil value)
    Сообщение отредактировал Lektorrr - Вторник, 04.02.2020, 10:20
      Злобная реклама
    Вторник, 04.02.2020, 10:19
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2013
    Российская Федерация  denis2000
    Вторник, 04.02.2020, 11:04 | Сообщение # 6003
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Lektorrr, Странно но в функцию проверки передавался второй параметр равным nil.
    Попробуйте в скрипте xr_conditions.script изменить функцию npc_has_item на такую:
    Код
    function npc_has_item(actor, npc, p)
        return npc ~= nil and p[1] ~= nil and npc:object( p[1] ) ~= nil
    end
    Сообщение отредактировал denis2000 - Вторник, 04.02.2020, 11:06
      Злобная реклама
    Вторник, 04.02.2020, 11:04
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  Lektorrr
    Вторник, 04.02.2020, 11:11 | Сообщение # 6004
    Статус:
    Новичок:
    Сообщений: 266
    Награды: 5
    Регистрация: 09.01.2013

    Цитата denis2000 ()
    Попробуйте в скрипте xr_conditions.script изменить функцию npc_has_item на такую:

    Не помогло. Такой же вылет.
      Злобная реклама
    Вторник, 04.02.2020, 11:11
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2013
    Российская Федерация  denis2000
    Вторник, 04.02.2020, 11:42 | Сообщение # 6005
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Lektorrr, Тогда приводим содержимое скрипта gamedata\scripts\xr_conditions.script в районе строк и 1757 в которой речь идет о переменной 'object', которая по заявлению движка равна nil.
      Злобная реклама
    Вторник, 04.02.2020, 11:42
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  Lektorrr
    Вторник, 04.02.2020, 11:44 | Сообщение # 6006
    Статус:
    Новичок:
    Сообщений: 266
    Награды: 5
    Регистрация: 09.01.2013

      Злобная реклама
    Вторник, 04.02.2020, 11:44
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2013
    Российская Федерация  makdm
    Вторник, 04.02.2020, 12:31 | Сообщение # 6007
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    Lektorrr, при назначении работы в смарт, скрипт всегда работает с серверным классом объекта. Поэтому можно использовать только те движковые методы, которые применимы к нему.
    Например NAME(), CLSID() и т.д.
    Метод, который вы пытаетесь применить к серверному классу объекта OBJECT( string ) - применяется только к клиентскому классу объекта ( GAME OBJECT )
    Поэтому и вылет.
    Здесь нужен другой подход.
    Сообщение отредактировал makdm - Вторник, 04.02.2020, 13:07
      Злобная реклама
    Вторник, 04.02.2020, 12:31
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Российская Федерация  Lektorrr
    Вторник, 04.02.2020, 12:42 | Сообщение # 6008
    Статус:
    Новичок:
    Сообщений: 266
    Награды: 5
    Регистрация: 09.01.2013

    Цитата makdm ()
    Здесь нужен другой подход.

    Возможно ли в таком случае отследить предмет в инвентаре по CLSID'у?
    Сообщение отредактировал Lektorrr - Вторник, 04.02.2020, 12:50
      Злобная реклама
    Вторник, 04.02.2020, 12:42
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2013
    Российская Федерация  denis2000
    Вторник, 04.02.2020, 14:04 | Сообщение # 6009
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Цитата makdm ()
    Здесь нужен другой подход.

    Согласен!
    Lektorrr, Значит функция должна быть например такой:
    Код
    function check_npc_hase_item(actor, npc, p)
        local npc_obj
        if type(npc.id) ~= "function" then
      npc_obj = db.storage[npc.id] and db.storage[npc.id].object
      if npc_obj ~= nil then return npc_obj:object(p[1]) end
      return false
        else
      return false
        end
    end

    А применение таким:
    Код
    suitable = {=check_npc_hase_item(wpn_svd)} true
    Сообщение отредактировал denis2000 - Вторник, 04.02.2020, 14:08
      Злобная реклама
    Вторник, 04.02.2020, 14:04
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  Lektorrr
    Вторник, 04.02.2020, 14:12 | Сообщение # 6010
    Статус:
    Новичок:
    Сообщений: 266
    Награды: 5
    Регистрация: 09.01.2013

    Цитата denis2000 ()
    Согласен! Значит функция должна быть например такой:

    Все заработало. Просто снимаю шляпу перед вами. Огромное вам спасибо за помощь.
      Злобная реклама
    Вторник, 04.02.2020, 14:12
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2013
    Российская Федерация  doLLLirak
    Вторник, 04.02.2020, 19:02 | Сообщение # 6011
    Статус:
    Зевака:
    Сообщений: 4
    Награды: 0
    Регистрация: 04.02.2020

    Привет, подскажите пожалуйста как переключаться между прицелами на G36 мод Legend Returns 0 9 2?
    Сообщение отредактировал doLLLirak - Вторник, 04.02.2020, 19:04
      Злобная реклама
    Вторник, 04.02.2020, 19:02
    Статус:
    Сообщений: 666
    Регистрация: 04.02.2020
    Российская Федерация  Lektorrr
    Вторник, 04.02.2020, 19:06 | Сообщение # 6012
    Статус:
    Новичок:
    Сообщений: 266
    Награды: 5
    Регистрация: 09.01.2013

    Цитата doLLLirak ()
    Привет, подскажите пожалуйста как переключаться между прицелами на G36 мод Legend Returns 0 9 2?

    Насколько я знаю, в LR такой возможности не предусмотрено
    Сообщение отредактировал Lektorrr - Вторник, 04.02.2020, 19:07
      Злобная реклама
    Вторник, 04.02.2020, 19:06
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2013
    Российская Федерация  doLLLirak
    Вторник, 04.02.2020, 19:08 | Сообщение # 6013
    Статус:
    Зевака:
    Сообщений: 4
    Награды: 0
    Регистрация: 04.02.2020

    у техника сделал обгрейд на коллиматтороный прицел 1.6 но по факту ничего нет вот и мучаюсь )
      Злобная реклама
    Вторник, 04.02.2020, 19:08
    Статус:
    Сообщений: 666
    Регистрация: 04.02.2020
    Российская Федерация  S_E_R_H_I_O
    Вторник, 04.02.2020, 19:15 | Сообщение # 6014
    Статус:
    Отмычка:
    Сообщений: 139
    Награды: 2
    Регистрация: 29.01.2017

    doLLLirak, ты прокачал кратность прицела, дальность изменилась а так прицел останется обычным
      Злобная реклама
    Вторник, 04.02.2020, 19:15
    Статус:
    Сообщений: 666
    Регистрация: 29.01.2017
    Российская Федерация  doLLLirak
    Вторник, 04.02.2020, 19:17 | Сообщение # 6015
    Статус:
    Зевака:
    Сообщений: 4
    Награды: 0
    Регистрация: 04.02.2020

    понятно, спасибо !
      Злобная реклама
    Вторник, 04.02.2020, 19:17
    Статус:
    Сообщений: 666
    Регистрация: 04.02.2020
    Поиск: