Перейти к содержанию

makdm

Разработчики
  • Публикаций

    557
  • Зарегистрирован

  • Посещение

  • Победитель дней

    6

Сообщения, опубликованные makdm


  1. В кастом -дата ящика пишете путь к логике ящика

    [logic]
    cfg = scripts\inventory_box.ltx

    В файл inventory_box.ltx пишете логику

    [logic]
    active = ph_idle@open

    [ph_idle@open]
    nonscript_usable = true
    tips = st_search_treasure
    on_use = ph_idle@open %=esc_treasure_1_fun%

    В файл xr_effects.script пишете функцию, которая будет вызвана при первом открытии ящика. Если нужно каждый раз вызывать функцию, то проверку инфопорции нужно удалить.

    function esc_treasure_1_fun( actor, npc )
        if has_alife_info( "esc_treasure_1_fun" ) then return end
        actor:give_info_portion(  "esc_treasure_1_fun"  )
        treasure_secret_mod.esc_treasure_1_fun()
    end

    Как-то так.

    • Спасибо 1

  2. 13 часов назад, vladvexa188 сказал:

    [error]Description   : _Name && _Name[0]

    THM файл сделан к основной текстуре и имеет ссылку на дополнительную текстуру, которой нет в папке textures

     


  3. В 18.02.2024 в 13:40, Meханик сказал:

    Виват Лабиринт 2.0

    Специально выждал время!

    Не увидел "вау-вау" или "мы все ждем с нетерпением" от Сталкеров.

    Поэтому  все наработки " в топку ".

    Локации, которые планировались отправляются  туда же.

    Game Over.  

     

    • Пост еще тот... 1
    • Смущение 1

  4. 3 минуты назад, The_Python сказал:

    путь 100% правильный 

    Почему я дотошно спрашиваю. Тут дело вот в чем.

    Ваша ошибка говорит о том, что параметр self.max_population равен NIL. Но сам скрипт когда его читает, то если не находит, то присваивает по умолчанию значение НОЛЬ. Т.е. NIL в принципе невозможен, даже если вы этот параметр не указали  в конфиге смарта:

    local max_population = utils.cfg_get_string(ini, SMART_TERRAIN_SECT, "max_population", self, false, "", 0)
        local parsed_condlist = xr_logic.parse_condlist(nil, SMART_TERRAIN_SECT, "max_population", max_population)
        self.max_population = tonumber(xr_logic.pick_section_from_condlist(get_story_object("actor"), nil, parsed_condlist))

    NIL может быть, если не найден файл из которого нужно читать параметр. Так что тут получается два варианта

    1. Не указана секция конфига -  [smart_terrain]

    2. Неверный путь к файлу.

    Я пока другой причины не вижу.

     


  5. 9 часов назад, Pavel2000 сказал:

    Так вот вопрос. Это не критично или я что то сделал не так?

    Так и должно быть. Все вейпоинты НЕ на АИ-сетке пишутся в вей файл последней подключенной локации.

     

    • Спасибо 1

  6. 2 минуты назад, Hoperise сказал:

    первое число это дистанция, на которой действует айлайф

    Вот зачем ты ему разжевываешь это? Достаточно вбить в гуугл "stalker switch_distance" и сразу все все становится ясно.

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

     

    • Жму руку 1
    • Смех 2

  7. 22 минуты назад, Nester сказал:

    Вопрос в направлении хода солнца и яркости освещения от него.

    В моде Atmosfear вроде как все DLL поправлены. И движение солнца правильное.

     


  8. 23 минуты назад, Toplol4ik сказал:

    Можно ли в скрипте сделать проверку на тайник поблизости?

    Можно. Здесь нужно из биндера заполнить таблицу тайников, которые в онлайн. Затем на апдейте проверять есть ли у вас детектор и находится ли тайник в зоне действия детектора. Проверять есть ли в тайнике какие-то предметы. Если есть, то ставить метку на тайник. Если тайник вы опустошили, то снимать метку с тайника. Короче куча разного геморроя, который нужно вылечить скриптами.

    Только для этого нужно уметь писАть скрипты. Не умеете - не получится.


  9. 35 минут назад, NewValveCom сказал:

    Результат также. Ставить %c[default] после реплики (после точки) тоже пробовал.

    Вот так нужно делать:

     <string id="test_subtitle">
            <text>%c[default]%c[ui_yellow]Главный герой игры:%c[default]%c[ui_white]Говорю очень длинную реплику.</text>
        </string>


  10. В 22.01.2024 в 14:59, Vorona.L8 сказал:

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

    Без комментариев.

    В 22.01.2024 в 14:59, Vorona.L8 сказал:

    Тут либо я слепой, либо все тайники забиты одним-двумя блистерами таблеток и палкой колбасы.

    Колбасы нет. Враньё.

    Если у НПС есть крутая пушка, то по вашему мнению он её должен положить в тайник, а сам будет ходить с  обрезом? Глупость.

    В тайник как раз и сбрасывают то, что возможно когда-то понадобится, но не является экстренно необходимым.

    В 22.01.2024 в 14:59, Vorona.L8 сказал:

    Очень мало сайдквестов

    Мод сюжетный. Пара - тройка побочных квестов на локации - достаточно. Всё по канону ЗП.

     

    В 22.01.2024 в 14:59, Vorona.L8 сказал:

    Это постоянный поиск. Поиск перехода дальше. это было бы прикольно один раз за мод, но не каждый же раз

    Открою вам большую тайну!

    Сталкер и есть вечный поиск. Поиск лучшей пушки, поиск лучших артов, поиск лучшей брони и т.д.

    Метки на каждом задании - не есть вери гууд. Я не считаю игроков за дебилов, которым нужно всё подать на блюдечке.

    В 22.01.2024 в 14:59, Vorona.L8 сказал:

    и удачи ему, тк есть задатки, осталось их отточить и довести до совершенства

    Спасибо за совет. Это мой шестой мод. В седьмом учту ваши пожелания. 

    • Лайк 1
    • Мастер! 2
    • Жму руку 1
    • Хабар 1

  11. 2 минуты назад, Pavel2000 сказал:

    а проверка на отсутствие поршня нужна?

    Я не знаю о чем вы и о каком поршне говорите.

    В таблице прямо прописывается, если true значит нашёл. Никакие тут поршни вот совсем не нужны.

    • Мастер! 1

  12. Pavel2000 ,BarmaGlot  изобретение велосипеда это конечно здорово, но лучше взять тот, который уже давно разработан разрабами Сталкера.

    Файл xr_statistic.script

    В таблицу artefacts_table пишутся арты, которые нашёл  ГГ. 

    Для запуска энциклопедии по артефактам, который нашёл ГГ, достаточно прочитать эту таблицу.

    • Аплодисменты 1

  13. 7 часов назад, Pavel2000 сказал:

    код ввожу, ящик не открывается и опять код 

    В файле ph_code.script после строки

    function codepad:update(delta)

    Добавь строку

    if xr_logic.try_switch_to_another_section(self.object, self.st, db.actor) then
         return

    Должно получиться так:

    Спойлер

    function codepad:update(delta)
    if xr_logic.try_switch_to_another_section(self.object, self.st, db.actor) then
         return
     end
    end

    Дальше:

    После строки if self.st.on_code then

    строку 

    xr_logic.pick_section_from_condlist(db.actor, self.object, self.st.on_code.condlist)

    Меняете на

    local condlist = xr_logic.pick_section_from_condlist( db.actor, self.object, self.st.on_code.condlist )
                    xr_logic.switch_to_section( self.object, self.st.ini, condlist )

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


  14. 35 минут назад, Balavnik сказал:

    При этом получаю ошибку attempt to index global 'my_script' (a nil value). Кто знает, что делать?

    В файле my_script.script синтаксическая ошибка.

    Проверяйте файл my_script.script на синтаксис.

     


    Дополнено 2 минуты спустя
    2 часа назад, sumrak6835 сказал:

    Хуйни не неси. На ТЧ такие моды построены что в ЗП даже не снились

    Херня полная. Движок ЗП включает в себя движок ТЧ и плюс охеренное число добавленных фишек.

    Так что дело только в модах, а не в движке.

     

    • Мастер! 1

  15. 5 часов назад, NewValveCom сказал:

    Пробовал, не выходит.

    NewValveCom , за разговор с раненым отвечает функция process_npc_usability(npc) в файле xr_meet.script

    Сама функция вызывается на апдейте сталкеров в файле xr_motivator.script

    Если вы хотите, чтобы раненый, неважно друг он вам или враг, разговаривал с ГГ, то нужно в файле xr_meet.script функцию process_npc_usability(npc) поменять на такую:

    Спойлер

     

    function process_npc_usability(npc)

        local wounded = db.storage[npc:id()].wounded
        if xr_wounded.is_wounded(npc) then
                if wounded.enable_talk then
                    npc:enable_talk()
                else
                    npc:disable_talk()
                end
            return
        end

        local meet = db.storage[npc:id()].meet

        local use = meet.meet_manager.use

        if use == "true" then
            if xr_corpse_detection.is_under_corpse_detection(npc) or xr_help_wounded.is_under_help_wounded(npc) then
                npc:disable_talk()
            else
                npc:enable_talk()
            end
        elseif use == "false" then
            npc:disable_talk()
            if npc:is_talking() then
                npc:stop_talk()
            end
        end

    end

     

    Тогда,  если в секции wounded прописать enable_talk = true, то и раненые враги будут с вами вести разговор.

    З.Ы. Но я всегда делал по другому. Если  ГГ подходит к раненому нпс врагу, НПС первым начинал разговор. В этом случае ничего в скриптах менять не нужно.