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

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


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

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

Тема НЕ является ни столом заказов, ни службой техподдержки, ни справочным бюро.

Изменено пользователем Dennis_Chikin
  • Нравится 2
  • Полезно 1
Ссылка на комментарий

Ответы:

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

 

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

И опять же плохо, что из тех, кто может адаптировать найденные решения к уже выпущенным версиям, опять же практически ни кому кроме 2-х или 3-х человек, которые сделали, что могли, в доступных им областях, не интересно. А это в общем-то 5 скриптов со значительными изменениями, и много мелочи, где надо тупо искать и менять по 2-3 строчки.

 

Теперь что касается пресловутых 18 секунд:

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

Я проверял это на кордоне на удалении от бункера (это гарантированно  быстрее как минимим на 5-10 секунд, чем у бункера (замер по таймерам) и на АС, где в это время вообще все неписи были в офлайне).

 

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

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

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

 

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

 

В общем, все это надо проверять на разных машинах, и в разных ситуациях. Тем не менее, разница  после ликвидации заведомо медленного кода и всех остальных мер действительно есть, и значительная. Сократить фазу "синхронизаци" до нескольких секунд с  минуты и более, как 14.08 - реально. Также реально сокращение времени и остальных фаз, но они сами по себе сейчас занимают гораздо меньше времени, чем синхронизация.  От выяснения подробностей: что, при каких конкретно условиях, сколько именно - меня - увольте. Мне есть чем заняться. Конкретно - довести это все хотя бы до очередной работающей тестовой сборки. А там уже у кого сколько получится - столько и получится.

 

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

Про те же таймеры в этой теме много чего написано.

 

Это была техническая часть.

Что до личного - очень плохо, когда "проверка" делается без малейшей попытки разобраться в том, что именно проверяется, комментированием первой попавшейся строки. Или "я этого не видел, по этому не может быть", когда русским языком написано, что ЭТО может выглядеть как угодно. Или апелляцией к неким авторитетам, которые просто не могут ошибаться. Хотя размер многочисленных "техподдержек" прямо свидетельствует об обратном.

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

И совсем плохо, это обвинять кого-либо в плагиате, от него же и получив n лет назад то самое, в краже чего теперь обвиняем. Да, это я про пост о пропадании оружия, например. Или про еще более ранние.

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

А вот кто файлик потестит ? https://dl.dropboxusercontent.com/u/27871782/se_stalker_test.7z

Если в модах и паках его не меняли (и если я с обратной адаптацией не намудрил), должен работать во всех солянках.
Особенно интересует на АС и Радаре побегать, в частности, как себя будет вести кэп у барьера, и что там с вылетами при повторной загрузке.

Сохранность и совместимость сэйвов туда/сюда/обратно не обещаю, но вопрос тоже интересен.

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

должен работать во всех солянках

После установки правки не запускается даже новая игра на официальной сборке Народной Солянки http://www.amk-team.ru/forum/index.php?showtopic=5480#entry192691.

И не на официальных тоже.

Подробности в виде лога вылета и пр. соображения не привожу ибо суть агрессивное невежество с моей стороны.

 

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

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

ASUS P8Z77 \ Intel Core i5-3570 3400MHz \ RAM 16GB 1600MHz \ ASUS PH-GTX1060-3 ГБ 192 бит\\ ОС Windows 10 Pro x64 на SSD

Ссылка на комментарий

Поправил, перезалил. Или можно руками в se_stalker.script поиск/замена 2-х строчек (57 и 67) с "if force_offline[self.id] =="

на "if amk.convert_npc[self.id] =="

 

Водрузил себе ко всему прочему еще и "чистую", проверил.

Однако, отвык я на загрузку минутами медитировать, да.

Ссылка на комментарий

