В клиенте уже есть десятки модулей, но всего на свете в него не запихнёшь. Рано или поздно хочется чего-то своего: функции, которой нет, надписи на экране, поведения под конкретный сервер. Ради этого и придуманы скрипты.
Скрипт это обычный текстовый файл с расширением .py. Ты кладёшь его в папку клиента, пишешь внутри код на Python, и клиент выполняет этот код у себя. Ничего компилировать, пересобирать и устанавливать не нужно: сохранил файл, клиент подхватил.
Самое приятное дальше. Всё, что ты сделаешь скриптом, выглядит как родная часть клиента. Твой модуль встанет в меню рядом с Fly и Aura: его так же включают, биндят на клавишу и настраивают. Со стороны не отличить.
Курса по Python тут не будет: эта документация про клиент, а не про язык. Но и знать надо немного, хватит школьного уровня. Если ты понимаешь пять вещей из списка, можно смело идти дальше.
if и else.def имя(аргументы) и что такое вернуть значение.for по списку и while.Не знаешь чего-то из этого, ничего страшного. Всё перечисленное учится за вечер по любому бесплатному руководству, например по руководству по Python на METANIT. Прочитай первые главы про переменные, условия, циклы и функции и возвращайся. Дальше мы будем считать, что этот минимум у тебя есть, а всё остальное объясним сами.
Чтобы примерно представлять потолок, вот на что скрипты способны.
Вот полностью рабочий скрипт. Он добавляет модуль Hello и, пока модуль включён, пишет приветствие над хотбаром.
mod = Module("Hello", "Other") # новый модуль во вкладке Other
@events.tick # клиент будет звать функцию 20 раз в секунду
def on_tick(event):
if mod.isEnabled(): # модуль включён в меню?
client.overlay("Привет!") # надпись над хотбаромЧетыре строчки, а в клиенте уже появился новый модуль. Разбирать код мы будем на следующих страницах, но две вещи стоит заметить прямо сейчас.
Первое: тут нет ни одного import. Слова Module, events, client и ещё пара десятков таких же клиент кладёт в твой скрипт сам, перед запуском. Импортировать их не надо и не получится.
Второе: файл выполняется один раз, в момент загрузки скрипта. Пока он выполняется, ты успеваешь создать модуль и сказать клиенту, какую функцию звать на каждый тик. Дальше сам файл уже не нужен: работает то, что ты в нём создал.
Страницы идут лесенкой: каждая опирается на предыдущую и не требует того, что будет дальше. Если ты тут впервые, просто иди по порядку кнопкой Далее внизу страницы.
Дальше идут события, модули, настройки, рисование и всё остальное. А Справочник API подряд читать не нужно: туда заглядывают, когда забыл название метода.