
Code: Select all
; Функция создаёт выбранную директорию, если такая ещё не существует
; Проверка на существовании осуществляется через пустой файл is_dir.
; (c) 2007, Destruction.
Sub mkdir( dir )
if not right( dir, 1 ) == "/" && not right( dir, 1 ) == "\" then
dir = dir + "/"
endif
var f = file( dir + "is_dir" )
if not f.open() then
uo.launch( "cmd", '/c mkdir "' + dir + '"' )
wait( 500 )
f.create()
endif
f.close()
endsub
Вроде неплохо извернулся учитывая неумение инжы работать с папками как таковыми.. Из минусов - я не помню как писать такое под вин98.
Далее - две функции для определения даты / времени, вариант от mihail мне не понравился как минимум замещением стандартной ф-ции date на его:
Code: Select all
; Определение текущей даты
; n - разделитель
; Destruction
Sub getDate( n )
var d = str( uo.date() )
if strlen( d ) == 5 then
d = "0" + d
endif
return right( d, 2 ) + n + mid( d, 2, 2 ) + n + left( d, 2 )
endsub
; Определение текущего моммента времени
; n - разделитель
; Destruction
Sub getTime( n )
var t = str( uo.time() )
if strlen( t ) == 5 then
t = "0" + t
endif
return left( t, 2 ) + n + mid( t, 2, 2 ) + n + right( t, 2 )
endsub
Ну и непосредственно ф-ция создания скриншота, для которой все вышенаписанное писалось:
Code: Select all
; Destruction
var sc_dir = "./sc/" ; Папка для складывания скриншотов.
Sub snap()
var filetype = "BMP" ; в каком формате сохранять скриншоты
var filename = sc_dir
mkdir( filename )
filename = filename + uo.getInfo( "shard" ) + "/"
mkdir( filename )
filename = filename + uo.getInfo( "character" ) + "/"
mkdir( filename )
filename = filename + getDate( "." ) + " " + getTime( "-" )
uo.snap( filetype, filename + "." + filetype )
endsub
Примечание: при первом запуске на персонаже / шарде будет небольшая задержка перед созданием первого скриншота.
PS: Injection пока не умеет сохранять скриншоты в JPG, а у меня в БМП они весят по 5мб, поэтому всем у кого проблемы с местом могу посоветовать заглянуть в гугл: http://www.google.ru/search?hl=ru&q=com ... verter&lr= и использовать для последущей конвертации одну из найденных программ (я использую ImageMagick, т.к. привык, новичкам будет непросто освоить). Но это собственно говоря сами.