Это смотря в какой игре...
Уж не в чистой Солянке - определенно.
Хотя, на сборке 0309 такие случаи фиксировались (дверь Сидоровича), но зачастую даже после того, как дверь прекрасно работала и был не один визит к Сидоровичу.
Помогала Новая Игра.
Из той же серии - Крот, который упорно не хочет спускаться со 2-го этажа. Сидит там и орёт, чтоб его спасли.
Хотя, в ближайших пределах не осталось ни одного военного. Тоже только НИ помогала. Или пристрелить и идти дальше.
P.S. под снос.

 

Не надо под снос. ;) Хорошая, годная заметка. Надо будет посмотреть внимательно - там в принципе есть кое-что сомнительное.

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

 

Про Крота - аналогично. О, вспомнил: там, кажется, действительно то же самое, что с Шустрым - сначала отрабатывает безусловно сцена со спасением, потом он освобождается. В "чистой соли", без каскада исправлений, вряд-ли лечится, ну или нетривиально.

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

ASUS P8Z77 \ Intel Core i5-3570 3400MHz \ RAM 16GB 1600MHz \ ASUS PH-GTX1060-3 ГБ 192 бит\\ ОС Windows 10 Pro x64 на SSD

Ссылка на комментарий

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

Ни разу не сталкивался с такими глюками, ни в чистой Солянке, ни с ООП/ОП.. Все всегда как часы..

ЗЫ. под снос.

 

А вот про "ни разу не сталкивался"  - это действительно малоинформативно. Мало-ли, кто с чем не сталкивался...

Это не наезду для, а просто почему вот именно такое - не надо. Кстати, к предыдущему, могу, например, сказать, что есть в принципе (не помню, что там конкретно с кротом) такие условия, которые никогда не отрабатывают. Например, одно и то же действие, записанное в 2 строки. При разборе они пересохраняются в одну и ту же строку таблицы. См. xr_logic.parse_condlist

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

Вы ленивы, следовательно - вы изобретательны. © граф Де Гиш

Ссылка на комментарий

Я проверил в чистой солянке, все работает, видимо это только в дмх или там вероятность поломки больше, но все равно после определенного времени все опять начинает работать там
 
Если "отвисает" - ну, значит, действительно, "двойная" логика. См. xr_logic.parse_condlist() же.
От ДМХ не зависит. Зависит от последовательности разных событий. Иначе был бы битый сэйв или  всеми так любимый вылет "по стеку".

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

S.T.A.L.K.E.R 1.004, Народная..Солянка от 19.04.10, дополнение 14.08.10, патч 3.09.10, DMX 1.3.5, Saruman addon 1.1

Vkontakte

Добавление нового транспорта в сталкер

Ссылка на комментарий

Только что проверил на том, что у меня установлено: на гибриде (DMX+ОП) и на "чистом" ОП - @Saruman абсолютно прав. Сейв\лоад до моста (со стороны Акима) убивает логику двери Сидора, вертолёты не реагируют на убийство военного. В гибриде молчал мегафон (то есть бубнил обычно, а тревоги не было), в ОП работал. Переигрывал с автосохранения "Убить Стрелка". При начале НИ всё нормально.

 

Ясно. С ДМХ пусть автор разбирается. Куда копать - выше написано.

 

 


А вот кто файлик потестит ?

Потестил, никакой разницы не увидел. Бегал на Радаре и на АС. Сейв\лоад работает нормально, но.. Кэп у меня упёрся на АгроПром и, думаю, что логика у него уже не та. Так.что... что смог. Тестил на ОП.

 

 

Это есть хорошо. Логика действительно другая. Точнее, должна заработать "исходная", которая была когда-то давно, еще до АМК. Спасибо.

Без файла вылет на АС есть, или нет ? В соли вроде был, не помню, в какой, в ООП не смотрел. Совместимость сэйвов туда-сюда ?

 

Из неписей ни где ни кого "лишнего" не появилось ?

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

Сейчас прохожу: GWENT: The Witcher card game

Ссылка на комментарий

 

А вот кто файлик потестит ?

 

