Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Author: Azller Lollison (in public this source is missing)
- local sampev = require 'lib.samp.events'
- local slapper = {
- active = false,
- id = 0,
- packets = 1,
- offsets = {x = 0, y = 0, z = 0},
- position = {x = 0, y = 0, z = 0},
- }
- local function returnMyCarInfo()
- if isCharInAnyCar(PLAYER_PED) then
- local car = storeCarCharIsInNoSave(PLAYER_PED)
- local _, id = sampGetVehicleIdByCarHandle(car)
- return true, car, id
- end
- return false, nil, nil
- end
- function main()
- while not isSampAvailable() do wait(0) end
- sampRegisterChatCommand("sps", function(id)
- if id then
- if tonumber(id) then
- slapper.active = not slapper.active
- slapper.id = id
- sampAddChatMessage(slapper.active and "[SPS] Активирован, ID: "..id or "[SPS] Выключен.", -1)
- end
- end
- end)
- while true do wait(0)
- if slapper.active and isKeyDown(18) then
- local res, handle, id = returnMyCarInfo()
- if res then
- sampForceVehicleSync(id)
- else
- sampForceOnfootSync()
- end
- end
- end
- end
- local font = renderCreateFont("Arial", 8, 5)
- function sampev.onSendPlayerSync(data)
- if slapper.active then
- local res, handle = sampGetCharHandleBySampPlayerId(slapper.id)
- if res and isKeyDown(18) then
- --data.position.z = slapper.position.z - 0.5
- data.leftRightKeys = 0;
- data.animationId = 1130;
- data.animationFlags = 32772;
- if slapper.offsets.z < -0.01 then
- data.position.x = slapper.position.x + (slapper.offsets.x * 3.0)
- data.position.y = slapper.position.y + (slapper.offsets.y * 3.0)
- --data.moveSpeed.x = math.random(-1, 1) / 10
- --data.moveSpeed.y = math.trandom(-1, 1) / 10
- data.moveSpeed.z = -1.4;
- data.position.z = slapper.position.z + 0.7
- printStringNow("DOWN! ~y~x"..slapper.packets..string.format(" ~r~X: ~w~%d~r~ Y: ~w~%d~r~ Z: ~w~%d", slapper.position.x, slapper.position.y, slapper.position.z), 500)
- else
- data.position.x = slapper.position.x + (slapper.offsets.x * 3.0) --+ (math.random(-3, 3) / 10)
- data.position.y = slapper.position.y + (slapper.offsets.y * 3.0) --+ (math.random(-3, 3) / 10)
- --data.moveSpeed.x = math.random(-1, 1) / 10
- --data.moveSpeed.y = math.random(-1, 1) / 10
- data.moveSpeed.z = 1.4;
- data.position.z = slapper.position.z + (math.random(-10, 10) / 10)
- printStringNow("UP! ~y~x"..slapper.packets..string.format(" ~r~X: ~w~%d~r~ Y: ~w~%d~r~ Z: ~w~%d", slapper.position.x, slapper.position.y, slapper.position.z), 500)
- end
- data.keysData = 0;
- slapper.packets = slapper.packets + 1
- return true
- end
- end
- end
- function sampev.onSendVehicleSync(data)
- if slapper.active then
- local res, handle = sampGetCharHandleBySampPlayerId(slapper.id)
- if res and isKeyDown(18) then
- --data.position.z = slapper.position.z - 0.5
- if slapper.offsets.z < -0.01 then
- data.position.x = slapper.position.x + (slapper.offsets.x * 3.0)
- data.position.y = slapper.position.y + (slapper.offsets.y * 3.0)
- --data.moveSpeed.x = math.random(-1, 1) / 10
- --data.moveSpeed.y = math.trandom(-1, 1) / 10
- data.moveSpeed.z = -1.4;
- data.position.z = slapper.position.z + 0.7
- printStringNow("DOWN! ~y~x"..slapper.packets..string.format(" ~r~X: ~w~%d~r~ Y: ~w~%d~r~ Z: ~w~%d", slapper.position.x, slapper.position.y, slapper.position.z), 500)
- else
- data.position.x = slapper.position.x + (slapper.offsets.x * 3.0) --+ (math.random(-3, 3) / 10)
- data.position.y = slapper.position.y + (slapper.offsets.y * 3.0) --+ (math.random(-3, 3) / 10)
- --data.moveSpeed.x = math.random(-1, 1) / 10
- --data.moveSpeed.y = math.random(-1, 1) / 10
- data.moveSpeed.z = 1.4;
- data.position.z = slapper.position.z + (math.random(-10, 10) / 10)
- printStringNow("UP! ~y~x"..slapper.packets..string.format(" ~r~X: ~w~%d~r~ Y: ~w~%d~r~ Z: ~w~%d", slapper.position.x, slapper.position.y, slapper.position.z), 500)
- end
- slapper.packets = slapper.packets + 1
- return true
- end
- end
- end
- function sampev.onPlayerSync(id, data)
- if tonumber(id) == tonumber(slapper.id) and slapper.active then
- slapper.offsets = data.moveSpeed
- slapper.position = data.position
- end
- end
- function sampev.onVehicleSync(id, vehId, data)
- if tonumber(id) == tonumber(slapper.id) then
- slapper.offsets = data.moveSpeed
- slapper.position = data.position
- end
- end
- function sampev.onPlayerDeath(id)
- if id == tonumber(slapper.id) and slapper.active then
- slapper.active = false
- printStringNow("~r~DESTROYED! ~w~ID: ~y~"..id..", ~w~PACKETS: ~y~x"..slapper.packets, 15000)
- slapper.packets = 0
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement