- 243
- 94
- Версия MoonLoader
- .026-beta
вот есть код:
Смотрите, персонаж телепортируется, а мне нужно чтобы он стоял на месте, а потом телепортировался туда, где метка.
Типа визуал
Lua:
script_author('Cort_Quwin')
require "lib.moonloader"
require "lib.sampfuncs"
local sp = require "lib.samp.events"
local mod = import 'notifications.lua'
local ffi = require "ffi"
ffi.cdef[[
void keybd_event(int keycode, int scancode, int flags, int extra);
]]
local coord_master = false
function main()
while not isSampAvailable() do wait(200) end
wait(1000)
sampAddChatMessage("{00FF00}[Teleport]{ffffff} - Успешно загружен! ", -1)
sampAddChatMessage("{00FF00}[Teleport]{ffffff} - Автор: Cort_Quwin", -1)
sampRegisterChatCommand('th', teleport)
while true do
wait(0)
end
end
function teleport()
local result, x, y, z = getTargetBlipCoordinates()
if result and not coord_master then
lua_thread.create(function()
coord_master = true
sampAddChatMessage('{00ff00}[Teleport]{ffffff} - Телепортация начата', -1)
freezeCharPosition(PLAYER_PED, true)
CoordMaster(x, y, z, 3, 80)
freezeCharPosition(PLAYER_PED, false)
coord_master = false
sampAddChatMessage('{00ff00}[Teleport]{ffffff} - Телепортация закончена', -1)
end)
end
end
function CoordMaster(px, py, pz, step, time)
local x, y, z = getCharCoordinates(PLAYER_PED)
local d = getDistanceBetweenCoords3d(px, py, pz, x, y, z)
if d <= step then
setCharCoordinates(PLAYER_PED, px, py, pz)
else
local dx, dy, dz = px - x, py - y, pz - z
x = x + step / d * dx
y = y + step / d * dy
z = z + step / d * dz
setCharCoordinates(PLAYER_PED, x, y, z)
wait(time)
CoordMaster(px, py, pz, step, time)
end
end
Смотрите, персонаж телепортируется, а мне нужно чтобы он стоял на месте, а потом телепортировался туда, где метка.
Типа визуал
Последнее редактирование: