9551

Untitled

Aug 20th, 2021 (edited)
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.68 KB | None | 0 0
  1. local middle = {x=0,z=0}
  2. local offset = {x=-0.5,z=-0.5}
  3. local power = 0.035
  4. local defects = 50
  5. local maxpower = 4
  6. local controls = {
  7.     forward = keys.w,
  8.     backward = keys.s,
  9.     left = keys.a,
  10.     right = keys.d,
  11.     sprint = keys.r,
  12.     shift = keys.leftShift,
  13.     jump = keys.space
  14. }
  15.  
  16. local per = peripheral.wrap("back")
  17. local vpos
  18.  
  19. local setMiddle = function(x,z) middle = {x=x,z=z} end
  20. local setOffset = function(x,z) offset = {x=x,z=z} end
  21. local setMaxPower = function(power) maxPower = math.min(power,10) end
  22. local getVPOS = function() return vpos end
  23. local getPlayerRot = function()
  24.     local meta = per.getMetaOwner()
  25.     return meta.yaw,meta.pitch
  26. end
  27. local getPlayerPos = function()
  28.     local x,_,z = gps.locate()
  29.     return x,z
  30. end
  31. local move = function()
  32.     power = power + defects / 1000
  33.     local degCalc = function(x,z)
  34.         return math.deg(math.atan2(-x, z))
  35.     end
  36.     while true do
  37.         local x,_,z = gps.locate()  
  38.         local x,z = x-(middle.x-offset.x),z-(middle.z-offset.z)
  39.         local yaw = degCalc(x,z)
  40.         local power = math.min(math.sqrt(x^2+z^2)*power,maxpower)
  41.         per.launch(yaw-180,0,power)
  42.         sleep()
  43.     end
  44. end
  45. local function lookVector(angle)
  46.     local rads = math.rad(angle - 180)
  47.     return {
  48.         x = math.cos(rads),
  49.         y = 0,
  50.         z = math.sin(rads)
  51.     }
  52. end
  53. local menu = function()
  54. end
  55. local vPos = function()
  56.     local event
  57.     local detection = function()
  58.         event = os.pullEvent("key")
  59.         rotX,rotY = getPlayerPos()
  60.     end
  61.     local main = function()
  62.         sleep(1)
  63.     end
  64.     parallel.waitForAll(detection,main)
  65. end
  66.  
  67. pcall(parallel.waitForAll,vPos,move)
  68.  
  69.  
Add Comment
Please, Sign In to add comment