SC23 Lua Custom Radar / Создай свой радар

PanSeek

t.me/dailypanseek
Автор темы
Всефорумный модератор
908
1,776
Всех приветствую!
Представляю вашему вниманию Custom Radar. В данной разработке, вы не меняете текущий радар, а создаете новый радар (старый радар можно скрыть), со своими настройками.
Звучит довольно просто, но на разработку ушло больше месяца (проблемы с математикой и геометрией, сори). Так что не все идеи смог реализовать, но данным радаром спокойно можно пользоваться вместо основного, ну и конечно же, это не полностью копия, вы можете здесь настроить многое под свой вкус, например вы можете выставить размер игроков больше чем в обычном радаре и сделать их круглыми, либо же рисовать сетку бандитских зон, что тоже классно выглядит, так еще и может помочь при захвате территорий, а даже обводку радара сделать радугой. Подробнее в спойлерах.
Активация чит-кодом: CMR
* Скорее всего вам будет проще самому потыкать скрипт или же посмотреть видео/скриншоты в спойлере "Медиа".

Настройки:
- Выключить игровой радар
- Отображать пользовательский радар (от скрипта)
- Редактировать тип информирования
- Информировать о загрузке скрипта
- Информировать о выгрузке скрипта
- Темная тема
- Выбор языка & Создание языка
- Выбор конфигурации & Создать конфигурацию & Сохраненить конфигурацию & Удалить конфигурацию

Радар:
- Не отображать когда вы не заспавнены
- Не отображать когда открыт scoreboard (TAB)
- Не отображать когда входите в дом (когда проходит анимация, как в одиночной игре заходя в дом, например, вы заходите в дом CJ и пока проигрывается анимация, радар не отображается)
- Сделать вращающимся
- Отображать наименование зон вверху/внизу радара
- Редактировать цвет границы
- Редактировать толщину границы
- Редактировать размер
- Редактировать масштаб
- Увеличение масштаба при вождении
- Изменять масштаб по кнопке (Page Up: +50, Page Down: -50) | Идея от @#Rin

Иконки:
Здесь отображаются все иконки, имеется поиск по иконкам, их ID или названию.
- Активация
- Редактировать размер
- Редактировать режим отображения (кроме вашего игрока и севера)

Бандитские зоны:
- Активация
- Редактировать толщину контура
- Частота моргания (когда идет захват территории) | Измеряется как: *ваше значение в секундах* / 10. Примеры: Указали значение 10, это будет 10 секунд разделенные на 10, то есть 1 секунда; Указали значение 5, это будет 5 секунд разделенные на 10, то есть 500 милисекунд (половина секунды)
- Редактировать тип контурного цвета

Гоночный маркер:
- Активация
- Отображать в интерьере
- Редактировать размер
- Редактировать узор
- Редактировать отображение поверхности
- Редактировать тип цвета
- Редактировать тип контурного цвета

Игроки:
- Активация
- Отображать информация при клике на узор
- Редактировать размер
- Редактировать толщину контура
- Редактировать режим отображения
- Редактировать узор
- Редактировать отображение поверхности
- Редактировать тип цвета
- Редактировать тип контурного цвета

NPC:
- Активация
- Отображать информация при клике на узор
- Редактировать размер
- Редактировать толщину контура
- Редактировать режим отображения
- Редактировать узор
- Редактировать отображение поверхности
- Редактировать тип цвета
- Редактировать тип контурного цвета

Транспорт:
- Активация
- Отображать информация при клике на узор
- Отображать в интерьере
- Редактировать размер
- Редактировать толщину контура
- Редактировать режим отображения
- Редактировать узор
- Редактировать отображение поверхности
- Редактировать тип цвета
- Редактировать тип контурного цвета
В скрипте вы можете создать свой язык, хоть выдуманный с вашим другом, главное чтобы отображались все литералы (Например в Esperanto буквы с "крышечками" отображаться будут знаками вопроса)
Также имеется список готовых языков:
Языки перемещать нужно по пути: moonloader/config/customRadar/languages

Языки:
Русский | GitHub
Вы можете создать свой язык: Во вкладке "Settings" - напротив элемента с листингом языков ("Language" или "Language/*текст*") есть рядом кнопка, "Create file with language". После нажатия на эту кнопку создадится файл с английским переводом в папке: moonloader/config/customRadar/languages. Название у нового файла будет примерно таким: 1702589592_90.
Теперь этот файл вы можете редактировать под себя переводить с английского на ваш язык. Можете посмотреть в примере с готовыми решениями (спойлер "Заготовки").

В меню скрипта, возле название языка будет находиться процент, этот процент означает сколько текста переведено. Если вы перевели ровно половину текста, будет: *ВашЯзык* (50.0%)
[*] Из игры переводить текст и менять название файла нельзя, только через файл.
Имейте ввиду, если вы делаете язык с кириллицей, вам нужно json файл сохранить в кодировке Windows-1251.
В скрипте есть главный конфигурационный файл (в дальнейшем буду называть - конфиг), который содержит в себе информацию с вкладки "Settings".

