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

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

Может кто-нибудь подсказать, где прописано расстояние, на котором НПС "видят" бесхозные арты и начинают идти к ним?
Ну и вообще, где прописано, что они должны собирать бесхозные арты?
----------
Хочу или сильно урезать им зрение именно на счёт артов, а не вообще.
Или отменить совсем эту их функцию. 
Арты в поле должны спавняться исключительно для игрока, а не для НПС (имхо). И мне сильно не нравится, что мои арты берёт кто-то кроме меня :)

Изменено пользователем mikelik
  • Нравится 1
  • Смешно 2

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

Ссылка на комментарий

@mikelik в watcher_act.script скорее всего. У тебя же NLC, это важно. Там свои велосипеды. @Okichi может знать, она что-то меняла там.

  • Спасибо 2
  • Согласен 2
  • Полезно 1
Ссылка на комментарий
1 час назад, mikelik сказал:

мне сильно не нравится, что мои арты берёт кто-то кроме меня

:offtopic:

 

  • Нравится 1
  • Смешно 4

Отношения между людьми- главная ценность в человеческом обществе.
Любая полученная информация- это только повод для размышлений, а не побуждение к действию.
Это должен знать каждый: уроки боевой подготовки Дяди Саши https://yadi.sk/d/60Ec2B06goLAE
Накопано и накнопано:https://yadi.sk/d/mzVY5jQEspwpt

Ссылка на комментарий
17 часов назад, mikelik сказал:

Арты в поле должны спавняться исключительно для игрока

Как сказали выше, watcher_act. В АМК и многих модах на его базе можно отсечь арты сразу по классу или по секции (в ф-ии "ev_see_stuff:evaluate" локальная ф-ия "check_item(o)"). И в НЛС вроде бы всё похожее. Но остаётся ещё оффлайн воровство (amk_offline_alife.script) 

ps У меня самого, кстати, не выходит запретить неписям подбирать оружие. Пробовал вносить в исключения по классу, по секции и даже как IsWeapon(obj), всё равно подбирают. Всем остальным побрезгуют, если вещь в исключениях...

Изменено пользователем mole venomous
  • Полезно 2

Здесь могла быть ваша реклама.

Ссылка на комментарий
2 часа назад, mole venomous сказал:

Но остаётся ещё оффлайн воровство (amk_offline_alife.script)

Спасибо. Нашёл.
Чтобы не разбираться сильно в расстояниях "видимости" артов и не напортачить, просто закомментировал весь класс артов.
Конечно, будет немного глупо выглядеть, если арт окажется прямо под ногами НПС, а тот будет брезговать. :) Ну да не страшно, такой случай, может, только один на всю игру будет.

 

А воровство, оно же с ящиков и нычек. Это не подбор полевых артов. Без воровства никак, если в игре есть платные камеры хранения.

  • Согласен 1
  • Полезно 1

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

Ссылка на комментарий
12 минут назад, mikelik сказал:

А воровство, оно же с ящиков и нычек

Ну с пола они тоже поднимают в оффлайне...

Изменено пользователем mole venomous
  • Полезно 1

Здесь могла быть ваша реклама.

Ссылка на комментарий
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
Ссылка на комментарий
2 часа назад, gam сказал:

добавить в конец биндера watcher_act.script, что-то типа

Спасибо за наводку. Подсмотрел кое-где, изменил ф-ию "add_to_binder"  и теперь можно НПСам запрещать брать указанное оружие.

  • Нравится 1

Здесь могла быть ваша реклама.

Ссылка на комментарий
5 hours ago, mole venomous said:

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

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

@mole venomous не поможет, если непись будет близко с оружием, грубо говоря, пройдет по нему. Если оружие окажется лучше имеющегося, он его просто пропылесосит. Это тоже самое, как если в непися бросить оружие.

  • Полезно 4
Ссылка на комментарий

@dsh , я думаю, что именно 

8 минут назад, dsh сказал:

не отключить полностью

но частично прогресс есть. Раскидав кучи запрещённых и разрешённых стволов, всё проверил.

Но если в одной куче будет всякое, видимо, будет именно так:

