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

dsh

Жители
  • Число публикаций

    4 084
  • Регистрация

  • Последнее посещение

  • Дней в топе

    19
  • AMKoin

    29,513 [Подарить AMKoin]

Весь контент пользователя dsh

  1. @rza9111, ха, миллисекундный. Спаун некоторых стволов приводит к несколько секундному лагу. РПГ, например. Или какой-нибудь снайперский Абакан. Ну так а звуки/модели/текстуры править кто будет - Пушкин, Александр Сергеич ? dc
  2. dsh

    БЛОКпост

    Правильно допускаешь. К примеру, мне нравится. Обожаю собирать, сортировать и накапливать вещи. А что бы фризов не было, так в правильные моды надо играть.
  3. dsh

    OGSE: КБ разработчиков

    А почему r2_details_opt не используется? Есть какие-нибудь рекомендации по оптимальным параметрам этой команды?
  4. dsh

    Скриптование

    Знает кто-нибудь способ, как из скрипта определить, что моб сможет дойти с одной локации на другую, что они связаны?
  5. @macron, это я сделал, у себя в сейве поменял. Но мне бы хотелось и у играющих в мой мод поменять.
  6. dsh

    Скриптование

    @vampirnik77, самое первое решение, приходящее в голову: на первом апдейте поставить флажок и ничего не делать, а на втором апдейте проверить флажок, сделать что надо и сбросить его.
  7. Даже не знаю, в какой теме спрашивать. Есть какой-нибудь способ поменять normal_time_factor из alife.ltx, не начиная новую игру? По исходникам вижу, что значение из ltx сохраняется в сейве и в дальнейшем, значение из ltx просто переопределяется тем, которое сохранено в сейве. PS. Вообще не понятно, зачем этот параметр сохраняется в сейве. @Dennis_Chikin, не, set_time_factor() устанавливает time_factor, а мне нужно normal_time_factor поменять.
  8. dsh

    Скриптование

    @UnLoaded, либо ты не все показал, либо у тебя что-то странное. Судя по использованию двух индексов, каждый элемент таблицы должен содержать таблицу, но не видно, что бы эти элементы инициализировались таблицами. Возможно lua сделает это за тебя, но кто знает, какие грабли в этом интеллекте будут. Я бы не надеялся на такой автоугадав.
  9. dsh

    X-Ray extensions

    Кому-нибудь удавалось менять для оружия режим стрельбы с помощью set_wpn_int()? По смещению 1872 возвращает текущий режим стрельбы ( одиночные, по два, очередь и т.д ), но на изменение не реагирует? Или может это делается каким-нибудь иным способом?
  10. dsh

    NLC 7 (предрелизная тема)

    @Mari, все равно не могу понять. Ведь когда смотришь через такой прицел - это все равно проекция на плоскость экрана. Значит тоже самое можно нарисовать текстурой. В чем разница?
  11. dsh

    NLC 7 (предрелизная тема)

    @Mari, а чем такой прицел лучше текстуры на экране? Ломаю голову, пытаясь понять, в чем прелесть, почему так?
  12. @abramcumner, а при чем тут чистый ТЧ, если я в самом первом сообщении, на эту тему, написал: Кто использует респаунеры из Солянки, которые при спауне мутантов делают вот так: Ах да, это же русский форум.
  13. Упс... Не ожидал, что в ОП-2 это изменено. Вот из ОП-2: function se_monster:on_before_register() self:fill_exclusives() end В Солянке по другому? Отладка показывает, что свежеспауненого мутанта немедленно, вон в том коде, затягивает в любой свободный гулаг. Если выразиться точнее, не в том коде конкретно, а в промежутке между create() и вызовом amk.on_REspawn(), который вызывает amk_mod.respawned(), который и ставит мутанту custom_data.
  14. Отладка показывает, что присваивание смарт террейна происходит вот тут function se_monster:on_before_register() if modified_params then -- при наличии таблицы с данными для замены -- читаем из родного пакета данные local params = m_net_utils.get_monster_data( self ) replace_params( modified_params, params ) m_net_utils.set_monster_data( params, self ) modified_params = nil -- обнуляем табличку с исходными данными end self:fill_exclusives() end С modified_params - это уже мое. Ты же не предлагаешь для каждого респаунера делать мутантов со своими секциями? Это соляночные респаунеры, они скриптово задаются и мутанты в них спаунятся самые обычные, какие в конфиге задали. Тем более, что во всех Солянках, мутантам в этих респаунерах задается своя логика. А это значит, что custom_data у них должна быть разная, в зависимости от респаунера.
  15. При наличии [smart_terrains] none = true не пойдет. Ты правильно думал. Но! При условии, что эту секцию кто-нибудь прочитает и соотв. действия выполнит. Например, в приведенном мной примере [logic] cfg = tra\la\la\mylogic.ltx наличие [smart_terrains] в файле mylogic.ltx ни на что не влияет. Секцию [logic] читает xr_logic.script, а ему смарт террейны до лампочки. Но в приведенном мной примере проблема даже не в этом, а в том, что сразу после alife():create() мутанта и до записи ему custom data, которая идет в следующих строках, мутант попадает в свободный гулаг. Как я это обошел, можно посмотреть тут: https://github.com/dsh2dsh/op2ogse/commit/4a8691d89e89b1aaa5323258566ac70b3e9c0ab1 См. в самом низу изменения в se_monster.script и se_respawn.script. Грязный хак, но лучше решения я придумать не смог.
  16. Кто использует респаунеры из Солянки, которые при спауне мутантов делают вот так: local t = amk.read_monster_params( obj ) if ( not t.custom ) or string.len( t.custom ) == 0 then local cfg_name = utils.cfg_get_string( sini, "respawn", "creature_binded_logic", false, false, false, "" ) t.custom = "[logic]\ncfg = scripts\\amk\\" .. cfg_name .. ".ltx" amk.write_monster_params( t, obj ) end Имейте ввиду, если в файле, подключаемом через вышеуказанный "cfg", есть [smart_terrains] none = true , то оно никем читаться не будет и ваш мутант тут-же уйдет в подходящий, свободный гулаг. Вообще, соляночный код меня поражает. Кто-то, вероятно, сделал подключение логики таким образом. А кто-то другой начал писать файлы логики со smart_terrains, даже не удосужившись проверить, а работает-ли оно. И все это годами используется и всем пофиг. А я удивляюсь, да что за фигня, куда делись тушканы на остановке АТП, которые там раз в сутки должны респаунится. А они ушли на АТП, в гулаг тушканов.
  17. То-ли я не могу найти, то-ли что. Подскажите пожалуйста, есть GUI элемент для ввода многострочного текста? EditBox - однострочный.
  18. Уточню. Правильное смещение для веса - 164. Вот рабочий вариант: function set_inv_weight( obj, weight ) obj:set_inventory_item_float( nil, weight, 164 ) end
  19. Может уже кто делал, т.ч. спрошу заранее. Есть способ поменять вес предмета в инвентаре? Возможно с помощью set_inventory_item_* или set_go_* ? Кто-нибудь уже находил соотв. смещения? Спасибо.
  20. , спасибо большое - работает! У меня вылетало из-за того, что я не делал DetachFromParent() статику. Если просто делать AdjustHeightToText(), без очистки скоролла и добавления туда нового статика - не реагирует. Естественно, я вызывал AdjustHeightToText() после SetText().
  21. dsh

    Скриптование

    @UnLoaded, эксперименты показывают, что с x-ray extensions прицел можно нацепить визуально: wpn:set_wpn_int( 936, 1 ) Прицел на оружии появляется моментально. Вот только прицеливание осталось через мушку. В том смысле, что весь экран заполняет приближенная модель оптического прицела, вместо того, что бы смотреть через нее.
  22. dsh

    Скриптование

    Снимаю/цепляю оптический прицел из скрипта. Сейчас делаю это, удаляя оружие и спауня новое, меняя нетпакет при спауне. Есть способы "синхронизировать" клиентский объект с серверным, что бы обойтись без удаления/спауна?
  23. Поправлю. Этот метод называется AdjustHeightToText(). Эксперименты показывают, что он работает, как надо. Только мне не помогает. Складывается такое впечатление, что ScrollView, после инициализации, игнорирует изменение размеров своего содержимого. А если у него выполнять Clear(), с последующим AddWindow() нового статика с текстом, то все работает, но через пару секунд, после такой манипуляции, игра вылетает. Такое впечатление, что вылетает при очистке мусора. Такое предположение у меня из-за наличия паузы перед вылетом.
  24. Подскажите пожалуйста, знающие люди, как правильно организовывать прокручиваемый текст, который в свою область не помещается? Вот сейчас у меня есть: <descr_scroll x="247" y="10" width="355" height="150" always_show_scroll="0"/> <descr_text x="0" y="0" width="335" height="250" complex_mode="1"> <font font="letterica16" r="255" g="255" b="255"/> </descr_text> Все это инициализируется вот так: self.descr_scroll = xml:InitScrollView( "main_dialog:descr_scroll", self.dialog ) self.item_descr = xml:InitStatic( "main_dialog:descr_text", self.descr_scroll ) Далее просто делается self.item_descr:SetText( game.translate_string( text ) ) Текст скроллируется, с этим все нормально. Но не нравится мне, что у descr_text пришлось сделать фиксированную высоту в 250 и поэтому, что особенно хорошо видно с коротким текстом, скроллируется пустое место. Как бы это правильно сделать, что бы если текст помещается в descr_text, то скроллинга бы не было, а если не помещается, то уже был скроллинг?
  25. dsh

    Ищу файлы / моды / аддоны

    @HellRatz, вот тут еще можешь посмотреть: https://github.com/dsh2dsh/op2ogse/blob/master/gamedata/scripts/dsh_busy_hands.script Только это, оно без комментариев.
×
×
  • Создать...