abramcumner 1 205 Опубликовано 23 Мая 2011 2. Не считаю себя знатоком всех возможностей XML, но все же чего-то знаю. Тем не менее, последнее время стал предпочитать именно вариант 'без XML'. 'Правильность' - понятие все же относительное, тем более в подобном вопросе (какой метод правильнее применять). Можно назвать немало ситуаций, когда применение скриптового метода будет 'не менее, и даже более правильным'. :-) Отделение данных(читай описание интерфейса) от кода всегда правильно. Код пишет скриптер, интерфейс рисует дизайнер. Вроде бы нет сомнений, что данные надо выносить в лтх, хотя можно спокойно закодить их в скрипте. Также и с интерфейсом. Мало кто уделяет дизайну должное внимание но ... если принять во внимание, что метод XML расчитан в основном на разрешение 4:3, и еще позволяется 16:10 дублированием уже имеющегося, то для немало уже появившихся ноутбучных экранов с их 16:9, 15x9 или 5x4 применение XML метода становится похоже на "взять болванку и обработать топором и рашпилем". Проблема с разными разрешениями при работе с хмл надуманная. В работе с хмл нет завязки на разрешение 4:3. Что мешает сделать несколько хмл с разными именами и загружать нужный для данного разрешения. А с учетом нижесказанного, так и вообще. Исходно, скриптовой метод - вариант низкоуровневого применения и более гибок по отношению к XML методу, хотя и имеет недостатки, обусловленные закрытыми в движке дополнительными возможностями для XML. Правильнее применять оптимальный метод к 'месту и по контексту' в зависимости от конкретных целей и задач. Собственно да, хочешь тот же многострочный статик - только хмл Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 205 Опубликовано 14 Августа 2011 Kirag, а почему выбрана именно функция r_stringZ? может лучше на r_u32 проверять? Просто функция r_stringZ читает строку до символа'/0', а такой в файлах конфигов, например, не встречается. А так запросто может и переполнение буфера быть. Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 205 Опубликовано 13 Сентября 2011 (изменено) singapur22, for i=0, 1000000 do j = tbl[1] end Время то хоть зависит от длины цикла? Далее. Имеется различие в скорости считывания данных из таблицы, при числовых и строчных ключах. Работая с алгоритмами матриц, обратил внимание, что строчные ключи считываются на ~10...50% быстрее, чем числовые(индексированные), не зависимо от длин имён. По крайней мере, при длинах имён в 1 и 10 символов, различий замечено не было: Следующий тест не проверяет, что индексированные медленнее. У тебя там нет никакого индексированного доступа, так как это уже хеш-таблица. Изменено 13 Сентября 2011 пользователем abramcumner Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 205 Опубликовано 7 Января 2012 правильно ли я понимаю, что npc:critically_wounded() возращает не false/nil примерно на время, когда проигрывается анимация ранения ? Что она вообще такое на самом деле ? Да, true выдается во время проигрывания анимации ранения, остальное время false Зависит от значений конфига critical_wound_threshold и critical_wound_decrease_quant. Если critical_wound_threshold меньше 0, анимации не проигрываются. Для определения момента начала проигрыша анимации заводится счетчик. Он увеличивается при каждом хите на итоговый power хита, и каждую секунду уменьшается на critical_wound_decrease_quant. Когда значение счетчика больше или равно critical_wound_threshold, стартует анимация. Анимация проигрывается в зависимости от кости, в которую попали последний раз. а npc:wounded() - это когда хиты непися ушли за некое пороговое значение (и кстати вот здесь примерно он должен лечь совсем ?) Как оно связано с конфигами ? С конфигами никак не связано. Устанавливается исключительно из скриптов, в движке никак не задается, но используется. Пороговые значения задаются в xr_wounded.script 1 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 205 Опубликовано 8 Января 2012 _Призрак_, надо просто приаттачивать после открытия инвентаря, пда - тогда будет сверху Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 205 Опубликовано 3 Октября 2013 @*Shoker*, если хотел запостить, имело смысл перевести сначала И указать для какой игры. Оружие выбирается в соотвествии с common\weaponeffectiveness.efd Что касается ЗП: параметры очередей и диапазоны растояний настраиваются в конфигах. min_radius, max_radius читаются из конфига, но не используются. Они и не нужны, так как расстояние учитывается в weaponeffectiveness.efd fire_distance - вообще используется только при расчете полета пули, на выбор никак не влияет. 1 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 205 Опубликовано 18 Апреля 2015 @Dennis_Chikin, нет, в оригинале тоже не работает. При переходе оффлайн/онлайн данные биндера очищаются. Не помогает даже function se_...:keep_saved_data_anyway() return true endИ так не только у монстров 1 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 205 Опубликовано 31 Июля 2016 (изменено) @Карлан, то есть тебе неизвестно помогает или нет, так как ты пользуешься своим механизмом сохранения Изменено 31 Июля 2016 пользователем abramcumner Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 205 Опубликовано 31 Июля 2016 (изменено) @Карлан, в коде движка прямо прописана очистка данных биндера при выходе в онлайн - с ним не может быть все в порядке. Может быть модифицированный движок? Кстати как ты проверяешь, что все в порядке? Изменено 31 Июля 2016 пользователем abramcumner Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 205 Опубликовано 5 Февраля 2018 @Dennis_Chikin, то есть ты каждый апдейт запускаешь level.set_weather_fx? Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 205 Опубликовано 11 Августа 2024 @Stalkersof при каждом заходе. 1 Поделиться этим сообщением Ссылка на сообщение