TIGER_VLAD 361 Опубликовано 25 Января 2018 (изменено) @Fenrir02 Вот так попробуй: if level.name() == "l02_garbage" then Изменено 25 Января 2018 пользователем TIGER_VLAD 1 Поделиться этим сообщением Ссылка на сообщение
TIGER_VLAD 361 Опубликовано 1 Февраля 2018 @alexsimm Через sv_setweather Список погод: Скрытый текст default indoor map mp pripyat radar rain sarkofag stancia test yantar Пример: sv_setweather pripyat Поделиться этим сообщением Ссылка на сообщение
TIGER_VLAD 361 Опубликовано 1 Февраля 2018 @scala Поправь вероятность появления товара в конфигах торговцев в секциях [supplies_start], [supplies_after...]. Пример: Скрытый текст [supplies_start] ;Название предмета = количество, вероятность появления stalker_outfit = 3, 0.7 Поделиться этим сообщением Ссылка на сообщение
TIGER_VLAD 361 Опубликовано 1 Февраля 2018 @scala 1 поставь. В секции [supplies_after_квест_торговца] указано количество предметов и вероятность появления, после выполнения квеста торговца. Поделиться этим сообщением Ссылка на сообщение
TIGER_VLAD 361 Опубликовано 22 Мая 2018 (изменено) Всем привет. Интересует, как можно еще отключать CustomStatic во время прицеливания через оптику(где запускается текстура внешнего прицела или прицельной сетки). Отслеживать через "db.actor:accuracy()*1000" - не вариант, так как в результате статик будет отключатся и после прицеливания без оптики. В DMX моде вот такая реализация: Скрытый текст if upd_time3 == nil then upd_time3 = time + 500 elseif upd_time3 < time then upd_time3 = time + 500 local accuracy = math_ceil(db.actor:accuracy()*1000) if accuracy == 1 then if not scopeUsed then local item = db.actor:active_item() if item then --get_console():execute("load ~#I#: db.actor:active_item():section()="..tostring(item:section())) if item:section() == "wpn_binoc" then scopeUsed = true elseif IAmAWeapon[item:clsid()] then local t = amk.get_weapon_data(alife():object(item:id())) scopeUsed = (bit_and(t.addon_flags, 1) == 1 or rx_utils.get_addon_status(item, "sc") == 1) --amk.dump_table(t) end end end else scopeUsed = false end end Может получше варианты есть? Изменено 22 Мая 2018 пользователем TIGER_VLAD Поделиться этим сообщением Ссылка на сообщение
TIGER_VLAD 361 Опубликовано 22 Мая 2018 4 минуты назад, dsh сказал: или как определить, что сейчас идет прицеливание? Да, но прицеливание именно через оптику. Вариант вот есть из DMX мода(выше). Просто интересуюсь, есть может варианты получше? Поделиться этим сообщением Ссылка на сообщение
TIGER_VLAD 361 Опубликовано 18 Июня 2018 Всем привет. Кто-то проверял, этот метод предотвращения утечки памяти после закрытия окна действительно работает? Скрытый текст function autohiding_msg(txt, delay) local dlg = MonologueMsg(txt) level.start_stop_menu(dlg, true) autohide_dlg_timer(delay, dlg):start() end class "MonologueMsg" (CUIScriptWnd) function MonologueMsg:__init(txt) super() local xml = CScriptXmlInit() local dev = device() if dev.aspect_ratio > 0.7 then xml:ParseFile("ui_ogse_monologue_msg.xml") -- 4^3 else xml:ParseFile("ui_ogse_monologue_msg_16.xml") -- 16^9 end xml:InitWindow("main", 0, self) self.msg = xml:InitStatic("main:msg", self) self.msg:SetTextST(txt) self.dlg = self end function MonologueMsg:OnKeyboard(dik, key_act) CUIScriptWnd.OnKeyboard(self,dik,key_act) if key_act == ui_events.WINDOW_KEY_PRESSED and dik == DIK_keys.DIK_ESCAPE then self:GetHolder():start_stop_menu(self,true) self.dlg = nil -- отпускаем объект для сборщика мусора end return true end Также интересует, есть ли смысл использовать collectgarbage("collect") после закрытия окна? Поделиться этим сообщением Ссылка на сообщение
TIGER_VLAD 361 Опубликовано 18 Июня 2018 (изменено) @dsh, Это код из ОГСЕ 0693 (ogse.script) 47 минут назад, dsh сказал: Я для этого делал вот такой костыль... dshCUIScriptWnd вот тут можешь посмотреть... Спасибо, буду разбираться. 47 минут назад, dsh сказал: Смысл в том, что бы self в коллбэках окна не хранился, а хранился некий идентификатор, с помощью которого этот self в нужный момент извлекается из другой структуры, не связанной с этим окном. Сложно конечно) 47 минут назад, dsh сказал: Если уборщик может это убрать, он через некоторое время это уберет. Если не может, то и принудительный вызов уборщика тут не поможет. Понял. Кстати этих collectgarbage("collect") в скриптах ОГСЕ (ui_handradio.script, jekan_devices.script, jekan_devices2.script, ui_remkit.script) - полно. От этого и немного фризит после нажатия на кнопки. Изменено 18 Июня 2018 пользователем TIGER_VLAD Поделиться этим сообщением Ссылка на сообщение
TIGER_VLAD 361 Опубликовано 18 Июня 2018 17 минут назад, dsh сказал: Можешь спокойно убирать, они там не нужны Да уже пробовал, без collectgarbage фризов таких нет. 14 минут назад, dsh сказал: Просто добавь себе этот скрипт, закомментируй там ClearCallbacks() и везде поменяй где наследуется от CUIScriptWnd пусть наследуется от dsh_ui.dshCUIScriptWnd Да это я понимаю. Я имел ввиду код сложноват, до конца не пойму как оно работает) Поделиться этим сообщением Ссылка на сообщение