Телепорт по команде.

animebit57

Новичок
Автор темы
3
0
Версия MoonLoader
.026-beta
всем ку ребят, я новичок в луа, хотелось бы узнать, как сделать так, что бы по команде, тебя телепортировало по 4 меткам с указанными координатами.
на бластхаке нашёл только это, (телепорт по команде на 1 координату.
Заранее спасибо тому кто выручит и обьяснит как так сделать)
 
Решение
Lua:
local coords = { --таблица с массивами, в которые записаны координаты
    {0, 0, 0}, --{x, y, z},
    {100, 100, 100},
    {1000, 1000, 1000},
}

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('teleport', function() --регистрация команды
        lua_thread.create(function() --создание потока (что бы можно было использовать wait)
            for i = 1, #coords do --поочередный телепорт от x, y, z из 1 элемента таблицы до последнего (например в данном случае будет 3, если в таблицу добавить еще 1 массив, то будет 4)
                setCharCoordinates(PLAYER_PED, coords[i][1], coords[i][2], coords[i][3]) --телепорт по координатам
                wait(5000) --задержка (в мс)
            end...

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Друг
8,747
11,157
Lua:
local coords = { --таблица с массивами, в которые записаны координаты
    {0, 0, 0}, --{x, y, z},
    {100, 100, 100},
    {1000, 1000, 1000},
}

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('teleport', function() --регистрация команды
        lua_thread.create(function() --создание потока (что бы можно было использовать wait)
            for i = 1, #coords do --поочередный телепорт от x, y, z из 1 элемента таблицы до последнего (например в данном случае будет 3, если в таблицу добавить еще 1 массив, то будет 4)
                setCharCoordinates(PLAYER_PED, coords[i][1], coords[i][2], coords[i][3]) --телепорт по координатам
                wait(5000) --задержка (в мс)
            end
        end)
    end)
    wait(-1)
end

ну или такой, колхозный способ:
Lua:
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('teleport', function() --регистрация команды
        lua_thread.create(function() --создание потока (что бы можно было использовать wait)
            setCharCoordinates(PLAYER_PED, 0, 0, 0)
            wait(5000)
            setCharCoordinates(PLAYER_PED, 10, 10, 10)
            wait(5000)
            setCharCoordinates(PLAYER_PED, 100, 100, 100)
            wait(5000)
        end)
    end)
    wait(-1)
end

так же пример с командой для добавления координат в таблицу:
Lua:
function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('teleport', function() --регистрация команды
        lua_thread.create(function() --создание потока (что бы можно было использовать wait)
            for i = 1, #coords do --поочередный телепорт от x, y, z из 1 элемента таблицы до последнего (например в данном случае будет 3, если в таблицу добавить еще 1 массив, то будет 4)
                setCharCoordinates(PLAYER_PED, coords[i][1], coords[i][2], coords[i][3]) --телепорт по координатам
                wait(5000) --задержка (в мс)
            end
        end)
    end)
    sampRegisterChatCommand('coords.add', function(arg) --регистрация команды
        if arg:find('(.+) (.+) (.+)') then
            x , y, z = arg:match('(.+) (.+) (.+)')
            table.insert(coords, #coords + 1, {x, y, z})
        else
            sampAddChatMessage('/coords.add [x] [y] [z]', -1)
        end
    end)
    wait(-1)
end
 
Последнее редактирование:

animebit57

Новичок
Автор темы
3
0
Lua:
local coords = { --таблица с массивами, в которые записаны координаты
    {0, 0, 0}, --{x, y, z},
    {100, 100, 100},
    {1000, 1000, 1000},
}

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('teleport', function() --регистрация команды
        lua_thread.create(function() --создание потока (что бы можно было использовать wait)
            for i = 1, #coords do --поочередный телепорт от x, y, z из 1 элемента таблицы до последнего (например в данном случае будет 3, если в таблицу добавить еще 1 массив, то будет 4)
                setCharCoordinates(PLAYER_PED, coords[i][1], coords[i][2], coords[i][3]) --телепорт по координатам
                wait(5000) --задержка (в мс)
            end
        end)
    end)
    wait(-1)
end

ну или такой, колхозный способ:
Lua:
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('teleport', function() --регистрация команды
        lua_thread.create(function() --создание потока (что бы можно было использовать wait)
            setCharCoordinates(PLAYER_PED, 0, 0, 0)
            wait(5000)
            setCharCoordinates(PLAYER_PED, 10, 10, 10)
            wait(5000)
            setCharCoordinates(PLAYER_PED, 100, 100, 100)
            wait(5000)
        end)
    end)
    wait(-1)
end

так же пример с командой для добавления координат в таблицу:
Lua:
function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('teleport', function() --регистрация команды
        lua_thread.create(function() --создание потока (что бы можно было использовать wait)
            for i = 1, #coords do --поочередный телепорт от x, y, z из 1 элемента таблицы до последнего (например в данном случае будет 3, если в таблицу добавить еще 1 массив, то будет 4)
                setCharCoordinates(PLAYER_PED, coords[i][1], coords[i][2], coords[i][3]) --телепорт по координатам
                wait(5000) --задержка (в мс)
            end
        end)
    end)
    sampRegisterChatCommand('coords.add', function(arg) --регистрация команды
        if arg:find('(.+) (.+) (.+)') then
            x , y, z = arg:match('(.+) (.+) (.+)')
            table.insert(coords, #coords + 1, {x, y, z})
        else
            sampAddChatMessage('/coords.add [x] [y] [z]', -1)
        end
    end)
    wait(-1)
end
спасибо большое, выручил)