- 1,296
- 1,179
оам data.position.xхочу сказать, что можешь не пытаться ставить настройки для визибла без обходов на инвизибл, так как для инвизибла нужны обходы, для визибла по стандарту нет
оам data.position.xхочу сказать, что можешь не пытаться ставить настройки для визибла без обходов на инвизибл, так как для инвизибла нужны обходы, для визибла по стандарту нет
по началу так и хотел, но сделал как нуб на отправке синхры для большей совместимости с режимом обходов, как нибудь потом перепишуоам data.position.x
Можете скинуть настройки для ДРП?) Я прост не шарю, лечу, норм не кикает. как только долетел, появляются игроки и сразу кикает античит
хз, сейчас только начинаю опускаться под землю, и кик сразуПопробуй 300 в высоту и скорость 300 на АРП не кикает
slot0 = require("samp.events")
require("encoding").default = "CP1251"
slot4 = require("encoding").UTF8
slot5, slot6 = getScreenResolution()
slot7 = require("imgui").ImBool(false)
slot8 = require("imgui").ImBool(false)
slot9 = 1.2
setposs = false
sendpll = false
function apply_custom_style()
slot0 = slot0
uv0.SwitchContext()
slot0 = uv0.GetStyle()
slot0.WindowRounding = 2
slot0.WindowTitleAlign = uv0.ImVec2(0.5, 0.84)
slot0.ChildWindowRounding = 2
slot0.FrameRounding = 2
slot0.ItemSpacing = uv0.ImVec2(5, 4)
slot0.ScrollbarSize = 13
slot0.ScrollbarRounding = 0
slot0.GrabMinSize = 8
slot0.GrabRounding = 1
slot0.Colors[uv0.Col.Text] = slot3(1, 1, 1, 1)
slot0.Colors[uv0.Col.TextDisabled] = slot3(0.5, 0.5, 0.5, 1)
slot0.Colors[uv0.Col.WindowBg] = slot3(0.06, 0.06, 0.06, 0.94)
slot0.Colors[uv0.Col.ChildWindowBg] = slot3(1, 1, 1, 0)
slot0.Colors[uv0.Col.PopupBg] = slot3(0.08, 0.08, 0.08, 0.94)
slot0.Colors[uv0.Col.ComboBg] = slot0.Colors[uv0.Col.PopupBg]
slot0.Colors[uv0.Col.Border] = slot3(0.43, 0.43, 0.5, 0.5)
slot0.Colors[uv0.Col.BorderShadow] = slot3(0, 0, 0, 0)
slot0.Colors[uv0.Col.FrameBg] = slot3(0.16, 0.29, 0.48, 0.54)
slot0.Colors[uv0.Col.FrameBgHovered] = slot3(0.26, 0.59, 0.98, 0.4)
slot0.Colors[uv0.Col.FrameBgActive] = slot3(0.26, 0.59, 0.98, 0.67)
slot0.Colors[uv0.Col.TitleBg] = slot3(0.04, 0.04, 0.04, 1)
slot0.Colors[uv0.Col.TitleBgActive] = slot3(0.16, 0.29, 0.48, 1)
slot0.Colors[uv0.Col.TitleBgCollapsed] = slot3(0, 0, 0, 0.51)
slot0.Colors[uv0.Col.MenuBarBg] = slot3(0.14, 0.14, 0.14, 1)
slot0.Colors[uv0.Col.ScrollbarBg] = slot3(0.02, 0.02, 0.02, 0.53)
slot0.Colors[uv0.Col.ScrollbarGrab] = slot3(0.31, 0.31, 0.31, 1)
slot0.Colors[uv0.Col.ScrollbarGrabHovered] = slot3(0.41, 0.41, 0.41, 1)
slot0.Colors[uv0.Col.ScrollbarGrabActive] = slot3(0.51, 0.51, 0.51, 1)
slot0.Colors[uv0.Col.CheckMark] = slot3(0.26, 0.59, 0.98, 1)
slot0.Colors[uv0.Col.SliderGrab] = slot3(0.24, 0.52, 0.88, 1)
slot0.Colors[uv0.Col.SliderGrabActive] = slot3(0.26, 0.59, 0.98, 1)
slot0.Colors[uv0.Col.Button] = slot3(0.26, 0.59, 0.98, 0.4)
slot0.Colors[uv0.Col.ButtonHovered] = slot3(0.26, 0.59, 0.98, 1)
slot0.Colors[uv0.Col.ButtonActive] = slot3(0.06, 0.53, 0.98, 1)
slot0.Colors[uv0.Col.Header] = slot3(0.26, 0.59, 0.98, 0.31)
slot0.Colors[uv0.Col.HeaderHovered] = slot3(0.26, 0.59, 0.98, 0.8)
slot0.Colors[uv0.Col.HeaderActive] = slot3(0.26, 0.59, 0.98, 1)
slot0.Colors[uv0.Col.Separator] = slot0.Colors[uv0.Col.Border]
slot0.Colors[uv0.Col.SeparatorHovered] = slot3(0.26, 0.59, 0.98, 0.78)
slot0.Colors[uv0.Col.SeparatorActive] = slot3(0.26, 0.59, 0.98, 1)
slot0.Colors[uv0.Col.ResizeGrip] = slot3(0.26, 0.59, 0.98, 0.25)
slot0.Colors[uv0.Col.ResizeGripHovered] = slot3(0.26, 0.59, 0.98, 0.67)
slot0.Colors[uv0.Col.ResizeGripActive] = slot3(0.26, 0.59, 0.98, 0.95)
slot0.Colors[uv0.Col.CloseButton] = slot3(0.41, 0.41, 0.41, 0.5)
slot0.Colors[uv0.Col.CloseButtonHovered] = slot3(0.98, 0.39, 0.36, 1)
slot0.Colors[uv0.Col.CloseButtonActive] = slot3(0.98, 0.39, 0.36, 1)
slot0.Colors[uv0.Col.PlotLines] = slot3(0.61, 0.61, 0.61, 1)
slot0.Colors[uv0.Col.PlotLinesHovered] = slot3(1, 0.43, 0.35, 1)
slot0.Colors[uv0.Col.PlotHistogram] = slot3(0.9, 0.7, 0, 1)
slot0.Colors[uv0.Col.PlotHistogramHovered] = slot3(1, 0.6, 0, 1)
slot0.Colors[uv0.Col.TextSelectedBg] = slot3(0.26, 0.59, 0.98, 0.35)
slot0.Colors[uv0.Col.ModalWindowDarkening] = slot3(0.8, 0.8, 0.8, 0.35)
end
apply_custom_style()
if not doesFileExist("moonloader/config/coord.ini") then
require("inicfg").save({
main = {
delta = 1,
height = -10,
time = 0,
surfX = 0,
surfZ = 0,
surfY = 0,
nopSetPos = false,
nopPlayerSync = false,
mSpeedZ = 0,
mSpeedY = 0,
visible = true,
mSpeedX = 0,
bypass = false
}
}, "coord.ini")
end
slot3.save(slot10, "coord.ini")
slot11 = slot1.ImInt(slot3.load(slot10, "coord.ini").main.time)
slot12 = slot1.ImInt(slot3.load(slot10, "coord.ini").main.delta)
slot13 = slot1.ImInt(slot3.load(slot10, "coord.ini").main.height)
slot14 = slot1.ImFloat(slot3.load(slot10, "coord.ini").main.mSpeedX)
slot15 = slot1.ImFloat(slot3.load(slot10, "coord.ini").main.mSpeedY)
slot16 = slot1.ImFloat(slot3.load(slot10, "coord.ini").main.mSpeedZ)
slot17 = slot1.ImFloat(slot3.load(slot10, "coord.ini").main.surfX)
slot18 = slot1.ImFloat(slot3.load(slot10, "coord.ini").main.surfY)
slot19 = slot1.ImFloat(slot3.load(slot10, "coord.ini").main.surfZ)
slot20 = slot1.ImBool(slot3.load(slot10, "coord.ini").main.nopPlayerSync)
slot21 = slot1.ImBool(slot3.load(slot10, "coord.ini").main.nopSetPos)
slot22 = slot3.load(slot10, "coord.ini").main.visible
slot23 = slot3.load(slot10, "coord.ini").main.bypass
format = "%.2f"
function main()
repeat
wait(0)
until isSampAvailable()
sampAddChatMessage("{FF5656}[CoordMaster]: {FFFFFF}Автор:{FF5656} Mscr", -1)
sampRegisterChatCommand("cgo", function ()
res, x, y, z = getTargetBlipCoordinatesFixed()
if res then
cordtp(x, y, z)
end
end)
sampRegisterChatCommand("cgoc", function ()
if isCharOnFoot(PLAYER_PED) then
mres, mx, my, mz = SearchMarker()
if mres then
cordtp(mx, my, mz)
end
end
end)
sampRegisterChatCommand("cmenu", function ()
uv0.v = not uv0.v
end)
uv1.ShowCursor = false
uv1.Process = true
wait(-1)
end
button = slot4("Режим обходов")
function slot1.OnDrawFrame()
uv0.ShowCursor = false
if uv1.v then
window_f()
end
if uv2.v then
uv1.v = false
uv0.ShowCursor = true
uv0.SetNextWindowPos(uv0.ImVec2(uv3 / 2, uv4 / 2), uv0.Cond.FirstUseEver, uv0.ImVec2(0.5, 0.5))
uv0.SetNextWindowSize(uv0.ImVec2(240 * uv5, 225 * uv5))
uv0.Begin("obhodi by mscr", uv2, uv0.WindowFlags.NoCollapse + uv0.WindowFlags.NoResize)
if uv0.Button(button, uv0.ImVec2(-1, 0)) then
uv6 = not uv6
if not uv6 then
button = uv7("Включить режим обходов")
else
button = uv7("[Выключить режим обходов]")
end
end
if uv6 then
uv0.SliderFloat("moveSpeed.x", uv8, -10, 10, format)
uv0.SliderFloat("moveSpeed.y", uv9, -10, 10, format)
uv0.SliderFloat("moveSpeed.z", uv10, -10, 10, format)
uv0.SliderFloat("surfing.x", uv11, -10, 10, format)
uv0.SliderFloat("surfing.y", uv12, -10, 10, format)
uv0.SliderFloat("surfing.z", uv13, -10, 10, format)
if uv0.Checkbox("NOP onSendPlayerSync", uv14) then
if uv14.v then
sendpll = true
else
sendpll = false
end
end
if uv0.Checkbox("NOP onSetPlayerPos", uv15) then
if uv15.v then
setposs = true
else
setposs = false
end
end
if uv0.Button(uv7("Сохранить изменения"), uv0.ImVec2(-1, 0)) then
uv16.main.bypass = uv6
uv16.main.mSpeedX = uv8.v
uv16.main.mSpeedY = uv9.v
uv16.main.mSpeedZ = uv10.v
uv16.main.surfX = uv11.v
uv16.main.surfY = uv12.v
uv16.main.surfZ = uv13.v
uv16.main.nopPlayerSync = uv14.v
uv16.main.nopSetPos = uv15.v
uv17.save(uv16, "coord.ini")
end
end
uv0.End()
end
end
function window_f()
uv0.ShowCursor = true
uv0.SetNextWindowPos(uv0.ImVec2(uv1 / 2, uv2 / 2), uv0.Cond.FirstUseEver, uv0.ImVec2(0.5, 0.5))
uv0.SetNextWindowSize(uv0.ImVec2(240 * uv3, 205 * uv3))
uv0.Begin("mCord by mscr", uv4, uv0.WindowFlags.NoCollapse + uv0.WindowFlags.NoResize)
if uv5 then
uv0.TextColoredRGB("Mode: {FF0000}Visual Visible")
else
uv0.TextColoredRGB("Mode: {CCFF00}Visual Invisible")
end
uv0.Text(" ")
uv0.SliderInt(uv6("Расстояние"), uv7, 1, 80)
uv0.SliderInt(uv6("Задержка"), uv8, 0, 5000)
uv0.SliderInt(uv6("Высота"), uv9, -50, 0)
uv0.Text(" ")
if uv0.Button(uv6("Сменить режим видимости"), uv0.ImVec2(-1, 40)) then
uv5 = not uv5
end
if uv0.Button(uv6("Сохранить изменения"), uv0.ImVec2(-1, 0)) then
uv10.main.time = uv8.v
uv10.main.delta = uv7.v
uv10.main.height = uv9.v
uv10.main.visible = uv5
uv11.save(uv10, "coord.ini")
end
if uv0.Button(uv6("Обходы"), uv0.ImVec2(-1, 0)) then
uv12.v = not uv12.v
end
uv0.End()
end
function cordtp(slot0, slot1, slot2)
lua_thread.create(function ()
if uv0 then
state = true
freezeCharPosition(PLAYER_PED, true)
slot0, slot1, slot2 = getCharCoordinates(PLAYER_PED)
slot3 = getHeadingFromVector2d(uv1 - slot0, uv2 - slot1)
while uv4.v < math.abs(slot2 - uv3.v) do
if slot2 < uv3.v then
setCharCoordinates(PLAYER_PED, slot0, slot1, slot2 - 1 + uv4.v)
else
setCharCoordinates(PLAYER_PED, slot0, slot1, slot2 - 1 - uv4.v)
end
slot0, slot1, slot2 = getCharCoordinates(PLAYER_PED)
wait(uv5.v)
end
setCharCoordinates(PLAYER_PED, slot0, slot1, uv3.v)
while uv4.v < getDistanceBetweenCoords2d(uv1, uv2, slot0, slot1) do
setCharCoordinates(PLAYER_PED, slot0 - uv4.v * math.sin(math.rad(slot3)), slot1 + uv4.v * math.cos(math.rad(slot3)), slot2 - 1)
slot0, slot1, slot2 = getCharCoordinates(PLAYER_PED)
slot3 = getHeadingFromVector2d(uv1 - slot4, uv2 - slot5)
wait(uv5.v)
end
while uv4.v < math.abs(slot2 - uv6) do
if slot2 < uv6 then
setCharCoordinates(PLAYER_PED, slot0, slot1, slot2 - 1 + uv4.v)
else
setCharCoordinates(PLAYER_PED, slot0, slot1, slot2 - 1 - uv4.v)
end
slot0, slot1, slot2 = getCharCoordinates(PLAYER_PED)
wait(uv5.v)
end
setCharCoordinates(PLAYER_PED, uv1, uv2, uv6)
setposs = false
sendpll = false
freezeCharPosition(PLAYER_PED, false)
state = false
else
state = true
freezeCharPosition(PLAYER_PED, true)
slot4, slot5, slot2 = getCharCoordinates(PLAYER_PED)
while true do
wait(0)
if uv4.v < getDistanceBetweenCoords2d(slot0, slot1, uv1, uv2) then
sendOnFootPosition(slot0, slot1 + math.cos(getAngle(slot0, slot1, uv1, uv2)) * uv4.v, slot2 - uv3.v)
wait(uv5.v)
else
setCharCoordinates(PLAYER_PED, uv1, uv2, uv6)
setposs = false
sendpll = false
freezeCharPosition(PLAYER_PED, false)
state = false
break
end
end
end
end)
end
function sendOnFootPosition(slot0, slot1, slot2)
sendOnfootSync(slot0, slot1, slot2)
sampForceOnfootSync()
end
function slot1.TextColoredRGB(slot0)
slot2 = uv0.GetStyle().Colors
slot3 = uv0.ImVec4
function slot4(slot0)
return bit.band(bit.rshift(slot0, 24), 255), bit.band(bit.rshift(slot0, 16), 255), bit.band(bit.rshift(slot0, 8), 255), bit.band(slot0, 255)
end
function slot5(slot0)
if slot0:sub(1, 6):upper() == "SSSSSS" then
return uv1(uv0[1].x, uv0[1].y, uv0[1].z, (tonumber(slot0:sub(7, 8), 16) or uv0[1].w * 255) / 255)
end
if type(type(slot0) == "string" and tonumber(slot0, 16) or slot0) ~= "number" then
return
end
slot7, slot8, slot9, slot10 = uv2(slot1)
return uv3.ImColor(slot2, slot3, slot4, slot5):GetVec4()
end
function (slot0)
for slot4 in slot0:gmatch("[^\r\n]+") do
slot5 = {}
slot6 = {}
slot7 = 1
while slot4:gsub("{(......)}", "{%1FF}"):find("{........}") do
slot8, slot9 = slot4:find("{........}")
if uv0(slot4:sub(slot8 + 1, slot9 - 1)) then
slot5[#slot5 + 1] = slot4:sub(slot9 + 1, #slot4)
slot5[#slot5] = slot4:sub(slot7, slot8 - 1)
slot6[#slot6 + 1] = slot10
slot7 = slot8
end
slot4 = slot4:sub(1, slot8 - 1) .. slot4:sub(slot9 + 1, #slot4)
end
if slot5[0] then
for slot11 = 0, #slot5, 1 do
uv1.TextColored(slot6[slot11] or uv2[1], uv3(slot5[slot11]))
uv1.SameLine(nil, 0)
end
uv1.NewLine()
else
uv1.Text(uv3(slot4))
end
end
end(slot0)
end
function slot0.onSendPlayerSync(slot0)
if state and uv0 then
slot0.surfingOffsets.z = uv3.v
slot0.surfingOffsets.y = uv2.v
slot0.surfingOffsets.x = uv1.v
slot0.moveSpeed.z = uv6.v
slot0.moveSpeed.y = uv5.v
slot0.moveSpeed.x = uv4.v
if sendpll then
return false
end
end
end
function slot0.onSetPlayerPos()
if state and setposs then
return false
end
end
function sendOnfootSync(slot0, slot1, slot2)
slot3 = allocateMemory(68)
slot4, slot7 = sampGetPlayerIdByCharHandle(PLAYER_PED)
sampStorePlayerOnfootData(slot5, slot3)
setStructFloatElement(slot3, 6, slot0, false)
setStructFloatElement(slot3, 10, slot1, false)
setStructFloatElement(slot3, 14, slot2, false)
setStructFloatElement(slot3, 38, 0.9, false)
setStructFloatElement(slot3, 42, 0.9, false)
setStructFloatElement(slot3, 46, -0.9, false)
sampSendOnfootData(slot3)
freeMemory(slot3)
end
function getTargetBlipCoordinatesFixed()
slot0, slot1, slot2, slot3 = getTargetBlipCoordinates()
if not slot0 then
return false
end
requestCollision(slot1, slot2)
loadScene(slot1, slot2, slot3)
slot8, slot9, slot10, slot11 = getTargetBlipCoordinates()
return slot4, slot5, slot6, slot7
end
function getAngle(slot0, slot1, slot2, slot3)
return math.atan2(slot2 - slot0, slot3 - slot1)
end
function SearchMarker(slot0, slot1, slot2)
slot3 = 0
slot4 = 0
slot5 = 0
slot6 = false
for slot10 = 0, 31, 1 do
slot11 = 0
if representIntAsFloat(readMemory(13103464 + slot10 * 56 + 0, 4, false)) ~= 0 or representIntAsFloat(readMemory(13103464 + slot10 * 56 + 4, 4, false)) ~= 0 or representIntAsFloat(readMemory(13103464 + slot10 * 56 + 8, 4, false)) ~= 0 then
slot3 = slot12
slot4 = representIntAsFloat(readMemory(13103464 + slot10 * 56 + 4, 4, false))
slot5 = representIntAsFloat(readMemory(13103464 + slot10 * 56 + 8, 4, false))
slot6 = true
end
end
return slot6, slot3, slot4, slot5
end
спс за 450 строк декомпила, так трудно было достатьДля тех кто пришел за кодом
Lua:slot0 = require("samp.events") require("encoding").default = "CP1251" slot4 = require("encoding").UTF8 slot5, slot6 = getScreenResolution() slot7 = require("imgui").ImBool(false) slot8 = require("imgui").ImBool(false) slot9 = 1.2 setposs = false sendpll = false function apply_custom_style() slot0 = slot0 uv0.SwitchContext() slot0 = uv0.GetStyle() slot0.WindowRounding = 2 slot0.WindowTitleAlign = uv0.ImVec2(0.5, 0.84) slot0.ChildWindowRounding = 2 slot0.FrameRounding = 2 slot0.ItemSpacing = uv0.ImVec2(5, 4) slot0.ScrollbarSize = 13 slot0.ScrollbarRounding = 0 slot0.GrabMinSize = 8 slot0.GrabRounding = 1 slot0.Colors[uv0.Col.Text] = slot3(1, 1, 1, 1) slot0.Colors[uv0.Col.TextDisabled] = slot3(0.5, 0.5, 0.5, 1) slot0.Colors[uv0.Col.WindowBg] = slot3(0.06, 0.06, 0.06, 0.94) slot0.Colors[uv0.Col.ChildWindowBg] = slot3(1, 1, 1, 0) slot0.Colors[uv0.Col.PopupBg] = slot3(0.08, 0.08, 0.08, 0.94) slot0.Colors[uv0.Col.ComboBg] = slot0.Colors[uv0.Col.PopupBg] slot0.Colors[uv0.Col.Border] = slot3(0.43, 0.43, 0.5, 0.5) slot0.Colors[uv0.Col.BorderShadow] = slot3(0, 0, 0, 0) slot0.Colors[uv0.Col.FrameBg] = slot3(0.16, 0.29, 0.48, 0.54) slot0.Colors[uv0.Col.FrameBgHovered] = slot3(0.26, 0.59, 0.98, 0.4) slot0.Colors[uv0.Col.FrameBgActive] = slot3(0.26, 0.59, 0.98, 0.67) slot0.Colors[uv0.Col.TitleBg] = slot3(0.04, 0.04, 0.04, 1) slot0.Colors[uv0.Col.TitleBgActive] = slot3(0.16, 0.29, 0.48, 1) slot0.Colors[uv0.Col.TitleBgCollapsed] = slot3(0, 0, 0, 0.51) slot0.Colors[uv0.Col.MenuBarBg] = slot3(0.14, 0.14, 0.14, 1) slot0.Colors[uv0.Col.ScrollbarBg] = slot3(0.02, 0.02, 0.02, 0.53) slot0.Colors[uv0.Col.ScrollbarGrab] = slot3(0.31, 0.31, 0.31, 1) slot0.Colors[uv0.Col.ScrollbarGrabHovered] = slot3(0.41, 0.41, 0.41, 1) slot0.Colors[uv0.Col.ScrollbarGrabActive] = slot3(0.51, 0.51, 0.51, 1) slot0.Colors[uv0.Col.CheckMark] = slot3(0.26, 0.59, 0.98, 1) slot0.Colors[uv0.Col.SliderGrab] = slot3(0.24, 0.52, 0.88, 1) slot0.Colors[uv0.Col.SliderGrabActive] = slot3(0.26, 0.59, 0.98, 1) slot0.Colors[uv0.Col.Button] = slot3(0.26, 0.59, 0.98, 0.4) slot0.Colors[uv0.Col.ButtonHovered] = slot3(0.26, 0.59, 0.98, 1) slot0.Colors[uv0.Col.ButtonActive] = slot3(0.06, 0.53, 0.98, 1) slot0.Colors[uv0.Col.Header] = slot3(0.26, 0.59, 0.98, 0.31) slot0.Colors[uv0.Col.HeaderHovered] = slot3(0.26, 0.59, 0.98, 0.8) slot0.Colors[uv0.Col.HeaderActive] = slot3(0.26, 0.59, 0.98, 1) slot0.Colors[uv0.Col.Separator] = slot0.Colors[uv0.Col.Border] slot0.Colors[uv0.Col.SeparatorHovered] = slot3(0.26, 0.59, 0.98, 0.78) slot0.Colors[uv0.Col.SeparatorActive] = slot3(0.26, 0.59, 0.98, 1) slot0.Colors[uv0.Col.ResizeGrip] = slot3(0.26, 0.59, 0.98, 0.25) slot0.Colors[uv0.Col.ResizeGripHovered] = slot3(0.26, 0.59, 0.98, 0.67) slot0.Colors[uv0.Col.ResizeGripActive] = slot3(0.26, 0.59, 0.98, 0.95) slot0.Colors[uv0.Col.CloseButton] = slot3(0.41, 0.41, 0.41, 0.5) slot0.Colors[uv0.Col.CloseButtonHovered] = slot3(0.98, 0.39, 0.36, 1) slot0.Colors[uv0.Col.CloseButtonActive] = slot3(0.98, 0.39, 0.36, 1) slot0.Colors[uv0.Col.PlotLines] = slot3(0.61, 0.61, 0.61, 1) slot0.Colors[uv0.Col.PlotLinesHovered] = slot3(1, 0.43, 0.35, 1) slot0.Colors[uv0.Col.PlotHistogram] = slot3(0.9, 0.7, 0, 1) slot0.Colors[uv0.Col.PlotHistogramHovered] = slot3(1, 0.6, 0, 1) slot0.Colors[uv0.Col.TextSelectedBg] = slot3(0.26, 0.59, 0.98, 0.35) slot0.Colors[uv0.Col.ModalWindowDarkening] = slot3(0.8, 0.8, 0.8, 0.35) end apply_custom_style() if not doesFileExist("moonloader/config/coord.ini") then require("inicfg").save({ main = { delta = 1, height = -10, time = 0, surfX = 0, surfZ = 0, surfY = 0, nopSetPos = false, nopPlayerSync = false, mSpeedZ = 0, mSpeedY = 0, visible = true, mSpeedX = 0, bypass = false } }, "coord.ini") end slot3.save(slot10, "coord.ini") slot11 = slot1.ImInt(slot3.load(slot10, "coord.ini").main.time) slot12 = slot1.ImInt(slot3.load(slot10, "coord.ini").main.delta) slot13 = slot1.ImInt(slot3.load(slot10, "coord.ini").main.height) slot14 = slot1.ImFloat(slot3.load(slot10, "coord.ini").main.mSpeedX) slot15 = slot1.ImFloat(slot3.load(slot10, "coord.ini").main.mSpeedY) slot16 = slot1.ImFloat(slot3.load(slot10, "coord.ini").main.mSpeedZ) slot17 = slot1.ImFloat(slot3.load(slot10, "coord.ini").main.surfX) slot18 = slot1.ImFloat(slot3.load(slot10, "coord.ini").main.surfY) slot19 = slot1.ImFloat(slot3.load(slot10, "coord.ini").main.surfZ) slot20 = slot1.ImBool(slot3.load(slot10, "coord.ini").main.nopPlayerSync) slot21 = slot1.ImBool(slot3.load(slot10, "coord.ini").main.nopSetPos) slot22 = slot3.load(slot10, "coord.ini").main.visible slot23 = slot3.load(slot10, "coord.ini").main.bypass format = "%.2f" function main() repeat wait(0) until isSampAvailable() sampAddChatMessage("{FF5656}[CoordMaster]: {FFFFFF}Автор:{FF5656} Mscr", -1) sampRegisterChatCommand("cgo", function () res, x, y, z = getTargetBlipCoordinatesFixed() if res then cordtp(x, y, z) end end) sampRegisterChatCommand("cgoc", function () if isCharOnFoot(PLAYER_PED) then mres, mx, my, mz = SearchMarker() if mres then cordtp(mx, my, mz) end end end) sampRegisterChatCommand("cmenu", function () uv0.v = not uv0.v end) uv1.ShowCursor = false uv1.Process = true wait(-1) end button = slot4("Режим обходов") function slot1.OnDrawFrame() uv0.ShowCursor = false if uv1.v then window_f() end if uv2.v then uv1.v = false uv0.ShowCursor = true uv0.SetNextWindowPos(uv0.ImVec2(uv3 / 2, uv4 / 2), uv0.Cond.FirstUseEver, uv0.ImVec2(0.5, 0.5)) uv0.SetNextWindowSize(uv0.ImVec2(240 * uv5, 225 * uv5)) uv0.Begin("obhodi by mscr", uv2, uv0.WindowFlags.NoCollapse + uv0.WindowFlags.NoResize) if uv0.Button(button, uv0.ImVec2(-1, 0)) then uv6 = not uv6 if not uv6 then button = uv7("Включить режим обходов") else button = uv7("[Выключить режим обходов]") end end if uv6 then uv0.SliderFloat("moveSpeed.x", uv8, -10, 10, format) uv0.SliderFloat("moveSpeed.y", uv9, -10, 10, format) uv0.SliderFloat("moveSpeed.z", uv10, -10, 10, format) uv0.SliderFloat("surfing.x", uv11, -10, 10, format) uv0.SliderFloat("surfing.y", uv12, -10, 10, format) uv0.SliderFloat("surfing.z", uv13, -10, 10, format) if uv0.Checkbox("NOP onSendPlayerSync", uv14) then if uv14.v then sendpll = true else sendpll = false end end if uv0.Checkbox("NOP onSetPlayerPos", uv15) then if uv15.v then setposs = true else setposs = false end end if uv0.Button(uv7("Сохранить изменения"), uv0.ImVec2(-1, 0)) then uv16.main.bypass = uv6 uv16.main.mSpeedX = uv8.v uv16.main.mSpeedY = uv9.v uv16.main.mSpeedZ = uv10.v uv16.main.surfX = uv11.v uv16.main.surfY = uv12.v uv16.main.surfZ = uv13.v uv16.main.nopPlayerSync = uv14.v uv16.main.nopSetPos = uv15.v uv17.save(uv16, "coord.ini") end end uv0.End() end end function window_f() uv0.ShowCursor = true uv0.SetNextWindowPos(uv0.ImVec2(uv1 / 2, uv2 / 2), uv0.Cond.FirstUseEver, uv0.ImVec2(0.5, 0.5)) uv0.SetNextWindowSize(uv0.ImVec2(240 * uv3, 205 * uv3)) uv0.Begin("mCord by mscr", uv4, uv0.WindowFlags.NoCollapse + uv0.WindowFlags.NoResize) if uv5 then uv0.TextColoredRGB("Mode: {FF0000}Visual Visible") else uv0.TextColoredRGB("Mode: {CCFF00}Visual Invisible") end uv0.Text(" ") uv0.SliderInt(uv6("Расстояние"), uv7, 1, 80) uv0.SliderInt(uv6("Задержка"), uv8, 0, 5000) uv0.SliderInt(uv6("Высота"), uv9, -50, 0) uv0.Text(" ") if uv0.Button(uv6("Сменить режим видимости"), uv0.ImVec2(-1, 40)) then uv5 = not uv5 end if uv0.Button(uv6("Сохранить изменения"), uv0.ImVec2(-1, 0)) then uv10.main.time = uv8.v uv10.main.delta = uv7.v uv10.main.height = uv9.v uv10.main.visible = uv5 uv11.save(uv10, "coord.ini") end if uv0.Button(uv6("Обходы"), uv0.ImVec2(-1, 0)) then uv12.v = not uv12.v end uv0.End() end function cordtp(slot0, slot1, slot2) lua_thread.create(function () if uv0 then state = true freezeCharPosition(PLAYER_PED, true) slot0, slot1, slot2 = getCharCoordinates(PLAYER_PED) slot3 = getHeadingFromVector2d(uv1 - slot0, uv2 - slot1) while uv4.v < math.abs(slot2 - uv3.v) do if slot2 < uv3.v then setCharCoordinates(PLAYER_PED, slot0, slot1, slot2 - 1 + uv4.v) else setCharCoordinates(PLAYER_PED, slot0, slot1, slot2 - 1 - uv4.v) end slot0, slot1, slot2 = getCharCoordinates(PLAYER_PED) wait(uv5.v) end setCharCoordinates(PLAYER_PED, slot0, slot1, uv3.v) while uv4.v < getDistanceBetweenCoords2d(uv1, uv2, slot0, slot1) do setCharCoordinates(PLAYER_PED, slot0 - uv4.v * math.sin(math.rad(slot3)), slot1 + uv4.v * math.cos(math.rad(slot3)), slot2 - 1) slot0, slot1, slot2 = getCharCoordinates(PLAYER_PED) slot3 = getHeadingFromVector2d(uv1 - slot4, uv2 - slot5) wait(uv5.v) end while uv4.v < math.abs(slot2 - uv6) do if slot2 < uv6 then setCharCoordinates(PLAYER_PED, slot0, slot1, slot2 - 1 + uv4.v) else setCharCoordinates(PLAYER_PED, slot0, slot1, slot2 - 1 - uv4.v) end slot0, slot1, slot2 = getCharCoordinates(PLAYER_PED) wait(uv5.v) end setCharCoordinates(PLAYER_PED, uv1, uv2, uv6) setposs = false sendpll = false freezeCharPosition(PLAYER_PED, false) state = false else state = true freezeCharPosition(PLAYER_PED, true) slot4, slot5, slot2 = getCharCoordinates(PLAYER_PED) while true do wait(0) if uv4.v < getDistanceBetweenCoords2d(slot0, slot1, uv1, uv2) then sendOnFootPosition(slot0, slot1 + math.cos(getAngle(slot0, slot1, uv1, uv2)) * uv4.v, slot2 - uv3.v) wait(uv5.v) else setCharCoordinates(PLAYER_PED, uv1, uv2, uv6) setposs = false sendpll = false freezeCharPosition(PLAYER_PED, false) state = false break end end end end) end function sendOnFootPosition(slot0, slot1, slot2) sendOnfootSync(slot0, slot1, slot2) sampForceOnfootSync() end function slot1.TextColoredRGB(slot0) slot2 = uv0.GetStyle().Colors slot3 = uv0.ImVec4 function slot4(slot0) return bit.band(bit.rshift(slot0, 24), 255), bit.band(bit.rshift(slot0, 16), 255), bit.band(bit.rshift(slot0, 8), 255), bit.band(slot0, 255) end function slot5(slot0) if slot0:sub(1, 6):upper() == "SSSSSS" then return uv1(uv0[1].x, uv0[1].y, uv0[1].z, (tonumber(slot0:sub(7, 8), 16) or uv0[1].w * 255) / 255) end if type(type(slot0) == "string" and tonumber(slot0, 16) or slot0) ~= "number" then return end slot7, slot8, slot9, slot10 = uv2(slot1) return uv3.ImColor(slot2, slot3, slot4, slot5):GetVec4() end function (slot0) for slot4 in slot0:gmatch("[^\r\n]+") do slot5 = {} slot6 = {} slot7 = 1 while slot4:gsub("{(......)}", "{%1FF}"):find("{........}") do slot8, slot9 = slot4:find("{........}") if uv0(slot4:sub(slot8 + 1, slot9 - 1)) then slot5[#slot5 + 1] = slot4:sub(slot9 + 1, #slot4) slot5[#slot5] = slot4:sub(slot7, slot8 - 1) slot6[#slot6 + 1] = slot10 slot7 = slot8 end slot4 = slot4:sub(1, slot8 - 1) .. slot4:sub(slot9 + 1, #slot4) end if slot5[0] then for slot11 = 0, #slot5, 1 do uv1.TextColored(slot6[slot11] or uv2[1], uv3(slot5[slot11])) uv1.SameLine(nil, 0) end uv1.NewLine() else uv1.Text(uv3(slot4)) end end end(slot0) end function slot0.onSendPlayerSync(slot0) if state and uv0 then slot0.surfingOffsets.z = uv3.v slot0.surfingOffsets.y = uv2.v slot0.surfingOffsets.x = uv1.v slot0.moveSpeed.z = uv6.v slot0.moveSpeed.y = uv5.v slot0.moveSpeed.x = uv4.v if sendpll then return false end end end function slot0.onSetPlayerPos() if state and setposs then return false end end function sendOnfootSync(slot0, slot1, slot2) slot3 = allocateMemory(68) slot4, slot7 = sampGetPlayerIdByCharHandle(PLAYER_PED) sampStorePlayerOnfootData(slot5, slot3) setStructFloatElement(slot3, 6, slot0, false) setStructFloatElement(slot3, 10, slot1, false) setStructFloatElement(slot3, 14, slot2, false) setStructFloatElement(slot3, 38, 0.9, false) setStructFloatElement(slot3, 42, 0.9, false) setStructFloatElement(slot3, 46, -0.9, false) sampSendOnfootData(slot3) freeMemory(slot3) end function getTargetBlipCoordinatesFixed() slot0, slot1, slot2, slot3 = getTargetBlipCoordinates() if not slot0 then return false end requestCollision(slot1, slot2) loadScene(slot1, slot2, slot3) slot8, slot9, slot10, slot11 = getTargetBlipCoordinates() return slot4, slot5, slot6, slot7 end function getAngle(slot0, slot1, slot2, slot3) return math.atan2(slot2 - slot0, slot3 - slot1) end function SearchMarker(slot0, slot1, slot2) slot3 = 0 slot4 = 0 slot5 = 0 slot6 = false for slot10 = 0, 31, 1 do slot11 = 0 if representIntAsFloat(readMemory(13103464 + slot10 * 56 + 0, 4, false)) ~= 0 or representIntAsFloat(readMemory(13103464 + slot10 * 56 + 4, 4, false)) ~= 0 or representIntAsFloat(readMemory(13103464 + slot10 * 56 + 8, 4, false)) ~= 0 then slot3 = slot12 slot4 = representIntAsFloat(readMemory(13103464 + slot10 * 56 + 4, 4, false)) slot5 = representIntAsFloat(readMemory(13103464 + slot10 * 56 + 8, 4, false)) slot6 = true end end return slot6, slot3, slot4, slot5 end