Плавный телепорт(частями)

Fott

Простреленный
Автор темы
3,435
2,280
Версия MoonLoader
.026-beta
Скрипт получает координаты объекта
Lua:
local result, oX, oY, oZ = getObjectCoordinates(v)
Но за телепорт при помощи setCharCoordinates античит кикает. Но если телепортироватся не более чем на 25 метров, то не кикает, и тут появляется вопрос: Как сделать телепорт к oX, oY, oZ частями, по 25 метров за раз?
 
Решение
Это называется курдмастер.
Разбивай путь на мелкие шаги, записывай в массив и потом иди по нему. Вот код из одного скрипта, где используется этот метод:

Lua:
    local Px, Py, Pz = getCharCoordinates(1) -- исходная точка (откуда)
    local Gx, Gy, Gz = 0, 0, 0 -- конечная точка (куда)
    local Dx, Dy, Dz = Gx - Px, Gy - Py, Gz - Pz -- считаем длину по векторам
    local D = math.sqrt(Dx ^ 2 + Dy ^ 2 + Dz ^ 2)
    local steps = math.floor(D / stepLength) -- stepLength заменяй на свое число, это длина прыжка в метрах
    local path = {}
    for i = 1, steps do
        path[#path+1] = {
            x = Px + (Dx / steps) * i,
            y = Py + (Dy / steps) * i,
            z = Pz + (Dz / steps) * i
        }
    end
    path[#path+1] =...

astynk

Известный
Проверенный
742
530
Это называется курдмастер.
Разбивай путь на мелкие шаги, записывай в массив и потом иди по нему. Вот код из одного скрипта, где используется этот метод:

Lua:
    local Px, Py, Pz = getCharCoordinates(1) -- исходная точка (откуда)
    local Gx, Gy, Gz = 0, 0, 0 -- конечная точка (куда)
    local Dx, Dy, Dz = Gx - Px, Gy - Py, Gz - Pz -- считаем длину по векторам
    local D = math.sqrt(Dx ^ 2 + Dy ^ 2 + Dz ^ 2)
    local steps = math.floor(D / stepLength) -- stepLength заменяй на свое число, это длина прыжка в метрах
    local path = {}
    for i = 1, steps do
        path[#path+1] = {
            x = Px + (Dx / steps) * i,
            y = Py + (Dy / steps) * i,
            z = Pz + (Dz / steps) * i
        }
    end
    path[#path+1] = {x = Gx, y = Gy, z = Gz}

Lua:
        for i = 1, steps do
            wait(100) -- подбирай задержку между шагами
            setCharCoordinates(1, path[i].x, path[i].y, path[i].z)
        end
 

holyonever

Новичок
14
2
Это называется курдмастер.
Разбивай путь на мелкие шаги, записывай в массив и потом иди по нему. Вот код из одного скрипта, где используется этот метод:

Lua:
    local Px, Py, Pz = getCharCoordinates(1) -- исходная точка (откуда)
    local Gx, Gy, Gz = 0, 0, 0 -- конечная точка (куда)
    local Dx, Dy, Dz = Gx - Px, Gy - Py, Gz - Pz -- считаем длину по векторам
    local D = math.sqrt(Dx ^ 2 + Dy ^ 2 + Dz ^ 2)
    local steps = math.floor(D / stepLength) -- stepLength заменяй на свое число, это длина прыжка в метрах
    local path = {}
    for i = 1, steps do
        path[#path+1] = {
            x = Px + (Dx / steps) * i,
            y = Py + (Dy / steps) * i,
            z = Pz + (Dz / steps) * i
        }
    end
    path[#path+1] = {x = Gx, y = Gy, z = Gz}

Lua:
        for i = 1, steps do
            wait(100) -- подбирай задержку между шагами
            setCharCoordinates(1, path[i].x, path[i].y, path[i].z)
        end
а можешь полностью код скинуть вместе с function main() и т.д чтобы можно было под себя настроить
 
  • Ха-ха
Реакции: Loocking и sizeoftrickster