Улиточка
Известный
- 334
- 105
в консоли будет писать с какого ip происходит коннект к серверу.понял, а как проверить работает скрипт и подключилось ли к прокси?
в консоли будет писать с какого ip происходит коннект к серверу.понял, а как проверить работает скрипт и подключилось ли к прокси?
напишет «успешно подключились к прокси» в консолипонял, а как проверить работает скрипт и подключилось ли к прокси?
А как понять эти координаты? Через какой то скрипт отдельный?slapfix by dimiano, но тебе нужно будет добавить мин координата x, макс координата x, мин координата y, макс координата y, макс высота крыши в интерьере.
ищу Anim and Slap fixs by @Dimiano
название я думаю описывает всю ситуацию, чел был забанен, а темы удалены. Обшвырял весь бх не смог найти исходные файлыwww.blast.hk
ultra fuckА как понять эти координаты? Через какой то скрипт отдельный?
Почему то не роботает у меня автоеда, кто знает почему?С помощью данного скрипта можно узнать в организации бот или нет.
Будет есть, когда высветится надпись "hungry".Lua:function sampev.onDisplayGameText(style, time, text) if text:find("hungry") then newTask(function() wait(math.random(2000, 3500)) sendInput("/cheeps") end) end end
В начало кода если нету, то добавить
Lua:math.randomseed(os.time()*os.clock()*math.random()) math.random(); math.random(); math.random()
!coord x y z - если вручную
или если кодом, то coordStart(x, y, z, time, step, true/false)
Проверь, нет ли у тебя второй функции sampev.onDisplayGameTextПочему то не роботает у меня автоеда, кто знает почему?
А где вообще эти координаты вбивать? Я скачал slapfix by dimiano и SAmin.hmap, где то видел что нужен txt файл, но где его взять?ultra fuck
mod.compressedVector = {
read = function(bs)
local magnitude = bs:readFloat()
if magnitude ~= 0 then
local readCf = mod.compressedFloat.read
return vector3d(readCf(bs) * magnitude, readCf(bs) * magnitude, readCf(bs) * magnitude)
else
return vector3d(0, 0, 0)
end
end,
write = function(bs, data)
local x, y, z = data.x, data.y, data.z
local magnitude = math.sqrt(x * x + y * y + z * z)
bs:writeFloat(magnitude)
if magnitude > 0 then
local writeCf = mod.compressedFloat.write
writeCf(bs, x / magnitude)
writeCf(bs, y / magnitude)
writeCf(bs, z / magnitude)
end
end
}
mod.compressedFloat = {
read = function(bs)
return bs:readInt16() / 32767.5 - 1
end,
write = function(bs, value)
if value < -1 then
value = -1
elseif value > 1 then
value = 1
end
bs:writeInt16((value + 1) * 32767.5)
end
}
mod.compressedVector = {
read = function(bs)
local magnitude = raknetBitStreamReadFloat(bs)
if magnitude ~= 0 then
local readCf = mod.compressedFloat.read
return vector3d(readCf(bs) * magnitude, readCf(bs) * magnitude, readCf(bs) * magnitude)
else
return vector3d(0, 0, 0)
end
end,
write = function(bs, data)
local x, y, z = data.x, data.y, data.z
local magnitude = math.sqrt(x * x + y * y + z * z)
raknetBitStreamWriteFloat(bs, magnitude)
if magnitude > 0 then
local writeCf = mod.compressedFloat.write
writeCf(bs, x / magnitude)
writeCf(bs, y / magnitude)
writeCf(bs, z / magnitude)
end
end
}
mod.compressedFloat = {
read = function(bs)
return raknetBitStreamReadInt16(bs) / 32767.5 - 1
end,
write = function(bs, value)
if value < -1 then
value = -1
elseif value > 1 then
value = 1
end
raknetBitStreamWriteInt16(bs, (value + 1) * 32767.5)
end
}
--Вариант в игре
function sampev.onPlayerSync(playerId, data)
lua_thread.create(function()
if settings.maincfg.sendTargets then
local vecX = data.position.x + (data.moveSpeed.x * 100) -- Увеличенный вектор, для наглядности
local vecY = data.position.y + (data.moveSpeed.y * 100) -- Увеличенный вектор, для наглядности
local vecZ = data.position.z + (data.moveSpeed.z * 100) -- Увеличенный вектор, для наглядности
local wX1, wY1 = convert3DCoordsToScreen(data.position.x, data.position.y, data.position.z)
local wX2, wY2 = convert3DCoordsToScreen(vecX, vecY, vecZ)
renderDrawLine(wX1, wY1, wX2, wY2, 1, 0xFFFFFFFF)--Для игры. Вектор скорости отрисуется корректно.
print("PlayerSyncData:", data.position.x, data.position.y, data.position.z, data.moveSpeed.x * 100, data.moveSpeed.y * 100, data.moveSpeed.z * 100)
--printf здесь выдаст разный по направлению результат вектора скорости
end
end)
end
--Вариант для бота
function sampev.onPlayerSync(playerId, data)
newTask(function()
if settings.maincfg.sendTargets then
local sendData = {
data.position.x,
data.position.y,
data.position.z,
data.position.x + (data.moveSpeed.x * 100),
data.position.y + (data.moveSpeed.y * 100),
data.position.z + (data.moveSpeed.z * 100)
}
renderOnClient(data)--Функция отрабатывает корректно, искажений при передаче нет. Вектор скорости отрисуется некорректно, из-за неверных данных от бота
print("PlayerSyncData:", data.position.x, data.position.y, data.position.z, data.moveSpeed.x * 100, data.moveSpeed.y * 100, data.moveSpeed.z * 100)
--printf здесь выдаст разный по направлению результат вектора скорости
end
end)
end
попробуй с этимВ sampev в событиях onPlayerSync(playerId, data) и onVehicleSync(playerId, vehicleId, data) неверно считывается вектор скорости. Возможно проблема в этой части кода:
Код из bitstream_io для RakSAMP Lite:mod.compressedVector = { read = function(bs) local magnitude = bs:readFloat() if magnitude ~= 0 then local readCf = mod.compressedFloat.read return vector3d(readCf(bs) * magnitude, readCf(bs) * magnitude, readCf(bs) * magnitude) else return vector3d(0, 0, 0) end end, write = function(bs, data) local x, y, z = data.x, data.y, data.z local magnitude = math.sqrt(x * x + y * y + z * z) bs:writeFloat(magnitude) if magnitude > 0 then local writeCf = mod.compressedFloat.write writeCf(bs, x / magnitude) writeCf(bs, y / magnitude) writeCf(bs, z / magnitude) end end } mod.compressedFloat = { read = function(bs) return bs:readInt16() / 32767.5 - 1 end, write = function(bs, value) if value < -1 then value = -1 elseif value > 1 then value = 1 end bs:writeInt16((value + 1) * 32767.5) end }
Код из bitstream_io, используемой в игре:mod.compressedVector = { read = function(bs) local magnitude = raknetBitStreamReadFloat(bs) if magnitude ~= 0 then local readCf = mod.compressedFloat.read return vector3d(readCf(bs) * magnitude, readCf(bs) * magnitude, readCf(bs) * magnitude) else return vector3d(0, 0, 0) end end, write = function(bs, data) local x, y, z = data.x, data.y, data.z local magnitude = math.sqrt(x * x + y * y + z * z) raknetBitStreamWriteFloat(bs, magnitude) if magnitude > 0 then local writeCf = mod.compressedFloat.write writeCf(bs, x / magnitude) writeCf(bs, y / magnitude) writeCf(bs, z / magnitude) end end } mod.compressedFloat = { read = function(bs) return raknetBitStreamReadInt16(bs) / 32767.5 - 1 end, write = function(bs, value) if value < -1 then value = -1 elseif value > 1 then value = 1 end raknetBitStreamWriteInt16(bs, (value + 1) * 32767.5) end }
Например, такой код даёт разный результат в игре и в RakSAMP:
Пример кода:--Вариант в игре function sampev.onPlayerSync(playerId, data) lua_thread.create(function() if settings.maincfg.sendTargets then local vecX = data.position.x + (data.moveSpeed.x * 100) -- Увеличенный вектор, для наглядности local vecY = data.position.y + (data.moveSpeed.y * 100) -- Увеличенный вектор, для наглядности local vecZ = data.position.z + (data.moveSpeed.z * 100) -- Увеличенный вектор, для наглядности local wX1, wY1 = convert3DCoordsToScreen(data.position.x, data.position.y, data.position.z) local wX2, wY2 = convert3DCoordsToScreen(vecX, vecY, vecZ) renderDrawLine(wX1, wY1, wX2, wY2, 1, 0xFFFFFFFF)--Для игры. Вектор скорости отрисуется корректно. print("PlayerSyncData:", data.position.x, data.position.y, data.position.z, data.moveSpeed.x * 100, data.moveSpeed.y * 100, data.moveSpeed.z * 100) --printf здесь выдаст разный по направлению результат вектора скорости end end) end --Вариант для бота function sampev.onPlayerSync(playerId, data) newTask(function() if settings.maincfg.sendTargets then local sendData = { data.position.x, data.position.y, data.position.z, data.position.x + (data.moveSpeed.x * 100), data.position.y + (data.moveSpeed.y * 100), data.position.z + (data.moveSpeed.z * 100) } renderOnClient(data)--Функция отрабатывает корректно, искажений при передаче нет. Вектор скорости отрисуется некорректно, из-за неверных данных от бота print("PlayerSyncData:", data.position.x, data.position.y, data.position.z, data.moveSpeed.x * 100, data.moveSpeed.y * 100, data.moveSpeed.z * 100) --printf здесь выдаст разный по направлению результат вектора скорости end end) end
Дайте пж настраиваемый рекконект на него, чтобы можно было делай после РР настроить
function sampev.onServerMessage(color, text)
if text:find("произойдет технический рестарт сервера") then
reconnect(720000) -- либо свое время в мс
end
end
создать папку slapfix, закинуть туда SAmin.hmap и создать файлик interiors.txt, а после вносить корды через ;А где вообще эти координаты вбивать? Я скачал slapfix by dimiano и SAmin.hmap, где то видел что нужен txt файл, но где его взять?