- 411
- 928
Хочу поделиться с вами своим проектом, который я раз в несколько месяцев ковырял последние 2.5 года.
Делится я им не планировал, но я наконец решил его починить и всю последнюю неделю рефакторил и думал, а надо ли оно кому-нибудь.
Может кто-то из тех, кто сейчас это читает, сталкивался с какой-то идеей/проблемой, которую я реализовал/решил в этом скрипте, ну а вдруг!
Это не чит, а набор самописных модулей разного качества, сшитых в один скрипт c возможностью реализации функционала, усиленного сервером на python.
Модули эти я писал для себя, но часть из них была выпущена отдельно в виде самостоятельных скриптов в 19-21 годах.
Особо ничего интересного там нет, но его можно раздербанить на пару-тройку новых уникальных скриптов или сделать из него свой набор скриптов под свой сквад/фракцию. Например, есть синхронизация координат и киллиста между пользователями скрипта, а так же топ убийств на сервере.
Зачем мне это нужно?
Допустим, вы понимаете lua scripting и у вас есть небольшая группа игроков, вроде сквада, байкерского клуба или какого-нибудь госерского подразделения.
Идея в том, чтобы засунуть всё нужные скрипты в один файл в виде модулей, защитить использование скрипта паролем и через сервер синхронизировать данные некоторых модулей.
Вы как скриптер хостите сервер, добавляете по шаблону свои модули и распространяете скрипт среди игроков. Получаете свой МЕТАскрипт с общей картой или чем вам угодно.
Таким образом, одним скриптом можно преобразить игровой опыт членов вашей группировки и сделать свою МЕТАВСЕЛЕННУЮ внутри сервера сампа.
Скрипт я разрабатывал под геймплей байкера на самп-рп, где я собственно и играл с 2015 года, поэтому большинство модулей решают проблемы именно байкеров.
Все модули имеют гибкие настройки.
Скринов тут не будет, модулей очень много, чтобы все скринить. Если вам что-то понравилось, качайте и смотрите сами!
Список модулей и фич (в порядке появления в меню):
Как попробовать у себя?
1. скачать репозиторий.
2. поставить python 3.
3. в консоли установить зависимости pip3 install -r requirments.txt
4. в whitelist.txt ввести свой ник и пароль из 16 символов
5. запустить сервер python3 server.py [задержка между запросами в мс]
6. в edith.lua поменять ip сервера, ip сервера samp, и папки с ресурсами (если она где-то хостится, чтобы пользователи могли подгрузить ресурсы).
7. естественно все ресурсы из репозитория скинуть в мунлодер.
8. ввести /edithpass [пароль]
9. /edith открывает менюшку
Про качество кода
У некоторых модулей код воняет с 2017 года, так что качество должно быть удручающим и с него не надо брать пример.
Сервер писался в виме по ssh без плагинов года 3 назад, там должен быть ад, но всё должно работать.
Если кто-то сможет определить почему в очень редких случаях GC вызывает ошибку 'cannot resume non-suspended coroutine' в цикле main, я поставлю много лайков!
Вот собственно и всё.
Делится я им не планировал, но я наконец решил его починить и всю последнюю неделю рефакторил и думал, а надо ли оно кому-нибудь.
Может кто-то из тех, кто сейчас это читает, сталкивался с какой-то идеей/проблемой, которую я реализовал/решил в этом скрипте, ну а вдруг!
Это не чит, а набор самописных модулей разного качества, сшитых в один скрипт c возможностью реализации функционала, усиленного сервером на python.
Модули эти я писал для себя, но часть из них была выпущена отдельно в виде самостоятельных скриптов в 19-21 годах.
Особо ничего интересного там нет, но его можно раздербанить на пару-тройку новых уникальных скриптов или сделать из него свой набор скриптов под свой сквад/фракцию. Например, есть синхронизация координат и киллиста между пользователями скрипта, а так же топ убийств на сервере.
Зачем мне это нужно?
Допустим, вы понимаете lua scripting и у вас есть небольшая группа игроков, вроде сквада, байкерского клуба или какого-нибудь госерского подразделения.
Идея в том, чтобы засунуть всё нужные скрипты в один файл в виде модулей, защитить использование скрипта паролем и через сервер синхронизировать данные некоторых модулей.
Вы как скриптер хостите сервер, добавляете по шаблону свои модули и распространяете скрипт среди игроков. Получаете свой МЕТАскрипт с общей картой или чем вам угодно.
Таким образом, одним скриптом можно преобразить игровой опыт членов вашей группировки и сделать свою МЕТАВСЕЛЕННУЮ внутри сервера сампа.
Скрипт я разрабатывал под геймплей байкера на самп-рп, где я собственно и играл с 2015 года, поэтому большинство модулей решают проблемы именно байкеров.
Все модули имеют гибкие настройки.
Скринов тут не будет, модулей очень много, чтобы все скринить. Если вам что-то понравилось, качайте и смотрите сами!
Список модулей и фич (в порядке появления в меню):
- Информация
- Краткая информация о каждом модуле.
- Настройки
- Автоперезапуск скрипта при ошибке (с поддержкой ожидаемого завершения работы).
- TWEAKS - мелкие твики
- Скрытие /gov из чата (SRP)
- Скрытие ~~~, рекламы доната, /ask, /music, сайта (SRP)
- Скрытие объявлений из чата (SRP)
- Игнорирование прыжка в оконном режиме при потере фокуса (антипауза)
- Замена имени окна на ник персонажа (конфликует с QuickBinder)
- Блокировка выбора радио в машине (не будет вообще селектора радио)
- Changelog
- Просто диалог со списком изменений, куда скриптеру легко добавлять одной функцией в лог
- GLONASS
- Глобальная карта пользователей скрипта с синхронизацией через сервер.
- https://www.blast.hk/threads/80532/ - обрезанный GLONASS.
- Возможность скрыть свои координаты.
- Отмечается на карте перегон у байкеров (SRP)
- Рендер текстом координат пользователей на экране.
- BIKERLIST
- Чекер онлайн игроков по табу на стреле у байкеров (SRP)
- Возможность проверять их на афк в диалоге
- CAPTURETIMER
- Таймер, который показывает время до конца капта у байкеров (SRP)
- Синхронизируется через сервер, игроки заходят и видят сколько времени осталось до конца.
- Автоклист 0 после конца капта
- Отправка уведомления в дискорд всем пользователям скрипта и ведение лога стрел
- HEIST BEEP
- Помощник в ограблении матовозов/баров/дальнобойщиков у байкеров (SRP)
- Отсчитывает и рендерит на экране время, через которое можно взять следующий ящик
- Воспроизводит звук, когда сервер даст взять следующий ящик
- Возможность тупо стоять на метке и грузить, а не бегать туда-сюда
- EDISCORE
- Локальный счётчик урона, убийств, смертей, KDA
- После смерти показывает кто вас убил и из какого оружия, сколько урона вы нанесли и сколько у вас убийств
- Рисует текстдрав, на который по умолчанию выводится количество урона за жизнь, по хоткею можно смотреть другую статистику
- Доступен как отдельный скрипт (https://www.blast.hk/threads/41938/), но в эдискор вроде есть какие-то фиксы
- CAMHACKWW
- Камхак санька, в который был встроен обход варнингов.
- Варнинги это когда челу приходит в чат уведомления что вы пользуетесь камхаком и вас наказывают.
- Есть настройка показывать ли текст над головой на расстоянии, когда камхак включен.
- ACAPTURE
- Автокапт у байкеров (SRP)
- /acapture -> выбираете бизнес -> сервер выделяет вам секунду -> автоматически каптится.
- Чем больше активных каптеров, тем больше шанс закаптить, там вроде до 10.
- RCAPTURE
- Быстрый капт после рестарта сервера (SRP)
- Вроде вообще не работает, так что можно считать, что его нет
- GETGUN
- Быстро набирает ган из набора, указанного в настройках (SRP)
- TIER
- Связывает через /tie всех пассажиров транспорта (SRP, мафии/байкеры)
- Можно обезвреживать турели по хоткею
- CIPHER
- Шифрование в /r или /f (SRP)
- Пользователи видят расшифрованный текст, обычные игроки 'ENC: aisjdiajdioqj'
- Ключ зашит в скрипте
- Защита чата фракции от прослушки администрацией
- CHANGEWEAPON
- Меняет активное оружие на пассажирке по хоткеям [ и ]
- shotgun -> smg -> m4/ak47 -> rifle
- HIDEWEAPON
- H -> убирает оружие, если вы его достали на H.
- GZCHECK
- Рендерит красный квадрат, когда вы в мигающем квадрате войны за территорию
- WKAV
- Считает сколько гана вы взяли со склада и сколько вы потеряли (SRP, байкеры)
- Рендерит на месте шкафа в интерьере байкеров
- После смерти отчитывается сколько гана вы потеряли
- LIKER
- Обменивается /like с людьми из whitelist скрипта (SRP)
- HEALME
- Юзает аптечку через /healme до 100 хп, когда вы попадаете в интерьер (SRP)
- STRUCK
- Флуд принятия перегона (SRP, байкеры)
- PARASHUTE
- жмете P -> /piss -> расстояние до земли маленькое -> автоотмена /piss
- позволяет приземлятся с большой высоты невредимым
- VSPIWKA
- Бинд на /anim 23, чтобы лечь по хоткею (SRP)
- Может быть полезно в перестрелках
- WARNINGS
- Варнинги на рк, по группам: байкеры, гетто, госы
- Скрипт запоминает координаты смерти персонажа, если он возвращается в район смерти -> сообщение в чат и количество секунд с момента смерти
- DEATHLIST
- Синхронизирует киллист между пользователями скрипта.
- Заносит деморганы, нанесенный урон, полученный урон, убийства и смерти в базу данных на сервере
- Строит топ по убийствам, анти-убийствам и прочую дичь по адресу IP сервера/top
- Объединяет твинки в топе как одну сущность.
- Там ещё система очков за убийства, которая поощряет дм в виде соревнования
- Топ так же отображается в дискорде в виде трех обновляющихся сообщений: сутки, неделя, всё время.
-
- Топ-5 за сутки показывается в основном канале каждый день.
- GANGHELPER
- Авто /get guns когда склад открывается и вы в пределах респ банд (SRP)
- Простые бинды на оружие (4 - deagle 15, 5 - m4 20, 6 - rifle 10) (SRP)
- Простой флудер /capture (SRP)
- BIKERINFO
- Сбор данных о бизнесах (/capture) и состоянии склада (байкеры SRP)
- Отображение этой информации в дискорде
- IZNANKA
- Персонаж прячется в стене через танец и пополняет хп наркотиками (SRP)
- DOUBLE_JUMP
- Рабочий DJ на хоткей (SRP)
- ADR
- Сбив ломки, перелома и кашля адреналином/писсом (SRP)
- MARKER
- Синхронизация метки.
- Alt+3 метка ставится туда, куда целится персонаж.
- Метка видна 30 секунд, потом удаляется.
- Alt+4 быстро удалить метку.
- DRUGSMATS
- улучшенный биндер наркотиков рубина
- сброс кд при смерти
- автоизменение кд при бонусах (SRP)
- учтен момент, когда нарко больше, чем есть
- улучшенный биндер наркотиков рубина
- KUNAI
- отправляет отыгровку в чат и мгновенно оффается
- DISCORD
- обновляет discord reach presence
- CHECKER
- доработанный админ чекер Рубина (SRP, список админов парсится через форум сторонним сервисом)
- синхронизирует состояние афк админов полученное через /admins випкой, отображая это у всех игроков
- Кнопки включения и выключения всех модулей.
1. скачать репозиторий.
2. поставить python 3.
3. в консоли установить зависимости pip3 install -r requirments.txt
4. в whitelist.txt ввести свой ник и пароль из 16 символов
5. запустить сервер python3 server.py [задержка между запросами в мс]
6. в edith.lua поменять ip сервера, ip сервера samp, и папки с ресурсами (если она где-то хостится, чтобы пользователи могли подгрузить ресурсы).
7. естественно все ресурсы из репозитория скинуть в мунлодер.
8. ввести /edithpass [пароль]
9. /edith открывает менюшку
Сервер писался в виме по ssh без плагинов года 3 назад, там должен быть ад, но всё должно работать.
Если кто-то сможет определить почему в очень редких случаях GC вызывает ошибку 'cannot resume non-suspended coroutine' в цикле main, я поставлю много лайков!
GitHub - qrluke/edith-pub: GTA SA-MP || A modular script for a small closed community of players with data synchronization.
GTA SA-MP || A modular script for a small closed community of players with data synchronization. - qrluke/edith-pub
github.com
Вот собственно и всё.
Последнее редактирование: