@events.newton_nodeотменить нельзя4 методаКаждый раз, когда персонаж встал на очередной блок маршрута.
Это самый частый способ следить за движением: событие даёт и номер шага, и координаты блока, на который встали.
На нём делают прогресс-бар, точки на карте, реакцию на определённое место по дороге.
За один тик клиент иногда проскакивает сразу несколько шагов (инерция, прыжок). Тогда события придут подряд, по одному на каждый пройденный шаг.
| Метод | Возвращает | Зачем |
|---|---|---|
getProcess() | str | Какая задача идёт |
getX() / getY() / getZ() | int | Блок, на который встали |
getStep() | int | Номер шага, начиная с 1 |
getSteps() | int | Всего шагов в маршруте |
mod = Module("PathTrail", "Render")
trail = []
@events.newton_node
def on_node(event):
trail.append([event.getX() + 0.5, event.getY() + 0.05, event.getZ() + 0.5])
if len(trail) > 64:
del trail[0]
@events.render_3d
def draw(event):
if not mod.isEnabled() or len(trail) < 2:
return
for i in range(len(trail) - 1):
render3d.line(event, trail[i], trail[i + 1], Color(120, 200, 255))Общий список всех событий и правила подписки лежат на странице События.