1. <roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.roblox.com/roblox.xsd" version="4">
  2.     <External>null</External>
  3.     <External>nil</External>
  4.     <Item class="Model" referent="RBX0">
  5.         <Properties>
  6.             <CoordinateFrame name="ModelInPrimary">
  7.                 <X>0</X>
  8.                 <Y>0</Y>
  9.                 <Z>0</Z>
  10.                 <R00>1</R00>
  11.                 <R01>0</R01>
  12.                 <R02>0</R02>
  13.                 <R10>0</R10>
  14.                 <R11>1</R11>
  15.                 <R12>0</R12>
  16.                 <R20>0</R20>
  17.                 <R21>0</R21>
  18.                 <R22>1</R22>
  19.             </CoordinateFrame>
  20.             <string name="Name">UNGROUP</string>
  21.             <Ref name="PrimaryPart">null</Ref>
  22.             <bool name="archivable">true</bool>
  23.         </Properties>
  24.         <Item class="VehicleSeat" referent="RBX1">
  25.             <Properties>
  26.                 <bool name="Anchored">false</bool>
  27.                 <float name="BackParamA">-0.5</float>
  28.                 <float name="BackParamB">0.5</float>
  29.                 <token name="BackSurface">0</token>
  30.                 <token name="BackSurfaceInput">0</token>
  31.                 <float name="BottomParamA">-0.5</float>
  32.                 <float name="BottomParamB">0.5</float>
  33.                 <token name="BottomSurface">4</token>
  34.                 <token name="BottomSurfaceInput">0</token>
  35.                 <int name="BrickColor">194</int>
  36.                 <CoordinateFrame name="CFrame">
  37.                     <X>95.3804474</X>
  38.                     <Y>5.68335772</Y>
  39.                     <Z>11.8235426</Z>
  40.                     <R00>0.91354084</R00>
  41.                     <R01>1.35512062e-006</R01>
  42.                     <R02>-0.406746984</R02>
  43.                     <R10>-8.75583169e-007</R10>
  44.                     <R11>1</R11>
  45.                     <R12>1.36507367e-006</R12>
  46.                     <R20>0.406746984</R20>
  47.                     <R21>-8.90909803e-007</R21>
  48.                     <R22>0.91354084</R22>
  49.                 </CoordinateFrame>
  50.                 <bool name="CanCollide">true</bool>
  51.                 <bool name="DraggingV1">false</bool>
  52.                 <float name="Elasticity">0.5</float>
  53.                 <float name="Friction">0.300000012</float>
  54.                 <float name="FrontParamA">-0.5</float>
  55.                 <float name="FrontParamB">0.5</float>
  56.                 <token name="FrontSurface">6</token>
  57.                 <token name="FrontSurfaceInput">0</token>
  58.                 <bool name="HeadsUpDisplay">true</bool>
  59.                 <float name="LeftParamA">-0.5</float>
  60.                 <float name="LeftParamB">0.5</float>
  61.                 <token name="LeftSurface">0</token>
  62.                 <token name="LeftSurfaceInput">0</token>
  63.                 <bool name="Locked">false</bool>
  64.                 <token name="Material">256</token>
  65.                 <float name="MaxSpeed">25</float>
  66.                 <string name="Name">VehicleSeat</string>
  67.                 <float name="Reflectance">0</float>
  68.                 <float name="RightParamA">-0.5</float>
  69.                 <float name="RightParamB">0.5</float>
  70.                 <token name="RightSurface">0</token>
  71.                 <token name="RightSurfaceInput">0</token>
  72.                 <Vector3 name="RotVelocity">
  73.                     <X>5.4011025e-006</X>
  74.                     <Y>6.77609351e-005</Y>
  75.                     <Z>8.21515277e-006</Z>
  76.                 </Vector3>
  77.                 <int name="Steer">0</int>
  78.                 <int name="Throttle">0</int>
  79.                 <float name="TopParamA">-0.5</float>
  80.                 <float name="TopParamB">0.5</float>
  81.                 <token name="TopSurface">3</token>
  82.                 <token name="TopSurfaceInput">0</token>
  83.                 <float name="Torque">10</float>
  84.                 <float name="Transparency">0</float>
  85.                 <float name="TurnSpeed">1</float>
  86.                 <Vector3 name="Velocity">
  87.                     <X>3.96365576e-005</X>
  88.                     <Y>0.00100359623</Y>
  89.                     <Z>2.21235859e-005</Z>
  90.                 </Vector3>
  91.                 <bool name="archivable">true</bool>
  92.                 <Vector3 name="size">
  93.                     <X>2</X>
  94.                     <Y>1</Y>
  95.                     <Z>2</Z>
  96.                 </Vector3>
  97.             </Properties>
  98.         </Item>
  99.         <Item class="Part" referent="RBX2">
  100.             <Properties>
  101.                 <bool name="Anchored">false</bool>
  102.                 <float name="BackParamA">-0.5</float>
  103.                 <float name="BackParamB">0.5</float>
  104.                 <token name="BackSurface">0</token>
  105.                 <token name="BackSurfaceInput">0</token>
  106.                 <float name="BottomParamA">-0.5</float>
  107.                 <float name="BottomParamB">0.5</float>
  108.                 <token name="BottomSurface">4</token>
  109.                 <token name="BottomSurfaceInput">0</token>
  110.                 <int name="BrickColor">194</int>
  111.                 <CoordinateFrame name="CFrame">
  112.                     <X>95.7871933</X>
  113.                     <Y>4.98335648</Y>
  114.                     <Z>10.9100027</Z>
  115.                     <R00>0.91354084</R00>
  116.                     <R01>1.35512062e-006</R01>
  117.                     <R02>-0.406746984</R02>
  118.                     <R10>-8.75583169e-007</R10>
  119.                     <R11>1</R11>
  120.                     <R12>1.36507367e-006</R12>
  121.                     <R20>0.406746984</R20>
  122.                     <R21>-8.90909803e-007</R21>
  123.                     <R22>0.91354084</R22>
  124.                 </CoordinateFrame>
  125.                 <bool name="CanCollide">true</bool>
  126.                 <bool name="DraggingV1">false</bool>
  127.                 <float name="Elasticity">0.5</float>
  128.                 <token name="FormFactor">2</token>
  129.                 <float name="Friction">0.300000012</float>
  130.                 <float name="FrontParamA">-0.5</float>
  131.                 <float name="FrontParamB">0.5</float>
  132.                 <token name="FrontSurface">6</token>
  133.                 <token name="FrontSurfaceInput">0</token>
  134.                 <float name="LeftParamA">-0.5</float>
  135.                 <float name="LeftParamB">0.5</float>
  136.                 <token name="LeftSurface">0</token>
  137.                 <token name="LeftSurfaceInput">0</token>
  138.                 <bool name="Locked">false</bool>
  139.                 <token name="Material">256</token>
  140.                 <string name="Name">Part</string>
  141.                 <float name="Reflectance">0</float>
  142.                 <float name="RightParamA">-0.5</float>
  143.                 <float name="RightParamB">0.5</float>
  144.                 <token name="RightSurface">0</token>
  145.                 <token name="RightSurfaceInput">0</token>
  146.                 <Vector3 name="RotVelocity">
  147.                     <X>5.4011025e-006</X>
  148.                     <Y>6.77609351e-005</Y>
  149.                     <Z>8.21515277e-006</Z>
  150.                 </Vector3>
  151.                 <float name="TopParamA">-0.5</float>
  152.                 <float name="TopParamB">0.5</float>
  153.                 <token name="TopSurface">3</token>
  154.                 <token name="TopSurfaceInput">0</token>
  155.                 <float name="Transparency">0</float>
  156.                 <Vector3 name="Velocity">
  157.                     <X>-1.65151414e-005</X>
  158.                     <Y>0.00101187185</Y>
  159.                     <Z>-9.21867559e-006</Z>
  160.                 </Vector3>
  161.                 <bool name="archivable">true</bool>
  162.                 <token name="shape">1</token>
  163.                 <Vector3 name="size">
  164.                     <X>4</X>
  165.                     <Y>0.400000006</Y>
  166.                     <Z>6</Z>
  167.                 </Vector3>
  168.             </Properties>
  169.             <Item class="BodyPosition" referent="RBX3">
  170.                 <Properties>
  171.                     <float name="D">1250</float>
  172.                     <string name="Name">BodyPosition</string>
  173.                     <float name="P">10000</float>
  174.                     <bool name="archivable">true</bool>
  175.                     <Vector3 name="maxForce">
  176.                         <X>0</X>
  177.                         <Y>400000</Y>
  178.                         <Z>0</Z>
  179.                     </Vector3>
  180.                     <Vector3 name="position">
  181.                         <X>78.8674698</X>
  182.                         <Y>5.00322914</Y>
  183.                         <Z>55.26474</Z>
  184.                     </Vector3>
  185.                 </Properties>
  186.             </Item>
  187.             <Item class="BodyGyro" referent="RBX4">
  188.                 <Properties>
  189.                     <float name="D">500</float>
  190.                     <string name="Name">BodyGyro</string>
  191.                     <float name="P">3000</float>
  192.                     <bool name="archivable">true</bool>
  193.                     <CoordinateFrame name="cframe">
  194.                         <X>0</X>
  195.                         <Y>0</Y>
  196.                         <Z>0</Z>
  197.                         <R00>0.91354543</R00>
  198.                         <R01>0</R01>
  199.                         <R02>-0.406736642</R02>
  200.                         <R10>0</R10>
  201.                         <R11>1</R11>
  202.                         <R12>0</R12>
  203.                         <R20>0.406736642</R20>
  204.                         <R21>0</R21>
  205.                         <R22>0.91354543</R22>
  206.                     </CoordinateFrame>
  207.                     <Vector3 name="maxTorque">
  208.                         <X>400000</X>
  209.                         <Y>400000</Y>
  210.                         <Z>400000</Z>
  211.                     </Vector3>
  212.                 </Properties>
  213.             </Item>
  214.             <Item class="BodyVelocity" referent="RBX5">
  215.                 <Properties>
  216.                     <string name="Name">BodyVelocity</string>
  217.                     <float name="P">1250</float>
  218.                     <bool name="archivable">true</bool>
  219.                     <Vector3 name="maxForce">
  220.                         <X>4000</X>
  221.                         <Y>4000</Y>
  222.                         <Z>4000</Z>
  223.                     </Vector3>
  224.                     <Vector3 name="velocity">
  225.                         <X>0</X>
  226.                         <Y>-0</Y>
  227.                         <Z>-0</Z>
  228.                     </Vector3>
  229.                 </Properties>
  230.             </Item>
  231.             <Item class="ObjectValue" referent="RBX6">
  232.                 <Properties>
  233.                     <string name="Name">Seat</string>
  234.                     <Ref name="Value">RBX1</Ref>
  235.                     <bool name="archivable">true</bool>
  236.                 </Properties>
  237.                 <Item class="Script" referent="RBX7">
  238.                     <Properties>
  239.                         <bool name="Disabled">false</bool>
  240.                         <Content name="LinkedSource"><null></null></Content>
  241.                         <string name="Name">Script</string>
  242.                         <string name="Source">script.Parent.Value=nil </string>
  243.                         <bool name="archivable">true</bool>
  244.                     </Properties>
  245.                 </Item>
  246.             </Item>
  247.             <Item class="Script" referent="RBX8">
  248.                 <Properties>
  249.                     <bool name="Disabled">false</bool>
  250.                     <Content name="LinkedSource"><null></null></Content>
  251.                     <string name="Name">Script</string>
  252.                     <string name="Source">print(&quot;hover craft script loaded&quot;)
  253. seat=script.Parent.Seat
  254. steer=0
  255. while true do
  256. if seat.Value~=nil then
  257. pos=RayCast((script.Parent.CFrame*CFrame.new(0,-1,0)).p,(script.Parent.CFrame*CFrame.new(0,-10,0)).p)
  258. script.Parent.BodyVelocity.velocity=(script.Parent.CFrame.lookVector*20)*seat.Value.Throttle
  259. script.Parent.BodyGyro.cframe=CFrame.fromEulerAnglesXYZ(0,math.rad(steer),0)
  260. if pos then
  261. dist=script.Parent.Position-pos
  262. script.Parent.BodyPosition.position=(script.Parent.CFrame*CFrame.new(0,-dist.magnitude+5,0)).p
  263. end
  264. steer=steer+(-seat.Value.Steer*8)
  265. else
  266. for _,v in pairs(game.JointsService:GetChildren())do
  267. if v.Part0==script.Parent then
  268. if v.Part1.className==&quot;VehicleSeat&quot; then
  269. seat.Value=v.Part1
  270. v.Part1.Parent.ChildRemoved:connect(function()
  271. if v.Part1.Parent==nil then
  272. seat.Value=nil
  273. end
  274. end)
  275. end
  276. end
  277. if v.Part1==script.Parent then
  278. if v.Part0.className==&quot;VehicleSeat&quot; then
  279. seat.Value=v.Part0
  280. v.Part0.Parent.ChildRemoved:connect(function()
  281. if v.Part0.Parent==nil then
  282. seat.Value=nil
  283. end
  284. end)
  285. v.Parent.ChildRemoved:connect(function()
  286. if v.Parent==nil then
  287. seat.Value=nil
  288. end
  289. end)
  290. end
  291. end
  292. end
  293. end
  294. wait(.25)
  295. end </string>
  296.                     <bool name="archivable">true</bool>
  297.                 </Properties>
  298.             </Item>
  299.         </Item>
  300.         <Item class="Script" referent="RBX9">
  301.             <Properties>
  302.                 <bool name="Disabled">false</bool>
  303.                 <Content name="LinkedSource"><null></null></Content>
  304.                 <string name="Name">Script</string>
  305.                 <string name="Source">--this will return false if it makes it to point2 and hits nothing, otherwise it will return the position that it hit
  306. function _G.pointInPart(point,part)
  307. if not pcall(function()x=part.Shape end) then return end
  308. if part.Shape==Enum.PartType.Block then
  309. local size = part.Size
  310. local pos = part.Position
  311. local a = (part.CFrame * CFrame.new(size.x/-2, size.y/2, size.z/2)).p
  312. local b = (part.CFrame * CFrame.new(size.x/2, size.y/-2, size.z/2)).p
  313. local c = (part.CFrame * CFrame.new(size.x/2, size.y/2, size.z/-2)).p
  314. local d = (part.CFrame * CFrame.new(size.x/-2, size.y/-2, size.z/2)).p
  315. local e = (part.CFrame * CFrame.new(size.x/2, size.y/-2, size.z/-2)).p
  316. local f = (part.CFrame * CFrame.new(size.x/-2, size.y/2, size.z/-2)).p
  317. local g = (part.CFrame * CFrame.new(size.x/-2, size.y/-2, size.z/-2)).p
  318. local h = (part.CFrame * CFrame.new(size.x/2, size.y/2, size.z/2)).p
  319. local f1 = (c+a)/2
  320. local f2 = (c+g)/2
  321. local f3 = (g+a)/2
  322. local f4 = (c+b)/2
  323. local f5 = (b+a)/2
  324. local f6 = (b+g)/2
  325. if
  326. (CFrame.new(pos,f1).lookVector-CFrame.new(f1,point).lookVector).magnitude &gt;= math.sqrt(2) and
  327. (CFrame.new(pos,f2).lookVector-CFrame.new(f2,point).lookVector).magnitude &gt;= math.sqrt(2) and
  328. (CFrame.new(pos,f3).lookVector-CFrame.new(f3,point).lookVector).magnitude &gt;= math.sqrt(2) and
  329. (CFrame.new(pos,f4).lookVector-CFrame.new(f4,point).lookVector).magnitude &gt;= math.sqrt(2) and
  330. (CFrame.new(pos,f5).lookVector-CFrame.new(f5,point).lookVector).magnitude &gt;= math.sqrt(2) and
  331. (CFrame.new(pos,f6).lookVector-CFrame.new(f6,point).lookVector).magnitude &gt;= math.sqrt(2)
  332. then
  333. return true
  334. else
  335. return false
  336. end
  337. elseif part.Shape==Enum.PartType.Ball then
  338. local dist=point-part.Position
  339. if dist.magnitude&lt;part.Size.x then
  340. return true
  341. else
  342. return false
  343. end
  344. end
  345. end
  346.  
  347. function _G.RayCast(point1,point2)
  348. dist=point2-point1
  349. pos=point1
  350. for i=1,math.ceil(dist.magnitude) do
  351. for _,v in pairs(workspace:GetChildren())do
  352. if v:IsA(&quot;BasePart&quot;) then
  353. if pointInPart(pos,v) then
  354. return pos
  355. end
  356. end
  357. end
  358. pos=pos+dist.unit
  359. end
  360. return false
  361. end </string>
  362.                 <bool name="archivable">true</bool>
  363.             </Properties>
  364.         </Item>
  365.     </Item>
  366. </roblox>