UO Topic movement - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
Movement
Home · BASIC · UO API · A–Z · Examples · Languages
Движение персонажа, построение пути, двери, препятствия и задержки шагов. Команды переноса вещей находятся в Items → Moving Items.
Разделы
| Тема | Команды и пояснения |
|---|---|
| Move | UO.Move |
| MoveXY | UO.MoveXY |
| MoveXYZ | UO.MoveXYZ |
| NewMoveXY | UO.NewMoveXY |
| Step | UO.Step |
| StepQ | UO.StepQ |
| PMove | UO.PMove |
| Direction | UO.Direction |
| CalcDir | UO.CalcDir |
| AlwaysRun | UO.AlwaysRun |
| Pathfinding | UO.GetPathArray · UO.GetPathArray3D · UO.NewMoveXY |
| GetPathArray | UO.GetPathArray |
| GetPathArray3D | UO.GetPathArray3D |
| StealthPath | UO.StealthPath — путь к папке клиента, не игровой маршрут; см. Profiles & Configuration. |
| Doors | UO.OpenDoor · UO.LastStepQUsedDoor · UO.moveOpenDoor |
| Obstacles | UO.IsWorldCellPassable · UO.SetBadLocation · UO.moveThroughNPC · UO.moveThroughCorner |
| Movement Settings | UO.moveCheckStamina · UO.moveExitOnDisconnect · UO.moveHeuristicMult · UO.moveTurnCost · UO.moveBetweenTwoCorners |
| Predicted X / Y / Z | UO.PredictedX · UO.PredictedY · UO.PredictedZ |
| Movement Timers | UO.GetRunMountTimer · UO.GetRunUnMountTimer · UO.GetWalkMountTimer · UO.GetWalkUnmountTimer · UO.SetRunMountTimer · UO.SetRunUnmountTimer · UO.SetWalkMountTimer · UO.SetWalkUnmountTimer |
Все команды темы
Movement
UO.Move · UO.MoveXY · UO.MoveXYZ · UO.NewMoveXY · UO.Step · UO.StepQ · UO.PMove · UO.MoveOn · UO.MoveOff · UO.MoverStop · UO.CancelMove · UO.Moving · UO.IsMoving · UO.GetRun · UO.IsRunning · UO.AlwaysRun · UO.FixWalk
Direction
UO.Dir · UO.Direction · UO.GetDir · UO.GetDirection · UO.CalcDir · UO.PredictedDirection
Pathfinding
UO.GetPathArray · UO.GetPathArray3D · UO.AddStep · UO.AddDir
Doors
UO.OpenDoor · UO.LastStepQUsedDoor
Movement Settings
UO.moveBetweenTwoCorners · UO.moveCheckStamina · UO.moveExitOnDisconnect · UO.moveHeuristicMult · UO.moveOpenDoor · UO.moveThroughCorner · UO.moveThroughNPC · UO.moveTurnCost
Predicted X / Y / Z
UO.PredictedX · UO.PredictedY · UO.PredictedZ
Movement Timers
UO.GetRunMountTimer · UO.GetRunUnMountTimer · UO.GetWalkMountTimer · UO.GetWalkUnmountTimer · UO.SetRunMountTimer · UO.SetRunUnmountTimer · UO.SetWalkMountTimer · UO.SetWalkUnmountTimer
Примеры по теме
Параметры, требования к состоянию клиента и результат каждого вызова описаны в связанной карточке. Перед игровыми действиями замените демонстрационные serial, координаты и имена на свои.
UO.NewMoveXY
Полная карточка: параметры, возврат и разбор
SUB Main()
# x/y — мировая цель; Optimized=TRUE, Accuracy=0 требуют точных X/Y, Running=FALSE задаёт
# ходьбу.
# ok — Integer 1 или 0, а не количество пройденных клеток. Цель должна быть доступна на текущей
# карте.
VAR x = UO.GetX() + 3
VAR y = UO.GetY()
VAR ok = UO.NewMoveXY(x, y, TRUE, 0, FALSE)
IF ok THEN
UO.Print('Destination reached')
ELSE
UO.Print('Destination not reached')
END IF
END SUB
UO.GetPathArray3D
Полная карточка: параметры, возврат и разбор
SUB Main()
# Первые три значения — исходные X/Y/Z; следующие три — назначение.
# map=WorldNum(), accuracyXY=0, accuracyZ=0 требуют точной позиции. run=FALSE не запускает
# ходьбу.
VAR x = UO.GetX()
VAR y = UO.GetY()
VAR z = UO.GetZ()
VAR path = UO.GetPathArray3D(x, y, z, x + 4, y, z, UO.WorldNum(), 0, 0, FALSE)
IF GetArrayLength(path) > 0 THEN
UO.Print('Steps: ' + STR(GetArrayLength(path) - 1))
END IF
END SUB