function coordmaster(x, y, z) -- открытие функции
repeat -- снизу начинается повторение до выполнения условия
local posx, posy, posz = getCharCoordinates(PLAYER_PED) -- записывает в переменные координаьы перса
local dis = getDistanceBetweenCoords2d(x, y, posx, posy) -- ну тут всё потнятно получает дистанцию
local x = x - posx; local y = y - posy -- здесь идёт что в перменную x\y записывается что если из переменной x которая там сверху вычитаю твои координаты
local Angle = getHeadingFromVector2d(x, y) -- здесь получение куда смотрит твой перс(вродебы, точно не помню просто)
freezeCharPosition(PLAYER_PED, false) -- замораживает твою позиция
setCharHeading(PLAYER_PED, Angle) -- куда будет смотреть твой персонаж
local posx, posy, posz = getOffsetFromCharInWorldCoords(PLAYER_PED, 4.0, 1.0, 0.0) -- возвращает позицию педа с указанным смещением
setCharCoordinatesNoOffset(PLAYER_PED, posx, posy, z) -- устанавливает координаты то есть телепортирует тебя туда без смещения
wait(75) -- задержка
until dis < 1 -- условие то есть если dis меньше 1
repeat wait(0) until sampIsDialogActive() -- повторяет задержку пока диалог открыт
sampCloseCurrentDialogWithButton(0) -- закрывает диалог
end -- закрытие функции