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

Народная 2010 разработка


n6260

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

К предыдущему посту:

1. А где, собственно, вопрос ?

2. Вопросы непосредственно по внутреннему устройству именно Солянки - вполне имеют смысл здесь. По крайней мере Артос в свое время аргументировал это достаточно убедительно (Ковыряние/скриптование - скорее про оригинал, в соли есть некоторые нетривиальные изменения, и вопрос про чисто соляночный файл там могут или вообще не понять, или ответ будет бесполезен.). Но, да, хотелось бы, чтобы интерес был не чисто спортивным, а из него что-то следовало.

 

3. Если это вопрос про se_respawn, и чисто соляночный (а не какой-то другой), то simMaxCount

 в нем в начтоящее время не используется ни как.

idle_spawn_preset - это не функция, а таблица. Так же, как и simMaxCount, кстати. По записи вида 60*60*48 (ну или что там в последнем множителе), очевидно, что это секунды. Очевидная связь с game.get_game_time() говорит о том, что секунды - игровые.

 

4. И, да, вопрос по уровню не совсем для этой темы. С такими (и прочими типа "вот я изменил строчку, которая сам-не -знаю что делает") - действительно, по приведенной ссылке. Здесь крайне желательно в этом уже разбираться.

Изменено пользователем Dennis_Chikin

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


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

Вопрос по сюжету: "кактус" - это артефакт одноразовый по логике сюжета, или просто "так получилось" ?

Что, если сделать его многоразовым, и работающим, как и все остальное, на поясе ? Возможно, с какими-то штрафами (любыми, какие взбредут на ум, полет фантазии возможностями реализации практически не ограничен) ?

Денис, "кактус"  - это изоморф и он нужен только один раз.

BFG

 

Я понимаю, что реально, по факту, для сюжета - да, один. Но это как-то неэкономно и криво. Вообще, одноразовые предметы - плохая идея.

Вопрос в том, на сколько это "снаружи" криво сейчас, и на сколько криво будет сделать его нормальной "шапкой-невидимкой" ?

 

Кстати, поскольку сам до туда ни разу не доходил, то кто там кого атакует по времени, и, опять же, на сколько оно там надо ?

Изменено пользователем Dennis_Chikin

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


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

Подбор шмота правился. Там много странного... Из подбираемого и неподбираемого есть разные предметы, выглядящие одинаково.

Впрочем, еще смешнее, когда шмот собирается прямо во время боя, или когда непись не видит предмет у себя под носом, но зато может бежать за ним на другой конец локации (тоже исправлено). Оно, кстати, еще и тормозит жутко, плюс конфликт с AI-паком.

 

По черномору: хит от зомби отключается/включается в опциях. Два черномора - признак висяка.

Изменено пользователем Dennis_Chikin

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


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

Еще вопрос к залу: разноцветная фиговина, которая убирает телепорт на варлабе - ГГ с ней потом так и бегает, как идиот ?

Получаем эту фигню от Витамина, при этом сразу оказываемся свободовцами, и при этом имеем много-много смсок с, мягко говоря, странной озвучкой ?

 

Да, я правильно помню из тем техподдержки/тактики, что там же одновременно получаем какую-то свободовскую фигню, с этой свободовской фигней потом имеем какие-то проблемы, и даже если ее куда-нибудь выложить - все равно проблемы ?

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


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

В общем, изнутри картинка такая: еще в наследство от Сяка осталось восстановление ГГ сталкером при каждой загрузке. В ТД еще плюс проверка на живость Борова, и вступление в "пофигисты".

Соответственно, если ГГ вступил в группировку через диалог - оно слетает.

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

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

 

В общем, поправить все это не так сложно - убрать сяковский нейтралитет, и предметы перевесить с получения на проверку, скажем, на поясе. Или просто на наличие/выкидывание. Мне больше нравится пояс.

 

Не совсем понятно с приоритетами, хотя на поясе это решается легко: работает всегда последний.

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


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

К вопросу про Can't open section 'ammo_1.16x41_ss190'

 

Во-первых, все написано фонтом по бэкграунду: нет таких словей в конфигах.

 

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

 

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

 

Наконец, правка файлов торговли - это процесс, требующий понимания того, как торговля вообще работает.

buy_condition, sell_condition и buy_supplies - это строки с условиями, по которым выбираются указанные в них секции, соответственно, коэффициентов покупки, коэффициентов продажи, и респавна предметов.

 

Секции коэффициентов цен - это то, что ОТЛИЧАЕТСЯ от дефолтных, и при этом гарантированно часто торгуется именно с этим торговцем. Если предмета в секции не прописано - он продается/покупается со стандартными коэффициэнтами.

Если название с пустым коэффициэнтом - это запрет продажи/покупки. Здесь надо смотреть, нужен ли такой запрет реально, поскольку во многих случаях торговля может быть запрещена иным способом, и в других - торговля этим предметом никогда не случится "по независящим" причинам.

 

Наконец, секции респавна - задают собственно респавн. То есть, опять же, по некоторым условиям, предметы убираются у неписей, или добавляются неписям. То есть, вообще все, какие у них есть. То есть, здесь возможны разнообразные конфликты.

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

 

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

Изменено пользователем Dennis_Chikin

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


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

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

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

vis = vis:match( "[_.%-%w]*$" ):match( "[_%-%w]*" )
, что скорости и безглючности также не добавляет.

Ну и туда же квестовые и модифицированные предметы с "_m1" и т.д. как попало, что для разбора надо аж 3 разных таблицы, в которые руками вбивать каждое наименование.

 

Но вообще в шапке лежит неплохой вроде фикс прицельных сеток, с короткими буквенными именами.

 

 

По поводу тайников и телепортов - вот как раз сейчас распутываю эту лапшу. Вылетать там безусловно есть чему, и не по одному разу. То, как сделано - это просто страшно.

P.S. взятие/потеря предметов переделаны, да.

Изменено пользователем Dennis_Chikin
  • Нравится 1

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


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

Так выкладывалось. В виде списка на удаление (ну туда надо еще станки с глючными костями добавить).

Или в виде уборщика переписанного.

И в МГ, и в лабиринте, и ТД, и АС.

all.spawn перетрясать не требует, НИ - тоже.

 

Но, простите, откатывать разработку для совместимости взад с тем, что, вообще-то, исправляется - ни кто не будет. И поддерживать 150 версий тоже ни кто не будет.

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

 

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

 

Ну вот большинство исправлений "поверх" all.spawn - здесь: https://dl.dropboxusercontent.com/u/27871782/fix_set.7z все рабочее, но только под "новые" версии. Кто разбирается - попробуйте скрестить.

описание:

Основные изменения:

_g.script

в глобальном пространстве определены таблицы классов по "назначению" объекта,

переменные игрового и реального времени, объект актора должен определяться из биндера при инициализации (до netspawn), изменена инициализация менеджеров лута, тайников, квестов и прочего.

 

_init.script

Подключение скриптов и вызовов теперь делаются из самого скрипта по необходимости.

Здесь прописываются "блоки" скриптов, запускаемые после запуска скрипта, от которого зависят

 

_tbl_*.script

таблицы, которые раньше были во множечестве экземпляров размазаны по другим скриптам,

теперь собраны здесь

 

_util.script

служебные функции, результаты которых нужно отслеживать где-то еще

 

fix_it.script

данные для скриптовых правок ошибок в all.spawn

работает совместно с gulag_tasks.script, se_stalker.script, smart_terrain.script,

smart_terrain_params.script, xr_gulag.script

 

xl_imgr.script, xl_online.script

параметры объектов из конфигов, или добавляемые непосредственно во время работы игры, смысл тот же,

что и с _tbl_*.script

 

xl_offline.script

объединенный уборщик глючных объектов, мусора, оффлайн-псевдоторговля, переодевание неписей

 

xr_logic.script

"промежуточные" фиксы работы с нетпакетами, кэширование файлов логики (часть антилаговой системы).

 

Для адаптации отключить амк-оффлайн полностью, уборщик сяка - полностью, ai-пак - по смыслу. Все файлы взаимозависимы.

upd: добавил "промежуточные" bind_stalker и inv_manager для понимания, как оно работает.

Изменено пользователем Dennis_Chikin
  • Нравится 1

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


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

Кстати, тоже для тех, кто хочет попробовать себя в адаптации: https://dl.dropboxusercontent.com/u/27871782/death_manager.7z Лут, тайники, просто ящики. Работает в комплекте с выложенным ранее.

Просто копированием куда попало - не работает.

 

-10-20 секунд загрузки, кстати. Чуть меньше, чем торговля с 1500 костюмами. ;) И минус несколько вылетов. -Мегалаг при попытке шмона самого первого трупа и самого первого ящика. -Некоторое количество провала выпавшего под текстуры с мегалагом же.

 

Кому надо недостающие файлы - спрашивайте, но там вызовы в общем тривиальные, легко понять, что делают, и найти старые аналоги.

 

Ага, это к оффтопичному вопросу в тактике. Количество патронов в стволах зависит от сложности игры, и можно поправить в конфиге одним параметром. Частоту выпадения костюмов и их годность - аналогично.

Изменено пользователем Dennis_Chikin

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


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

https://dl.dropboxusercontent.com/u/27871782/sounds_scripts.7z

Да, там опять была привязка к несуществующей у Архары переменной. Поправил, проверил, перезалил.

 

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

 

Вот вариант с убранными дублями музыки(и окуджавой), и анекдотов (траффик!):https://dl.dropboxusercontent.com/u/27871782/sounds_sample.7z - из полугигабайта осталось 25 мег.

 

Теперь чуть подробностей: вся озвучка загружается в непися при входе в онлайн. Скрипт: sound_theme.scrit

Часть пути забита в нем самом, часть - в конфигах, и часть - в профиле непися. Вот их этих 3-х оно и склеивается. У меня из конфига перенесено в скрипты, чтобы хоть здесь не тормозил, да и смотреть/исправлять так проще.

Там у каждого имени файла есть еще флажок - как именно склеивать: либо с учетом профиля, либо без учета. Без учета - это для уникальных неписей, и вот здесь, стати, тоже предстоит большая чистка, поскольку ну вот незачем ВСЕМ сталкерам подряд таскать на себе озвучку еще и Сидоровича, Бармена, Сахарова и даже вертолета. ;)

 

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

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

Изменено пользователем Dennis_Chikin

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


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

