mikelik 1 009 Опубликовано 25 Декабря 2021 Поделиться Опубликовано 25 Декабря 2021 (изменено) Может кто-нибудь подсказать, где прописано расстояние, на котором НПС "видят" бесхозные арты и начинают идти к ним? Ну и вообще, где прописано, что они должны собирать бесхозные арты? ---------- Хочу или сильно урезать им зрение именно на счёт артов, а не вообще. Или отменить совсем эту их функцию. Арты в поле должны спавняться исключительно для игрока, а не для НПС (имхо). И мне сильно не нравится, что мои арты берёт кто-то кроме меня Изменено 25 Декабря 2021 пользователем mikelik 1 2 Мысли, написанные с грамматическими ошибками, невозможно воспринимать как умные. Ссылка на комментарий
dsh 3 824 Опубликовано 25 Декабря 2021 Поделиться Опубликовано 25 Декабря 2021 @mikelik в watcher_act.script скорее всего. У тебя же NLC, это важно. Там свои велосипеды. @Okichi может знать, она что-то меняла там. 2 2 1 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
aromatizer 4 429 Опубликовано 25 Декабря 2021 Поделиться Опубликовано 25 Декабря 2021 1 час назад, mikelik сказал: мне сильно не нравится, что мои арты берёт кто-то кроме меня 1 4 Отношения между людьми- главная ценность в человеческом обществе.Любая полученная информация- это только повод для размышлений, а не побуждение к действию.Это должен знать каждый: уроки боевой подготовки Дяди Саши https://yadi.sk/d/60Ec2B06goLAEНакопано и накнопано:https://yadi.sk/d/mzVY5jQEspwpt Ссылка на комментарий
mole venomous 3 381 Опубликовано 26 Декабря 2021 Поделиться Опубликовано 26 Декабря 2021 (изменено) 17 часов назад, mikelik сказал: Арты в поле должны спавняться исключительно для игрока Как сказали выше, watcher_act. В АМК и многих модах на его базе можно отсечь арты сразу по классу или по секции (в ф-ии "ev_see_stuff:evaluate" локальная ф-ия "check_item(o)"). И в НЛС вроде бы всё похожее. Но остаётся ещё оффлайн воровство (amk_offline_alife.script) ps У меня самого, кстати, не выходит запретить неписям подбирать оружие. Пробовал вносить в исключения по классу, по секции и даже как IsWeapon(obj), всё равно подбирают. Всем остальным побрезгуют, если вещь в исключениях... Изменено 26 Декабря 2021 пользователем mole venomous 2 Здесь могла быть ваша реклама. Ссылка на комментарий
mikelik 1 009 Опубликовано 26 Декабря 2021 Поделиться Опубликовано 26 Декабря 2021 2 часа назад, mole venomous сказал: Но остаётся ещё оффлайн воровство (amk_offline_alife.script) Спасибо. Нашёл. Чтобы не разбираться сильно в расстояниях "видимости" артов и не напортачить, просто закомментировал весь класс артов. Конечно, будет немного глупо выглядеть, если арт окажется прямо под ногами НПС, а тот будет брезговать. Ну да не страшно, такой случай, может, только один на всю игру будет. А воровство, оно же с ящиков и нычек. Это не подбор полевых артов. Без воровства никак, если в игре есть платные камеры хранения. 1 1 Мысли, написанные с грамматическими ошибками, невозможно воспринимать как умные. Ссылка на комментарий
mole venomous 3 381 Опубликовано 26 Декабря 2021 Поделиться Опубликовано 26 Декабря 2021 (изменено) 12 минут назад, mikelik сказал: А воровство, оно же с ящиков и нычек Ну с пола они тоже поднимают в оффлайне... Изменено 26 Декабря 2021 пользователем mole venomous 1 Здесь могла быть ваша реклама. Ссылка на комментарий
gam 117 Опубликовано 26 Декабря 2021 Поделиться Опубликовано 26 Декабря 2021 3 часа назад, mole venomous сказал: У меня самого, кстати, не выходит запретить неписям подбирать оружие. Можно попробовать добавить в конец биндера watcher_act.script, что-то типа: action = manager:action(stalker_ids.action_gather_items) --action:add_precondition(world_property(evid_see_stuff, false)) action:add_precondition(world_property(evid_near_stuff, false)) 1 1 Ссылка на комментарий
mole venomous 3 381 Опубликовано 26 Декабря 2021 Поделиться Опубликовано 26 Декабря 2021 2 часа назад, gam сказал: добавить в конец биндера watcher_act.script, что-то типа Спасибо за наводку. Подсмотрел кое-где, изменил ф-ию "add_to_binder" и теперь можно НПСам запрещать брать указанное оружие. 1 Здесь могла быть ваша реклама. Ссылка на комментарий
dsh 3 824 Опубликовано 26 Декабря 2021 Поделиться Опубликовано 26 Декабря 2021 5 hours ago, mole venomous said: У меня самого, кстати, не выходит запретить неписям подбирать оружие. В оригинальном движке есть такая движковая схема, что бы подбирать оружие. И если я не путаю, ее там даже и не отключить никак или не отключить полностью. @mole venomous не поможет, если непись будет близко с оружием, грубо говоря, пройдет по нему. Если оружие окажется лучше имеющегося, он его просто пропылесосит. Это тоже самое, как если в непися бросить оружие. 4 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
mole venomous 3 381 Опубликовано 26 Декабря 2021 Поделиться Опубликовано 26 Декабря 2021 @dsh , я думаю, что именно 8 минут назад, dsh сказал: не отключить полностью но частично прогресс есть. Раскидав кучи запрещённых и разрешённых стволов, всё проверил. Но если в одной куче будет всякое, видимо, будет именно так: 10 минут назад, dsh сказал: грубо говоря, пройдет по нему и всё таки стырит. Здесь могла быть ваша реклама. Ссылка на комментарий
ARTLantist 14 Опубликовано 26 Декабря 2021 Поделиться Опубликовано 26 Декабря 2021 Вылет при загрузке сохранения (любого): [error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : ..\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : pure virtual function called О чём говорит эта ошибка? Я не знаю, на каком этапе этот вылет появился, только сейчас заметил. Ссылка на комментарий
Okichi 922 Опубликовано 26 Декабря 2021 Поделиться Опубликовано 26 Декабря 2021 (изменено) 4 часа назад, mikelik сказал: Чтобы не разбираться сильно в расстояниях "видимости" артов Миша, у тебя сборка на основе 3.7 - а это значит, что все необходимое в скриптах там уже есть, я делала. И в вотчере, и в амк_оффлайн_алайф добавлена обработка нового параметра из конфига, который говорит неписям " не сметь это трогать, оно тебе не надо от слова совсем". Взято из ДШ-мода, само собой. Единственное, что тебе нужно сделать - это в базовой для всех твоих артов секции добавить вот такой параметр: watcher_act.bad_item = true Пример можешь посмотреть в artefacts_unique.ltx, там я вставляла этот параметр для единственного квестового арта, который спавнился после диалога с Юриком как награда , чтоб этот арт тут же не воровали сидящие в лесочке сталки. Ты же можешь добавить его прямо в секцию af_base Изменено 26 Декабря 2021 пользователем Okichi 1 1 2 След от кругов на воде - это тоже след (с) Ссылка на комментарий
Colder 12 Опубликовано 26 Декабря 2021 Поделиться Опубликовано 26 Декабря 2021 Можно ли скриптово откл. автоматическое перемещение костюмов в слот или это движковая правка? Ссылка на комментарий
Norman Eisenherz 309 Опубликовано 26 Декабря 2021 Поделиться Опубликовано 26 Декабря 2021 @Colder Это настолько зашито в движок, что в ТЧ/ЧН делается попытка поставить в слот брони любой полученный предмет со словом "outfit" в секции – даже флешку. Параметр default_to_ruck = true в конфиге брони не помогает. 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
Jekyll 92 Опубликовано 28 Декабря 2021 Поделиться Опубликовано 28 Декабря 2021 Здравствуйте. Как передать предмет неписю от актора не по секции, а по id? Нужно сделать это в диалоговом окне, типа как функцией "dialogs.relocate_item_section_from_actor(first_speaker,second_speaker,section)". New Anomalies 1.1 ☢☢☢ "Смерть-лампа" ☢☢☢ Дисраптор Русификатор для игры Vendetta: Curse of Raven's Cry Ссылка на комментарий
Colder 12 Опубликовано 29 Декабря 2021 Поделиться Опубликовано 29 Декабря 2021 При попытке загрузить игру получаю вылет: Скрытый текст Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp Line : 73 Description : <no expression> Arguments : LUA error: ...Oaiu ?a?iiauey\gamedata\scripts\dxr_inventory.script:132: attempt to index global 'wpn1' (a nil value) Вот сам скрипт: Скрытый текст local rec_wnd = nil local initial = false class "InvenToryWindow" (CUIScriptWnd) function InvenToryWindow:__init(owner) super() self.owner = owner self:Init(0,0,1024,768) self:InitControls() end --// --------------------------------------------------------------------- function InvenToryWindow:__finalize() end --// --------------------------------------------------------------------- function InvenToryWindow:InitControls() self.stat = CUIStatic() self.stat:Init(0,0,1024,768) self.owner:AttachChild(self.stat) local xml = CScriptXmlInit() xml:ParseFile("inventory_new.xml") self.fast_use_slots_wnd = axr_keylogger_use_slot.FastUseSlotsWnd(self) self.stat:AttachChild(self.fast_use_slots_wnd) wpn1 = xml:InitProgressBar("wpn1_condition_progress", self.stat) wpn1:Show(false) wpn2 = xml:InitProgressBar("wpn2_condition_progress", self.stat) wpn2:Show(false) wpn3 = xml:InitProgressBar("wpn3_condition_progress", self.stat) wpn3:Show(false) wpn4 = xml:InitProgressBar("wpn4_condition_progress", self.stat) wpn4:Show(false) outfit = xml:InitProgressBar("outfit_condition_progress", self.stat) outfit:Show(false) wpn8 = xml:InitProgressBar("wpn8_condition_progress", self.stat) wpn8:Show(false) wpn9 = xml:InitProgressBar("wpn9_condition_progress", self.stat) wpn9:Show(false) wpn10 = xml:InitProgressBar("wpn10_condition_progress", self.stat) wpn10:Show(false) initial = true end --// --------------------------------------------------------------------- function InvenToryWindow:ShowWnd() if initial and rec_wnd.stat~= nil then rec_wnd.stat:Show(true) end end --// --------------------------------------------------------------------- function InvenToryWindow:HideWnd() if initial and rec_wnd.stat~= nil then rec_wnd.stat:Show(false) end end --// --------------------------------------------------------------------- function InvenToryWindow:DetachWnd() self.owner:DetachChild(self.stat) initial = false end --// --------------------------------------------------------------------- local inventory_window function on_info(info_id) if info_id=="ui_inventory" then inventory_window = level.main_input_receiver() if not initial then rec_wnd = InvenToryWindow(level.main_input_receiver()) end if not rec_wnd.stat:IsShown() then rec_wnd:ShowWnd() end elseif info_id=="ui_inventory_hide" then if rec_wnd then rec_wnd:DetachWnd() end end end --// --------------------------------------------------------------------- function on_update() if db.actor:has_info("ui_inventory") then local wpn1_condition_progress = 0 local wpn_1 = db.actor:item_in_slot(1) if wpn_1 then wpn1_condition_progress = wpn_1:condition()*101 wpn1:Show(true) wpn1:SetProgressPos(wpn1_condition_progress) else wpn1:Show(false) end local wpn2_condition_progress = 0 local wpn_2 = db.actor:item_in_slot(2) if wpn_2 then wpn2_condition_progress = wpn_2:condition()*101 wpn2:Show(true) wpn2:SetProgressPos(wpn2_condition_progress) else wpn2:Show(false) end local wpn3_condition_progress = 0 local wpn_3 = db.actor:item_in_slot(4) if wpn_3 then wpn3_condition_progress = wpn_3:condition()*101 wpn3:Show(true) wpn3:SetProgressPos(wpn3_condition_progress) else wpn3:Show(false) end local wpn4_condition_progress = 0 local wpn_4 = db.actor:item_in_slot(0) if wpn_4 then wpn4_condition_progress = wpn_4:condition()*101 wpn4:Show(true) wpn4:SetProgressPos(wpn4_condition_progress) else wpn4:Show(false) end local outfit_condition_progress = 0 local armor = db.actor:item_in_slot(6) if armor then outfit_condition_progress = armor:condition()*101 outfit:Show(true) outfit:SetProgressPos(outfit_condition_progress) else outfit:Show(false) end local wpn8_condition_progress = 0 local wpn_8 = db.actor:item_in_slot(8) if wpn_8 then wpn8_condition_progress = wpn_8:condition()*101 wpn8:Show(true) wpn8:SetProgressPos(wpn8_condition_progress) else wpn8:Show(false) end local wpn9_condition_progress = 0 local wpn_9 = db.actor:item_in_slot(9) if wpn_9 then wpn9_condition_progress = wpn_9:condition()*101 wpn9:Show(true) wpn9:SetProgressPos(wpn9_condition_progress) else wpn9:Show(false) end local wpn10_condition_progress = 0 local wpn_10 = db.actor:item_in_slot(10) if wpn_10 then wpn10_condition_progress = wpn_10:condition()*101 wpn10:Show(true) wpn10:SetProgressPos(wpn10_condition_progress) else wpn10:Show(false) end end end Ссылка на комментарий
Это популярное сообщение. Kirgudu 1 207 Опубликовано 30 Декабря 2021 Это популярное сообщение. Поделиться Опубликовано 30 Декабря 2021 (изменено) 29.12.2021 в 02:59, Jekyll сказал: Как передать предмет неписю от актора не по секции, а по id? Например, распотрошить упомянутую функцию relocate_item_section_from_actor и переделать её под использование id: Скрытый текст function relocate_item_from_actor_by_id(first_speaker, second_speaker, id) if not id then return end local function who_is_npc(first_speaker, second_speaker) if db.actor:id() == second_speaker:id() then return first_speaker else return second_speaker end end local npc = who_is_npc(first_speaker, second_speaker) local function transfer_item(item) if item:id() == id then db.actor:transfer_item(item, npc) news_manager.relocate_item(db.actor, "out", item:section()) end end db.actor:inventory_for_each(transfer_item) end Изменено 30 Декабря 2021 пользователем Kirgudu 2 5 Инструмент Ссылка на комментарий
mole venomous 3 381 Опубликовано 2 Января 2022 Поделиться Опубликовано 2 Января 2022 Вопрос по исходным скриптам АМК-1.4.1. Как в реальности работает система сбора хабара неписями в онлайне? Судя по тому, что вижу в игре и вижу/не вижу в скриптах (watcher_act), НПСы: - Тырят всё, что parent_id == 65535 и не приколочено занесено в исключения - Не тырят нычки - Тырят из трупов всё до крошки без исключения (для исключений требуется отдельный код и список исключений?) - Не шмонают трупы, если таковые в исключениях прим.: когда я упоминаю исключения, я имею в виду минимальные правки, например, проверка на имя/часть имени объекта или что объект квестовый. Здесь могла быть ваша реклама. Ссылка на комментарий
DenVer 3 157 Опубликовано 2 Января 2022 Поделиться Опубликовано 2 Января 2022 15 минут назад, mole venomous сказал: - Не тырят нычки Нычки они тырили, еще как. Приходилось даже модик ставить поверх 1.4.1, "маячок", чтоб воришку вычислять. А вот чего НПС в упор не выдели, так это переносной рюкзак-нычку. Этакая читерская нычка получалась, которую в любом месте можно было сделать. ЕМНИП, конечно. Давно дело было. 1 1 Mehr sein, als scheinen. (c) Alfred von Schlieffen Ссылка на комментарий
mole venomous 3 381 Опубликовано 2 Января 2022 Поделиться Опубликовано 2 Января 2022 2 минуты назад, DenVer сказал: Нычки они тырили, еще как В том то и дело, я ни разу не выявил воровства из нычек в онлайне... Оффлайн тырят без лишней скромности, об этом сигнализируют как маячки ("метки с хабаром"), так и дебаговые сообщения. Захотелось вот научить НПСов рыться в тайнике, даже если ГГ рядом. И не вычищать труп полностью, как они это делают (опять же, не замечал чего-либо "забытого" в трупе после посещения его неписем...). Хотя, если это всё есть и исправно работает в AI Additions 2.0, овчинка выделки не стоит... Здесь могла быть ваша реклама. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти