Lua [Samp-RP] killsay — улучшенный обассыватель

treywisp

Новичок
Автор темы
2
1
killsay.png

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

Что же кратко из себя представляет это новоиспеченное второсортное чудо, предназначенное для Samp-RP и частично других серверов: выбрать предложенное обассывание или придумать собственное многострочное, где представляется возможность вставить Nickname и ID 200-го груза; отправить и установить полученную метку ликвидации противника с возможностью ее настройки (отправляется и берется из чата сквада: /fs, /u); отправка сообщений о ликвидации в чат сквада (/fs) и рацию (/r); автоматизированная статистика ликвидаций противников, имеющая регистрозависимый поиск, сортировку по количествам ликвидаций и сохраняющая значения в killsay_table.json. Скрипт находится под UNLICENSE, в следствии можете делать с ним АБСОЛЮТНО все, что вашей душе угодно.

скриптик.png


Описание функционала и возможностей:
  • Главное меню:
    • Команда открытия меню - /killsay
    • Возможность активации / деактивации скрипта
    • Возможность отключения уведомлений при подгрузке скрипта
  • Настройка отыгровок:
    • Возможность выбора отыгровки из списка предложенных: отсутствует, классическая, "за мат извени", hasta la vista, новогодняя, собственная;
    • Собственная отыгровка ограничена 256 символами, чего вполне хватит на 3 больших сообщения. Крайне не рекомендуется использовать сочетание &nl, поскольку оно костыльно решает проблему переноса на новую строку при взаимодействии с inicfg
    • Возможность подставить Nickname и ID противника, используя $nickname и $id соответственно
    • Возможность отключения максимальной дистанции отправки отыгровок
  • Настройка меток:
    • Возможность отправлять метки с координатами ликвидации в чат сквада (/fs DCHECKSEALKPOSX$Y$Z$, где $ - соответствующая координата)
    • Возможность получать координаты метки из чата сквада с последующей их установкой
    • Возможность игнорирования установки собственных меток, скрытие из чата текста отправляемых меток
    • Проигрывание звукового оповещения при установке метке, а так же выбор желаемого звука. Присутствует альтернативное применение на случай проблем с raknetBitStream, в абсолютном большинстве оно работать не будет, но вдруг однажды поможет разрешить чьи-то мучения
    • Возможность выбора собственного времени отображения метки ликвидации с последующей настройкой от 100 мс до 3.5 секунд
    • Возможность изменить стандартную иконку метки на миникарте (красный флажок) на другую: пистолет, сердечко, желтый кружок
  • Прочие настройки:
    • Возможность отправки сообщения ($nickname[$id] нейтрализован) в рацию или чат сквада
    • Автоматизированная таблица статистики убийств, имеющая регистрозависимый поиск + кнопку очистки поиска, возможность удаления записи прямо из таблицы, сортировку по убыванию убийств
    • Возможность активации / деактивации внесения записей в таблицу

Описание особенностей:
  • Обассывание:
    • При благоприятных условиях скрипт срабатывает автоматически с задержкой в 350 мс, поскольку присутствует проверка на смерть противника через isCharDead. Не проверялось на других серверах, но на Samp-RP урон проходит спустя ~250-270 мс. Без наличия проверки, к сожалению, возможны ложные срабатывания и срабатывания по нескольку раз. В случае, если вы и другой человек нанесли урон одновременно и результатом стала смерть, даже при условии что убийцей являетесь не вы - будет отправлено сообщение об убийстве
  • Пустые переменные:
    • Стоит защита от передачи пустых переменных в дальнейшие функции, что характерно для оффа противника / фаст респавна в 350 мс в момент убийства. При отсутствии режима обиженки у противника или фаст респавна - должно работать как часы. В случае же, если будут переданы пустые переменные, в консоль отправится сообщение об ошибке, отыгровок не будет
  • Дистанция обассывания:
    • По умолчанию выставлена дистанция отыгровок в 15 метров (getDistanceBetweenCoords3d(x, y, z, px, py, pz) < 15), дабы не отыгрывать в стену унижение противника. Отключить можно в меню "Настройка отыгровок"
  • Удаление префикса:
    • В особенности для монсера предусмотрено удаление префикса [Любой Текст] из ника для корректных отыгровок и внесения в таблицу. Отключить не представляется возможным. Если сильно мешает - можете удалить gsub("^%b[]", "") из функции killsay



Зависимости: mimgui, ADDONS, events
 

Вложения

  • killsay.lua
    54.2 KB · Просмотры: 12
Последнее редактирование:
  • Нравится
Реакции: stool

treywisp

Новичок
Автор темы
2
1
для арз подойдёт? если покопаться в настройках
Метки работать не будут, уведомление в сквад об убийстве так же не будет.
А так все должно функционировать

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