- Версия SA-MP
-
- Любая
Samp Replay Mod - скрипт, позволяющий записать вашу игровую сессию в один файл, чтобы просмотреть или поделиться им с кем-то!
Требования:
Телепорт к локальному игроку в повторе: "OP" как чит-код
Сохранения находятся по пути moonloader/ReplayMod
Актуальная версия: SampReplayMod_2.lua v1.1 (01.07.2022)
Зачем это нужно:
- Если у вас очень слабое железо, вы можете использовать это как аналог Бандикама/ОБС. Повторы весят очень мало. Для сравнения: 1 минута .mp4 видео весит 200 МБ, в то время как минута того же геймплея через ReplayMod весит 1.5 МБ.
- Также вещественным плюсом этих записей является то, что видно все действия, которые происходят за экраном. Благодаря этому можно узнать упущенные моменты, не замеченные при игре.
- Этот скрипт можно использовать как нехреновую машину для ностальгии. Запишите обычную каточку, сохраните повтор и посмотрите через 5 лет. Охереете от того, что сервера уже не существует, а вы можете в прямом смысле потрогать всех челов с которыми общались...
Во многих играх существует функция повтора. Даже в одиночной GTA при нажатии на кнопку F1 воспроизводится недавний геймплей, но в мультиплеере такая фишка была вырезана. Данный скрипт позволяет записывать все движения игроков, машин, объекты и чат. Если говорить коротко, вы сохраняете всю информацию, которая пришла к вам с сервера. После сохранения вы можете воспроизвести всю сохраненную сессию.
При получении PACKET_CONNECTION_REQUEST_ACCEPTED(34) запускаются 2 потока для записи RPC и пакетов данных. ID игрока сохраняется как 1001, чтобы случайно не забрать его у игрока в записи. После все пакеты и RPC сжимаются в строки, а после добавляются в очередь, чтобы избежать потерь. Если несколько тактов подряд не пришло ни одного пакета, то сохраняется лишь количество пустых тактов, чтобы не тратить память на каждый пустой такт. В секунду максимум может сохраниться 10000 пакетов и 1000 RPC (в теории. на практике lua не такой быстрый, но хватает для всех серверов). Благодаря такому большому запасу даже на ЦР на Аризоне все движения игроков и маппинг спокойно сохраняются. Из этой очереди все данные переходят в 2 массива. Во время сохранения они записываются в файл при помощи inicfg. После всех манипуляций уже можно воспроизвести повтор. При помощи inicfg все сжатые данные загружаются в память, распаковываются и эмулируются. Именно благодаря этому появляются объекты, игроки и их движения. Действия локального игрока тоже сохраняются благодаря конвертации исходящей синхры во входящую (для этого были использованы исходники SAMP.Lua от команды бластхака, за что им огромное спасибо!)
Телепорт к локальному игроку в повторе: "OP" как чит-код
Сохранения находятся по пути moonloader/ReplayMod
Актуальная версия: SampReplayMod_2.lua v1.1 (01.07.2022)
Ускорение повторов- Начало записи в любой момент, а не при старте игры
- Перемотка назад и вперед
- Режим от 1-го лица с диалогами и текстдравами
- Красивое вращение камерой как в майнкрафтовском реплеймоде
- Убрать зависимость от inicfg, сократив сохранения в 2 раза
28.06.2022 v1.0 - релиз, фикс удаления педа
01.07.2022 v1.1 - автосохранение каждую минуту, ускорение во время повтора, пауза, уведомление о наличии новой версии
01.07.2022 v1.1 - автосохранение каждую минуту, ускорение во время повтора, пауза, уведомление о наличии новой версии
Вложения
Последнее редактирование: