Перейти к публикации

Интерес к универсальному профайлеру  

108 пользователей проголосовало

  1. 1. Нужна ли нам эта примочка?

    • Нет. Устраивает стандартный профайлер.
      16
    • Нет. Имею всего один джой.
      9
    • Нет. Летаю только в Ил2 БзС\что-то другое. Назначаю в меню игры.
      23
    • Да. Мой джой не имеет профайлера.
      7
    • Да. Имею джои разных производителей.
      38
    • Да. Имею джои одного производителя, но профиля надо назначать индивидуально.
      15
  2. 2. Готовы жертвовать?

    • Нет. Мне не нужна эта программа.
      44
    • Нет. Хочу нахаляву.
      17
    • 1$ разово.
      4
    • 5$ разово.
      15
    • 10$ разово.
      19
    • Больше. Разово. Я щедрый!
      3
    • Готов жертвовать неоднократно. (Храни Вас Чак Норрис)
      6


Рекомендованные сообщения

Опубликовано:

Доброго времени суток!

Имею некоторые навыки программирования. Подумываю написать универсальный профайлер (а-ля Saitek Profiler), но для всех джойстиков. Один профиль будет включать в себя неограниченное количество джоев, а не индивидуальный профиль для каждого.

Пример:

 

Профиль 1: DCS Su-25T

Saitek X52 Throttle

CH Fighter Stick

Педали ВКБ - педаль вместо оси имитирует кнопку

 

Профиль 2: Ил2 БзС

Saitek X52 Throttle

CH Fighter Stick

Педали ВКБ - педаль это нормальная ось

Saitek Quadrant

 

Рассматриваю так же написание драйвера виртуального джоя для раскладки осей (у кого есть педали, знают что при назначении общего тормоза для советов - тормоза немецких крафтов работают неадекватно). Но это под большим вопросом, ибо сложно, опасно и неблагодарно.

 

Возможно, будут и скрипты а-ля CH.

 

Готов выслушать предложения по фичам.

 

Вопрос, нужно ли это и готовы ли вы подогреть интерес к разработке пожертвованиями?

 

Прошу всех голосовать. Голосование закрытое.

Опубликовано:

Не голосовал, так как понятия не имею что такое профайлер. Очевидно он мне не нужен.

  • Поддерживаю! 3
Опубликовано:

Не голосовал, так как понятия не имею что такое профайлер. Очевидно он мне не нужен.

Вот тут я промахнулся. И не отредактировать уже.

Пожалуйста, если не знаете что такое профайлер, голосуйте за пункт "Нет. Летаю только в Ил2 БзС\что-то другое. Назначаю в меню игры." Видимо, Вы назначаете управление в меню игры.

Опубликовано:

Разработка будет закрытой или opensource?

Опубликовано:

С opensource не знаком. Исходники, возможно, выложу, а на GitHub - вряд ли (не умею).

Опубликовано:

Если будет работать лучше чем сайтековский профайлер (с кнопками-модификаторами в БзС вроде нерешаемая проблема), то и 10 не жалко, но только когда продукт будет готов, не заранее :(

Опубликовано:

Если будет работать лучше чем сайтековский профайлер (с кнопками-модификаторами в БзС вроде нерешаемая проблема), то и 10 не жалко, но только когда продукт будет готов, не заранее :(

Заранее никто и не просит  :)

Я изучаю спрос. Нужно ли это вообще народу, стоит ли браться делать качественно, или можно сделать лишь бы работало для себя.

Опубликовано:

Интересно. Если будет нормально с БЗС работать то конечно надо. А фичи ну как образец Xpadder (всякие таймеры, обработка долгих нажатий, замена кнопок)+добавить скрипты из CH и будет шикарно.

Опубликовано:

Интересно. Если будет нормально с БЗС работать то конечно надо. А фичи ну как образец Xpadder (всякие таймеры, обработка долгих нажатий, замена кнопок)+добавить скрипты из CH и будет шикарно.

 

если добавить скрипты из CH, то в принципе вообще ничего кроме них не надо будет.

 

@PickRelated

Если ты такой искусный в этом деле полиглот, предложил бы ВКБ свои услуги. 

Опубликовано: (изменено)

Интересно. Если будет нормально с БЗС работать то конечно надо. А фичи ну как образец Xpadder (всякие таймеры, обработка долгих нажатий, замена кнопок)+добавить скрипты из CH и будет шикарно.

Спасибо. Поковыряю XPadder. Хочу сделать скрипты, долгие нажатия, двойные нажатия, режимы, клавиши-модификаторы.

 

если добавить скрипты из CH, то в принципе вообще ничего кроме них не надо будет.

 

@PickRelated

Если ты такой искусный в этом деле полиглот, предложил бы ВКБ свои услуги. 

Не всем удобно пользоваться скриптами. Некоторые в программировании не в зуб ногой. Им надо попроще, попонятнее. 

Я не искусный полиглот. И образование не программерское, а инженерное. ВКБ я тоже вряд ли могу заинтересовать  :)  Если допишу программу и ее одобрят пользователи - тогда еще можно представить ее в виде портфолио. А до тех пор давайте выскажем свои "за" и "против", выложим хотелки, и будем тихонько надеяться что у меня все получится  :rolleyes:

Изменено пользователем PickRelated
Опубликовано: (изменено)

Подумай над ведением проекта на GitHub'е. Тогда вероятность того, что у тебя все получится будет выше за счет людей с большим опытом программирования.

P.S. Да и лицензии по демократичней, вроде MIT.

Изменено пользователем Kellothar
Опубликовано:

Подумай над ведением проекта на GitHub'е. Тогда вероятность того, что у тебя все получится будет выше за счет людей с большим опытом программирования.

Спасибо, подумаю. Но боюсь разбираться будет некогда. Опыта, вроде, хватило чтобы работать с интерфейсными платами для промышленных источников питания, электронных нагрузок и мультиметров  :)  Надеюсь, и профайлер осилю самостоятельно. Будут проблемы - тогда уже будем думать. Пока все гладко (тьфу тьфу тьфу). За день удалось прочитать подключенные джойстики и все их кнопки/оси. Делаю черновой вариант интерфейса.

  • Поддерживаю! 1
Опубликовано:

если добавить скрипты из CH, то в принципе вообще ничего кроме них не надо будет.

 

Там считай программирование уже идет и долго надо разбираться новичку. Все должно быть дружелюбно, особенно базовый функционал. Типа назначить банально кнопку клавы кнопке джоя легко и наглядно. А вот если ченить заковырестее типа ось поделить на участки или там триммер программный то да тут уже скриптами озадачиться надо под себя.

Опубликовано:

Там считай программирование уже идет и долго надо разбираться новичку. Все должно быть дружелюбно, особенно базовый функционал. Типа назначить банально кнопку клавы кнопке джоя легко и наглядно. А вот если ченить заковырестее типа ось поделить на участки или там триммер программный то да тут уже скриптами озадачиться надо под себя.

Я постараюсь оси поделить как в Saitek Profiler, потому что с ними тоже можно интересно поиграться и обычному пользователю.

Опубликовано:

Автор, вот тебе ещё один юс-кейс/feature-request от братьев наших межзвёздных:

http://www.reddit.com/r/EliteDangerous/comments/282z42/heads_up_the_thrustmaster_1600m_is_back_at_micro/ci6vwyv

кратко: у человека два одинаковых джоя и игра не умеет между ними различать.

Опубликовано:

Автор, вот тебе ещё один юс-кейс/feature-request от братьев наших межзвёздных:

http://www.reddit.com/r/EliteDangerous/comments/282z42/heads_up_the_thrustmaster_1600m_is_back_at_micro/ci6vwyv

кратко: у человека два одинаковых джоя и игра не умеет между ними различать.

Это не так просто. Я не уверен что производителями заложена возможность различать одинаковые джойстики, в этом и беда. Если есть у них какой-то уникальный параметр - я его найду.

Спасибо за информацию.

Опубликовано: (изменено)

Больше всего нравиться маппер в DCS, так что в идеале - внутриигровой маппер в таком виде как у DCS. Там идет привязка к устройству, и неважно сколько устройств на сегодняшний вечер я подключил - настройки не слетают (Джойстик1 не становится Джойстком0) и с матами не переназначаешь все.

Вообще пользую вот такую прогу, но она с БОБом у меня не дружит почему-то, проблема описана тут и дальше по теме (кто поможет решить буду очень признателен и благодарен в разумных пределах  :drinks:  ).

Так что, готов платить 10$, но должно быть универсально (подходит для многих игр) удобно, держать много устройств и видеть больше 32-х кнопок

Изменено пользователем Steam
Опубликовано:

Больше всего нравиться маппер в DCS, так что в идеале - внутриигровой маппер в таком виде как у DCS. Там идет привязка к устройству, и неважно сколько устройств на сегодняшний вечер я подключил - настройки не слетают (Джойстик1 не становится Джойстком0) и с матами не переназначаешь все.

Вообще пользую вот такую прогу, но она с БОБом у меня не дружит почему-то, проблема описана тут и дальше по теме (кто поможет решить буду очень признателен).

Так что, готов платить 10$, но должно быть универсально (подходит для многих игр) удобно, держать много устройств и видеть больше 32-х кнопок

Прогу по ссылке покурю, спасибо.

10 джойстиков, 32 оси, 4 POV и 128 кнопок на каждый - достаточно? :)

Стремлюсь к максимальной универсальности, даже в ущерб кросс - платформенности.

Опубликовано:

1. Прогу по ссылке покурю, спасибо.

2. 10 джойстиков, 32 оси, 4 POV и 128 кнопок на каждый - достаточно? :)

3. Стремлюсь к максимальной универсальности, даже в ущерб кросс - платформенности.

1. Пожалуйста  :) но мне бы понять как её с БОБом подружить

2. Ну, для начала хватит  :)

3. Не совсем понял что такое в даном случае "кросс-платформенность". предпочитаю функциональность, стабильность и понятность проги, а потом уже удобность и красивость.

Опубликовано:

но мне бы понять как её с БОБом подружить

Странная проблема…

У меня магнето и фонарь кабины в БзБ назначены именно на тумблеры и именно через SV — все прекрасно работает.

Опубликовано:

1. Пожалуйста   :) но мне бы понять как её с БОБом подружить

3. Не совсем понял что такое в даном случае "кросс-платформенность". предпочитаю функциональность, стабильность и понятность проги, а потом уже удобность и красивость.

1. DirectInput не всемогущий, к сожалению. С сайтековскими джоями при написании своей программы тоже гемморой испытываю (именно из-за DirectInput). Поднял на уши тех поддержку Saitek. Сказали, что подключают вторую линию тех поддержки (что бы это там не означало :scratch_one-s_head: )

3. Кросс-платформенность - это работоспособность программы под разными платформами (т.е. Windows, Linux, Mac, мобильные платформы и тд).

Опубликовано:

Странная проблема…

У меня магнето и фонарь кабины в БзБ назначены именно на тумблеры и именно через SV — все прекрасно работает.

Может ты не совсем понял. В БЗБ игра "видит" только 32 кнопки (двухпозиционный тумблер - это програмно 2 кнопки) и напрямую БЗБ джой видит, проблема появляется только если не назначать напрямую, а мапить кнопки джоя на клаву (или сочентание клавиш).

Опубликовано:

проблема появляется только если не назначать напрямую, а мапить кнопки джоя на клаву

А для чего еще можно использовать клавиатурный маппер, кроме как назначать на него клавиатурные сочетания?

У меня на замыкание/размыкание тублеров разумеется назначены именно комбинации (Ctrl+C, Ctrl+[ и Ctrl+] на фонарь, и оба магнето соответственно).

Опубликовано:

Кросс-платформенность - это работоспособность программы под разными платформами (т.е. Windows, Linux, Mac, мобильные платформы и тд).

А к чему Вам кросс-платформенность?

Возможно, зря тратие силы на закладывание такой возможности. Игры ведь только под виндовс, а кто летает в X-Plane и без помощи вашей программы прекрасно живут.

Если вдруг, рак на горе свистнет и игроделы массово выстроятся для поддержки линукса/мака, у Вас уже будет достаточно опыта и накопленных синяков для порта/пересоздания на других платформах.

Опубликовано:

А для чего еще можно использовать клавиатурный маппер, кроме как назначать на него клавиатурные сочетания?

У меня на замыкание/размыкание тублеров разумеется назначены именно комбинации (Ctrl+C, Ctrl+[ и Ctrl+] на фонарь, и оба магнето соответственно)кинь

кинь свой *.ini-файл, пожалуйста

Опубликовано:

А к чему Вам кросс-платформенность?

Возможно, зря тратие силы на закладывание такой возможности. Игры ведь только под виндовс, а кто летает в X-Plane и без помощи вашей программы прекрасно живут.

Если вдруг, рак на горе свистнет и игроделы массово выстроятся для поддержки линукса/мака, у Вас уже будет достаточно опыта и накопленных синяков для порта/пересоздания на других платформах.

Совершенно никаких сил я не прикладываю. Современные средства позволяют один и тот же код компилировать под разные платформы. Просто приходится лезть в дебри, с которыми линукс и мак вряд ли будут работать. 

Опубликовано: (изменено)

PickRelated, а какой у тебя опыт программирования? На чем писать будешь? Просто твои слова насчет 

С opensource не знаком. Исходники, возможно, выложу, а на GitHub - вряд ли (не умею).

наводят на размышления о не возможности реализации задуманного.

Изменено пользователем =e95=DenLarik
Опубликовано:

PickRelated, а какой у тебя опыт программирования? На чем писать будешь? Просто твои слова насчет 

наводят на размышления о не возможности реализации задуманного.

Предупреждаю - ответ будет развернутый. Но следящим за темой должно быть интересно.

Писать буду на том, на чем лучше всего получается - на C++. Программирую уже 12 лет (время от времени), но по образованию инженер.

Если интересно:

Писал программы по:

  • работе с промышленными источниками питания, электронными нагрузками, мультиметрами
  • работе с базами данных
  • распознаванию объектов на изображении
  • выявлению дубликатов лотов на аукционе молоток.ру

Программировал железяки:

  • блок тумблеров для авиасимов
  • устройство управления плеером компьютера с дисплеем, отображающим исполнителя, песню, время и тд
  • устройство управления штатной магнитолой автомобиля SAAB по CAN шине

Участвовал в разработке:

  • анализатор электрохимических источников питания
  • реаниматор электрохимических источников питания

 

Для сомневающихся - небольшой дневник разработчика:  :lol:

На данный момент реализовано:

  • связь с джоями по DirectInput
  • скан кнопок и осей джойстика
  • скан клавиш клавиатуры
  • создание, загрузка и сохранение профилей
  • режимы назначаются на любую кнопку

Необходимо доработать:

  • интерфейс
  • логику записи и чтения команд клавиатуры

Разработать:

  • назначение режимов на комбинацию кнопок
  • редактор таймингов
  • эмуляция нажатий клавиш клавиатуры
  • скрипты (пока даже не думал с какой стороны подойти)

Разработка идет ударными темпами (работа ведется всего 5 дней, но многое уже изучено и реализовано). Сделать нужно еще очень много. Сроки прогнозировать невероятно тяжело, особенно учитывая, что не сегодня-завтра получу работу. На какие подводные камни наткнусь - тоже неизвестно. Если все пойдет так же гладко - думаю от пары недель до пары месяцев. 

С тестированием неизбежно возникнут проблемы, ибо имею всего один компьютер и пару джойстиков  :( . Денег на покупку - нет. Друзей - вирпилов нет, взять погонять не у кого. Если у кого валяется убитый, но сложный джой (CH, Saitek, Logitech, VKB) - буду рад принять безвозмездно (главное чтобы работали хотя бы 2 оси и 2-3 кнопки). Разумеется, его доброта будет учтена. Вне зависимости от того, будет ли программа платной он получит ее бесплатно и в ряду первых (особенно если потребуется бета-тест).

 

=e95=DenLarik, возможно, я не владею технологиями профессиональных программистов, но голова, как видите, заточена именно под решение технических задач. Остальное придет с опытом.

Ваши опасения понятны, но надеюсь, с профайлером джойстиков как-нибудь разберусь  :) .

 

Надеюсь, ответил на все вопросы, никого не обидел и не показался зазнайкой  :)

  • Поддерживаю! 4
Опубликовано:

Мне сам маппер вроде пока ни к чему, но если будет желание - кидай для тестов. Могу потестировать как минимум с сайтеком Х52 (не про) и с нестандартным контроллером джоя (работает через стандартные виндовые дрова) на напольнике. 

Опубликовано:

@@PickRelated

Занятие то благое (опять же чудесное развлечение для «пальцемозга»), но вот востребованность столь «витеватой колобахи» несколько под сомнением.

По мне гораздо более полезной утилиткой был бы универсальный маппер, поскольку сейчас все существующие имеют те или иные минусы.

 

По сути что требуется:

1. «Многодевайсовость» с привязкой устройств по ID

2. Назначение клавиатурных комбинаций на замыкание/размыкание/удержание

3. Pежим «On/Off»

4. Циклические функции

5. Произвольное «сегментирование» осей с привязкой клавиатурных комбинаций на сегменты

6. Эмуляция мыши

Опубликовано:

Я бы добавил еще:

 

7. работа с несколькими профилями, переключаемыми "на лету" (как это умеет SVMapper, ссылку на который приводили выше)

8. макросы (чего SVMapper, к сожалению, не умеет)

 

При этом, крайне желательно, чтобы мэппер получился не слишком заумным и минимально ресурсоемким.

Опубликовано:

Надеюсь, ответил на все вопросы, никого не обидел и не показался зазнайкой  :)

Ответ понятен, тут Ваши навыки работы с железками помогут, но... это достаточно трудозатратная работа, нужна куча свободного времени и желания, что бы такое вытянуть

Опубликовано:

Совершенно никаких сил я не прикладываю. Современные средства позволяют один и тот же код компилировать под разные платформы. Просто приходится лезть в дебри, с которыми линукс и мак вряд ли будут работать. 

А какой универсальный API вы нашли для общения с джойстиками на трех системах (виндовс, линукс, мак)?

На виндовс это DirectInput, его нет на остальных. Я имел ввиду именно его, чтобы вы не тратили время на создание своей прослойки для унификации в будущем. На линуксе с маком, вам (вероятно, я там не писал ничего) придется столкнуться с совершенно другим API.

Опубликовано:

А какой универсальный API вы нашли для общения с джойстиками на трех системах (виндовс, линукс, мак)?

На виндовс это DirectInput, его нет на остальных. Я имел ввиду именно его, чтобы вы не тратили время на создание своей прослойки для унификации в будущем. На линуксе с маком, вам (вероятно, я там не писал ничего) придется столкнуться с совершенно другим API.

Он как раз и говорит, что жертвует кросс-платформенностью. Там был ответ на вопрос "Что такое кросс-платформенность".

Опубликовано:

@@PickRelated

Занятие то благое (опять же чудесное развлечение для «пальцемозга»), но вот востребованность столь «витеватой колобахи» несколько под сомнением.

По мне гораздо более полезной утилиткой был бы универсальный маппер, поскольку сейчас все существующие имеют те или иные минусы.

 

По сути что требуется:

1. «Многодевайсовость» с привязкой устройств по ID

2. Назначение клавиатурных комбинаций на замыкание/размыкание/удержание

3. Pежим «On/Off»

4. Циклические функции

5. Произвольное «сегментирование» осей с привязкой клавиатурных комбинаций на сегменты

6. Эмуляция мыши

Не знаю что Вам подумалось, и что такое «витеватой колобахи», но задумывалась и разрабатывается программа, которая будет делать именно то, что Вы говорите. Не понял отмеченное в списке:

 

1. Многодевайсность - есть.

2. Замыкание/размыкание/удержание - почва подготовлена. Будет.

3. Pежим «On/Off» - не понял. Возможно, имеется в виду "Latch" - "Защелка". Если так, то надеюсь сделать. Спасибо за идею, упустил этот момент.

4. Циклические функции - совсем не понял

5. Сегментирование осей стоит в верхней части списка приоритетов. Будем работать.

6. Овуляция мыши под вопросом - мне всегда было неудобна эта функция. Но если народ выскажет желание - постараюсь реализовать.

 

7. работа с несколькими профилями, переключаемыми "на лету" (как это умеет SVMapper, ссылку на который приводили выше)

При этом, крайне желательно, чтобы мэппер получился не слишком заумным и минимально ресурсоемким.

Про 7 пункт я совершенно забыл упомянуть. Хотелось бы реализовать переключение на лету (как умеет Saitek), при этом в указанном месте на экране будет всплывать окошко с названием профиля. Надеюсь, получится.

Маппер будет делаться минималистичным. Интерфейса CH Вы не увидите. Надеюсь сделать что-то среднее между Saitek и калькулятором Windows в обычном режиме.

 

Ответ понятен, тут Ваши навыки работы с железками помогут, но... это достаточно трудозатратная работа, нужна куча свободного времени и желания, что бы такое вытянуть

60-70 Часов уже потрачено. Это занятие доставляет мне удовольствие (считаю это самым большим бонусом и мотиватором). По крайней мере, пока. Стараюсь ставить перед собой трудные, но выполнимые задачи.

Пару раз приходилось себя заставлять, когда шла нудная процедура наполнения классов буффера и профайлера. Но в целом пока я на позитиве.

 

А какой универсальный API вы нашли для общения с джойстиками на трех системах (виндовс, линукс, мак)?

Пока все на DI. Портирование - дело последнее, когда будет отлажено под Windows. У меня DI - практически отдельным модулем получился. Профайлер связан с ним через структурированный класс. При желании и возможности переделывается под другой API (надеюсь, легко или хотя бы несложно).

Может, это неправильный подход, но мелкософт полностью держит рынок игр и, самое главное, симмуляторов, поэтому иду за сильнейшим.

Опубликовано: (изменено)

@@PickRelated,

On/Off — при первом нажатии/отпускании клавиатурная крмбинация «замыкается», при повторном — «размыкается»

Циклы — последовательность клавиатурных комбинаций, каждая из которых будет активироваться последующим нажатием кнопки.

Эмуляция мыши это не более, чем бонус и совершенно неприоритетно.

 

Переключение профилей «на лету» (по глобальным шоткеям) на мой взгляд лишняя работа — вполне достаточно сделать выпадающий список в трее или окне профайлера

Изменено пользователем StorkNet
Опубликовано:

@@PickRelated,

On/Off — при первом нажатии/отпускании клавиатурная крмбинация «замыкается», при повторном — «размыкается»

Циклы — последовательность клавиатурных комбинаций, каждая из которых будет активироваться последующим нажатием кнопки.

Эмуляция мыши это не более, чем бонус и совершенно неприоритетно.

 

Переключение профилей «на лету» (по шоткеям) на мой взгляд лишняя работа — вполне достаточно сделать выпадающий список в трее или окне профайлера

On/Off - понял. Говорим об одном и том же.

Циклы - если я правильно понял, активироваться будет одна и та же комбинация (пусть хоть из 10 клавиш) с каждым нажатием?

 

Переключение профилей... Например, в DCS (особенно онлайн) на старте иногда понимаешь что лететь на Ка-50, а профиль остался от A10C. Свернуть игру не получится. Я поковырял lua скрипты и задействовал второй монитор. При этом игра не сворачивается как при одном мониторе. Следовательно, профиль уже не переключить. Придется выходить из игры и все сначала. Тут-то и спасает сайтековское переключение на лету.

Так что надеюсь все-таки реализовать.

 

Я стараюсь "впихнуть невпихуемое" - сделать программу, которая заменит все остальные разом. На форуме ATAG мне один чел отписался что использует сразу три программы одновременно. Одна с одним устройством работает, другая с другим. Третья делает то, что не могут первые две сразу с двумя джойстиками. Вот от таких вещей я и хочу избавить себя и остальных.

Задача нетривиальная, но мне очень хочется ее выполнить настолько, насколько позволит мой интеллект и язык программирования.

Опубликовано:

У меня 4 разных девайса подключены и все пользую. Можешь бету бросать для тестов. Если будет надо - потом релизную версию оплачу.

Опубликовано:

Циклы - если я правильно понял, активироваться будет одна и та же комбинация (пусть хоть из 10 клавиш) с каждым нажатием?

Нет. Попробую пояснить на примере

Задаем последовательность отдельных комбинаций:

Ctrl+A

Ctrl+B

Ctrl+C

Первое нажатие на замаппированную кнопку отработает Ctrl+A, второе Ctrl+B, третье Ctrl+С, четвертое — снова Ctrl+A, ну и так далее по циклу.

 

Подобный функционал реализован в логитеховском профайлере (полноценно) и в JoyToKey (цикл ограничен тремя комбинациями)

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...