Hi. Чистая соль 030910. НИ, сохранился до моста, вышел из игры, зашел, загрузил сейв, добежал до Сидора, надпись "дверь закрыта", диалог с Доком, Пещеру пробежал, Кордон, дверь работает, сохранился вышел. http://yadi.sk/d/9PMkY-CZ6v0E2

 

Соль+Оп, мой старый сейв на радаре.

Загрузился, пострелял живность добежал до прехода в ТД. Сохранился.

Загрузился ТД, Бес и Крот на месте, АС Макс, Скряга, Лукаш, Кеп с блокпоста на месте, добежал до барьера, пострелял нечисть.http://yadi.sk/d/SLTITS4u6v4Ga

 

пс:версия игры 1.0004 лицуха с нодвд, если надо, могу поиграть с диском, если найду)

 

Спасибо. (убрал логи - не нужны они здесь, если только строки с ошибками/вылетами)

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

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

i3(6100)/8gb ram/gtx970/ssd/win7proX64

 

Ссылка на комментарий

Нашёл-таки старый сейв "Защитить Барьер", где Кэп ещё на месте. Ведёт себя обычно - задание дал\принял, после защиты дал сломаный огнемёт. Лишних никого не обнаружил, все на своих местах. Шмонал старые к тому моменту трупы Павлика & K' - чисто. После перехода на Бар, сна там и возвращения обратно - чисто во всех "вечных" трупах. Но, надо сказать, что это весьма и весьма рандомно было.

 

 

 


Совместимость сэйвов туда-сюда ?

Совместимость есть в обе стороны.

 

 

 


Без файла вылет на АС есть, или нет ?

Не совсем понял. Без вашего, но со старым вылета нет и не было - лично у меня в сборке ОП АС была одной из самых стабильных лок. С вашим файлом вылета тоже небыло. Совсем без файла вылет, разумеется, был. С жалобой на get_respawner_чего то там...

 

Я не помню версию соли, которая вылетала. В смысле, заходим на АС, что-то там делаем минут 10, потом загружаем другую игру, или уходим на другую локацию, и получаем вылет. Ну, как в Лабиринте. В ООП скорее всего фикс от WhatAbout стоит.

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

Сейчас прохожу: GWENT: The Witcher card game

Ссылка на комментарий

А теперь еще просьба, независимо от предыдущих:

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

Ну или если у кого при разборке с монолитовцами/зверьем трупы свободовцев образовались - тоже  годится.

 

Версия соли значения не имеет - лишь бы лог писался.

 

В качестве заметок на полях шляпы:

Мелочь, конечно, но, по моему, task_manager c конструкцией

 

local parse_condlist = xr_logic.parse_condlist

и в цикле if ini:line_exist( id, "condlist" ) then t.condlist = parse_condlist( nil, nil, nil, ini:r_string( id, "condlist" ) ) end

в function CRandomTask:__init()

 

и, соответственно, в function CRandomTask:check_task_props( task_id ):

if self.active_task_by_type[ t.complex_type ]    -- Проверка по активным заданиям данного типа у вендора
or ( t.condlist and not pick_section( db.actor, db.actor, t.condlist ) ) then    -- Проверка по кондлисту
t.enabled_props = false; return
end

- вполне работоспособен. (Ну, у кого там что вместо t и id)

 

Кстати, в parse_condlist() первые 3 параметра не нужны ни зачем, и в части случаев туда и передается nil, или еще какая ахинея. Которая в совершенно невозможном случае вызова abort() таки даст скорее вис без лога, чем что-то осмысленное.

Правильнее, наверное, сделать рядом функцию типа parse_condlist1() с одним параметром, и везде использовать ее.

А старую - переделать под отладочные цели, и, кстати, туда же контроль секций логики на дубликаты сразу воткнуть

 

 

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

 

