slot1 = false
slot2 = {
408,
456,
430,
446,
452,
453,
454,
472,
473,
478,
484,
493,
554,
543,
595,
422,
605,
600,
567
}
function main()
repeat
wait(1)
until isSampAvailable()
sampAddChatMessage("Teleport For Arz by f0Re3t Loaded | Ver.: 0.0.2", -1)
sampRegisterChatCommand("arztp", arztp)
while true do
wait(0)
end
end
require("samp.events").onSendPlayerSync = function ()
if uv0 then
return false
end
end
require("samp.events").onSendPassengerSync = function ()
if uv0 then
return false
end
end
function arztp(slot0)
if uv0 then
return
end
if isCharInAnyCar(PLAYER_PED) then
return sampAddChatMessage("[ArzTp] Телепорт работает только с ног", -1)
end
slot1, slot2, slot3, slot4 = getTargetBlipCoordinates()
if not slot1 then
return sampAddChatMessage("[ArzTp] Ебни метку на карте куда хочешь попасть", -1)
end
if tonumber(slot0) ~= nil then
requestCollision(slot2, slot3)
loadScene(slot2, slot3, slot4)
uv0 = true
lua_thread.create(tp_proccess_started, slot0, slot2, slot3, getGroundZFor3dCoord(slot2, slot3, 999))
return
end
if FindVehicleForTp() == -1 then
return sampAddChatMessage("[ArzTp] Нет машины в стриме для телепорта, либо кар далеко || Юзай /arztp [ид кара]", -1)
end
requestCollision(slot2, slot3)
loadScene(slot2, slot3, slot4)
uv0 = true
lua_thread.create(tp_proccess_started, slot5, slot2, slot3, getGroundZFor3dCoord(slot2, slot3, 999))
end
function tp_proccess_started(slot0, slot1, slot2, slot3)
slot4, slot5 = sampGetCarHandleBySampVehicleId(slot0)
if not slot4 then
uv0 = false
sampAddChatMessage("[ArzTp] Невалидный ид кара || Процесс телепорта отменен", -1)
return
end
lockPlayerControl(true)
sampAddChatMessage("[ArzTp] Начинаем процесс телепорта", -1)
slot10, slot11, slot12 = getCharCoordinates(PLAYER_PED)
wait(1500)
sendOnfootSync(slot6, slot7, slot8, slot0)
setCharCoordinates(PLAYER_PED, slot1, slot2, slot3)
sampSendEnterVehicle(slot0, true)
sendOnfootSync(slot1, slot2, slot3, slot0)
wait(1000)
sendPassengerSync(slot1, slot2, slot3)
sendOnfootSync(slot1, slot2, slot3, slot0)
sampSendEnterVehicle(slot0, true)
wait(1000)
sendPassengerSync(slot1, slot2, slot3)
uv0 = false
sampAddChatMessage("[ArzTp] Вы успешно были телепортированы", -1)
lockPlayerControl(false)
end
function FindVehicleForTp()
slot0, slot1, slot2 = getCharCoordinates(PLAYER_PED)
for slot6 = 0, 2000, 1 do
slot7, slot8 = sampGetCarHandleBySampVehicleId(slot6)
if slot7 then
slot16, slot17, slot18 = getCarCoordinates(slot8)
if getDistanceBetweenCoords3d(slot0, slot1, slot2, slot9, slot10, slot11) < 80 then
for slot15 = 1, #uv0, 1 do
if isCarModel(slot8, uv0[slot15]) then
return slot6
end
end
end
end
end
return -1
end
function sendPassengerSync(slot0, slot1, slot2)
slot3, slot7 = sampGetPlayerIdByCharHandle(PLAYER_PED)
slot5 = allocateMemory(63)
sampStorePlayerPassengerData(slot4, slot5)
setStructFloatElement(slot5, 12, slot0, false)
setStructFloatElement(slot5, 16, slot1, false)
setStructFloatElement(slot5, 20, slot2, false)
sampSendPassengerData(slot5)
freeMemory(slot5)
end
function sendOnfootSync(slot0, slot1, slot2, slot3)
slot4, slot8 = sampGetPlayerIdByCharHandle(PLAYER_PED)
slot6 = allocateMemory(68)
sampStorePlayerOnfootData(slot5, slot6)
setStructElement(slot6, 37, 1, 3, false)
setStructFloatElement(slot6, 6, slot0, false)
setStructFloatElement(slot6, 10, slot1, false)
setStructFloatElement(slot6, 14, slot2, false)
setStructElement(slot6, 62, 2, slot3, false)
sampSendOnfootData(slot6)
freeMemory(slot6)
end