Home API Manuals About Forum
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Python Methods

PythonMethods

GetSkillID

def GetSkillID(SkillName: str) -> int

Возвращает целочисленный индекс навыка по его названию.

Используется в Python-методах, где навык передаётся не строкой, а его числовым индексом.


newMoveXYZ

def newMoveXYZ(x_dst: int, y_dst: int, z_dst: int,
               accuracy_xy: int, accuracy_z: int, running: bool,
               callback: Optional[Callable[[int, int, int], bool]] = None) -> bool: ...

Python-only advanced movement method with automatic path recalculation, disconnect handling, and optional step callback.

Unlike the built-in MoveXY / MoveXYZ, this method is implemented entirely in Python. It uses GetPathArray3D for pathfinding and StepQ for individual steps, handling edge cases automatically:

  • Path recalculation: if a step fails or the next cells become impassable (checked 4 steps ahead via IsWorldCellPassable), the path is recalculated from the current position.
  • Disconnect handling: pauses automatically while the character is disconnected and resumes when the connection is restored.
  • Stamina check: waits if current stamina is below the moveCheckStamina threshold.
  • Callback: if provided, called after each successful step as callback(x, y, z). If the callback returns False, movement stops immediately and the method returns False.
  • Debug mode: set newMoveXYZ.debug = True to enable step-by-step logging to the system journal.

Returns True if the destination was reached within the specified accuracy, False if the path cannot be found or the callback cancelled movement.

Python-метод продвинутого перемещения с автоматической перестройкой пути, обработкой отключений и опциональным callback на каждом шаге.

В отличие от встроенных MoveXY / MoveXYZ, этот метод реализован полностью на Python. Использует GetPathArray3D для поиска пути и StepQ для отдельных шагов, автоматически обрабатывая крайние случаи:

  • Перестройка пути: при неудачном шаге или непроходимости ближайших клеток (проверяются 4 шага вперёд через IsWorldCellPassable) путь пересчитывается от текущей позиции.
  • Обработка отключений: при потере связи ожидает переподключения и продолжает движение.
  • Проверка стамины: ждёт, если текущая стамина ниже порога moveCheckStamina.
  • Callback: если задан, вызывается после каждого успешного шага как callback(x, y, z). Если callback вернёт False, движение немедленно прекращается, метод возвращает False.
  • Режим отладки: установите newMoveXYZ.debug = True для пошагового логирования в системный журнал.

Возвращает True, если цель достигнута в пределах заданной точности, False — если путь не найден или callback отменил движение.

Example

# Simple movement
if newMoveXYZ(1500, 1200, 0, 1, 255, True):
    AddToSystemJournal('Arrived!')

# With callback — stop if paralyzed
def on_step(x, y, z):
    if Dead():
        return False
    if InJournal('paralyz') >= 0:
        return False
    return True

newMoveXYZ(1500, 1200, 0, 1, 255, True, callback=on_step)

# Enable debug logging
newMoveXYZ.debug = True
newMoveXYZ(1500, 1200, 0, 1, 255, True)

See Also

MoveXY, MoveXYZ, newMoveXY, GetPathArray3D, StepQ, MoverStop, moveCheckStamina