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

Ковыряем "Новый Арсенал"


SK0RPY0N_O89O

Рекомендуемые сообщения

6 часов назад, shahvkit сказал:

effective_radius

= 0

 

Этого достаточно. Кстати, к вечному вопросу в куче модов про неписей, жарящихся в кострах.

Поделиться этим сообщением


Ссылка на сообщение

Первая правка должна убирать эффект "остановившейся картинки" при приближении к групп неписей.

Вторая - эффект на не очень многогигагерцовых процессорах "игрока 5 раз в секунду кусает за задницу муравей".

 

То, что правка срослась с игрой нормально, проверяется прохождением янтарь-x16-янтарь - должны засчитаться все задания. Так что на всякий случай сохранения перед заходом на янтарь и перед x16 отложить в надежное место.

  • Полезно 3

Поделиться этим сообщением


Ссылка на сообщение

По "звуковым эффектам" - у кого есть, проверьте, что у вас с eax. Практика показывает, что чудеса традиционно идут оттуда.

 

Сами-знаете-какой тред переехал полностью в место, где он будет рассмотрен более внимательно. Ибо посты прибывали со скоростью большей, чем удавалось прочитать и осознать содержимое.

  • Спасибо 1
  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

Проблемы не обязательны, но если есть - первым делом отключаем eax. И еще, некоторые люди ухитрялись где-то добывать движки, скажем так, со странностями. Тоже первым делом на звуке проявлялось. Но там в основном "предсмертый хрип", а не "эхо".

  • Полезно 2

Поделиться этим сообщением


Ссылка на сообщение
1 час назад, phorumer сказал:

в НА есть некоторые особые разновидности рестрикторов

Давайте уже bind_restrictor и sr_*  - глазами посмотрю. И, вопрос: сколько в среднем рестрикторов на локу ? Если брать соль, и тем более ОП2, там не только ненужные исключать, но еще и обработку "распараллеливать" пришлось в итоге; если же штук по 10 - эффекта "муравьи кусают актора за задницу по 5 раз в секунду" не будет даже на 800ом "дюроне", если кто помнит такой.

И, да, наличие/отсутствие эффекта определяется тактовой частотой. Одно ядро и 100500терагерц пережует многое, 100500ядер на 2 гигагерца - см. про количество рестрикторов.

Поделиться этим сообщением


Ссылка на сообщение

Первое: когда ищем помощи с проблемами, нужно, действительно, файл сохранения, и чтобы его мог прочитать кто-то еще.

Если в нем 100500 тонн хлама - 3 часа выкладывать ваш хлам на землю, а потом любоваться получившимся слайд-шоу ни кто не обязан.

Аналогично, если ставился какой-то супер-аддон, ни кто не обязан угадать, что это за супер-аддон такой, разыскивать этот супер-аддон на просторах инета, и ставить его себе.

Третье: даже если условия соблюдены, это не основание требовать от кого-то всего и срочно.

 

Ну а теперь по существу:

Что-то стало многовато сообщений по однотипным вылетам, и это не "нехватка памяти", и даже на "неподдержиаемую статику" не похоже. Пора искать, откуда это счастье взялось, и кто где на самом деле недокладывает тиграм мяса.

Пока похоже либо на какой-то "репак" очередной, либо реально где-то что-то потерялось. Да, я еще неоднократно наблюдал, что файлы криво отдаются файлообменниками. По крайней мере в соли ухитрялись качать битые патчи (лечилоь перекачкой), ну и сам, заливая нормальный вроде файл, обратно получал битый.

 

%+bun_codelock_open1%.ogf  - вот явно бредовая конструкция.

  • Согласен 3

Поделиться этим сообщением


Ссылка на сообщение

Как вариант. Причем именно по ссылке автора, а не где-то в инетах. Одновременно, автору на его заведомо чистой сборке попробовать загружаемость сохранки и воспроизводимость проблемы. Если проблема уже в файле, но при поиске по олспавну бред не обнаруживается - выпустить утилитку для переспавна битых объектов с забитым правильным spawn_id.

Поделиться этим сообщением


Ссылка на сообщение

Кстати, по вопросу о статике и лайтмапах - мои эксперименты с солянкой показали, что оптимально - снести вообще все лайтмапы для ламп, костров и прочей ереси, и положить один, обеспечивающий нормальную видимость стен с ПНВ/фонарем, и реакцию на изменение  погодных конфигов. То есть, не чОрный квадрат, как у ПЫС в x16, а серый.  Один.

 

Свет делать через соответствующие анимации у источников.

 

Но это уже СДК и компиляторы.

 

P.S. Отдельные источники из олспавна дли динамики - тоже сносить. Оставлять только то, что есть штатно у реальных ламп/костров. Тогда будет приличная, похожая на реальность картинка, а не цветные пятна, и не лампы/костры, светящие сквозь стены.

Поделиться этим сообщением


Ссылка на сообщение

Это несколько другое. Принцип похож, но другое.

Да и правка Назара несколько, гм, по тому анекдоту про способы аденэктомии. Работает, но на самом деле зачем вообще сохранять то, что сохранять не требуется ?

 

Имеет смысл доделать рестрикторы и физобъекты примерно так:

function restrictor_binder:net_spawn( data )
... здесь правка по исключению того, чему апдейт вообще не нужен
    initialize_obj( sr, st, self.loaded, actor, stype_r )    -- загрузка и выбор секций логики
    local sect = st.active_section
    if sect and sect ~= "sr_idle@nil" then
        self.need_save = true

 

 

function restrictor_binder:net_save_relevant()
    return self.need_save
end


А вот это - говорим, что если текущую секцию логики еще не читали, то и сохранять, соответственно, вообще нечего.

Поделиться этим сообщением


Ссылка на сообщение

Собственно, переспавн как раз замечательно помогает и в случае ошибок в самом олспавне, и в случае просто битого сохранения, если там, конечно, вообще все не перемололо в фарш. Разумеется, олспавн при этом должен быть целым и без ошибок, отсюда и рекомендация перекачать по ссылке автора.

Поделиться этим сообщением


Ссылка на сообщение

Ну так проблема в ШМ когда еще обсуждалась... Нынче археологические раскопки устраивать придется, чтобы найти.

Дело именно в сохранении тогда, когда сохранять еще нечего. Зависит от общего количества объектов в игре, что они вообще делают, и содержимого alife.ltx. Можно смело рассчитывать на секунд 5 от момента входа в онлайн.

Именно для ее и решения и существует net_save_relevant()

Очевидно, для любого объекта, вообще любого, разрешение должно даваться там, где появляется что-то, что надо сохранять.

 

Ну и да, если уже записана чушь, то не спасет ни пересохранение чуши, ни ее игнорирование. Вот тогда кране желателен подключаемый "читерский" скриптик, которым, находясь на другой локации, грохаем объект со всем, что для него записано, и с

Создаем новый, который ничего не знает о судьбе предшественника.

 

Опять же, в идеале, абсолютному большинству объектов ничего такого знать и не нужно. "если можно вычислить - нужно вычислить !" (С) Маландринус.

Вот только тогда в 99% модов переделать 99% ранее сделанного придется. ;)

  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

Ну вот тут, по-ходу, именно ковырять.

 

function bad_objects()
    for i, v in pairs( t_info ) do log( "info", "%s: %s", v, tostring( actor:has_info( v ) ) ) end
    local gg = game_graph()
    local pos = actor:position()
    local level_id = sim:level_id()
    local n = 0
    for i = 1, 65534 do
        local obj = sim:object( i )
        if obj and obj.parent_id ~= 0 and gg:vertex( obj.m_game_vertex_id ):level_id() == level_id then
            if obj.position:distance_to( pos ) < 15 then
                log( "info", "item: %s, dist: %s", obj:name(), obj.position:distance_to( pos ) )
                n = n + 1
                if n < 6 then
                    log( "info", "release: %s", obj:name() )
                    sim:release( obj, true )
                end
    end    end    end
end

Последовательно изменяя дистанцию до получения/исчезновения вылета, и изучая список того, что осталось. Ну, с выводом в лог энтузиасты, если найдутся, наверное, справятся.

 

P.S. Кто не знает, что это такое, и что с этим делать - даже не пытайтесь. Очень сильное колдунство.

 

  • Полезно 2

Поделиться этим сообщением


Ссылка на сообщение

Я оставлю тред про спавнеры и версии здесь, для того, чтобы @phorumer или @SK0RPY0N_O89O его прокомментировали. Потом уберу. По тому что если начну комментировать я - меня не поймут, а выражения подбирать - настроение не то.

  • Сочувствую 1

Поделиться этим сообщением


Ссылка на сообщение

@Босс_с_АППРО, "На каком-то левом сайте" - Вам вообще-то объяснили буквально сразу. ЗДЕСЬ.

Специально тот тред висеть оставил.

 

Вы бы поосторожнее, на поворотах-то...

  • Согласен 2

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

  • Куратор(ы) темы:

AMK-Team.ru

×
×
  • Создать...