AndreySol 215 Опубликовано 24 Сентября 2018 17 часов назад, _Sk8_AsTeR_ сказал: где НПС предлагает рандомный итем из таблицы в скрипте. То есть по факту НПС предмет не имеет. 17 часов назад, _Sk8_AsTeR_ сказал: Будет выполнена проверка инвентаря НПС на наличие аптечки. Если такая есть, то НПС ответит - есть Чет у меня не сростается - так предмет должен быть у непися али нет ? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 29 Сентября 2018 1 час назад, Norman Eisenherz сказал: чтобы это сообщение выводилось только один раз? Добавить переменную, в которую будем сохранять факт смерти хозяина костюма, и на апдейте обрабатывать её. Типа так: local is_died = false function on_actor_update() … local act = db.actor if not act:alive() and not is_died then news_manager.send_tip(act, "%c[skat_name]".."Система жизнеобеспечения:".."\\n".."%c[skat_msg]".."носитель мертв.".."\n", nil, nil, 30000) is_died = true elseif t_upd<time_global() then Ну и смотреть уже по факту - где и как(локально или глобально) объявлять эту переменную, и как ее сбрасывать в начальное состояние после загрузки сейва. P.S. Вот только не понятно зачем отслеживать смерть актера(ГГ), ведь игрок и так получит на экран стандартное сообщение о смерти, и обычно после этого сразу загружаются с какого то сейва. 1 Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 30 Сентября 2018 7 часов назад, Norman Eisenherz сказал: означает "исполнять скрипт дальше" Правильнее будет говорить не о всем скрипте а о конкретной функции. Начальное состояние переменной не означает какого-то конкретного действия, все определяется условиями проверки переменной в ф-ции. Как напишешь - так и будет работать. Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 30 Сентября 2018 5 часов назад, DoberBull сказал: Желательно без правок внутри движка. Сомнительно. Все формирование контекстной менюшки происходит в движке. Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 4 Октября 2018 Заглядывай по чаще в "Справочник по ф-циям и классам". actor:transfer_item(transfer_obj, npc) Как получить объекты актера, НПС и перемещаемого предмета разберешься сам. Или с этим то же проблемы ? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 11 Октября 2018 4 часа назад, Fenrir02 сказал: Как сохранить состояние этого предмета после загрузки? А что за предмет у тебя ? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 11 Октября 2018 22 минуты назад, Fenrir02 сказал: Фонарик Могу ошибаться, но судя по исходникам, изначально для фонарика не предусмотрено сохранение изменения состояния(condition). Если я не ошибаюсь, то вариантов в общем не много: - искать уже правленый\самому править движок; - попробовать вариант одновременной установки состояния клиенту через :set_condition и на серверной части через нет-пакет. Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 11 Октября 2018 @Fenrir02 Из тех, что в слоты устанавливаются - оружие и броня. 1 Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 31 Октября 2018 6 часов назад, Norman Eisenherz сказал: Что я упускаю? local slot = db.actor:item_in_slot(6) local sect = slot:section() Если броника в слоте нет - в переменной "slot" будет nil. А затем ты пытаешься для nil вызвать :section(). Переделай как то так: local slot = db.actor:item_in_slot(6) if slot then local sect = slot:section() --- тут все, если есть броник else --- тут если броника нет end Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 2 Ноября 2018 5 часов назад, Kirgudu сказал: Через нет-пакет. Вроде как story_id - свойство объекта "только для чтения". Сомнительно, что получится задать его простой правкой нет-пакета. В поясниловке к модулю Artos'а есть целый раздел об этом... Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 12 Ноября 2018 15 часов назад, Romann сказал: Как ещё можно проверить - "жарка ли это"? Правильно советуют тебе - сделай свой биндер для необходимых аномалий. 1 Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 18 Ноября 2018 (изменено) 23 часа назад, Norman Eisenherz сказал: а надо сымитировать включение ПНВ в броне и оставить его до следующего нажатия клавиши "ПНВ вкл./выкл.". Это явно из разряда "Овчинка выделки не стоит". Можно, конечно, все это скриптами наворотить(причем объем костылей и извращений будет не маленьким), вот только ради чего ? Изменено 18 Ноября 2018 пользователем AndreySol Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 18 Ноября 2018 В 17.11.2018 в 07:44, Romann сказал: а нужно: сняли броню - отправили сообщение, одели броню - не отправляем сообщение, сняли - опять отправили. Кто подскажет, как лучше сделать? С учетом отсутствия, в оригинале, движковых сообщений(кэллбэков) о манипуляциях с содержимым слотов - видимо как всегда, нагрузить в многострадальный апдейт биндера актера проверку на содержимое слота... Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 18 Ноября 2018 2 часа назад, DoberBull сказал: как сделать так, чтобы фонарики НПС не гасли после их смерти, а оставались светить Смотри в xr_motivator.script ф-цию motivator_binder:death_callback, в ней есть sr_light.check_light(self.object) ... death_manager.drop_manager(self.object):create_release_item() В sr_light может быть отключение фонарика у померших, а в death_manager может быть удаление фонарика из инвентаря моба, соответственно отключение по факту удаления. 1 Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 25 Ноября 2018 21 минуту назад, Fenrir02 сказал: заставить этот статик мигать В xml-описании "hud_health_static" добавить соответствующие теги. Подсмотреть в оригинальных статиках как это сделать. 1 Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 15 Декабря 2018 1 час назад, dPlayer сказал: удалить несколько объектов разом. Собрать нужные значения в таблицу, затем итерацией по таблице получать эти значения и использовать в ф-ции. Вот только я сомневаюсь, что ф-ция alife():release может принимать аргументом сам объект... Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 16 Декабря 2018 4 часа назад, WinCap сказал: функция table.getn устарела Ну это она для свежих версий Луа устарела, а в оригинальном движке прекрасно работает... @dPlayer Перебор таблицы у тебя не правильно сделан, см. пост @WinCap 1 Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 8 Февраля 2019 В 07.02.2019 в 18:02, F.Constantine сказал: Куда ее прописать правильно, чтоб она запустилась? В логику рестриктора, который определяет границу охраняемой территории. По входу в рестриктор ГГ или сталкеров-"одиночек" - вызывать эту ф-цию. 1 Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 10 Февраля 2019 (изменено) @F.Constantine Попробуй сделать по правильному: не трогай отношения вояк ко всему остальному, а просто, для тех гулагов вояк, для которых считаешь нужным, проставь "не агрессивность" к ГГ. Пример - блок-пост под мостом на Кордоне. Насчет квеста, с изъятием чего-то с блок-поста вояк, лучше подумать. как это привести к здравой человеческой логике... Изменено 10 Февраля 2019 пользователем AndreySol Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 10 Февраля 2019 3 часа назад, F.Constantine сказал: хошь сохранить нейтралитет - ползай на пузе ночью и пытайся по тихому стибрить чемоданчик, не хошь - выноси всех, но потом не обижайся. Так у тебя гулаг вояк на блок-посту изначально будет враждебен к ГГ. Какой же тут нейтралитет ? Еще раз предлагаю: не трогай изначальное отношение вояк к остальным, а изучи возможности combat_ignore + combat_ignore_cond в логике. Поделиться этим сообщением Ссылка на сообщение