Исходник GMAP - глобальная карта

qrlk

Известный
Автор темы
Друг
411
925
Вашему вниманию представляю рабочую реализацию глобальной карты для сампа.
При правильной адаптации под себя скрипт даст неограниченное тактическое преимущество над оппонентами.
Если его не хостить у себя: он бесполезен.
Принцип работы прост:
1. Есть сервер на Python на websocket и много клиентов.
2. Клиенты подключаются к серверу, через функцию transponder() передают свои координаты и информацию о видимом транспорте (если id транспорта вызван через getCar() в той же функции).
3. Сервер принимает всю эту информацию, обновляет актуальную информацию на своей стороне.
4. Клиент получает от сервера json с актуальной информацией, собранной со всех клиентов сервером.
5. Она отображается через фастмап (M), увеличенный в 4 раза фастмап (Б) и на радаре в углу экрана, если он включен.
И все это происходит раз 20-30 за одну секунду.
31KLuJG.png

Пример радара:

Возможные применения:
* Подсадить весь полицейский департамент/ФБР, чтобы понимать где кто находится и координировать действия, доработать режим погони чтобы getCar()'ить тачку преступника по таргету.
* Координировать действия криминала на стрелах.
* Да что угодно, тупо фрака/фама, которая видит где её члены на карте находятся и что они делают.
* Сам я его использовал, что координировать действия фракции на перехватах матовозов и для дма других байкеров/пд/лва.

Скрипт незадокументирован, но его принцип работы прост. В будущем будет внятный Readme.
Для работы скрипта нужна туева хуча библиотек, которые есть в репозитории.
Для удобства я выделил в отдельный блок то, что вам нужно изменить, чтобы подстроить скрипт под себя.
Вам нужно изменить значения переменных в специальном блоке вверху, чтобы скрипт у вас работал.
Для сервера попросите провайдера предоставить вам выделенный IP адрес и настройте роутер, примеров в интернете полно. Либо захостите его у провайдера.
Важно понимать, что сам скрипт без сервера ничего из себя не представляет. Никакой безопасности и серьёзной аутентификации тоже не предусмотрено. Есть простой whitelist ников, который просто обойти.
Для работы сервера нужен https://github.com/Pithikos/python-websocket-server
Так же участки с транспортом закомментированы. Отображение транспорта на карте я захардкодил в функциях, ответственных за вывод на экран радара и фастмапа.

glhf
Ссылка.

 
Последнее редактирование:

AnWu

Guardian of Order
Всефорумный модератор
4,687
5,167
Мне кажется тебе стоит написать гайд на тему серверов и взаимодействия с этими серверами. По твоему вебсокету буду делать собственный для своего проекта. Спасибо
 
  • Нравится
Реакции: Vintik и flurace

MrCreepTon

وНеизвестный
Всефорумный модератор
2,127
4,713
Мне кажется тебе стоит написать гайд на тему серверов и взаимодействия с этими серверами. По твоему вебсокету буду делать собственный для своего проекта. Спасибо
Когда твой батя java архитектор
 
  • Нравится
Реакции: leekyrave

qrlk

Известный
Автор темы
Друг
411
925
Такое бы я и на SC19
Против крези фрога нет шансов...
Мне кажется тебе стоит написать гайд на тему серверов и взаимодействия с этими серверами. По твоему вебсокету буду делать собственный для своего проекта. Спасибо
Если честно, мне не хочется себя затягивать в новые проекты по сампу, в том числе статьи. Я хочу опубликовать всё что у меня лежит в архивах и со спокойной душой переключится на более серьёзное.
В принципе, всё что нужно для работы с сокетами можно узнать https://github.com/lipp/lua-websockets и https://github.com/Pithikos/python-websocket-server
 
  • Нравится
  • Ха-ха
Реакции: flurace, paulohardy и AnWu

flurace

Известный
176
126
А можно такую карту поставить себе просто локально? Как отдельный большой квадрат, без всяких синхронизаций и глобальной карты.
 
  • Ха-ха
Реакции: Kristyan

Osik

Участник
9
1
Не коннектится к серверу через луа скрипт, скорее всего ошибка на стороне сервера, из за чего это может быть?
Порт по которому идет соединение открыт
 

[SA ARZ]

Известный
390
8
тут проблема с .py ValueError: need more than 0 values to unpack
как решить её?

ниже скрин

1609156192868.png