Перейти к контенту

Скриптование


Svoboда

Рекомендуемые сообщения

Подскажите, в оригинале ТЧ можно влиять на голод ГГ скриптами? Скажем, повесить на апдейт увеличение сытости при наличии в инвентаре определённой брони?

Поделиться этим сообщением


Ссылка на сообщение
5 часов назад, kenguru сказал:

нужно чистить статику от мусора

как по мне, экономия на спичках. А с кол-вом второстепенных заданий, которые сбиваются, проблему уже решали. Стоит покурить доработанные task_manager.script.

 

5 часов назад, kenguru сказал:

Если удалил и что-то заглючило с квестами - сам виноват и разбирайся.

 Игроку разбираться? :). Стоит ИМХО не резать всё подряд, чтобы оно потом глючило.

  • Согласен 1

Поделиться этим сообщением


Ссылка на сообщение

Согласно этой вот статье:

https://stalker.fandom.com/ru/wiki/Ранг

Есть баг с точностью НПС... И вот вопрос - этот баг в формуле в движке править надо? Или оно зарыто где-то в скриптах? Можно, конечно, порезать всем ранг в 10 раз в конфигах, но проблему полностью это не решит...

  • Полезно 2

Поделиться этим сообщением


Ссылка на сообщение

Ищу скрипт, позволяющий НПС игнорировать определённые виды мутантов. Наверняка есть где подсмотреть. Нужно для целого гулага вояк на Кордоне.

Поделиться этим сообщением


Ссылка на сообщение

Бьюсь над тем, чтобы в однотипных квестах по поиску предметов можно было искать не только броню и оружие...

Собственно, подсказали когда-то тут:

Скрытый текст

Попробовал доработать se_item.script:

 

class "se_item_detector" (cse_alife_item_detector)
function se_item_detector:__init (section) super (section)
end
function se_item_detector:on_register()
    cse_alife_item_custom_outfit.on_register( self )
    -- Регистрация в таскменеджере
    task_manager.get_random_task():register_target(self)

    -- Собираем статистику по предметам.
    if registred_items[self:section_name()] == nil then
        registred_items[self:section_name()] = 1
    else
        registred_items[self:section_name()] = registred_items[self:section_name()] + 1
    end
end
function se_item_detector:on_unregister()
    --' Отрегистрация в таскменеджере
    task_manager.get_random_task():unregister_target(self)
end
 

В class_registrator:

строку добавил:

    cs_register    (object_factory, "CAttch",          "se_item.se_item_detector",    "D_SIMDET",      "device_detector_simple")

...чтобы хотя бы можно было детекторы искать.

И нифига.

Быть может, можно как-то заполнить таблицу local registred_items = {} в начале se_item.script? Но как? Пробовал вписать detector_simple = true и 0 результата.

Изменено пользователем Капрал Хикс

Поделиться этим сообщением


Ссылка на сообщение

@Norman Eisenherz , работает! Осталось доработать тексты, но в целом на поиск детектора задание взялось, проапдейтилось и сдалось.

Изменено пользователем Капрал Хикс
  • Нравится 1

Поделиться этим сообщением


Ссылка на сообщение

Поколдовал ещё со скриптом task_manager.script и создал ещё один новый тип квеста - поиск информации. Ставим как цель квеста определённый инфопоршень и при получении его бежим за наградой, т.к. квест выполняется. Буду ещё тестировать, но вроде работает.

P.S. Если у нас уже есть этот инфопоршень, задание сразу обновляется, можно сразу получить награду.

Изменено пользователем Капрал Хикс
  • Нравится 2

Поделиться этим сообщением


Ссылка на сообщение

В Зове Припяти при покупке патронов учитывается кол-во патронов в пачке, оно влияет на цену. Хочу в ТЧ это дело поправить. Где в trade_manager.script смотреть это?

  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

Кто-нибудь адаптировал для себя отдельно в таск_менеджер награду инфой из АМК? У меня лыжи что-то не едут.

Поделиться этим сообщением


Ссылка на сообщение

Обнаружил странное в файле treasure_manager.script... 

        local community    = parse_names(utils.cfg_get_string(self.ini, id, "community", nil, false, "", "stalker, bandit, dolg, freedom"))

А как же группировки "Монолит" и наёмники? Не говоря уже о зомбированных.

Поделиться этим сообщением


Ссылка на сообщение

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

Поделиться этим сообщением


Ссылка на сообщение
2 часа назад, Labadal сказал:

кстати, есть ещё такой вариант, он отлавливает состояние квеста, попробуй его:

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

Нужный инфопоршень конкретного 1 квеста на пробу пера выдаётся при наличии 4-х, которые выдаются при заходе ГГ в 4 спейс-рестриктора. Так вот, мне нужно в логике спейс-рестриктора добавить условие-заглушку, чтобы инфопоршень выдавался только при наличии активного квеста. Иначе, если игрок раньше времени придёт туда, квест как нужно работать не будет.

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

Изменено пользователем Капрал Хикс

Поделиться этим сообщением


Ссылка на сообщение

Будем делать, за советы спасибо!

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

Поделиться этим сообщением


Ссылка на сообщение
02.08.2024 в 16:51, Labadal сказал:
local task_status = db.actor:get_task_state("тут пишешь id квеста", 0) -- id квеста из <game_task id="id квеста">

if task_status == 0 then
    -- Действия, если задание провалено
elseif task_status == 2 then
    -- Действия, если задание выполнено
elseif task_status == 1 then
    -- Действия, если задание активно
elseif task_status == -1 then
    -- Действия, если задания нет ни в проваленных, ни в выполненных, ни в активных
end

Не работает проверка на взятый квест почему-то...

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...