Files
killsay/README.md
2025-10-01 05:36:45 +02:00

43 lines
7.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# killsay.lua
Что же кратко из себя представляет это новоиспеченное второсортное чудо, предназначенное для Samp-RP и частично других серверов: выбрать предложенное обассывание или придумать собственное многострочное, где представляется возможность вставить Nickname и ID 200-го груза; отправить и установить полученную метку ликвидации противника с возможностью ее настройки (отправляется и берется из чата сквада: /fs, /u); отправка сообщений о ликвидации в чат сквада (/fs) и рацию (/r); автоматизированная статистика ликвидаций противников, имеющая регистрозависимый поиск, сортировку по количествам ликвидаций и сохраняющая значения в killsay_table.json. Скрипт находится под UNLICENSE, в следствии можете делать с ним АБСОЛЮТНО все, что вашей душе угодно.
## Описание функционала
### [1] Главное меню:
- Команда открытия меню - /killsay
- Возможность активации / деактивации скрипта;
- Возможность отключения уведомлений при подгрузке скрипта.
### [2] Настройка отыгровок:
- Возможность выбора отыгровки из списка предложенных: отсутствует, классическая, "за мат извени", hasta la vista, новогодняя, собственная;
- Собственная отыгровка ограничена 256 символами, чего вполне хватит на 3 больших сообщения. Крайне не рекомендуется использовать сочетание &nl, поскольку оно костыльно решает проблему переноса на новую строку при взаимодействии с inicfg;
- Возможность подставить в отыгровки ника и ид противника, используя $nickname и $id соответственно;
- Возможность отключения максимальной дистанции отправки отыгровок.
### [3] Настройка меток:
- Возможность отправлять метки с координатами ликвидации в чат сквада (/fs DCHECKSEALKPOSX$Y$Z$, где $ - соответствующая координата);
- Возможность получать координаты метки из чата сквада с последующей их установкой;
- Возможность игнорирования установки собственных меток, скрытие из чата текста отправляемых меток;
- Проигрывание звукового оповещения при установке метке, а так же выбор желаемого звука. Присутствует альтернативное применение на случай проблем с raknetBitStream, в абсолютном большинстве оно работать не будет, но вдруг однажды поможет разрешить чьи-то мучения;
- Возможность выбора собственного времени отображения метки ликвидации с последующей настройкой от 100 мс до 3.5 секунд;
- Возможность изменить стандартную иконку метки на миникарте (красный флажок) на другую: пистолет, сердечко, желтый кружок.
### [4] Прочие настройки:
- Возможность отправки сообщения ($nickname[$id] нейтрализован) в рацию или чат сквада;
- Автоматизированная таблица статистики убийств, имеющая регистрозависимый поиск + кнопку очистки поиска, возможность удаления записи прямо из таблицы, сортировку по убыванию убийств;
- Возможность активации / деактивации внесения записей в таблицу.
## Описание особенностей
### [1] Обассывание:
- При благоприятных условиях скрипт срабатывает автоматически с задержкой в 350 мс, поскольку присутствует проверка на смерть противника через isCharDead. Не проверялось на других серверах, но на Samp-RP урон проходит спустя ~250-270 мс. Без наличия проверки, к сожалению, возможны ложные срабатывания и срабатывания по нескольку раз. В случае, если вы и другой человек нанесли урон одновременно и результатом стала смерть, даже при условии что убийцей являяетесь не вы - будет отправлено сообщение об убийстве;
### [2] Пустые переменные:
- Стоит защита от передачи пустых переменных в дальнейшие функции, что характерно для оффа противника / фаст респавна в 350 мс в момент убийства. При отсутствии режима обиженки у противника или фаст респавна - должно работать как часы. В случае же, если будут переданы пустые переменные, в консоль отправится сообщение об ошибке, отыгровок не будет;
### [3] Дистанция обассывания:
- По умолчанию выставлена дистанция отыгровок в 15 метров (getDistanceBetweenCoords3d(x, y, z, px, py, pz) < 15), дабы не отыгрывать в стену унижение противника. Отключить можно в меню "Настройка отыгровок";
### [4] Удаление префикса:
- В особенности для монсера предусмотрено удаление префикса [Любой Текст] из ника для корректных отыгровок и внесения в таблицу. Отключить не представляется возможным. Если сильно мешает - можете удалить gsub("^%b[]", "") из функции killsay.