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

StepQ

Performs a single queued movement step in the specified direction without waiting for server confirmation.

Direction — direction to step (0–7). See ConstantsAndEnums for direction values.

RunningTrue to run, False to walk.

Returns the step request ID (non-negative) on success, or a negative value on failure:

Value Meaning
>= 0 Step request queued (ID of the request)
-1 Error (disconnected, script stopped, data not loaded, low stamina)
-2 Client-side check failed: point not passable
256 Character turned to face the direction without stepping (door-opening scenario)

Unlike Step, StepQ does not wait for server confirmation. This allows queueing multiple steps for faster movement but provides less precise feedback.

Respects movement variables: moveOpenDoor (auto-opens doors, up to 3 attempts; marks tile as bad if door is locked), moveExitOnDisconnect, and moveCheckStamina.

The ID of a door opened during this step (if any) is stored internally and can be retrieved via LastStepQUsedDoor.

Выполняет один шаг в указанном направлении в режиме очереди, без ожидания подтверждения от сервера.

Direction — направление шага (0–7). См. ConstantsAndEnums.

RunningTrue для бега, False для ходьбы.

Возвращает ID запроса на шаг (неотрицательное) при успехе или отрицательное значение при ошибке:

Значение Смысл
>= 0 Запрос на шаг поставлен в очередь (ID запроса)
-1 Ошибка (отключён, скрипт остановлен, данные не загружены, мало stamina)
-2 Клиентская проверка: точка непроходима
256 Персонаж повернулся в нужном направлении без шага (сценарий открытия двери)

В отличие от Step, StepQ не ждёт подтверждения сервера. Позволяет ставить несколько шагов в очередь для более быстрого перемещения, но с менее точной обратной связью.

Учитывает переменные перемещения: moveOpenDoor (автооткрытие дверей, до 3 попыток; помечает тайл как bad при заблокированной двери), moveExitOnDisconnect, moveCheckStamina.

ID двери, открытой во время этого шага, сохраняется и доступен через LastStepQUsedDoor.

Pascal

function StepQ(Direction: Byte; Running: Boolean): Integer;

Python

def StepQ(Direction: int, Running: bool) -> int: ...

Pascal Example

var
  Res: Integer;
begin
  Res := StepQ(CalcDir(GetX(Self), GetY(Self), 1234, 5678), True);
  if Res >= 0 then
    AddToSystemJournal('Step queued, ID: ' + IntToStr(Res))
  else if Res = -2 then
    AddToSystemJournal('Point not passable')
  else
    AddToSystemJournal('Step failed');
end.

Python Example

res = StepQ(CalcDir(GetX(Self()), GetY(Self()), 1234, 5678), True)
if res >= 0:
    AddToSystemJournal(f'Step queued, ID: {res}')
elif res == -2:
    AddToSystemJournal('Point not passable')
else:
    AddToSystemJournal('Step failed')

See Also

Step, MoveXY, OpenDoor