Advertisement
jaklsfjlsak

遥控语音制导320-25 无激光v2可用

Mar 21st, 2025 (edited)
418
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local ship = peripheral.find("warpdriveShipController")
  2.  
  3. local chat = peripheral.find("warpdriveVirtualAssistant")
  4.  
  5. -- Define chat name
  6. chat.name("[name")
  7.  
  8. local ship_front, ship_right, ship_up = ship.dim_positive()
  9. local ship_back, ship_left, ship_down = ship.dim_negative()
  10. local ship_isInHyper = ship.isInHyperspace()
  11. local ship_movement = { ship.movement() }
  12. local ship_rotationSteps = ship.rotationSteps()
  13.  
  14. print("Post Way Point in Chat to Jump Ship and Aligning the Mining Laser")
  15.  
  16. while true do
  17. sleep(0.08)
  18. local state = 0
  19. local CMD = 0
  20.   state, CMD = chat.pullLastCommand()
  21.     string = string.lower(CMD)
  22.  
  23.       -- Match and extract X and Z
  24.  local x_value, y_value, z_value = string:match(".*x:(%-?%d+),%s*y:(%-?%d+),%s*z:(%-?%d+)")
  25.    
  26.     if state then
  27.         if not (x_value and y_value and z_value) then
  28.             print("Error: Coordinates not found in command.")
  29.         else
  30.             local lastLx = tonumber(x_value)
  31.             local lastLy = tonumber(y_value)  -- if needed for future use
  32.             local lastLz = tonumber(z_value)
  33.            
  34.             print("Jumping to X:" .. lastLx .. ", Z:" .. lastLz)
  35.            
  36.             local rx, ry, rz = ship.getOrientation()
  37.             local minForwardBack = math.abs(ship_front + ship_back + 1)
  38.             local minLeftRight = math.abs(ship_left + ship_right + 1)
  39.             local mx, my, mz = ship.getLocalPosition()
  40.            
  41.             local dx = lastLx - mx
  42.             local dz = lastLz - mz
  43.            
  44.             local forwardBackMov = 0
  45.             local leftRightMov = 0
  46.            
  47.             -- Determine movement based on ship's orientation.
  48.             if rx == 1 then
  49.                 forwardBackMov = dx
  50.                 leftRightMov = dz
  51.             elseif rx == -1 then
  52.                 forwardBackMov = -dx
  53.                 leftRightMov = -dz
  54.             elseif rz == 1 then
  55.                 forwardBackMov = dz
  56.                 leftRightMov = -dx
  57.             elseif rz == -1 then
  58.                 forwardBackMov = -dz
  59.                 leftRightMov = dx
  60.             end
  61.            
  62.             if math.abs(forwardBackMov) < minForwardBack and math.abs(leftRightMov) < minLeftRight then
  63.                 print("The movement is too small!")
  64.             else
  65.                 ship.movement(forwardBackMov, 0, leftRightMov)
  66.                 ship.rotationSteps(0)
  67.                 ship.command("MANUAL", true)
  68.             end
  69.         end
  70.     end
  71. end
  72.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement