_g.script 3 669 Опубликовано 3 Ноября 2021 @Colder Как я понимаю, речь о большом кол-ве цифр? Запиши в глобал спейс ф-ию округления до указанной точности: Скрытый текст function math.round(v, exp) if v then if not exp then exp = 0 end return tonumber(string.format("%."..exp.."f", v)) end end v - число, которое округляем exp - как округляем, кол-во знаков после запятой И используй её: Скрытый текст local cond = math.round(condition, 2) 1 Здесь могла быть ваша реклама. Поделиться этим сообщением Ссылка на сообщение
_g.script 3 669 Опубликовано 3 Ноября 2021 4 минуты назад, AndreySol сказал: А зачем этот вот math.round Использовать в дальнейшем, как любой другой math., string. и т.д. Вполне удобно. 1 Здесь могла быть ваша реклама. Поделиться этим сообщением Ссылка на сообщение
_g.script 3 669 Опубликовано 8 Ноября 2021 (изменено) Всем привет. Возможно ли вернуть совокупность иммунитетов к конкретному воздействию (броня + арты, но без того, что в actor.ltx)? OGSR. Или нужно всё "надетое" перебирать? Изменено 8 Ноября 2021 пользователем mole venomous Здесь могла быть ваша реклама. Поделиться этим сообщением Ссылка на сообщение
_g.script 3 669 Опубликовано 8 Ноября 2021 @dsh мне не нужен хит. Нужны цифры. В целом, понятно, что остаётся перебирать и читать из конфига. Здесь могла быть ваша реклама. Поделиться этим сообщением Ссылка на сообщение
_g.script 3 669 Опубликовано 8 Ноября 2021 3 минуты назад, dsh сказал: какие цифры? Надет костюм, у него текущий п-тр telepatic_protection = a Повешены арты, сумма их протекции telepatic_protection = b Итого у ГГ, благодаря этим вещам, протекция a + b Вопрос был в том, возможно ли вернуть число a + b на движке ОГСР. Если с костюмом всё прозрачно, то с артами на поясе остаётся только перебор? Нужны цифры, указывающие ВСЮ защиту от конкретного воздействия от всех защитных итемов. Здесь могла быть ваша реклама. Поделиться этим сообщением Ссылка на сообщение
_g.script 3 669 Опубликовано 11 Ноября 2021 1 час назад, Labadal сказал: как сохранять Скрытый текст -- Записываем переменную function save(variable_name, value) xr_logic.pstor_store(db.actor, variable_name, value) end -- Загружаем переменную function load(variable_name, value_if_not_found) return xr_logic.pstor_retrieve(db.actor, variable_name, value_if_not_found) end -- Удаляем переменную function del(variable_name) if db.storage[db.actor:id()].pstor[variable_name] then db.storage[db.actor:id()].pstor[variable_name] = nil end end Здесь могла быть ваша реклама. Поделиться этим сообщением Ссылка на сообщение
_g.script 3 669 Опубликовано 11 Ноября 2021 8 минут назад, Labadal сказал: где вызывать эти функцию? 1 час назад, AndreySol сказал: при загрузке игры читай оттуда сохраненное значение Здесь могла быть ваша реклама. Поделиться этим сообщением Ссылка на сообщение
_g.script 3 669 Опубликовано 5 Декабря 2021 1 час назад, Капрал Хикс сказал: Параметр задан неверно Ну вот очень знакомые слова. Значит где-то встречал. Здесь видел или себя, но у себя я всегда назначаю клавиши F5/F8. Если такой вылет и был у меня, то либо вначале игры на базовых настойках, либо он возможен на моих тоже... Здесь могла быть ваша реклама. Поделиться этим сообщением Ссылка на сообщение
_g.script 3 669 Опубликовано 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 Здесь могла быть ваша реклама. Поделиться этим сообщением Ссылка на сообщение
_g.script 3 669 Опубликовано 26 Декабря 2021 (изменено) 12 минут назад, mikelik сказал: А воровство, оно же с ящиков и нычек Ну с пола они тоже поднимают в оффлайне... Изменено 26 Декабря 2021 пользователем mole venomous 1 Здесь могла быть ваша реклама. Поделиться этим сообщением Ссылка на сообщение
_g.script 3 669 Опубликовано 26 Декабря 2021 2 часа назад, gam сказал: добавить в конец биндера watcher_act.script, что-то типа Спасибо за наводку. Подсмотрел кое-где, изменил ф-ию "add_to_binder" и теперь можно НПСам запрещать брать указанное оружие. 1 Здесь могла быть ваша реклама. Поделиться этим сообщением Ссылка на сообщение
_g.script 3 669 Опубликовано 26 Декабря 2021 @dsh , я думаю, что именно 8 минут назад, dsh сказал: не отключить полностью но частично прогресс есть. Раскидав кучи запрещённых и разрешённых стволов, всё проверил. Но если в одной куче будет всякое, видимо, будет именно так: 10 минут назад, dsh сказал: грубо говоря, пройдет по нему и всё таки стырит. Здесь могла быть ваша реклама. Поделиться этим сообщением Ссылка на сообщение
_g.script 3 669 Опубликовано 2 Января 2022 Вопрос по исходным скриптам АМК-1.4.1. Как в реальности работает система сбора хабара неписями в онлайне? Судя по тому, что вижу в игре и вижу/не вижу в скриптах (watcher_act), НПСы: - Тырят всё, что parent_id == 65535 и не приколочено занесено в исключения - Не тырят нычки - Тырят из трупов всё до крошки без исключения (для исключений требуется отдельный код и список исключений?) - Не шмонают трупы, если таковые в исключениях прим.: когда я упоминаю исключения, я имею в виду минимальные правки, например, проверка на имя/часть имени объекта или что объект квестовый. Здесь могла быть ваша реклама. Поделиться этим сообщением Ссылка на сообщение
_g.script 3 669 Опубликовано 2 Января 2022 2 минуты назад, DenVer сказал: Нычки они тырили, еще как В том то и дело, я ни разу не выявил воровства из нычек в онлайне... Оффлайн тырят без лишней скромности, об этом сигнализируют как маячки ("метки с хабаром"), так и дебаговые сообщения. Захотелось вот научить НПСов рыться в тайнике, даже если ГГ рядом. И не вычищать труп полностью, как они это делают (опять же, не замечал чего-либо "забытого" в трупе после посещения его неписем...). Хотя, если это всё есть и исправно работает в AI Additions 2.0, овчинка выделки не стоит... Здесь могла быть ваша реклама. Поделиться этим сообщением Ссылка на сообщение
_g.script 3 669 Опубликовано 2 Января 2022 6 минут назад, DenVer сказал: Чтоб тырили в оффлайне Так то оно правильно. Но руки то чешутся что-нибудь поделать, чего ещё не видел (или не обращал внимания)... 8 минут назад, DenVer сказал: наказание за воровство Тут, кстати, косвенно @mikelik навёл на мысль, а почему это только ГГ получает в жбан, когда подбирает артефакт с земли. Но что то я тут разговорился, этому место уже здесь. Здесь могла быть ваша реклама. Поделиться этим сообщением Ссылка на сообщение
_g.script 3 669 Опубликовано 7 Февраля 2022 Что-то заклинило у меня. Лыжи не едут или у костра перебрал... При заходе в рестриктор пытаюсь заспавнить рандомный итем по указанным координатам, получаю вылет. Начинается ругань на xr_logic.pick_section_from_condlist, потом на sr_idle, bind_restrictor... Приводить все коды не стал, т.к. всё равно никто не станет распутывать (да и лучше самому, только бы пинок в нужном направлении был задан). Есть подозрение, что всё из-за попытки рандомного спауна при вызове ф-ии, когда ГГ входит в рестрикт. Но... Но рандомный спаун без проблем работает, когда указываю координаты, исходя из координат ГГ: Скрытый текст local lv,gv local a=vector() a=db.actor:position() a.x=a.x+pX a.z=a.z+pZ a.y=a.y+pY lv=db.actor:level_vertex_id() gv=db.actor:game_vertex_id() alife():create(item,vector():set(a.x,a.y,a.z),lv,gv,65535) Движок ОГСР. Здесь могла быть ваша реклама. Поделиться этим сообщением Ссылка на сообщение
_g.script 3 669 Опубликовано 8 Февраля 2022 4 часа назад, naxac сказал: как выглядит? Скрытый текст Ну конечно же! Список итемов есть, а "зарандомить" я его забыл. local rnd = {"af_medusa","af_vyvert","af_blood"} local art = rnd[math.random(#rnd)] Причём для работающего спавна я этого сделать не забыл, а для "неработающего" - забыл. Добрая половина моих ошибок это невнимательность... Несколько часов голову ломал 1 Здесь могла быть ваша реклама. Поделиться этим сообщением Ссылка на сообщение
_g.script 3 669 Опубликовано 10 Февраля 2022 35 минут назад, EGER.OVERKILL WF сказал: ГГ открывает инвентарь, и убирает все оружие В файле inventory.script: Скрытый текст -- Открытие/закрытие инвентаря function on_inventory_info(info_id) if info_id == "ui_inventory" then inventory_open = true if debug == true then get_console():execute("inventory_open") end bind_stalker.hide_weapon() -- убираем ствол elseif info_id == "ui_inventory_hide" then inventory_open = false need_update = true if debug == true then get_console():execute("inventory_close") end bind_stalker.restore_weapon() end end Здесь могла быть ваша реклама. Поделиться этим сообщением Ссылка на сообщение
_g.script 3 669 Опубликовано 10 Февраля 2022 @EGER.OVERKILL WF В бинд_сталкер на коллбек actor_binder:info_callback повесь вызов function actor_binder:info_callback(npc, info_id) ... inventory.on_inventory_info(info_id) ... end А вот файл, поправь его под себя, если надо inventory 12 минут назад, EGER.OVERKILL WF сказал: Скажи хоть откуда ты его взял-то Моя ошибка. Забыл, что файл не из оригинала. Скинул на диск, думаю, разберёшься. 1 Здесь могла быть ваша реклама. Поделиться этим сообщением Ссылка на сообщение
_g.script 3 669 Опубликовано 7 Марта 2022 (изменено) Назрел вопрос. В момент сдачи квеста требуется одну пачку патронов трансферить НПСу, остальные удалить из инвентори актёра. Общее кол-во пачек нужно для прекондишена. Но при одновременном трансфере и удалении всегда остаётся лишняя пачка в рюкзаке. Верно ли я понимаю, что выход, это разделить трансфер и удаление некоторым промежутком времени с помощью постановки удаления на таймер? Или же можно обойтись иначе? Всем добра. Изменено 7 Марта 2022 пользователем mole venomous Здесь могла быть ваша реклама. Поделиться этим сообщением Ссылка на сообщение