Вы можете создать конфиг под каждый случай или под каждый сервер, как вам угодно - во вкладке "Settings" - внизу элемента с листингом конфигов ("Configs"), есть кнопка "Create". Все настройки измененные во вкладках кроме "Settings" будут сохранены после выгрузки скрипта или после нажатия кнопки "Save" во вкладке "Settings". Также, если были изменения и вы переключаетесь на другой конфиг, у вас скрипт спросит о сохранении данных, вы можете отклонить (Reject) последние изменения или же можете согласиться (Accept) на изменения.

Осторожно с изменением настроек, ибо последние указанные значения будут сохранены после выгрузки скрипта и применены после загрузки скрипта. Касается как конфига который применен, так и главного конфига.
gta_sa_i78diTFE3H.png
gta_sa_CCvNldjMcW.png
gta_sa_c4cg4y0PkD.png
gta_sa_FnZAx1qJbo.png
gta_sa_azi9xt6rE9.png
gta_sa_bn00iU70EM.png
gta_sa_N60VBfdV97.png
gta_sa_wqhL2ncIug.png
gta_sa_3nhYoOVkut.png
gta_sa_i60vCGhYIf.png

Предупреждения:
- Некоторые возможности оригинального радара пока не сделаны, а именно: Круглый радар, Отображение при полете RING_PLACE, Отображение ползунка высоты при полете, Отображение игроков вдалеке (На РП серверах неактуально), Отображение аэродрома при полете, возможно еще что-нибудь.
- Сильное падение FPS при включенном Gang Zones. // Пока не знаю как оптимизировать
- В одиночной игре не работает.
- Возможно не рабочий функционал на 0.3.7 R3. // Проверить пока не могу

P.S. Данная разработка попала в мои фавориты из тех что я делал. Идей еще очень много и реализовать их сильно хочется. Времени к сожалению не сильно много дали, так что буду обновлять в будущем (а не как с предыдущим скриптом на SC22). Со всеми идеями можете ознакомиться в спойлере. Также жду от вас пожелания (пожалуйста, удостоверьтесь, что такой идеи нет в спойлере), добавлю вас как автора идеи, как это сделано с @#Rin с настройкой изменения масштабности по кнопке.
P.S.S. В коде чуть-чуть насрано, тоже хочу исправить ибо торопился под конец конкурса.

[!] - Указано, что нужно сделать в первую очередь

