Python Methods
def GetSkillID(SkillName: str) -> int
Возвращает целочисленный индекс навыка по его названию.
Используется в Python-методах, где навык передаётся не строкой, а его числовым индексом.
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 returnsFalse, movement stops immediately and the method returnsFalse. - Debug mode: set
newMoveXYZ.debug = Trueto 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 отменил движение.
# 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)
MoveXY, MoveXYZ, newMoveXY, GetPathArray3D, StepQ, MoverStop, moveCheckStamina