- Версия SA-MP
-
- Любая
Screenshot
Модификация привносит ряд улучшений в функцию скриншота в SA-MP, главное из которых - это оптимизация создания скриншотов, они сохраняются значительно быстрее, избавляя от долгой раздражающей задержки игры. Уведомления о сохранении скриншотов теперь не засоряют чат, а красиво выводятся в углу экрана и не сохраняются на изображении. Файлы скриншотов сортируются по папкам с ником игрока, адресом сервера и дате, эта функция настраивается и может быть отключена.
Для разработчиков модов есть API, который предлагает возможности написания скриптов для автоматического создания скриншотов с высоким уровнем контроля.
Плагин полностью совместим с одиночной игрой и поддерживает те же возможности без SA-MP.
Возможности плагина
- Сохранение скриншотов c сортировкой по папкам (в одиночной игре сортировки нет, сохраняется в GTA San Andreas User Files\Gallery\..):
- Как раньше (GTA San Andreas User Files\SAMP\screens\..)
- По текущему серверу (GTA San Andreas User Files\SAMP\screens\ip_port\..)
- По игровому нику (GTA San Andreas User Files\SAMP\screens\nickname\..)
- По дате
- Год (GTA San Andreas User Files\SAMP\screens\year\..)
- Месяц (GTA San Andreas User Files\SAMP\screens\month\..)
- День (GTA San Andreas User Files\SAMP\screens\day\..)
- Пример: если включить "сервер", "год" и "месяц", конечный путь будет - (GTA San Andreas User Files\SAMP\screens\ip_port\year\month\..), приоритет папок учитывается по порядку.
- Экспортирование вспомогательных функций для написания различного рода скриптов-автоскриншотов
Предупреждения по работе
- Если вы используете анти-паузу (игра не уходит на паузу, если теряет фокус окна) и имеется скрипт, делающий автоматически скриншоты, то они не сохранятся, если окно игры будет свёрнуто
Графические элементы
Очередь оповещений
Заменяет стандартные сообщения на отдельные оповещения.
Оповещения имеют 6 стилей отображения.
Очередь оповещений:
Стили оповещений:
Стили оповещений:
Меню (находится в игровом меню, справа в нижнем углу)
Открывается нажатием ЛКМ по иконке, закрывается повторным нажатием ЛКМ либо ESC.
Здесь вы можете изменить стиль отображения оповещений и сменить режим сохранения скриншотов.
Меню:
Зависимости
gta_sa.exe версии US1.0
УстановкаЗакинуть в корневую папку игры
БлагодарностиВыражаю огромную благодарность и говорю спасибо следующим людям:
- FYP - за помощь на протяжении всего срока разработки
- EvgeN 1137 - помощь в тестах и вопросах дизайна
- at. - помощь в тестах и вопросах дизайна
- sanєk - огромнейшая помощь в тестах и вопросах дизайна
- Disorder - помощь в тестах
- TheVitek - помощь в тестах
Использование плагина для создания скриншотов из Lua скриптов.
Для работы с плагином предоставляется модуль screenshot.lua
Если создание скриншота является второстепенной задачей для вашего скрипта, используйте проверку на успешную загрузку модуля - pcall(require, 'lib.screenshot'), иначе, при отсутствии Screenshot.asi, ваш скрипт завершится с ошибкой.
В остальных случаях проверка не требуется. Нет плагина - нет смысла работать.
Lua:
local screenshotIsAvailable, screenshot = pcall(require, 'lib.screenshot')
function main()
...
sampRegisterChatCommand('safes', function()
if screenshotIsAvailable then
screenshot.request()
else
sampAddChatMessage('screenshot library is not available', -1)
end
end)
...
end
Модуль предоставляет следующие методы
- getPluginVersion() - возвращает версию плагина (Screenshot.asi)
- getUserDirectoryPath() - возвращает директорию игры в документах (../GTA San Andreas User Files)
- request() - запрос на создание обычного скриншота (как на F8)
- requestEx(path, filename) - запрос на создание и сохранение скриншота в указанную директорию
- path - путь, по которому требуется сохранить скриншот (если путь не существует, плагин создаст), можно указать абсолютный или относительный путь. Относительный путь начинается с папки ../GTA San Andreas User Files/App screens/..
- filename - имя файла скриншота (указывать расширение "png" не требуется)
Пример использования:
Lua:
local screenshot = require 'lib.screenshot'
function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(100) end
sampRegisterChatCommand('savescreen', function(fileName)
if fileName:len() > 0 then
screenshot.requestEx('example', fileName) -- путь сохранения будет: ../GTA San Andreas User Files/App screens/example/
else
screenshot.request()
end
end)
wait(-1)
end
26.04.2020
15.12.2019
- Полностью переделана система сохранения скриншота, что позволило избавиться от следующих проблем:
- Скриншот не мог сохраниться, если окно игры находилось за границей экрана (хоть немного даже если выходило) или терялся фокус
- Ощутимые фризы на слабых компьютерах (до 1 секунды)
- Автоматическое определение сампа (тестировал на версиях 0.3C, 0.3E, 0.3X, 0.3Z, 0.37R1/R3-1/R4, 0.3DL - работает без проблем)
- Внутренняя оптимизация всего плагина
15.12.2019
- Исправлено создание пустых папок при переключении режима (теперь папки создаются только при сохранении скриншота).
- Исправлена проблема с сохранением скриншотов по несуществующему пути (к примеру во время работы удалить папку, в которую на данный момент сохранялись скриншоты).
- Исправлено сохранение конфига при смене стиля оповещений, а также чтение текущего значения сортировки.
Вложения
Последнее редактирование: