ASI DiscordPresence

sizeoftrickster

Известный
Автор темы
Проверенный
130
476
Версия SA-MP
  1. 0.3.7 (R1)
  2. 0.3.7-R2
  3. 0.3.7-R3
  4. 0.3DL

Описание
DiscordPresence - это плагин для игры SA:MP, который меняет ваш статус в дискорде, в зависимости от того, что вы делаете в игре. Основные отличия от ASI - Discord Rich Presence, Lua - Discord Rich Presence и
Lua - Discord Rich Presence Changer в том, что данный плагин имеет больший функционал(см. ниже).
Возможности:
  1. Меньшая зависимость от версии SA:MP. Запуск на чистой GTA(Без SA:MP'a) невозможен.
  2. Поддержка Windows-1251(Кириллицы).
  3. Отображение своей иконки для сервера. При наведении на иконку выводится название сервера. [LargeImageKey, LargeImageText]
  4. Отображение своей иконки оружия. При наведении на иконку выводится название оружия. [SmallImageKey, SmallImageText]
  5. Отображение вашего Nickname и вашего ID. [Details]
  6. Отображение ваших действий(Список см. ниже). [State]
  7. Отображение кнопок, которые можно настроить(См. Настройка кнопок).
  8. Возможность заменить иконки на свои(См. Создание Application).
Создание Application
Если вы хотите заменить иконки сервера на свои, или же если вы хотите заменить иконки оружия, то снизу я постарался понятно всё расписать.
Сам Discord хранит картинки, которые уже отображаются в статусе на своих серверах, т.е. для того, что-бы заменить иконки на свои, нам нужно создать своё приложение и загрузить картинки.
1) Создание своего приложения
Что-бы создать своё приложение, нужно перейти на Discord Developer Portal и нажать на кнопочку "New Application".

Затем мы указываем название и нажимаем на кнопочку "Create".

2) Махинации с ApplicationID
Когда мы создали приложение, мы попадаем в меню, где пролистав чуть ниже можно найти "Application ID". Его можно скопировать, нажав на кнопку "Copy", или же использовав комбинацию клавиш Ctrl + C.

Затем мы переходим в "!DiscordPresence.json", куда мы вставляем этот "ApplicationID".

3) Работа с картинками
Когда вы сделали вышеперечисленное, вы можете загружать картинки. Переходим во вкладку "Rich Presence -> Art Assets", где можно увидеть кнопочку "Add Image(s)".

Загружаем картинки и указываем их в конфиге. Для примера я загружу картинку по умолчанию и укажу её в конфиге.

Для оружия я прикрепил архив "GunsIcon.zip", содержимое которого можно просто загрузить, не меняя названия файлов.
Настройка кнопок:
Данные кнопки являются одной из причин, почему статус может отображаться локально, т.е. только у вас, и другие пользователи не смогут видеть ваш статус. Если честно, причину этому я не нашёл, но тестируя кнопки, я сделал вывод, что не стоит ставить длинный Text. Для надежности рекомендую протестировать с помощью второго аккаунта, либо попросив товарища. Сами кнопки настраиваются в "!DiscordPresence.json", и уже по умолчанию имеют текст с ссылкой.
JSON:
"RichPresence": {
    "ApplicationID": "988461715178025021",
    "EnableShowingActions": true,
    "EnableShowingTimestamp": true,
    "EnableShowingGuns": true,
    "EnableShowingFirstButton": true,
    "EnableShowingSecondButton": true,
    "FirstButtonText": "Прикольный хукер", // <----------- TEXT
    "FirstButtonURL": "https://www.blast.hk/threads/101004/", // <----------- URL
    "SecondButtonText": "Лучший биндер", // <----------- TEXT
    "SecondButtonURL": "https://www.blast.hk/threads/102157/" // <----------- URL
}
Список поддерживаемых плагином действий:
  1. Езда на различном транспорте.
  2. Бег.
  3. Ничего не делает.
Конфигурационный файл:
При успешной загрузке плагина создатся или загрузится файл - "!DiscordPresence.json", с помощью которого можно настроить плагин.
!DiscordPresence.json:
// !DiscordPresence.json по умолчанию.
{
    "Settings": {
        "UpdateRate": 2000, // Частота обновления статуса. В миллисекундах. [Число]
        "EnablePresence": true // Включить/выключить показ статуса. [Логический](true/false)
    },
    "RichPresence": {
        "ApplicationID": "988461715178025021", // ApplicationID. [Текст]
        "EnableShowingTimestamp": true, // Выключить/выключить показ проведенного времени. [Логический](true/false)
        "EnableShowingActions": true, // Включить/выключить показ действий. [Логический](true/false)
        "EnableShowingGuns": true, // Включить/выключить показ оружия. [Логический](true/false)
        "EnableShowingFirstButton": true, // Включить/выключить показ первой кнопки. [Логический](true/false)
        "EnableShowingSecondButton": true, // Включить/выключить показ второй кнопки. [Логический](true/false)
        "FirstButtonText": "Прикольный хукер", // Текст(Label), который будет отображаться на первой кнопке. [Текст]
        "FirstButtonURL": "https://www.blast.hk/threads/101004/", // Ссылка(URL), на которую будут переходить по нажатию. [Текст]
        "SecondButtonText": "Лучший биндер", // Текст(Label), который будет отображаться на второй кнопке. [Текст]
        "SecondButtonURL": "https://www.blast.hk/threads/102157/" // Ссылка(URL), на которую будут переходить по нажатию. [Текст]
    },
    "ServerLogoNames": {
        "Default": "defaultlogo", // Логотип по умолчанию, если игрок подключен на сервер, который не поддерживает плагин. [Текст]
        "ArizonaRP": "arizonarplogo", // Если игрок подключен на ArizonaRP [Текст]
        "SAMPRP": "samprplogo", // Если игрок подключен на SAMPRP [Текст]
        "EvolveRP": "evolverplogo", // Если игрок подключен на EvolveRP [Текст]
        "DiamondRP": "diamondrplogo", // Если игрок подключен на DiamondRP [Текст]
        "AdvanceRP": "advancerplogo", // Если игрок подключен на AdvanceRP [Текст]
        "TrinityRP": "trinityrplogo", // Если игрок подключен на TrinityRP [Текст]
        "AbsoluteRP": "absoluterplogo", // Если игрок подключен на AbsoluteRP [Текст]
        "HackMySoftware": "hmslogo", // Если игрок подключен на HackMySoftware [Текст]
        "SR_team": "srteamlogo" // Если игрок подключен на SR_team [Текст]
    },
    "MainActionsText": {
        "DisabledActionsText": "Шиш вам, а не моя активность!", // Текст, который будет отображаться, если выключен показ действий(EnableShowingActions) [Текст]
        "DoesNothing": "Ничего не делает =)", // Текст, который будет показан, когда не будет выполнятся ни одно из поддерживаемых плагином действий. [Текст]
        "Running": "Летает на ногах =)" // Текст, который будет показан, когда игрок бежит. [Текст]
    },
    "ActionsText": {
        "TryingConnection": "Подключается к серверу",
        "ShowDialog": "Просматривает диалог",
        "ShowGameText": "Просматривает игровой текст",
        "ShowTextDraw": "Просматривает текстдрав",
        "Automobile": "Едет в автомобиле",
        "MonsterTruck": "Едет в монстртраке",
        "Quad": "Едет на квадроцикле",
        "Helicopter": "Летит в вертолёте",
        "Plane": "Летит в самолете",
        "Boat": "Плывёт на лодке",
        "Train": "Едет на поезде",
        "Bike": "Едет на велосипеде/мотоцикле",
        "BMX": "Едет на БМХ"
    }
}
Скриншоты:
ChangeLog:
1.2
1. Изменен алгоритм перевода из Win1251 в UTF8.
2. Добавлена возможность выключить показ статуса.
3. Добавлена возможность выключить показ проведенного времени.
1.1
1. Добавлена возможность сменить иконки серверов.
2. Добавлена возможность добавлять кнопки к своему статусу.
3. Изменена логика плагина.
1.0
1. Релиз.
Установка:
  • Переместить "!DiscordPresence.asi" в корневую папку с игрой. Название плагина не менять.
Зависимости:
Credits:
Исходный код: GitHub
 

Вложения

  • GunsIcon.zip
    2.1 MB · Просмотры: 148
  • !DiscordPresence.asi
    785.5 KB · Просмотры: 190
Последнее редактирование:
D

deleted-user-399997

Гость
А можно удалить с конфига все и оставить только "ничего не делает" что бы постоянно писало текст который я хочу? или все события переименовать нужно в то что я хочу?
 
  • Нравится
Реакции: sizeoftrickster

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,736
4,743
Для некоторых серверов есть своя иконка(Нормальную графику к сожалению сделать не в состоянии, поэтому если посчитаете, что иконка дерьмо, то жду ваших предложений =)). При наведении на икноку сервера можно увидеть название сервера. (LargeImageKey, LargeImageText)
Сразу предложение по этому пункту: сделай чтобы можно было в папочку закинуть файл png с названием сервера/его ip(если это конечно вообще возможно, не шарю за discord)
мда кринжа навалил ктхук надо было юзать!!!!!
 

neverlane

t.me/neverlane00
Друг
1,004
1,147
сделай возможным сменить id приложения и настраивать сервера для лого в конфиге
 
  • Нравится
Реакции: sizeoftrickster

sizeoftrickster

Известный
Автор темы
Проверенный
130
476
А можно удалить с конфига все и оставить только "ничего не делает" что бы постоянно писало текст который я хочу? или все события переименовать нужно в то что я хочу?
Можешь везде поставить "ничего не делает", в следующем обновлении добавлю возможность отключить.
Сразу предложение по этому пункту: сделай чтобы можно было в папочку закинуть файл png с названием сервера/его ip(если это конечно вообще возможно, не шарю за discord)

мда кринжа навалил ктхук надо было юзать!!!!!
К сожалению это так не работает, все картинки хранятся на серверах дискорда =) Для того, что-бы установить своё лого, нужно:
  1. Нужно создать Application и благодаря этому ApplicationID в дальнейшем и будут идти махинации
  2. Затем заходим во вкладочку Rich Presence -> Art Assets, и видим кнопочку "AddImages(s)", загружаем картиночку, устанавливаем название и готово =)
сделай возможным сменить id приложения и настраивать сервера для лого в конфиге
 
  • Нравится
Реакции: kin4stat и neverlane