UriZzz 1 004 Опубликовано 7 Апреля 2021 Поделиться Опубликовано 7 Апреля 2021 @dsh так баг привращается в фичу 1 Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
mole venomous 3 433 Опубликовано 7 Апреля 2021 Поделиться Опубликовано 7 Апреля 2021 3 часа назад, Баба ЯГА сказал(а): где-то в скриптах есть коллбэк на взятие ГГ в руки физобъекта Имя скрипта как бы намекает: bind_physic_object.script Там ф-ия: generic_physics_binder:use_callback Через неё без проблем отследишь поднятие дроп-ящика, в котором заведомо может что-нибудь спаунится. А остальное... Не уверен, попробуй ковырнуть init, но думаю, выше упоминали правки движка не без причины. Здесь могла быть ваша реклама. Ссылка на комментарий
Баба ЯГА 7 Опубликовано 8 Апреля 2021 Поделиться Опубликовано 8 Апреля 2021 (изменено) По физ-объектам - понял, спасибо, нет смысла, надо движок ковырять. Есть ещё вопрос, получил через пакет данные по level_changer, там есть: dest_position = userdata dest_direction = userdata Я пробовал так: vector(t.dest_direction).x - но оно выдаёт всё по нулям... пробовал так: t.dest_directiondirection().x - так вообще ошибку выдаёт... как вместо userdata получить данные?.. shapes = table t.shapes[1]: offset = userdata t.shapes[1]: shtype = number t.shapes[1]: v2 = userdata t.shapes[1]: v3 = userdata t.shapes[1]: v1 = userdata Так-же там есть shapes - таблица, я её распарсил - но в ней тоже userdata... Как получить данные в этих случаях из userdata? 1) хочу посмотреть как там всё устроено на переходах 2) нужно изменить точку перехода и сделать радиус метра два - не больше, пробовал так: t.level_vertex_id = 397480 t.game_vertex_id = 1811 t.shapes = { { ["shtype"] = 0, ["center"] = vector():set( 0, 0, 0 ), ["radius"] = 2 } } но ничего не вышло... Изменено 8 Апреля 2021 пользователем Баба ЯГА Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... © Ссылка на комментарий
gam 117 Опубликовано 9 Апреля 2021 Поделиться Опубликовано 9 Апреля 2021 (изменено) 07.04.2021 в 17:12, dsh сказал(а): Это баг оригинального движка. Насколько помню - это недозапись в огф модели актора в костюмах группировок, где таскание трупов\вещей забагованно. В СДК должен быть указатель: stalker_hero_captures.ltx. Изменено 9 Апреля 2021 пользователем gam 2 Ссылка на комментарий
AndreySol 215 Опубликовано 9 Апреля 2021 Поделиться Опубликовано 9 Апреля 2021 @Баба ЯГА А не проще всякие объекты с шейпами в СДК настраивать? 1 Ссылка на комментарий
gam 117 Опубликовано 9 Апреля 2021 Поделиться Опубликовано 9 Апреля 2021 @Баба ЯГА Вот некоторые модели исправляющие данный косяк, сделанные правда для себя. По моему к модам Лекс антигаз и Джекман армор. Если пригодиться конечно. https://disk.yandex.ru/d/_MwdBMiNp9CvBw Ссылка на комментарий
Баба ЯГА 7 Опубликовано 12 Апреля 2021 Поделиться Опубликовано 12 Апреля 2021 Возможно ли получить в игре скриптово реальное время компьютера (не игровое время), как в Lua с помощью os.date() ? Если да, то можно пример для получения yy:MM:dd hh:mm:ss? Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... © Ссылка на комментарий
WinCap 316 Опубликовано 12 Апреля 2021 Поделиться Опубликовано 12 Апреля 2021 @Баба ЯГА, а чем os.date() не устраивает? Пример: local date_str = os.date("%y:%m:%d %H:%M:%S") Скрытый текст Теги для os.date (PiL3): %a Сокращенное название дня недели (например, Wed) %A Полное название дня недели (например, Wednesday) %b Сокращенное название месяца (например, Sep) %B Полное название месяца(например, September) %с Дата и время(например, 09/16/98 23:48:10) %d День месяца (например, 16)[01-31] %H Час в 24-часовой системе (например, 23)[00-23] %I Час в 12-часовой системе (например, 11)[00-11] %j День года (например, 259) 1001-3661 %M Минуты (например, 48)[00-59] %m Месяц (например, 09)[01-12] %p "am" или "рm" %S Секунды (10)[00-60] %w День недели (3)[0-6=Воскресенье-суббота] %x Дата (например, 09/16/98) %X Время (например, 23:48:10) %y Год как две цифры (например, 98) %Y Полный год (например, 1998) %% Знак % 1 1 S.T.A.L.K.E.R. CoP Objects (upd 15.11.24) Ссылка на комментарий
Баба ЯГА 7 Опубликовано 12 Апреля 2021 Поделиться Опубликовано 12 Апреля 2021 (изменено) @WinCap Я знаю как в Lua получать дату и время... Будь добр, прочитай ещё раз мой предыдущий вопрос, внимательно. Потом - сам проверь В ИГРЕ - то что ты рекомендуешь - и ты сам себе ответишь на свой вопрос: "... а чем os.date() не устраивает..." Если бы оно работало В ИГРЕ - я бы не спрашивал Вопрос - актуален: Возможно ли получить в игре скриптово реальное время компьютера (не игровое время) -> как в Lua с помощью os.date()? Если да, то можно пример для получения yy:MM:dd hh:mm:ss? Для "быстрых" и невнимательных: os.date() в игре STALKER - не работает. ! Unknown command: ..\gamedata\scripts\test.lua:101:_attempt_to_index_global_'os'_(a_nil_value) Изменено 12 Апреля 2021 пользователем Баба ЯГА 1 Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... © Ссылка на комментарий
NikitosKnyaz 0 Опубликовано 13 Апреля 2021 Поделиться Опубликовано 13 Апреля 2021 можно ли в ОП 2-1 через скрипт выдать и показать на карте все тайники существующие в зоне?! Ссылка на комментарий
I am Dead 916 Опубликовано 13 Апреля 2021 Поделиться Опубликовано 13 Апреля 2021 (изменено) @Баба ЯГА Как это не работает? В OGSE таким образом главное меню подбирается в зависимости от реального времени суток. Скрытый текст function main_menu:InitBackground() local time = level.present() and level.get_time_hours() or tonumber(os.date("%H", os.time())) local night = time <= 8 or time >= 20 self.bg_st:InitTexture(night and "ui\\ui_mm_night_back" or "ui\\ui_mm_main_back") local multiplier = 0.5625 if screen_aspect_ratio > 2 then -- ultra-wide multiplier = 0.40 end local tex_orig_w = screen_aspect_ratio * 1024 * multiplier local tex_orig_x_offs = (1024 - tex_orig_w) / 2 self.bg_st:SetOriginalRect(tex_orig_x_offs, 0, tex_orig_w, 768); end Изменено 13 Апреля 2021 пользователем I am Dead Ссылка на комментарий
Баба ЯГА 7 Опубликовано 13 Апреля 2021 Поделиться Опубликовано 13 Апреля 2021 (изменено) @I am Dead ну, может, в OGSE - уже и допилили движок и там есть такое, не спорю, у меня - нет (играю в Диетическую Солянку), кстати, в оригинале - тоже нет os. Вот по-этому и спрашиваю - может кто поможет (если, конечно, кто знает). @NikitosKnyaz 12 часов назад, NikitosKnyaz сказал(а): можно ли в ОП 2-1 через скрипт выдать и показать на карте все тайники существующие в зоне?! Скрытый текст Можно, вот так, например: function find_all_tainik() local s_obj,cnt = nil, 0 for i = 1, 65534 do s_obj = alife():object(i) if (s_obj) and (s_obj:section_name():find("inventory" , 1, true) or s_obj:section_name():find("_box" , 1, true)) then cnt = cnt + 1 get_console():execute( "load ::: ".."section: "..s_obj:section_name().." | name: "..s_obj:name().." | id: "..s_obj.id) if level.map_has_object_spot( s_obj.id, "treasure" ) == 0 then -- нет метки level.map_add_object_spot_ser( s_obj.id, "treasure", "Тайник"..s_obj:name() ) -- поставим свою end end end get_console():execute( "load ::: ".."Количество найденных тайников = "..cnt) end find_all_tainik() Изменено 13 Апреля 2021 пользователем Баба ЯГА Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... © Ссылка на комментарий
BFG 7 582 Опубликовано 13 Апреля 2021 Поделиться Опубликовано 13 Апреля 2021 @gam а может недозапись ОГФа в системсе ? В таблице капчюрс? 1 "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
Купер 2 907 Опубликовано 14 Апреля 2021 Поделиться Опубликовано 14 Апреля 2021 @Баба ЯГА , попробуй тут посмотреть. 1 Ссылка на комментарий
ARTLantist 14 Опубликовано 14 Апреля 2021 Поделиться Опубликовано 14 Апреля 2021 Довольно простые вопросы, никогда просто этим не интересовался, но вдруг понадобилось. Натыкался давно в инете на ответы, но сейчас, по закону подлости, когда надо, не могу найти. 1. Как скриптово активировать диалог с нужным нпс? 2. Как активировать торговлю с этим нпс? (Например, после активации определённой фразы) Ссылка на комментарий
WinCap 316 Опубликовано 14 Апреля 2021 Поделиться Опубликовано 14 Апреля 2021 @ARTLantist, поскольку вопрос задан в теме "скриптование", то: 1. Функции npc:set_start_dialog("start_dialog") и npc:restore_default_start_dialog(). 2. Функции npc:enable_trade() и npc:disable_trade(). Но, возможно, удастся обойтись стандартными средствами: 1. Теги has_info и dont_has_info для диалога или параметры meet_dialog и use в секции meet работы npc. 2. Параметр trade_enable в секции meet работы npc. 1 S.T.A.L.K.E.R. CoP Objects (upd 15.11.24) Ссылка на комментарий
ARTLantist 14 Опубликовано 15 Апреля 2021 Поделиться Опубликовано 15 Апреля 2021 @WinCap да, мне именно скриптовые методы нужны) Про meet и trade_enable в логике я знаю Ссылка на комментарий
Jek@n 1 341 Опубликовано 21 Апреля 2021 Поделиться Опубликовано 21 Апреля 2021 (изменено) Приветствую. Пару вопросов: 1)В игре есть метод начать неразрываемый диалог с НПС, однако существует хитрость: если нажать паузу, а затем Esc, то такой диалог всё-таки закроется. Как это поправить? 2) Есть такая функция: Скрытый текст if math.random(100) <= 50 then действие_1 elseif math.random(100) > 50 then действие_2 end но срабатывает не всегда. Где ошибка? Спасибо. Изменено 21 Апреля 2021 пользователем Jek@n Ссылка на комментарий
WinCap 316 Опубликовано 21 Апреля 2021 Поделиться Опубликовано 21 Апреля 2021 43 минуты назад, Jek@n сказал(а): Есть такая функция: ... Где ошибка? Ошибка, как мне кажется, в elseif. В данном варианте вероятность срабатывания будет такой: 0% <-- действие_1 --> 50% <-- ничего_не_делать --> 75% <-- действие_2 --> 100%. Нужно написать так: Скрытый текст if math.random(100) <= 50 then действие_1 else действие_2 end 1 2 3 S.T.A.L.K.E.R. CoP Objects (upd 15.11.24) Ссылка на комментарий
UriZzz 1 004 Опубликовано 21 Апреля 2021 Поделиться Опубликовано 21 Апреля 2021 4 часа назад, Jek@n сказал(а): нажать паузу, а затем Esc, то такой диалог всё-таки закроется. Как это поправить? Ну, самый простой способ: не нажимать на esc вовремя паузы. Способ по сложнее: отследить начало диалога и на это время через скрипт разбиндить клавишу паузы, что бы не работала, пример - как это сделать, предостановить не могу, так как сам далеко от компа. Ни чего больше, кроме правки движка, в голову не лезет. 2 1 Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти