Случайная подборка модов
Выживший. Побег из Зоны
3.7
Путь Человека
4.0
ABC Inferno
3.9
Объединенный Пак 2.1
3.1
Зачистка
4.0
История Конвона. Часть первая
3.1
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: 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
    Поиск: