Визуальный телепорт

qdIbp

Автор темы
Автор темы
Проверенный
1,439
1,181
Версия MoonLoader
.026-beta
Как визуально телепортироваться на определенные координаты
Чтобы я телепортировался а другие видели что я в афк и чтобы можно было выйти из этого процесса
 
Решение
Lua:
local active = false
local savedPos = {0, 0, 0}

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('tp0', function()
        active = not active
        if active then
            savedPos = {getCharCoordinates(PLAYER_PED)}
            setCharCoordinates(PLAYER_PED, 0, 0, 10)
        else
            setCharCoordinates(PLAYER_PED, savedPos[1], savedPos[2], savedPos[3])
        end
    end)
    wait(-1)
end

local sampev = require 'lib.samp.events'

function sampev.onSendPlayerSync()
    return not active
end

chapo

чопа сребдс // @moujeek
Модератор
8,934
11,704
Lua:
local active = false
local savedPos = {0, 0, 0}

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('tp0', function()
        active = not active
        if active then
            savedPos = {getCharCoordinates(PLAYER_PED)}
            setCharCoordinates(PLAYER_PED, 0, 0, 10)
        else
            setCharCoordinates(PLAYER_PED, savedPos[1], savedPos[2], savedPos[3])
        end
    end)
    wait(-1)
end

local sampev = require 'lib.samp.events'

function sampev.onSendPlayerSync()
    return not active
end
 
  • Нравится
Реакции: qdIbp

qdIbp

Автор темы
Автор темы
Проверенный
1,439
1,181
Lua:
local active = false
local savedPos = {0, 0, 0}

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('tp0', function()
        active = not active
        if active then
            savedPos = {getCharCoordinates(PLAYER_PED)}
            setCharCoordinates(PLAYER_PED, 0, 0, 10)
        else
            setCharCoordinates(PLAYER_PED, savedPos[1], savedPos[2], savedPos[3])
        end
    end)
    wait(-1)
end

local sampev = require 'lib.samp.events'

function sampev.onSendPlayerSync()
    return not active
end
@chapoman
Подскажи как можно тепатся под карту, не то написал какафку.
Я понимаю почему он не тепается под карту, можно ли как то обойти эту х? :(
Lua:
local on = require 'lib.samp.events'
local active = false
local savedPos = {0, 0, 0}

function main()
    while not isSampAvailable() do wait(0) end
        sampRegisterChatCommand('tep',function()
            active = not active
            if active then
                savedPos = {getCharCoordinates(PLAYER_PED)}
                setCharCoordinates(PLAYER_PED, 666, 666, 13)
            else
                setCharCoordinates(PLAYER_PED, savedPos[1], savedPos[2], savedPos[3])
            end
        end)
    while true do wait(0)

    end
end

function on.onSendPlayerSync(data)
    if active then data.position.z = savedPos[3] - 3 end
    return not active
end
 

mc_alex

Участник
151
23
@chapoman
Подскажи как можно тепатся под карту, не то написал какафку.
Я понимаю почему он не тепается под карту, можно ли как то обойти эту х? :(
Lua:
local on = require 'lib.samp.events'
local active = false
local savedPos = {0, 0, 0}

function main()
    while not isSampAvailable() do wait(0) end
        sampRegisterChatCommand('tep',function()
            active = not active
            if active then
                savedPos = {getCharCoordinates(PLAYER_PED)}
                setCharCoordinates(PLAYER_PED, 666, 666, 13)
            else
                setCharCoordinates(PLAYER_PED, savedPos[1], savedPos[2], savedPos[3])
            end
        end)
    while true do wait(0)

    end
end

function on.onSendPlayerSync(data)
    if active then data.position.z = savedPos[3] - 3 end
    return not active
end
Ты пытаешься отнять -3 у сохранённой позиции, которая сработает только после выключения скрипта.

Lua:
function on.onSendPlayerSync(data)
    if active then data.position.z = savedPos[3] - 3 end // если скрипт *АКТИВЕН*, тогда у сохранённой позиции отнимается 3
    return not active
end

хотя SavePos работает только после *ОТКЛЮЧЕНИЯ* скрипта

if active then
                savedPos = {getCharCoordinates(PLAYER_PED)}
                setCharCoordinates(PLAYER_PED, 666, 666, 13)
            *else*
                setCharCoordinates(PLAYER_PED, savedPos[1], savedPos[2], savedPos[3])
            end