af_rusty_thorn1305, af_rusty_kristall1307,  av_pesh_tornado2, amk_zone_mincer_average_122, amk_zone_buzz_average_127, amk_zone_fountain_average_128, af_ameba_slug11714, af_blood12302, amk_zone_mincer_average_270, af_rusty_thorn16358, af_rusty_thorn16360, amk_zone_mosquito_bald_strong_313, amk_zone_witches_galantine_347, skelet45_0000, af_rusty_thorn24669, af_rusty_thorn24671, af_rusty_thorn25139, af_ameba_mica26687, af_ameba_slime26689, af_rusty_thorn26694, red_psy_dog_phantom

 

Изменено пользователем Dennis_Chikin
Ссылка на комментарий

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

А не проще сразу убрать спавн этих объектов? Или это уже в аллспавне прописано?

 

Как минимум - часть. Аномалии - там.

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

Выхожу один я на дорогу, АКМ при мне — и слава Бoгу!

Ссылка на комментарий

удаление глючных предметов

А в аллспавне на них кто смотрел?

Или если они в скрипте спавнятся, чего с ними не ладно?

Чем всеже они глючные?

Всегда полезнее понять причину, чем удалить последствия...

Сам в луаскрипт ничего не понимаю, но поидее так лечат ошибки, или?

Ссылка на комментарий

Аномалии с двойными именами, скелет и собака с кривыми координатами - находятся поиском по allspawn.

 

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

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

 

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

[smart_terrains]
none={-agr_find_gunslinger_cache_found}
sak_lager={+agr_find_gunslinger_cache_found}
Изменено пользователем Dennis_Chikin
Ссылка на комментарий

По артам проверил список с НИ: имена те же самые. Да, можно заносить на удаление, вместе с аномалиями и прочими скелетами.

 

 

Еще на тестирование: https://dl.dropboxusercontent.com/u/27871782/se_stalker_test2.7z

Вот понятия не имею, кто такой Борман (Бармена - знаю), и что он делает в Лиманске (кстати, что ?), но интересно, что изменится в этом самом Лиманске после наката файлов.

Изменено пользователем Dennis_Chikin
Ссылка на комментарий

Вот понятия не имею, кто такой Борман (Бармена - знаю), и что он делает в Лиманске (кстати, что ?),

Маленький командирчик небольшого отряда, базирующегося в Лиманске. Дает ГГ пару побочных заданий. Без него сюжет проходим

Ссылка на комментарий

Dennis_Chikin,

 

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

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

 

да.

Вообще, у меня на самом деле этим уборщик занимается. Смотреть тут:https://dl.dropboxusercontent.com/u/27871782/xl_offline.7z

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

S.T.A.L.K.E.R 1.004, Народная..Солянка от 19.04.10, дополнение 14.08.10, патч 3.09.10, DMX 1.3.5, Saruman addon 1.1

Vkontakte

Добавление нового транспорта в сталкер

Ссылка на комментарий

//Осталось только тут написать, тема тоже подходящая. Больше уже некуда. Или на этом форуме по солянке уже ничего не спросить? Или тут это всё спрашивать - http://www.amk-team.ru/forum/index.php?showtopic=5525?

 

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

 

Последний раз предупреждаю устно. Учись работать с форумом, участником которого ты стал.

Мерцающий. 

Изменено пользователем Мерцающий
Ссылка на комментарий

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

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

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

 

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

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

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

 

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

Изменено пользователем Dennis_Chikin
Ссылка на комментарий

Кто знает из за чего постоянно умирает Звездочет на кордоне в начале игры, он же полностью бессмертный? 

 

amk_offline_alife.script, и еще куча.

Любой непись, если ему выставить хиты в 0, при переходе в онлайн благополучно дохнет. Правда, если у него при этом еще и схемы on_death/on_hit нет - то не только дохнет, но еще и вылетает.

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

S.T.A.L.K.E.R 1.004, Народная..Солянка от 19.04.10, дополнение 14.08.10, патч 3.09.10, DMX 1.3.5, Saruman addon 1.1

Vkontakte

Добавление нового транспорта в сталкер

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

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