- [!] Загружать иконки прямо из игры
- [!] При полете сделать Ring Place + Ползунок
- [!] Отображение аэродрома при полете
- [!] Не отображать при слежке (В Settings)
- [!] Для игроков добавить режим "Within the map"
- [!] Добавить поддержку CRMP
- Сделать отображение нашего игрока внизу (при повороте), чтобы можно было видеть дальше, а сзади меньше. При выключенном повороте будет вертеться вокруг радара
- Отображать поворот игроков/NPC/транспорта
- Отображать ID под/над игроками/NPC/транспорта
- Редактировать горячие клавиши
- Отображение радара в виде карты, почти на весь экран
- GPS (прямой/умный)
- Улучшить информационное окно игроков/NPC/транспорта
- Добавить множитель в информационное окно для транспорта. Например, чтобы показывало КМ/Ч по серверу
- Возможность добавлять свои иконки или еще другие иконки (можно использовать в пользовательских метках)
- Пользовательские метки
- Пользовательские списки для игроков/NPC/транспорта (точно не помню что я имел ввиду, по-моему хотел, чтобы определенные, например, игроки отображались по другому узору/цвету и т.п.)
- Отображать сетку радарных "кусочков"
- Отображать квадраты на радаре (или возле радара, как сделал с наименованием зон)
- Синхронизация меток через JSON / SNET | Идея от: @ReleaseN
- Разное отображение для разных типов транспорта (автомобиль/мотоцикл/велосипед/лодка/самолет/вертолет)
- Анимации для Flashing в Gang zones
- Изменять цвет для Flashing в Gang zones
- Фильтр для радара (рисуется поверх всего радара цвет с прозрачностью. Можно сделать карту в синих оттенках
- Отображать погодные условия (на самом радаре как фильтр/возле радара писать)
- Разнообразить отображение поверхности/поворота для объектов
- Отображать стрелочку(?) до ближайшего берега, если уплыл за карту
- Если несколько игроков/NPC/транспорта в одних и тех же координатах (или рядом), рисовать троеточие (после нажатия которого отображаются все игроки?)
- Отображать компас внутри/снаружи радара, также отмечать где север, юг и т.п.
- Изменять Cos и Sin для статического отображения радара
- Динамический размер для объектов. При большой скорости уменьшать объекты
- Изменять размер объектов когда объект за радаром
- (?) Улучшить вкладку с иконками. Отображать красивый пример показа иконки
- (?) Добавлять место выхода/смерти для пользовательских меток | Идея из модов карт для майнкрафта
- API для взаимодействия с другими разработками
- Применять прозрачность контура от оригинального цвета игроков/NPC/транспорта
- Добавить чекбокс который отвечает за сохранение конфигурацинного файла после выхода из игры
- Если радар перенесен за монитор, то не давать это сделать
- Добавить условия для конфигурационных файлов (отображать файлы которые относятся только для определенного сервера)

mimgui
lfs (или просто скачать здесь)
encoding (при установке MoonLoader'а)
Установка: Распаковать архив в moonloader

v1.0.1 (19.12.2023)
- Добавлено сохранение позиции радара
- Если радар был сохранен за краями радара, то позиция примет того края, где они были сохранены

v1.0.0 (15.12.2023)
- Релиз
 

Вложения

  • customRadar_v1-0-0.7z
    1.4 MB · Просмотры: 167
  • customRadar_v1-0-1.7z
    1.4 MB · Просмотры: 352
Последнее редактирование:

LocalSearch

Участник
95
14
зачем создавать то что и так есть?
или я тупой и нихуя не понял что можно сделать с ним..

у меня нет доступа к пк
лучше бы добавил скриншоты или видос
 

Vintik

Через тернии к звёздам
Проверенный
1,556
1,027
зачем создавать то что и так есть?
или я тупой и нихуя не понял что можно сделать с ним..

у меня нет доступа к пк
лучше бы добавил скриншоты или видос
Спойлер "Медиа" есть, там скриншоты и видео
 

Shishkin

Известный
526
268
1702594760645.png

Прикольная тема, но вот косяк. Я бы на твоём месте сделал бы вывод id игроков (ты отображение пикапов делаешь через ffi, тебе в таком случаи надо будет скорее всего всё переписать под sampev/rpc в плане пикапов игроков) с никами и отображением этого на карте (можно ещё и с хп и т.д. сделать).

P.S.
+я бы сделал получения текстур из models, так было-бы оптимизирование в плане сборок. (а то игрокам прийдется щас всё перетаскивать и ломать себе голову)
+у меня у одного именно в этом скрипте мерцает курсор (возможно это из-за mimgui, я фанат imgui)? Это как-то бесит....
+косяк с перемещением карты (когда меню закрыто - всё равно можно перетащить, что в свою очередь мешает)
+вместе с игровой картой пропадает voice чат от дрп
 
Последнее редактирование:
  • Нравится
Реакции: PanSeek

PanSeek

t.me/dailypanseek
Автор темы
Всефорумный модератор
908
1,776
лучше бы добавил скриншоты или видос
Скриншоты добавил. Видео еще в разработке. Затем все остальное распишу, не торопилось выложить тему.

Еще забыл добавить сохранение позиции радара...

UPD: Видео залито, остальные спойлеры заполнены
 
Последнее редактирование:

MLycoris

На вид оружие массового семяизвержения
Проверенный
1,992
2,187
Было бы неплохо сделать открытие карты в полном размере по зажатию ЛКМ на неё, желательно без выхода в меню. Я знаю, что уже есть такие, но тут она лишней не будет
 

PanSeek

t.me/dailypanseek
Автор темы
Всефорумный модератор
908
1,776
Было бы неплохо сделать открытие карты в полном размере по зажатию ЛКМ на неё, желательно без выхода в меню. Я знаю, что уже есть такие, но тут она лишней не будет
Да, у меня это записано в идеях.

Как понимаю у тебя почему-то неправильно создался конфиг и не загрузились настройки иконок. Попробуй удалить файл конфига: moonloader/config/customRadar/configs/default.json, если после входа в игру ничего не поменялось, то попробуй с файлом, который прикреплен к этому сообщению и отпиши.

я бы сделал получения текстур из models, так было-бы оптимизирование в плане сборок. (а то игрокам прийдется щас всё перетаскивать и ломать себе голову)
Это я хотел сделать еще до того как залил, сейчас просто есть личные дела и мог бы не успеть залить разработку на конкурс. В идеях это есть, на первом месте.

у меня у одного именно в этом скрипте мерцает курсор (возможно это из-за mimgui, я фанат imgui)? Это как-то бесит....
Да, наверное из-за mimgui. Возможно еще какие-то скрипты есть и он мерцает. Возможно переведу на старый imgui.

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

вместе с игровой картой пропадает voice чат от дрп
Скорее всего у них стоит проверка на радар, нужно будет реверсить это и патчить, пока не знаю когда исправлю.
 

Вложения

  • default.json
    8.1 KB · Просмотры: 9
  • Нравится
Реакции: Shishkin и MLycoris

MTG MODS

Активный
260
181
Прикольный скрипт, я раньше тоже думал сделать что-то наподобии двойного радара, и даже начал делать, но руки так и не дошли завершить))
1702675385044.png
image.png



Если хочешь могу поделиться готовыми картинками и картами для кастомизации
1702675546572.png
1702675568599.png
 
Последнее редактирование:

lorgon

Известный
656
271
Бля, ну наконец-то кто-то это сделал. Я тоже делал когда-то свой радар такой и забросил, но надеялся что кто-то сделает нормально, ждал и ждал, там и полтора года прошло, а мой всё так и оставался единственным радаром на mimgui до твоего поста. Респект 👍