Настройки делают модуль гибким. Их объявляют в __init__, и они автоматически появляются в меню под модулем. Значения сохраняются в конфиге пользователя.
from rockstar import Module, event
class Reach(Module):
name = "Reach"
category = "Combat"
def __init__(self):
super().__init__()
self.distance = self.add_slider("Дистанция", default=3.5, min=3.0, max=6.0)
self.silent = self.add_bool("Silent", default=True)
self.mode = self.add_mode("Режим", ["Smooth", "Instant"], default="Smooth")
self.color = self.add_color("Цвет", default=0x6A6AE0)| Метод | Тип | Описание |
|---|---|---|
add_bool(label, default) | Переключатель | Вкл/выкл |
add_slider(label, default, min, max) | Слайдер | Числовое значение в диапазоне |
add_mode(label, options, default) | Выбор | Один вариант из списка |
add_color(label, default) | Цвет | Цвет в формате 0xRRGGBB |
Значение любой настройки читается через .value:
@event("update")
def on_update(self):
if self.silent.value:
target = self.client.world.nearest_entity(self.distance.value)
if target:
self.client.player.rotate(target.yaw, target.pitch)Бинд — клавиша включения модуля. Задаётся атрибутом bind или меняется пользователем в меню. Внутри кода можно реагировать на любые клавиши через событие key.
class Flight(Module):
name = "Flight"
category = "Movement"
bind = "F" # включение по клавише F