10 минут назад, dsh сказал:

грубо говоря, пройдет по нему

и всё таки стырит.

Здесь могла быть ваша реклама.

Ссылка на комментарий

Вылет при загрузке сохранения (любого):
[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
 

О чём говорит эта ошибка? Я не знаю, на каком этапе этот вылет появился, только сейчас заметил.

Ссылка на комментарий
4 часа назад, mikelik сказал:

Чтобы не разбираться сильно в расстояниях "видимости" артов

Миша, у тебя сборка на основе 3.7 - а это значит, что все необходимое в скриптах там уже есть, я делала.
И в вотчере, и в амк_оффлайн_алайф добавлена обработка нового параметра из конфига, который говорит неписям " не сметь это трогать, оно тебе не надо от слова совсем".
Взято из ДШ-мода, само собой.
 
Единственное, что тебе нужно  сделать - это в базовой для всех твоих артов секции добавить вот такой параметр:
watcher_act.bad_item = true

Пример можешь посмотреть в artefacts_unique.ltx, там я вставляла этот параметр для  единственного квестового арта, который спавнился после диалога с Юриком как награда , чтоб этот арт тут же не воровали сидящие в лесочке сталки.
Ты же можешь добавить его прямо в секцию af_base

Изменено пользователем Okichi
  • Спасибо 1
  • Нравится 1
  • Полезно 2

След от кругов на воде - это тоже след (с)

Ссылка на комментарий

@Colder Это настолько зашито в движок, что в ТЧ/ЧН делается попытка поставить в слот брони любой полученный предмет со словом "outfit" в секции – даже флешку.

Параметр default_to_ruck = true в конфиге брони не помогает.

  • Спасибо 1

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

Ссылка на комментарий

Здравствуйте.

Как передать предмет неписю от актора не по секции, а по id? Нужно сделать это в диалоговом окне, типа как функцией "dialogs.relocate_item_section_from_actor(first_speaker,second_speaker,section)".

New Anomalies 1.1 ☢☢☢ "Смерть-лампа" ☢☢☢ Дисраптор

Русификатор для игры Vendetta: Curse of Raven's Cry

Ссылка на комментарий

При попытке загрузить игру получаю вылет:

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

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

 

Ссылка на комментарий

Вопрос по исходным скриптам АМК-1.4.1.  Как в реальности работает система сбора хабара неписями в онлайне?

Судя по тому, что вижу в игре и вижу/не вижу в скриптах (watcher_act), НПСы:

- Тырят всё, что parent_id == 65535 и не приколочено занесено в исключения

- Не тырят нычки

- Тырят из трупов всё до крошки без исключения (для исключений требуется отдельный код и список исключений?)

- Не шмонают трупы, если таковые в исключениях

прим.: когда я упоминаю исключения, я имею в виду минимальные правки, например, проверка на имя/часть имени объекта или что объект квестовый.

 

Здесь могла быть ваша реклама.

Ссылка на комментарий
15 минут назад, mole venomous сказал:

- Не тырят нычки

Нычки они тырили, еще как. Приходилось даже модик ставить поверх 1.4.1, "маячок", чтоб воришку вычислять.

А вот чего НПС в упор не выдели, так это переносной рюкзак-нычку. Этакая читерская нычка получалась, которую в любом месте можно было сделать.

ЕМНИП, конечно. Давно дело было.

  • Согласен 1
  • Полезно 1

Mehr sein, als scheinen. (c) Alfred von Schlieffen

Ссылка на комментарий
2 минуты назад, DenVer сказал:

Нычки они тырили, еще как

В том то и дело, я ни разу не выявил воровства из нычек в онлайне...

Оффлайн тырят без лишней скромности, об этом сигнализируют как маячки ("метки с хабаром"), так и дебаговые сообщения.

Захотелось вот научить НПСов рыться в тайнике, даже если ГГ рядом. И не вычищать труп полностью, как они это делают (опять же, не замечал чего-либо "забытого" в трупе после посещения его неписем...).

Хотя, если это всё есть и исправно работает в AI Additions 2.0, овчинка выделки не стоит...

Здесь могла быть ваша реклама.

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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