Случайная подборка модов
Под прикрытием смерти. Клондайк 2.0
4.0
Oblivion Lost 3.0
3.0
Пространственная аномалия (Update 3)
4.0
Пространственная Аномалия 4.1
4.5
Road To The North
3.7
Old Good Stalker Mod v2.4 Gold
4.2
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: 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
    Беларусь  sektor_aka
    Среда, 08.04.2020, 00:02 | Сообщение # 6526
    Статус:
    Опытный:
    Сообщений: 1343
    Награды: 6
    Регистрация: 07.03.2016

    Цитата oleg19966 ()
    какая-то функция, но она походу не прописана в xr_effects

    Может автор опечатался?

    Единственное похожее что нашел:
    Код
    function remove_npc(actor, npc, p)
        if p and p[1] then
      npc_id = get_story_object_id(p[1])
        end
        if npc_id ~= nil then
      alife():release(alife():object(npc_id), true)
        end
    end


    Попробовал - прокатило.

    Цитата Overfirst ()
    destroy_object

    А в чём разница между ними?

    В принципе попробовал, работает.
    Код
    function destroy_object(actor, obj, p)
        local sobj
        if p == nil then
      sobj = alife():object(obj:id())
        else
      if p[1] == nil or p[2] == nil then
       abort("Wrong parameters in destroy_object function!!!")
      end
      local target_str = nil
      if p[3] ~= nil then
       target_str = p[1].."|"..p[2]..","..p[3]
      else
       target_str = p[1].."|"..p[2]
      end
      local target_position, target_id, target_init = xr_remark.init_target(obj, target_str)
      if target_id == nil then
       printf("You are trying to set non-existant target [%s] for object [%s] in section [%s]", tostring(target_str), tostring(obj:name()), tostring(db.storage[obj:id()].active_section))
      end
      sobj = alife():object(target_id)
        end
        if sobj == nil then
      return
        end
        printf("releasing object ["..sobj:name().."]")
        alife():release(sobj, true)
    end


    Непонятно что лучше юзать в контексте логики мода.

    Добавлено (08.04.2020, 00:11)
    ---------------------------------------------
    Ну судя по тому, что в аналогичных файлах рядом юзается destroy_object, значит он.

    remove_npc юзается в логике рестрикторов в моде.

      Злобная реклама
    Среда, 08.04.2020, 00:02
    Статус:
    Сообщений: 666
    Регистрация: 07.03.2016
    Российская Федерация  Overfirst
    Среда, 08.04.2020, 00:11 | Сообщение # 6527
    Статус:
    Бывалый:
    Сообщений: 1081
    Награды: 19
    Регистрация: 11.06.2015

    Цитата sektor_aka ()
    А в чём разница между ними?

    Функция remove_npc удаляет любой объект по story_id (на самом деле не только неписей, несмотря на название). Функция destroy_object, если вызвать её без параметров, просто удалит объект, которым она была вызвана, а если параметры передавать, то тут уже интереснее. Первым аргументом она принимает, по какому параметру мы будем получать удаляемый объект, а потом передаем значение этого параметра. Пример:
    Код
    %=destroy_object(story:object_story_id)%

    Ключевое слово story говорит об удалении объекта с полем story_id = object_story_id. Есть там еще приблуды по другим параметрам, посмотри саму функцию и примеры её использования от GSC, там и по работе в смарте, и по чему-то ещё можно удалять объекты.
    Цитата sektor_aka ()
    Непонятно что лучше юзать в контексте логики мода.

    Нет никаких ограничений. Что тебе нравится больше, то и используй. Обе эти функции в конечном итоге вызывают одно и то же, просто приходят к этому по-разному, получая объект разными способами.
      Злобная реклама
    Среда, 08.04.2020, 00:11
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Украина  KOLOMBO13
    Среда, 08.04.2020, 00:35 | Сообщение # 6528
    Статус:
    Отмычка:
    Сообщений: 165
    Награды: 1
    Регистрация: 10.10.2018

    подскажите плз,а можно както исправить чтобы всегда была метка и не нужно жать кнопки ?! вот с такого скрипта....
    Сообщение отредактировал KOLOMBO13 - Среда, 08.04.2020, 00:37
      Злобная реклама
    Среда, 08.04.2020, 00:35
    Статус:
    Сообщений: 666
    Регистрация: 10.10.2018
    Украина  molodoy_chelovek
    Среда, 08.04.2020, 11:00 | Сообщение # 6529
    Статус:
    Новичок:
    Сообщений: 316
    Награды: 2
    Регистрация: 14.07.2019

    KOLOMBO13, в on_game_start:
    Цитата
    local obj_id = get_story_object_id("mar_smart_terrain_doc_doctor")
    level.map_add_object_spot(obj_id, "ui_pda2_quest_npc_location", "Болотный Доктор")
      Злобная реклама
    Среда, 08.04.2020, 11:00
    Статус:
    Сообщений: 666
    Регистрация: 14.07.2019
    Украина  KOLOMBO13
    Среда, 08.04.2020, 11:40 | Сообщение # 6530
    Статус:
    Отмычка:
    Сообщений: 165
    Награды: 1
    Регистрация: 10.10.2018

    molodoy_chelovek, да Вы ищо и dobriy_chelovek спасибо, а то я тут вычитал про новую отметку как делать, а у Вас проще будет !
    Сообщение отредактировал KOLOMBO13 - Среда, 08.04.2020, 11:41
      Злобная реклама
    Среда, 08.04.2020, 11:40
    Статус:
    Сообщений: 666
    Регистрация: 10.10.2018
    Российская Федерация  Paradox27kms
    Среда, 08.04.2020, 14:47 | Сообщение # 6531
    Статус:
    Новичок:
    Сообщений: 312
    Награды: 2
    Регистрация: 11.02.2019

    Ребята вот такая проблема... в общем имеется дверь с вот такой логикой:

    Проблема в том что изначально если следовать логике по умолчанию дверь открыта, но вот физически если на неё нажать то она реагировать не будет почему-то. Надпись "открыть дверь" так же присутствует. Можно конечно сразу сделать её физически открытой но тогда это будет проходной двор и мне никак не нужно.
    Сообщение отредактировал Paradox27kms - Среда, 08.04.2020, 14:50
      Злобная реклама
    Среда, 08.04.2020, 14:47
    Статус:
    Сообщений: 666
    Регистрация: 11.02.2019
    Российская Федерация  denis2000
    Среда, 08.04.2020, 14:56 | Сообщение # 6532
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Paradox27kms,
    Во первых дверь изначально в этой логике не "открыта", а "незаперта". То есть она закрыта и при взаимодействии с ней игрока она откроется (при верно написанной логике).
    Во вторых дверь под логикой и не должна реагировать на физические воздействия.
    В третьих, а что собственно нужно? Или это ваш маленький секрет?
    Сообщение отредактировал denis2000 - Среда, 08.04.2020, 15:07
      Злобная реклама
    Среда, 08.04.2020, 14:56
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Украина  AziatkaVictor
    Среда, 08.04.2020, 15:00 | Сообщение # 6533
    Статус:
    Опытный:
    Сообщений: 1313
    Награды: 4
    Регистрация: 30.08.2018

    Paradox27kms,
    Код
    [ph_door@closed]
    closed = true

    [ph_door@open]
    closed = true
    Конечно, у вас в разных секциях параметр "closed" одинаковый, замени:
    Код
    [ph_door@open]
    closed = true
    На вот это:
    Код
    [ph_door@open]
    closed = false


    UPD: Кстати, вот эту часть логики можно вообще удалить, так как она не используется:
    Код
    [ph_door@locked]
    locked = true
    snd_open_start = trader_door_unlock
    Сообщение отредактировал AziatkaVictor - Среда, 08.04.2020, 15:04
      Злобная реклама
    Среда, 08.04.2020, 15:00
    Статус:
    Сообщений: 666
    Регистрация: 30.08.2018
    Российская Федерация  denis2000
    Среда, 08.04.2020, 15:07 | Сообщение # 6534
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    AziatkaVictor,
    Для начала, неплохо быдло бы узнать какая логика двери в принципе требуется, хотя может вы телепат...


    sashakrop, Я только идею предложил, даже без каких либо гарантий ее реализуемости.
    Сообщение отредактировал denis2000 - Среда, 08.04.2020, 15:09
      Злобная реклама
    Среда, 08.04.2020, 15:07
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Украина  AziatkaVictor
    Среда, 08.04.2020, 15:10 | Сообщение # 6535
    Статус:
    Опытный:
    Сообщений: 1313
    Награды: 4
    Регистрация: 30.08.2018

    denis2000, ну, наверное он говорил о том, что дверь на нажатие "F" не реагирует, хотя надпись "Открыть дверь" присутствует. Тем более, зачем переключать секции, где одинаковые параметры, тем более в логике двери. happy
      Злобная реклама
    Среда, 08.04.2020, 15:10
    Статус:
    Сообщений: 666
    Регистрация: 30.08.2018
    Российская Федерация  Paradox27kms
    Среда, 08.04.2020, 15:15 | Сообщение # 6536
    Статус:
    Новичок:
    Сообщений: 312
    Награды: 2
    Регистрация: 11.02.2019

    AziatkaVictor, Именно так.
      Злобная реклама
    Среда, 08.04.2020, 15:15
    Статус:
    Сообщений: 666
    Регистрация: 11.02.2019
    Российская Федерация  denis2000
    Среда, 08.04.2020, 15:15 | Сообщение # 6537
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Цитата AziatkaVictor ()
    наверное он говорил о том, что дверь на нажатие "F" не реагирует

    Ничего подобного в изначальном посте я не увидел, но вам возможно виднее... Вы точно телепат!!!
    Цитата Paradox27kms ()
    Именно так.

    А сразу постеснялись объяснить суть проблемы?
    Сообщение отредактировал denis2000 - Среда, 08.04.2020, 15:20
      Злобная реклама
    Среда, 08.04.2020, 15:15
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  Paradox27kms
    Среда, 08.04.2020, 15:30 | Сообщение # 6538
    Статус:
    Новичок:
    Сообщений: 312
    Награды: 2
    Регистрация: 11.02.2019

    AziatkaVictor, По твоей логике у меня в игре дверь уже по умолчанию открыта физически (понимание физичечки - сама моделька двери открыта изначально). А мне нужно чтобы было как положено, она закрыта - нажал на F открыл!
      Злобная реклама
    Среда, 08.04.2020, 15:30
    Статус:
    Сообщений: 666
    Регистрация: 11.02.2019
    Украина  AziatkaVictor
    Среда, 08.04.2020, 15:32 | Сообщение # 6539
    Статус:
    Опытный:
    Сообщений: 1313
    Награды: 4
    Регистрация: 30.08.2018

    Paradox27kms, ну откройте глаза! Вот:
    Код
    [logic]
    active = ph_door@open
    Вы сами указали активной секцию, где она открыта, поменяйте на:
    Код
    [logic]
    active = ph_door@closed
      Злобная реклама
    Среда, 08.04.2020, 15:32
    Статус:
    Сообщений: 666
    Регистрация: 30.08.2018
    Российская Федерация  Policai
    Среда, 08.04.2020, 15:35 | Сообщение # 6540
    Dead City Breakthrough
    Статус:
    Опытный:
    Сообщений: 2244
    Награды: 11
    Регистрация: 08.11.2011

    Paradox27kms,

    Это где? в ЗП или в ТЧ????? Ты тут такой бардак развёл, что хрен проссы про что разговор, валишь всё в одну кучу и ТЧ и ЗП...
      Злобная реклама
    Среда, 08.04.2020, 15:35
    Статус:
    Сообщений: 666
    Регистрация: 08.11.2011
    Поиск: