Отображение вшитой обложки под типом Artist на PSS.

Список разделов foobar2000 Есть вопрос!

Описание: У вас проблемы с foobar2000 и вам необходима помощь? Спрашивайте здесь!
Правила раздела: Одна тема — один вопрос или группа связанных вопросов. Обязательно формируйте внятный заголовок, максимально отражающий суть. Подробно описывайте проблему. Не забывайте указать версию плеера, название сборки, по возможности добавить скриншоты проблемы.

Сообщение #21 megane68 » 24.03.2015, 00:45

kgena_ua:высоту выводимого изображения поставил с запасом (10000) - выведет с правильными пропорциями.
В том то и дело, что выведет, но сдвинет картинку по оси Y если она не квадратная.
Или я не прав?
megane68 M
Автор темы
Репутация: -18
С нами: 15 лет 1 месяц

Сообщение #22 LUR » 24.03.2015, 00:48

megane68:Или я не прав?
А ты что не пробуешь то, что тебе предлагают, а только споришь?)
Попробуй следующий код:
Код: Выделить всё
// Получение нужной ширины картинки. Равна ширине ELPlaylist:
$set_ps_global(do.pic.widht.1,$sub(%ps_width%,290))
// Рисуем
$imageabs_rc($get(do.pic.widht.1),10000,0,0,$get(do.pic.widht.1),10000,290,0,%path%,artreader,,80)
LUR M
Модератор
Аватара
Откуда: Минск
Репутация: 367
С нами: 11 лет 4 месяца

Сообщение #23 megane68 » 24.03.2015, 01:04

LUR, Да когда смогу, обязательно попробую и отпишусь. :)

Добавлено спустя 14 минут 4 секунды:
LUR, Вот, ага, добрался до плеера.
Короче, так работает. УРА!!!
Даже сглазить боюсь.
Только поправочка небольшая:
Код: Выделить всё
$imageabs_rc(%do.pic.widht.1%,10000,0,0,%do.pic.widht.1%,10000,290,0,%path%,artreader_artist,,50)

СПАСИБО ВСЕМ ОГРОМНОЕ!!!

Добавлено спустя 1 час 10 минут:
Чувствую теперь назревает другая задача.
А именно:
• Картинка должна иметь координату по Y всегда равной 0, а по Х всегда равняться по центру панели.
• Картинка должна выводится по большей стороне панели. Если больше ширина панели %ps_width%, то по ширине, если больше высота панели %ps_height%, то по высоте.
• При сохранении аспекта картинки, она должна выходить за пределы меньшей стороны панели.
megane68 M
Автор темы
Репутация: -18
С нами: 15 лет 1 месяц

Сообщение #24 LUR » 24.03.2015, 18:08

megane68:• Картинка должна иметь координату по Y всегда равной 0, а по Х всегда равняться по центру панели.
• Картинка должна выводится по большей стороне панели. Если больше ширина панели %ps_width%, то по ширине, если больше высота панели %ps_height%, то по высоте.
• При сохранении аспекта картинки, она должна выходить за пределы меньшей стороны панели.
Если я правильно понял, то у меня в сборке почти так и сделано, я еще и по высоте тоже центрирую :smile:
Тогда в твоем случае так вроде:
Код: Выделить всё
// Получение нужной ширины картинки. Равна ширине ELPlaylist:
$set_ps_global(do.pic.widht.1,$sub(%ps_width%,290))
// Рисуем
$ifgreater(%do.pic.widht.1%,%ps_height%,
   $imageabs_rc(%do.pic.widht.1%,%do.pic.widht.1%,0,0,%do.pic.widht.1%,%ps_height%,290,0,%path%,artreader_artist,,50),
   $imageabs_rc(%ps_height%,%ps_height%,$div($sub(%ps_height%,%do.pic.widht.1%),2),0,%do.pic.widht.1%,%ps_height%,290,0,%path%,artreader_artist,,50)
)
LUR M
Модератор
Аватара
Откуда: Минск
Репутация: 367
С нами: 11 лет 4 месяца

Сообщение #25 megane68 » 27.03.2015, 10:43

LUR, Спасибо!
Всё никак время не найду, чтобы покопаться.
Как только, так сразу отпишусь!
megane68 M
Автор темы
Репутация: -18
С нами: 15 лет 1 месяц

Сообщение #26 megane68 » 03.06.2015, 12:32

Что- то забыл отписаться.
В общем всё зашибись, только попробовав, решил пока остаться на старом варианте. А вот первый обсуждаемый вариант очень даже подошёл для интерфейса layout Universal.
Огромное спасибо!!!
megane68 M
Автор темы
Репутация: -18
С нами: 15 лет 1 месяц

Сообщение #27 AHAPXICT » 03.06.2015, 14:02

megane68, привет. Ты силён в WSH? У меня проблема есть со скриптом "DarkOne Display Panel". Решил сделать переключение цветов дисплея как на четвёрке но пока зациклился в одном месте, а ты ведь версию 3.1 вдоль и поперёк знаешь. Если есть желание и возможность то можем дальше развить эту тему.
AHAPXICT M
Аватара
Откуда: Киев
Репутация: 252
С нами: 10 лет 4 месяца

Сообщение #28 MC Web » 03.06.2015, 16:12

AHAPXICT, в DarkOne v4.0, если мне память не изменяет, переключение цвета дисплея и вывод индикации сделан по другому,не как в DarkOne v3.0, изображение берется из файла DarkOne_v4.0\Images\Signs.png ...
MC Web
Репутация: 248
С нами: 10 лет 7 месяцев

Сообщение #29 AHAPXICT » 03.06.2015, 18:39

MC Web, да я в курсе что там по другому. Это я так от нечего делать чистую версию DarkOne v3.1 "улучшаю", чтобы достаточно было при помощи .fcl файла конфигурацию менять. На форуме выложил этот эксперимент. Ну и сам понимаешь что с настройкой фубара остановится тяжело))) Так как ты тоже любитель цвета 19-30-38 :smile: , посмотри может чего посоветуешь.
1. "DarkOne Display Panel" - не могу заставить работать бэкграунд. В скрипте поставил пометки.
2. В часах не переключается замена языков по ЛКМ. Час назад как начал экспериментировать :smoke:
Что бы не парится со всякими .fcl и не устанавливать плеер и т.д и т.п. Кидаю архив с готовой сборкой(музло are included now) DarkOne_v3_1+Clock+Scrolltxt+Lyrics TEST
Вот что ещё хотел у тебя спросить. Ты плагины только переводишь или ещё пишешь по потихоньку? Если нет то и не отвечай, это такое.
AHAPXICT M
Аватара
Откуда: Киев
Репутация: 252
С нами: 10 лет 4 месяца

Сообщение #30 MC Web » 03.06.2015, 20:11

AHAPXICT, в написании скриптов не силен. Если честно, не моя стезя, да время на изучение команд надо...
По первому пункту ничего не скажу, а насчет второго, если это поможет, насколько я понял не проходит команда в скрипте по его обновлению после выбора языка. Т.е. в Свойствах (Properties...) значение Language меняется, а в окне нет. Если перезапустить foobar2000 - будет выбранный язык.
Этот скрипт сам писал или выдернул откуда?
MC Web
Репутация: 248
С нами: 10 лет 7 месяцев

Сообщение #31 kgena_ua » 03.06.2015, 20:29

AHAPXICT, как писал MC Web, Properties изменяется а переменная language не изменяется. Соответственно if(language == ..... не работает.
После перезапуска скрипт выполняет строку 19 var language = window.GetProperty("Language", 1); далеет if(language == и все работает.
После выбора языка через меню мы должны принудительно заставить присвоить массивам days и months значения. Это можно сделать через вызов функции в меню:
window.SetProperty("Language", idx);
get_language();
window.Repaint();
break;

соответственно должны описать функцию.
Убираем строку 19 и прописываем с 40 строки:
var language, days = [], months = [];
get_language();

function get_language() {
language = window.GetProperty("Language", 1);
if(language == 1){
days = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
months = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
}
.
.
.
}

или скрипт с изменениями:
Код: Выделить всё
// Digital Clock
// LatroX 1.2 by eXtremeHunter1972
// @author "jscript by Hunter >> http://extremehunter1972.deviantart.com/art/LatroX-1-2-151924059
// WSH Panel Mod component by Tianpeng Wang
// Modifed AHAPXICT and kgena_ua for DarkOne v3.1 by tedGo

//####################################################################
// Choose your language here.


// ENGLISH = 1
// ESTONIAN = 2
// GERMAN = 3
// FRENCH = 4
// FINNISH = 5
// RUSSIAN = 6
// UKRAINIAN = 7

//////var language = window.GetProperty("Language", 1);
//####################################################################

function RGB(r,g,b){ return (0xff000000|(r<<16)|(g<<8)|(b)); }
function RGBA(r, g, b, a) { return ((a << 24) | (r << 16) | (g << 8) | (b)); }
MF_SEPARATOR = 0x00000800;
MF_STRING = 0x00000000;
var g_titlefmt = fb.TitleFormat("%playback_time%[/%length%][/%playback_time_remaining%]");
var g_titlefmt1 = fb.TitleFormat("Count: %play_count%");
var g_titlefmt2 = fb.TitleFormat("$if(%__hdcd%,HDCD ,)[Gain: %replaygain_track_gain%]");

var DT_CENTER = 0x00000001;
var g_font = gdi.Font("DarkOne", 19, 0); // Length
var g_font1 = gdi.Font("DarkOne", 76, 0); //Time
var g_font2 = gdi.Font("DarkOne", 19, 0); // Day
var g_font3 = gdi.Font("DarkOne", 19, 0); // Date
var g_font4 = gdi.Font("DarkOne", 19, 0); // Month

var currentTime = new Date();
var clock_time = window.SetInterval(on_timer, 1000);

var language, days = [], months = [];
get_language();

function get_language() {
language = window.GetProperty("Language", 1);
if(language == 1){
days = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
months = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
}
if(language == 2){
days = new Array("Pühapäev", "Esmaspäev", "Teisipäev", "Kolmapäev", "Neljapäev", "Reede", "Laupäev");
months = new Array("Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember");
}
if(language == 3){
days = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
months = new Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
}
if(language == 4){
days = new Array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi");
months = new Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
}
if(language == 5){
days = new Array("Sunnuntai", "Maanantai", "Tiistai", "Keskiviiko", "Torstai", "Perjantai", "Lauantai");
months = new Array("Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kesäkuu", "Heinäkuu", "Elokuu", "Süüskuu", "Lokakuu", "Marraskuu", "Joulukuu");
}
if(language == 6){
days = new Array("Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота");
months = new Array("Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь");
}
if(language == 7){
days = new Array("Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П’ятниця", "Субота");
months = new Array("Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень");
}
}
function on_paint(gr){
if (window.GetProperty("Color") == 1) var font_rgb = RGB(191,228,255), block_rgb = RGB(133,159,178);   //Default   
if (window.GetProperty("Color") == 2) var font_rgb = RGB(128,192,255), block_rgb = RGB(91,136,178);   //Blue   
if (window.GetProperty("Color") == 3) var font_rgb = RGB(0,255,0), block_rgb = RGB(0,178,0);       //Green   
if (window.GetProperty("Color") == 4) var font_rgb = RGB(255,0,0), block_rgb = RGB(255,0,0);       //Red   
if (window.GetProperty("Color") == 5) var font_rgb = RGB(255,255,255), block_rgb = RGB(178,178,178);   //White   
if (window.GetProperty("Color") == 6) var font_rgb = RGB(255,255,0), block_rgb = RGB(178,178,0);     //Yellow
   
gr.SetTextRenderingHint(5);

String.prototype.repeat = function(n) {
return new Array(n + 1).join(this);
}
var currentHours = currentTime.getHours ( );
var currentMinutes = currentTime.getMinutes ( );
var currentSeconds = currentTime.getSeconds ( );
var currentDay = currentTime.getDay ( );
var currentDate = currentTime.getDate ( );
var currentMonth = currentTime.getMonth ( );
var currentYear = currentTime.getYear ( );
var ww = window.Width;
var length = fb.PlaybackLength;
var txt;
var txt1;
var txt2;
var y = 5;
var x = 0;
if(currentHours < 10){x = 4;}
if(length > 0){txt = g_titlefmt.Eval();}
if(length > 0){txt1 = g_titlefmt1.Eval();}
if(length > 0){txt2 = g_titlefmt2.Eval();}

  currentMinutes = ( currentMinutes < 10 ? "0" : "" ) + currentMinutes;
  currentSeconds = ( currentSeconds < 10 ? "0" : "" ) + currentSeconds;
//========BLOCKS========
  gr.GdiDrawText( "\u2589".repeat(9), g_font4, block_rgb, -232, 12-y, ww, 24, DT_CENTER);
  gr.GdiDrawText( "\u2589".repeat(9), g_font2, block_rgb, -232, 26-y, ww, 24, DT_CENTER);
  gr.GdiDrawText( "\u2589".repeat(9), g_font4, block_rgb, -232, 40-y, ww, 24, DT_CENTER);
  gr.GdiDrawText( "\u2589".repeat(9), g_font4, block_rgb, -232, 54-y, ww, 24, DT_CENTER);
  gr.GdiDrawText( "\u2589".repeat(3), g_font1, block_rgb, 1, 1-y, ww, 86, DT_CENTER);
  gr.GdiDrawText( "\u2589".repeat(9), g_font4, block_rgb, 232, 12-y, ww, 24, DT_CENTER);
  gr.GdiDrawText( "\u2589".repeat(9), g_font2, block_rgb, 232, 26-y, ww, 24, DT_CENTER);
  gr.GdiDrawText( "\u2589".repeat(9), g_font4, block_rgb, 232, 40-y, ww, 24, DT_CENTER);
  gr.GdiDrawText( "\u2589".repeat(9), g_font4, block_rgb, 232, 54-y, ww, 24, DT_CENTER);
// ========GRADIENT======== // 
  var alpha = 235;
  if (window.GetProperty("Matrix") == 7) var alpha = 235;
  if (window.GetProperty("Matrix") == 8) var alpha = 255;
  gr.FillGradRect(0, -4, ww, 84, 90, RGBA(80,100,114,alpha), RGBA(19,30,38,alpha));
// ========TEXT======== //
  gr.GdiDrawText( "|" , g_font3, font_rgb, 144, 18-y, ww, 40, DT_CENTER);
  gr.GdiDrawText( "|" , g_font3, font_rgb, 144, 26-y, ww, 40, DT_CENTER);
  gr.GdiDrawText( "|" , g_font3, font_rgb, 176, 18-y, ww, 40, DT_CENTER);
  gr.GdiDrawText( "|" , g_font3, font_rgb, 176, 26-y, ww, 40, DT_CENTER);
  gr.GdiDrawText( "___" , g_font3, font_rgb, 160, 2-y, ww, 40, DT_CENTER);
  gr.GdiDrawText( "___" , g_font3, font_rgb, 160, 30-y, ww, 40, DT_CENTER);
  gr.GdiDrawText(txt, g_font, font_rgb, -232, 12-y, ww, 24, DT_CENTER);
  gr.GdiDrawText(txt1, g_font, font_rgb, -232, 32-y, ww, 24, DT_CENTER);
  gr.GdiDrawText(txt2, g_font, font_rgb, -232, 51-y, ww, 24, DT_CENTER);
  gr.GdiDrawText( currentHours + ":" + currentMinutes + ":" + currentSeconds, g_font1, font_rgb, -3+x, 1-y, ww, 86, DT_CENTER);
  gr.GdiDrawText( days[currentDay] , g_font2, font_rgb, 259, 20-y, ww, 24, DT_CENTER);
  gr.GdiDrawText( currentDate , g_font3, font_rgb, 159, 22-y, ww, 24, DT_CENTER);
  gr.GdiDrawText( months[currentMonth] + " " , g_font4, font_rgb, 265, 48-y, ww, 24, DT_CENTER);
  gr.GdiDrawText(currentYear, g_font3, font_rgb, 159, 49-y, ww, 24, DT_CENTER);

}
// ========Seek time======== //
function on_mouse_wheel(step) {
   fb.PlaybackTime += step;
}
function on_playback_seek(time) {
   window.Repaint();
}
// ========Menu======== //
function on_mouse_lbtn_up(x, y) {

    var _menu = window.CreatePopupMenu();
   
    _menu.AppendMenuItem(MF_STRING, 1, "English");
    _menu.AppendMenuItem(MF_STRING, 2, "Estonian");
    _menu.AppendMenuItem(MF_STRING, 3, "German");
    _menu.AppendMenuItem(MF_STRING, 4, "French");
    _menu.AppendMenuItem(MF_STRING, 5, "Finnish");
    _menu.AppendMenuItem(MF_STRING, 6, "Russian")
    _menu.AppendMenuItem(MF_STRING, 7, "Ukrainian")
    _menu.CheckMenuRadioItem(1, 7, window.GetProperty("Language", 1));   

    idx = _menu.TrackPopupMenu(x, y);
    switch (idx) {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
        window.SetProperty("Language", idx);
        get_language();       
        window.Repaint();   
        break;   
}
    _menu.Dispose();
return true
}

function on_mouse_rbtn_up(x, y) {

    var _menu = window.CreatePopupMenu();
   
    _menu.AppendMenuItem(MF_STRING, 1, "Default");
    _menu.AppendMenuItem(MF_STRING, 2, "Blue");
    _menu.AppendMenuItem(MF_STRING, 3, "Green");
    _menu.AppendMenuItem(MF_STRING, 4, "Red");
    _menu.AppendMenuItem(MF_STRING, 5, "White");
    _menu.AppendMenuItem(MF_STRING, 6, "Yellow")
    _menu.CheckMenuRadioItem(1, 6, window.GetProperty("Color", 1));   
    _menu.AppendMenuItem(MF_SEPARATOR, 0, 0)
    _menu.AppendMenuItem(MF_STRING, 7, "Matrix ON")
    _menu.AppendMenuItem(MF_STRING, 8, "Matrix OFF")
    _menu.CheckMenuRadioItem(7, 8, window.GetProperty("Matrix", 7));
    _menu.AppendMenuItem(MF_SEPARATOR, 0, 0)
    _menu.AppendMenuItem(MF_STRING, 9, "Properties...");
    _menu.AppendMenuItem(MF_STRING, 10, "Configure...");

    idx = _menu.TrackPopupMenu(x, y);
    switch (idx) {

    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
        window.SetProperty("Color", idx);   
        window.Repaint();   
        break;   
    case 7:
    case 8:   
        window.SetProperty("Matrix", idx);   
        window.Repaint();   
        break;     
   
    case 9:
        window.ShowProperties();
        break;
    case 10:
        window.ShowConfigure();
        break;
}
    _menu.Dispose();
return true
}
function on_timer(id){
  currentTime = new Date();
window.Repaint();
}
//EOF
kgena_ua M
Аватара
Откуда: Украина, Днепр
Репутация: 504
С нами: 10 лет 11 месяцев

Сообщение #32 MC Web » 03.06.2015, 20:56

kgena_ua, у меня предложение, что бы Ваши труды по написанию / корректировке скриптов не пропали даром, может как то систематизировать.
Например в шапке темы Скрипты для foo_uie_wsh_panel_mod создать список скриптов со ссылками на сообщение содержащее соответствующий скрипт. Так думаю будет удобнее искать необходимый скрипт, чем читать все сообщения подряд...
Или создать отдельную (пополняемую) библиотеку скриптов, как у marc2003...
MC Web
Репутация: 248
С нами: 10 лет 7 месяцев

Сообщение #33 kgena_ua » 03.06.2015, 21:10

MC Web:создать список скриптов со ссылками на сообщение содержащее соответствующий скрипт
MC Web, наверное это правильно, только нужно знать как :oops: .

AHAPXICT, по поводу дополнительных шрифтов (tedGo's DarkOne_NEW MATRIX 140x140x75.ttf).
Необходимо создать в корне Фубара папку fonts.
Установить foo_ui_hacks. При первом запуске после установки foo_ui_hacks, Tools - UI Hacks - Portability. Фубар перезапустится и инициализируется Font autoloading.
kgena_ua M
Аватара
Откуда: Украина, Днепр
Репутация: 504
С нами: 10 лет 11 месяцев

Сообщение #34 MC Web » 03.06.2015, 21:18

kgena_ua:наверное это правильно, только нужно знать как
Обратиться к администрации, предоставив соответствующую "заготовку" со ссылками, думаю проблем не будет.
kgena_ua:по поводу дополнительных шрифтов (tedGo's DarkOne_NEW MATRIX 140x140x75.ttf).
Необходимо создать в корне Фубара папку fonts.
Установить foo_ui_hacks. При первом запуске после установки foo_ui_hacks, Tools - UI Hacks - Portability. Фубар перезапустится и инициализируется Font autoloading.
Совершенно верно, я так же делаю.
MC Web
Репутация: 248
С нами: 10 лет 7 месяцев

Сообщение #35 AHAPXICT » 03.06.2015, 23:07

Ну чего себе, во сколько написали пока я за хлебушком ходил)))) Ребят, ну вы чего по поводу шрифтов на меня напали? :oops: Уже как год в моей модификации так всё и стоит, да ещё все картинки к виртуальному диску "В" привязаны)))) Это чистая сборка на которой .fcl собираю, для людей у которых, например, оригинальный DarkOne v3.1 стоит. Честно говоря не додумался для удобства использования поставить UI Hacks, даже не ожидал что так быстро можно дела порешать!
MC Web,
MC Web:Этот скрипт сам писал или выдернул откуда?
скрипт изначально был отсюда. Эту ссылку на страницу автора в шапке скрипта поместил. Но как ты понял нечего без kgena_ua, я бы не написал, почти всё в моей модификации его руками сделано!Почти на всех скриптах у меня стоит его имя))) А вот шрифт только название своё оставил(для совместимости) и авторские права, полная конверсия, за исключением с "Ё дересисами" не заморачивался. По поводу твоего совета размещения скриптов - поддерживаю. Скрипты это как горячие пирожки, просто на расхват! Во чего недавно нашёл, зашёл ночью к соседу кофеину хлебануть ну и заодно ему свою сборку обновить, так по запросу во чего гугль выдал. Меня так в клочья и порвало))))
kgena_ua, Спасибо вам огромное! Тут больше и добавить нечего, разве вот это как всегда :beer: Мне даже как то не ловко перед вами, что каждый раз какими то просьбами озадачиваю.
AHAPXICT M
Аватара
Откуда: Киев
Репутация: 252
С нами: 10 лет 4 месяца

Сообщение #36 AHAPXICT » 04.06.2015, 23:17

MC Web, kgena_ua, так как кроме вас данным вопросом никто не заинтересовался, тогда вам и отвечаю. Проблему со вторым вопросом решил!
Так как брал для меню переключения цвета дисплея недостающие куски скрипта с четвёртой версии совсем не подумал о таких нюансах как DO Global Script и DO 4.0 Global Script. Естественно в первом варианте не хватало нужных функций на которые ссылался объект. А редактирование глобально скрипта не подходит для данного варианта(только импорт конфигурации через .fcl), поэтому добавил недостающее в сам скрипт. Как говорится ларчик просто открывался.))) Архив пере залил( foo_ui_hacks установил), если интересно то можно взглянуть.
Ещё раз спасибо за содейсвие :beer:
AHAPXICT M
Аватара
Откуда: Киев
Репутация: 252
С нами: 10 лет 4 месяца

Пред.

Вернуться в Есть вопрос!