Поправил опечатку (мелкая, но обидная: часть звуков грузилось просто не в туда, и, соответственно, связанное с ними не работало. 8( Плюс еще подрихтовал разного.

Прошел несколько раз сэйв с Пантерой и вертолетами в деревне (мда, глючненькая локация - это в смысле, без всяких правок, сама по себе), и весь Кордон. Вроде все работает.

 

Затычку от болтливости пришлось пока убрать: у части звуков неправильный тип. Взрыв вертолета, например. Надо конфиги для них переделывать (большая и нудная работа для тех, кому таки реально надоело попугайство).

 

Перезалил. https://dl.dropboxusercontent.com/u/27871782/sounds_scripts.7z (16Kb, скрипты)https://dl.dropboxusercontent.com/u/27871782/sounds_sample.7z (25Mb, пример с перемещенной музыкой и анекдотами без дублей)

 

Кстати, кто вообще разбирается в озвучке, в _tbl_sounds.script забито но закомментировано странное, которое было в конфигах, но нормально прочитано быть явно не могло. Посмотрите, что-ли, зачем оно там...

Изменено пользователем Dennis_Chikin

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


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

2Saruman: и выбросить пора уже эту бяку. Которая типа офлайн торговля. Неизлечимо.

Ну или не выбросить, тогда найти тот amk_offline_alife.script от новой соли, который я выкладывал, и адаптировать, раз уж так хочется.

Там и пропадание оружия исправлено, и эта проблема со стреляющими гранатами решена тоже.

 

И выложить для остальных, которым иначе на старом еще сидеть неизвестно сколько.

Изменено пользователем Dennis_Chikin

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


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

https://dl.dropboxusercontent.com/u/27871782/xr_kamp.7z

Еще на тестирование для соли 14.08/03.09. Можно вместе со звуковыми, можно - отдельно.

 

Таки убраны гитарные концерты на 3 часа реального времени, в течение которых невозможно поговорить с тем-же Крестом. Убрано хамство со стороны сидящих у костров в адрес всех проходящих мимо, и дублирование историй (когда сталкер рассказывает историю, и тут же сидящий рядом рассказывает ее же).

Исправлен общий пожизненный затык, если один и тот же сталкер попытался рассказать ее же, либо истории у него просто нет, и затык после рассказа короткой истории (действительно для пары исправленных xr_kamp и xr_sound).

 

Исправлены сталкеры, сидящие в кострах, кроме случаев уехавшей AI сетки (в основном - Болото).

Убрано любимое сталкерское развлечение: борьба за выбранное место у костра (когда один выпихивает другого, садится на это место, после чего выпихнутый встает, и выпихивает его). Отсутствуют ограничения на место у костров (вмещается столько, сколько есть свободного пространства, невлезающие усаживаются во второй ряд.

 

(Правда по последнему пункту результат иногда может выглядеть несколько, как бы это политкорректно-то... в общем, вот как-то так: https://dl.dropboxusercontent.com/u/27871782/screenshots.7z ;) )

 

Не проверено, и нуждается в особом тестировании оттаскивание трупов от костров (вылеты и повисания сталкеров)

Изменено пользователем Dennis_Chikin
  • Нравится 1

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


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

https://dl.dropboxusercontent.com/u/27871782/death_mgr1408.7z

Кстати, обратная адаптация death_manager к соли 1408/0309

 

Исправлен вылет e-entity/e-parent, левые ПДА(которые ни за чем не нужны и которые ни кто не берет), рассчет вероятностей (арты с вероятность 0.сколько-то-нолей1 выпадают именно с этой вероятностью, в исходном 2 ноля после запятой в одном кофиге или 0.02 в двух разных значили, что предмет не выпадет никогда.)

-10 секунд загрузки.

 

хардкорность задается уровнем сложности игры и строчками

-- какую часть патронов оставлять в стволах в зависимости от сложности игры
local ammo_dfcy = { ["default"] = 1, ["stalker"] = 0.8, ["veteran"] = 0.6, ["master"] = 0.4 }
-- общий модификатор вероятности появления предмета от сложности игры
local item_dfcy = { ["default"] = 1, ["stalker"] = 0.8, ["veteran"] = 0.6, ["master"] = 0.4 }
в _tbl_deathmgr.script Изменено пользователем Dennis_Chikin

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


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

(Ковырятельное)

Я понимаю, что кому это могло бы помочь, это не прочитают, а если прочитают, то не примут по религиозным соображениям, но...

 

Когда хотите считерить, правьте бармена. А еще лучше - кого-нибудь типа Адреналина. Сидорович - вообще неподходящий материал для экспериментов по множеству причин.

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


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

На сколько я ничего не понимаю именно в контролере, там надо поправить сам звук. Или комментарии, или что-то типа того.

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

Есть еще и такие, которые заботливо сохраняются, зачем-то, и при загрузке - восстанавливаются, хотя уже нафиг не нужны.

 

В общем, код рано или поздно весь исправится, а вот тотальная ревизия звука и графики - нужна чем дальше, тем больше. То, что лежит в шапке - это малая часть, да и там не все до конца доделано.

А потом еще эффекты с партиклами...

Изменено пользователем Dennis_Chikin

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


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

Ну а где тогда у звука "зацикленность" задается ?

 

Цикл в конфиге - это цикл в конфиге: он для списков. А где для одиночного ?

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


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

Not for direct use ! Education only !

Для занимающихся разработкой: https://dl.dropboxusercontent.com/u/27871782/actor_devices.7z

Всякие разные детекторы и костюмы, под плавный управляемый апдейт. Интегрировать, естественно, надо.
Актор и время живут и обновляются в глобальном namespace. Артам в конфигах добавить биндер (а в него можно добавить разного по вкусу).

У детектора изоморфов пока убрана расшифровка типа арта (просто убрана, по тому как незачем, можно и вернуть), все детекторы артов работают в 2-х режимах: в слоте, и на поясе (по-разному, поиск либо аркой, либо вкруговую), рекомендую базовым выбрать 2-й слот (в другой руке короткоствол). Миниган пробно повешен на аккумулятор на поясе (поправить аккумуляторы в конфиге), и со временем его разряжает.

todo: все таблицы вышедшего в онлайн держать в xl_online, по типам, и брать оттуда (модифицировать соотвествующие биндеры) - это еще улучшит скорость/плавность.

 

От bind_stalker приложен огрызок, неполный.

upd (15:19) докинул еще ui_rad.script в пару к измененному bind_stalker туда же.

Изменено пользователем Dennis_Chikin

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


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

В текущей соли костюмов имеется аж полторы тысячи.

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

 

Также, видимо, когда-то дойдут руки и до того, чтобы разницу "укрепленный"/"неукрепленный" сделать более другим способом. И ПНВ таки с костюмов убрать, а вынести на прицелы/бинокли/очки/шлемы. Все - кодово.

Вот тогда и об апгрейде можно будет подумать.

 

p.s. Кстати, скрипты для чистой соли кто-нибудь пробовал уже поправленные ? И, кстати, совместимость c ООП и прочим - если там эти файлы те же, что и в чистой соли - тоже бы проверить...

death_manager можно отдельно (впрочем, он-то 2 года тестировался, вопрос лишь в том, как я обратную совместимость вернул), xr_sound + sound_themes - отдельно.

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


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

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