Существует очень распространённая проблема: вы сделали красивый фраг, или даже серию фрагов, или просто какой-то смешной момент, но вдруг понимаете, что не писали демку, а значит добавить его в свой фрагмуви не получится.
Чтобы такого больше не произошло, нужно писать демки всегда, тогда можно быть уверенным, что любой шикарный момент сохраниться для потомков.
Однако, есть ряд проблем:
1. Каждый раз при входе в игру писать в консоли record blablabla ломает
2. Если вы используете то же самое название, которое уже использовали раньше, старая демка будет перезаписана и её содержимое потеряется.
3. Когда начинается новая карта, автоматически начинает записываться демка с названием blablabla_2, blablabla_3 и т.д. Это хорошо. Но если вы отключитесь от сервера, то запись остановится, и при заходе на другой сервер вам снова придётся писать в консоли record.
4. Даже если вы будете каждый раз придумывать оригинальные названия, типа asdkljh, jsdhsak, asdlkhfk, вам потом будет самому трудно найти, какая же из них содержит нужный вам фраг.
5. Можно в качестве названия демки вводить текущую дату, но самостоятельно каждый раз её вводить лень. Кроме того, если вы вышли из игры, а потом зашли вновь, то можно случайно ввести ту же дату и опять же перезаписать старую демку.
Короче говоря, Valve сделали всё через одно место, поэтому запись демок - сплошное мучение.
Но сегодня я наконец решил это проблему. Благодаря одной небольшой утилитке и небольших изменениях конфигов теперь можно спокойно играть и быть уверенным в том, что демки пишутся и ничего не затирается (если, конечно, вы не забыли запустить утилитку).
Итак, качайте архив:
autodemo.zip
Содержимое разархивируйте в папку:
папка Steam
steamapps
профиль
team fortress 2
tf
cfg
Запустите install.bat
Это достаточно сделать один раз, поэтому после выполнения он сам себя удалит.
Запускайте autodemo.exe
Появится чёрное окно с надписью:
Update every 60 seconds
Exit: Ctrl+C
Не закрывайте и не нажимайте Ctrl+C - пока вы играете, это программа должна работать.
Запускайте TF2 и играйте.
Когда наиграетесь, можно переключиться в это окно и нажать Ctrl+C.
Демки искать в папке на один уровень выше.
Их названия будут выглядеть примерно так:
10_08_18_17_33_58_spy.dem
То есть в 2010 году, в августе, 18 числа, примерно в 17:34 я начал играть спаем.
Такие названия позволят легко отсортировать демки по времени и найти нужную - за сегодняшнее число, за вчерашнее, месяц назад и т.д.
Новая демка начинает писать в тот момент, когда вы меняете класс. Это означает, что вы можете уходить с сервера, возвращаться на него, выходить из игры, входить обратно - но как только вы выбираете игровой класс, начинает писаться демка.
Есть один маленький нюанс - при смене класса будет заметен кратковременный лаг, связанный с началом записи. Но так как смена класса происходит на респе, это вряд ли вам повредит.
Как это работает?
install.bat добавляет в классовые конфиги (soldier.cfg, medic.cfg и прочие) дополнительные команды, которые запускают запись демок.
Программа autodemo.exe с периодичностью раз в минуту обновляет названия демок в конфигах, использую текущую дату и время.
Таким образом, если менять класс реже, чем раз в минуту, то при следующей смене класса в конфиге будет стоять уже новое название демки.
Если вы будете менять класс слишком часто (взяли снайпера, сделали красивый фраг, взяли инжа, сбили жучок с телепорта, снова взяли снайпера - и всё это менее, чем за одну минуту), то есть риск, что название файла не успеет обновиться и одна из последних затрётся.
Если вы боитесь этого, можете запускать autodemo с параметром.
Параметр - частота обновления в секундах (по умолчанию 60).
Например:
autodemo 2
будет обновлять каждые 2 секунды.
Если боитесь закладок, кейлогеров, троянов и прочего, можете взять исходник - откомпилируете сами (для этого вам потребуется компилятор Delphi почти любой версии).
Либо можете сами написать батник или какой-нибудь перл-скрипт, который будет делать тоже самое (я не стал этого делать из-за отсутствия нормальной паузы в батниках).
Исходник:
autodemo_src.zip
-------------
Апдейт:
теперь, если интервал обновления кратен минуте (а по умолчанию так оно и есть), то в название демки не добавляются секунды, так как они всё равно будут у всех демок одинаковые и только сбивают с толку.
Кроме этого, теперь дата и время разделены двумя подчёркиваниями.
Файлы обновлены.
Отредактированно Dan (19-08-2010 07:23:05)