Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
этот слапфикс реагирует на событие смены позиции бота сервером, а setBotPosition такого события не вызывает
самостоятельно дергай логику слапфикса после makeSlap
SlapFix завязан на событие sampev.onSetPlayerPos(), которое приходит от сервера, поэтому он не реагирует на мой скрипт, как можно имитировать приход этого события от сервера, с моими же координатами, но Z+5(условно), подскажешь, пожалуйста?
SlapFix завязан на событие sampev.onSetPlayerPos(), которое приходит от сервера, поэтому он не реагирует на мой скрипт, как можно имитировать приход этого события от сервера, с моими же координатами, но Z+5(условно), подскажешь, пожалуйста?
function sampev.onSetPlayerPos(x, y, z)
-- обработка слапа
end
function makeSlap(hightIncreaseNum)
local x, y, z = getBotPosition()
local newZ = z + hightIncreaseNum
sampev.onSetPlayerPos(x, y, newZ)
updateBotSync()
end
Насколько помню, так уже пробовал, там ошибка "attempt to call field 'onSetPlayerPos' (a nil value)".
Как я понимаю, на эту функцию можно только подписаться, чтобы что-то сделать, когда сервер обновляет нашу позицию, а вызывать ее вручную нельзя.
Еще вот так пробовал, в надежде что если имитировать отправку этого пакета от сервера, то событие в SlapFix sampev.onSetPlayerPos(pos) будет вызываться, но у меня это почему-то не работает, может что-то не так делаю?
Lua code:
function simulatePlayerSync(x, y, z)
local bs = bitStream.new()
bs:writeFloat(x)
bs:writeFloat(y)
bs:writeFloat(z)
if bs:sendRPC(12) then
print("PlayerSync packet sent successfully.")
else
print("Failed to send PlayerSync packet.")
end
end
function onRunCommand(cmd)
if cmd:find("^!simulate") then
local x, y, z = getBotPosition()
simulatePlayerSync(x, y, z + 5)
return false
end
end
Еще вот так пробовал, в надежде что если имитировать отправку этого пакета от сервера, то событие в SlapFix sampev.onSetPlayerPos(pos) будет вызываться, но у меня это почему-то не работает, может что-то не так делаю?
да, ты делаешь не так.
ты пытаешься отправить рпс смены позиции на сервер, а надо чтобы сервер её прислал, функционала для эмуляции входящих рпс в раксампе текущей версии нет
да, ты делаешь не так.
ты пытаешься отправить рпс смены позиции на сервер, а надо чтобы сервер её прислал, функционала для эмуляции входящих рпс в раксампе текущей версии нет
Адаптированный исходник слапфикса для RakSamp Lite, который создан изначально под ракбот Вся основная информация в исходной теме: https://www.blast.hk/threads/24096/ (Автор drags) Никаких изменений и фиксов, только адаптация
вроде скрипт работает, но когда слапают все равно зависает в воздухе, с транспортом тоже зависает в воздухе. Как исправить?
И работает ли он вообще в интерьерах?
slapfix by dimiano, но тебе нужно будет добавить мин координата x, макс координата x, мин координата y, макс координата y, макс высота крыши в интерьере.
вроде скрипт работает, но когда слапают все равно зависает в воздухе, с транспортом тоже зависает в воздухе. Как исправить?
И работает ли он вообще в интерьерах?
Для интерьеров, как я понимаю, универсального решения нет, только для конкретных интерьеров можно сделать фикс - проверяешь ID интерьера, если interiorId == 10, то устанавливаешь Z падения, равный потолку, на котором должен стоять персонаж.
Там в теме писали, скорее всего из-за этого у тебя не работает, поменяй названия функций, setPosition и getPosition - deprycated
Для интерьеров, как я понимаю, универсального решения нет, только для конкретных интерьеров можно сделать фикс - проверяешь ID интерьера, если interiorId == 10, то устанавливаешь Z падения, равный потолку, на котором должен стоять персонаж.
Можно, берешь airbreak, поднимаешься на крышу каждого, пишешь команду /save, идешь в папку с документами samp, смотришь координаты Z, и прописываешь несколько проверок, если interiorId == 10, то Z падение = Z координаты потолка конкретного интерьер. Если программировать не умеешь, запиши координаты всех интерьеров, их ID и иди в раздел с написанием скриптов на заказ, насколько я помню, такой есть, сделают
Можно, берешь airbreak, поднимаешься на крышу каждого, пишешь команду /save, идешь в папку с документами samp, смотришь координаты Z, и прописываешь несколько проверок, если interiorId == 10, то Z падение = Z координаты потолка конкретного интерьер. Если программировать не умеешь, запиши координаты всех интерьеров, их ID и иди в раздел с написанием скриптов на заказ, насколько я помню, такой есть, сделают
Подскажите, в рамках раксампа, нужно чтобы персонаж двигался вперед, туда, куда повернута моделька персонажа, скажем телепорт на 5 метров вперед. Если задавать смещение по оси X, персонаж двигается в сторону, если по оси Y, то либо вперед, либо назад, это не зависит от того, куда он повернут. Буду благодарен за помощь.