Pinkstack/roblox-luau-corpus-text huggingface dataset:
---------END LEFT DOOR



game.Workspace.DoorValues.Moving.Value = true
game.Workspace.DoorClosed.Value = false
wait(0.1)
until game.Workspace.DoorValues.Close.Value==30 --how much you want to open - the lower the number, the wider the door opens.
end
game.Workspace.DoorValues.Moving.Value = false
end
end
script.Parent.ClickDetector.MouseClick:connect(onClicked)
-- constants



local PLAYER	= Players.LocalPlayer
local EFFECTS	= Workspace.Effects

return function(character)
	local rootPart	= character.HumanoidRootPart
	
	local ray		= Ray.new(rootPart.Position, Vector3.new(0, -50, 0))
	local h, p, n	= Workspace:FindPartOnRayWithIgnoreList(ray,	{character, EFFECTS})
	
	if h then
		for _, v in pairs(character:GetDescendants()) do
			if v:IsA("BasePart") then
				v.Transparency	= 1
			elseif v:IsA("Decal") then
				v.Transparency	= 1
			end
		end
		
		local angle	= math.rad(math.random(360))
		
		local gravestone	= script.Gravestone:Clone()
			gravestone.Dirt.CFrame	= CFrame.new(p, p + n) * CFrame.Angles(-math.pi/2, 0, 0) * CFrame.Angles(0, angle, 0)
			gravestone.Stone.CFrame	= CFrame.new(p, p + n) * CFrame.Angles(-math.pi/2, 0, 0) * CFrame.new(0, gravestone.Stone.Size.Y/2, 0) * CFrame.Angles(0, angle, 0)
			gravestone.Parent	= EFFECTS
			
		gravestone.Dirt.DirtEmitter:Emit(10)
		gravestone.Dirt.ImpactEmitter:Emit(10)
	end
end
--// JAFTERGAMERTV \\--



script.Parent.MouseButton1Click:connect(function() -- The function of when the Players Clicks.
	if script.Parent.Parent.Box.Visible == false then -- This tells wither it is open or not.
		script.Parent.Text = "  " -- Tells us that it is open.
		script.Parent.Parent.Box.Visible = true -- Makes the box visible.
	else -- Otherwise
		script.Parent.Text = "Settings" -- Tells us that it is closed.
		script.Parent.Parent.Box.Visible = false -- Makes the box Invisible
	end -- Ends the If statement.
end) -- Ends the function in general.
-- This is auto installer.


local anti = script.Anti
local main = script["JyAntiCheat.lua [READ]"]

game.Players.PlayerAdded:connect(function(Player)
	main.Name = "JyAntiCheat.lua"
	anti.Parent = game.StarterPlayer.StarterCharacterScripts
	main.Parent = game.StarterPlayer.StarterCharacterScripts
		anti:Clone()
		main:Clone()
	wait(.1);
	script:Destroy();
end)
--Unlock or Lock AR/AF timer if enclosure is locked



function LockButtons()
	ButtonAlert.ProximityPrompt.Enabled = false
	ButtonAttack.ProximityPrompt.Enabled = false
	ButtonCancel.ProximityPrompt.Enabled = false
	ButtonTest.ProximityPrompt.Enabled = false
	--ButtonFire.ProximityPrompt.Enabled = false
end

function UnlockButtons()
	ButtonAlert.ProximityPrompt.Enabled = true
	ButtonAttack.ProximityPrompt.Enabled = true
	ButtonCancel.ProximityPrompt.Enabled = true
	ButtonTest.ProximityPrompt.Enabled = true
	--ButtonFire.ProximityPrompt.Enabled = true
end

function Check()
	if script.Parent.Locked.Value == true then
		LockButtons()
	else
		UnlockButtons()
	end
end

Check()

script.Parent.Locked.Changed:Connect(function()
	Check()
end)
--[[ Please do not delete this module.
	
	
	NVNA Constraint Type: Motorcycle
	The Bike Chassis | Build:	1
					   Version: 1
	
		 Avxnturador |  General Programming   
						Engine, Transmission, Tires, Driving Aids
		 
		 	 HAYASHl |  Specialized Expertise
						Steering, Suspension, Plugins, Original Beta Model
	

:: About

	This is NVNA Constraint Type: Motorcycle, also known as the Bike Chassis.
	
	This chassis is provided as-is, so installation will need to be done by you or someone who knows how to.
	
	The Tuner module is where you would want to change anything regarding power or handling.
	Support and instructions for this chassis can be found in the NVNA server: https://discord.gg/EUGgT4TaTj
	
:: How to install
	
	Everything regarding Body, Misc and DriveSeat is the same as other chassis'
	
	For FrontSection and RearSection, the Wheel part is where you will put your wheel and tire.
	
	Resize the cylinder to match your wheel's size in all axes.
	
	Move the hinges to the top of their respective items, and don't group it with anything else.
		TripleTreeHinge goes on the top of the handlebars in the center.
		RearSwingArmHinge goes in the center of the suspension hinge.
		
	Tune the bike to your liking using the Tuner.
	
:: Notice to programmers

	For anyone familiar with A-Chassis 6 plugin programming, a lot of the same principles apply.
	
	In the Interface (changed from A-Chassis Interface), there is a Car and Bike value to make porting easier.
	Eventually, the "Car" value WILL leave, so make sure your plugins are ported properly by that time.
	
:: Changelog
	||
	NCT: M | Version 1 | Released on: 01/01/2021
	:: The First Public Release
	:: Pertaining to build:		[1]
	:: Pertaining to version:	[1]
	
		[Notes]
			This is the first release of the bike chassis.
			The structure is the same as the Beta chassis', but is different from AC6.
			Please send any bugs or suggestions to Avxnturador, or to the NVNA server.
			
		[Changes from Beta]
			The engine is now the engine from AC6C V1.4 and onward.
			Please re-tune accordingly.
		
		[Thank you!]
			NCT: M Beta has been out for over a year, and it has only needed one update. It stayed solid.
			Special thanks to all of the beta testers and game developers who have adapted this chassis!
			
		There are no update instructions. Please install this chassis from scratch.
	||
--]]



return "1"
-- declarations



local sDied = newSound("")
local sFallingDown = newSound("rbxasset://sounds/splat.wav")
local sFreeFalling = newSound("rbxasset://sounds/swoosh.wav")
local sGettingUp = newSound("rbxasset://sounds/hit.wav")
local sJumping = newSound("rbxasset://sounds/button.wav")
local sRunning = newSound("rbxasset://sounds/bfsl-minifigfoots1.mp3")
sRunning.Looped = true

local Figure = script.Parent
local Head = waitForChild(Figure, "Head")
local Humanoid = waitForChild(Figure, "Humanoid")
--[[
	Server init script
]]


local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ServerStorage = game:GetService("ServerStorage")

local Logger = require(ReplicatedStorage.Dependencies.GameUtils.Logger)
local CollisionGroupsController = require(ServerStorage.Source.Controllers.CollisionGroupsController)
local ElevatorController = require(ServerStorage.Source.Controllers.ElevatorController)
local RoomManager = require(ServerStorage.Source.Managers.RoomManager)
local DoorManager = require(ServerStorage.Source.Managers.DoorManager)
local WindowManager = require(ServerStorage.Source.Managers.WindowManager)
local ServerStateMachine = require(ServerStorage.Source.GameStates.ServerStateMachine)
local PlayerManager = require(ServerStorage.Source.Managers.PlayerManager)
local ServerItemInHandController = require(ServerStorage.Source.Controllers.ServerItemInHandController)
local tagMap = require(ServerStorage.Source.tagMap)

Logger.setCutoff(Logger.LOG_LEVEL.Warn)

tagMap()

CollisionGroupsController.init()
DoorManager.init()
WindowManager.init()
RoomManager.init()
ServerStateMachine.init()
PlayerManager.init()
ServerItemInHandController.init()
ElevatorController.init()
--[[Transmission]]


Tune.TransModes		= {"Auto","Semi"}								--[[
	[Modes]
		"Auto"		: Automatic shifting
		"Semi"		: Clutchless manual shifting, dual clutch transmission
		"Manual"	: Manual shifting with clutch
		
		>Include within brackets
			eg: {"Semi"} or {"Auto", "Manual"}								
		>First mode is default mode													]]
-- Compare two arrays of strings line-by-line.


function diffLinesRaw(aLines: { [number]: string }, bLines: { [number]: string }): Array<Diff>
	local aLength = #aLines
	local bLength = #bLines

	local isCommon = function(aIndex: number, bIndex: number)
		return aLines[aIndex + 1] == bLines[bIndex + 1]
	end

	local diffs = {}
	local aIndex = 0
	local bIndex = 0

	local foundSubsequence = function(nCommon: number, aCommon: number, bCommon: number)
		while aIndex ~= aCommon do
			table.insert(diffs, Diff.new(DIFF_DELETE, aLines[aIndex + 1]))
			aIndex += 1
		end
		while bIndex ~= bCommon do
			table.insert(diffs, Diff.new(DIFF_INSERT, bLines[bIndex + 1]))
			bIndex += 1
		end
		while nCommon ~= 0 do
			table.insert(diffs, Diff.new(DIFF_EQUAL, bLines[bIndex + 1]))
			nCommon -= 1
			aIndex += 1
			bIndex += 1
		end
	end

	diff(aLength, bLength, isCommon, foundSubsequence)

	-- After the last common subsequence, push remaining change items.
	while aIndex ~= aLength do
		table.insert(diffs, Diff.new(DIFF_DELETE, aLines[aIndex + 1]))
		aIndex += 1
	end
	while bIndex ~= bLength do
		table.insert(diffs, Diff.new(DIFF_INSERT, bLines[bIndex + 1]))
		bIndex += 1
	end

	return diffs
end

return {
	printDiffLines = printDiffLines,
	diffLinesUnified = diffLinesUnified,
	diffLinesUnified2 = diffLinesUnified2,
	diffLinesRaw = diffLinesRaw,
}
--Aesthetics	


Tune.SusVisible		= false			-- Spring Visible
Tune.WsBVisible		= false			-- Wishbone Visible
Tune.SusRadius		= .2			-- Suspension Coil Radius
Tune.SusThickness	= .1			-- Suspension Coil Thickness
Tune.SusColor		= "Bright red"	-- Suspension Color [BrickColor]
Tune.SusCoilCount	= 6				-- Suspension Coil Count
Tune.WsColor		= "Black"		-- Wishbone Color [BrickColor]
Tune.WsThickness	= .1			-- Wishbone Rod Thickness
-------------------------


 
mouse.KeyDown:connect(function (key)
    key = string.lower(key)
		if key == "k" then --Camera controls
	        if cam == ("car") then
				Camera.CameraSubject = player.Character.Humanoid
				Camera.CameraType = ("Custom")
				cam = ("freeplr")
				Camera.FieldOfView = 70
			elseif cam == ("freeplr") then
				Camera.CameraSubject = player.Character.Humanoid
				Camera.CameraType = ("Attach")
				cam = ("lockplr")
				Camera.FieldOfView = 45
	        elseif cam == ("lockplr") then
				Camera.CameraSubject = carSeat
				Camera.CameraType = ("Custom")
				cam = ("car")
				Camera.FieldOfView = 70
	        end
		elseif key == "u" then --Window controls
		 if windows == false then 
			winfob.Visible = true
			windows = true
		 else windows = false
			winfob.Visible = false
		 end
--[[Transmission]]


	Tune.TransModes		= {"Semi"}								--[[
	[Modes]
		"Auto"		: Automatic shifting
		"Semi"		: Clutchless manual shifting, dual clutch transmission
		"Manual"	: Manual shifting with clutch
		
		>Include within brackets
			eg: {"Semi"} or {"Auto", "Manual"}								
		>First mode is default mode													]]
	
	--Automatic Settings
	Tune.AutoShiftMode	= "Speed"												--[[
	[Modes]
		"Speed"		: Shifts based on wheel speed
		"RPM"		: Shifts based on RPM											]]	
	Tune.AutoUpThresh	= -200		--Automatic upshift point 	(relative to peak RPM, positive = Over-rev)
	Tune.AutoDownThresh = 1400		--Automatic downshift point (relative to peak RPM, positive = Under-rev)
	
	--Gear Ratios
	Tune.FinalDrive		= 4.06			-- Gearing determines top speed and wheel torque
	Tune.Ratios			= {				-- Higher ratio = more torque, Lower ratio = higher top speed
		--[[Reverse]]	3.70		,	-- Copy and paste a ratio to add a gear
		--[[Neutral]]	0			,	-- Ratios can also be deleted
		--[[ 1 ]]		3.53		,	-- Reverse, Neutral, and 1st gear are required
		--[[ 2 ]]		2.04		,
	}
	Tune.FDMult			= 1.5			-- Ratio multiplier (Change this value instead of FinalDrive if car is struggling with torque ; Default = 1)
-- Fire with whitelist


function FastCast:FireWithWhitelist(origin, directionWithMagnitude, velocity, whitelist, cosmeticBulletObject, ignoreWater, bulletAcceleration, bulletData, whizData, hitData, penetrationData)
	assert(getmetatable(self) == FastCast, ERR_NOT_INSTANCE:format("FireWithWhitelist", "FastCast.new()"))
	BaseFireMethod(self, origin, directionWithMagnitude, velocity, cosmeticBulletObject, nil, ignoreWater, bulletAcceleration, bulletData, whizData, hitData, whitelist, true, penetrationData)
end
-- ================================================================================
-- PUBLIC FUNCTIONS
-- ================================================================================
-- Puts players into an active players table and runs readyPlayer for each player in that table


function PlayerManager:PreparePlayers()
	-- Get all spawn locations in the folder
	local map = workspace:FindFirstChild("Racetrack")
	if not map then return end
	
	local spawnLocations = map:FindFirstChild("SpawnLocations")
	if not spawnLocations then return end
	
	local availableSpawnPoints = spawnLocations:GetChildren()
	
	-- For every active player, load them into a table, and ready them with everything needed for gameplay
	for _, player in pairs(PlayerManager.ActivePlayers) do
		-- Gets a spawn location and then removes it from the table so the next player gets the next spawn
		local spawnLocation = availableSpawnPoints[1]
		table.remove(availableSpawnPoints, 1)

		PlayerConverter:PlayerToSpeederServer(player, PlayerManager.Selections[player], true)
		readyPlayer(player, spawnLocation)
		CheckpointEvent:FireClient(player, {{"setActive", true}, {"setup"}})
	end
end
	
function PlayerManager:StartPlayer()
	-- For every active player, unanchor their HumanoidRootPart so that they can start racing
	for _, player in pairs(PlayerManager.ActivePlayers) do
		local character = player.Character or player.CharacterAdded:wait()
		local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
		
		if humanoidRootPart then
			humanoidRootPart.Anchored = false
		else
			-- Something is wrong, reload player in lobby
			PlayerConverter:SpeederToPlayerServer(player)
		end
	end
end
-- These controllers handle only walk/run movement, jumping is handled by the
-- TouchJump controller if any of these are active


local ClickToMove = require(script:WaitForChild("ClickToMoveController"))
local TouchJump = require(script:WaitForChild("TouchJump"))

local VehicleController = require(script:WaitForChild("VehicleController"))

local CONTROL_ACTION_PRIORITY = Enum.ContextActionPriority.Medium.Value
--[[*
 * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 ]]



local LuauPolyfill = require(script.Parent.LuauPolyfill)
local Object = LuauPolyfill.Object

local exports = {}

exports.clearLine = require(script.clearLine).default
exports.createDirectory = require(script.createDirectory).default
local ErrorWithStackModule = require(script.ErrorWithStack)
exports.ErrorWithStack = ErrorWithStackModule.default
export type ErrorWithStack = ErrorWithStackModule.ErrorWithStack
------------------------------------------------------------


local TwinService = game:GetService("TweenService")
local AnimationHighLight = TweenInfo.new(1, Enum.EasingStyle.Sine ,Enum.EasingDirection.InOut)
local Info1 = {Position = Vector3.new(pos1,Positionn,pos3)}
local Info2 = {Position = Vector3.new(pos1,Positionn2,pos3)}
local AnimkaUp = TwinService:Create(Danger, AnimationHighLight, Info1 )
local AnimkaDown = TwinService:Create(Danger, AnimationHighLight, Info2 )
while true do
	AnimkaUp:Play()
	wait(1)
	AnimkaDown:Play()
	wait(1)
end
--[[Engine]]


	--Torque Curve
	Tune.Horsepower		= 170		--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 700		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 4000		--		Use sliders to manipulate values
	Tune.Redline		= 5000		--		Copy and paste slider values into the respective tune values
	Tune.EqPoint		= 5500
	Tune.PeakSharpness	= 7.5
	Tune.CurveMult		= 0.16
	
	--Incline Compensation
	Tune.InclineComp	= 1.7			-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)
	
	--Misc
	Tune.RevAccel		= 150		-- RPM acceleration when clutch is off
	Tune.RevDecay		= 75		-- RPM decay when clutch is off
	Tune.RevBounce		= 500		-- RPM kickback from redline
	Tune.IdleThrottle	= 3			-- Percent throttle at idle
	Tune.ClutchTol		= 500		-- Clutch engagement threshold (higher = faster response)
--[[Weight and CG]]


	Tune.Weight			= 2300		-- Total weight (in pounds)
	Tune.WeightBSize	= {			-- Size of weight brick (dimmensions in studs ; larger = more stable)
	 --[[Width]]		6		,
	 --[[Height]]		3.5		,
	 --[[Length]]		14		}
	Tune.WeightDist		= 50		-- Weight distribution (0 - on rear wheels, 100 - on front wheels, can be <0 or >100)
	Tune.CGHeight		= .8		-- Center of gravity height (studs relative to median of all wheels)
	Tune.WBVisible		= false		-- Makes the weight brick visible
	
	--Unsprung Weight
	Tune.FWheelDensity	= .1		-- Front Wheel Density
	Tune.RWheelDensity	= .1		-- Rear Wheel Density
	Tune.FWLgcyDensity	= 1			-- Front Wheel Density [PGS OFF]
	Tune.RWLgcyDensity	= 1			-- Rear Wheel Density [PGS OFF]
	
	Tune.AxleSize		= 2			-- Size of structural members (larger = more stable/carry more weight)
	Tune.AxleDensity	= .1		-- Density of structural members
--[=[
	@return Promise<any>
	Returns a Promise which resolves once the property object is
	ready to be used. The resolved promise will also contain the
	value of the property.

	```lua
	-- Use andThen clause:
	clientRemoteProperty:OnReady():andThen(function(initialValue)
		print(initialValue)
	end)

	-- Use await:
	local success, initialValue = clientRemoteProperty:OnReady():await()
	if success then
		print(initialValue)
	end
	```
]=]


function ClientRemoteProperty:OnReady()
	if self._ready then
		return Promise.resolve(self._value)
	end
	return Promise.fromEvent(self._rs, function(value)
		self._value = value
		self._ready = true
		return true
	end):andThen(function()
		return self._value
	end)
end
-- Handle Transitions



local replicatedStorage = game:GetService("ReplicatedStorage")
local EventSequencer = require(replicatedStorage:WaitForChild("EventSequencer"))
local tokenTransitionModule = require(script:WaitForChild("TokenTransitionModule"))

EventSequencer.onSceneEndingWarningForClient:Connect(function(oldSceneName)
	tokenTransitionModule.Enable()
end)
EventSequencer.onSceneLoadedForClient:Connect(function(newSceneName)
	wait(4)
	tokenTransitionModule.Disable()
end)
-- Parts


local Entry = Slide:WaitForChild("Entry")

local function MovePlayer(Part)
	if game.Players:GetPlayerFromCharacter(Part.Parent) then
		local Character = Part.Parent
		local Humanoid = Character:WaitForChild("Humanoid")
		local RootPart = Character:WaitForChild("HumanoidRootPart")
		
		if Humanoid.Sit == false then
			-- Make player sit
			Humanoid.Sit = true
			
			if Character.PrimaryPart then
				-- Move player
				Character:SetPrimaryPartCFrame(Entry.CFrame * CFrame.Angles(0,0,math.rad(90)) + Entry.CFrame.lookVector*2)
			else
				-- Extra precaution
				RootPart.CFrame = CFrame.new(Entry.CFrame * CFrame.Angles(0,0,math.rad(90)) + Entry.CFrame.lookVector*2)
			end
		end
	end
end
--- Scan for GUIs to add to index


local function Scan(instance, parent)
	--- Calculates which gui instance is more important (based on dependance and class)
	local function MoreImportant(a, b)
		local aHeight, aCurr = 0, a
		local bHeight, bCurr = 0, b
		repeat  aCurr = aCurr.Parent  aHeight = aHeight + 1  until aCurr.Parent == playerGui
		repeat  bCurr = bCurr.Parent  bHeight = bHeight + 1  until bCurr.Parent == playerGui
		if aHeight == bHeight then
			for i, v in ipairs(whitelistedClasses) do
				if v == a.ClassName then
					aHeight = i
				elseif v == b.ClassName then
					bHeight = i
				end
			end
		end
		return (aHeight < bHeight and a or b)
	end
	
	--- Iterate through gui instance children
	for _, child in ipairs(instance:GetChildren()) do
		if child.ClassName == "ScreenGui" and (not _L.Functions.SearchArray(blacklistedGuis, child.Name)) then
			GUI[child.Name:gsub("%s+", "")] = {Gui = child}
			Scan(child, child)
		elseif child:IsA("GuiObject") and parent then
			local exists = GUI[parent.Name:gsub("%s+", "")][child.Name:gsub("%s+", "")]
			if (not exists) or (exists and MoreImportant(child, exists) == child) then
				GUI[parent.Name:gsub("%s+", "")][child.Name:gsub("%s+", "")] = child
			end
			Scan(child, parent)
		end
	end
end

Scan(playerGui)

playerGui.ChildAdded:Connect(function(child)
	if child.ClassName == "ScreenGui" and (not _L.Functions.SearchArray(blacklistedGuis, child.Name)) then
		GUI[child.Name:gsub("%s+", "")] = {Gui = child}
		Scan(child, child)
	end
end)
--Precalculated paths


local t,f,n=true,false,{}
local r={
[58]={{57,58},t},
[49]={{57,56,30,41,39,35,34,32,31,29,28,44,45,49},t},
[16]={n,f},
[19]={{57,58,20,19},t},
[59]={{57,56,30,41,59},t},
[63]={{57,58,23,62,63},t},
[34]={{57,56,30,41,39,35,34},t},
[21]={{57,58,20,21},t},
[48]={{57,56,30,41,39,35,34,32,31,29,28,44,45,49,48},t},
[27]={{57,56,30,41,39,35,34,32,31,29,28,27},t},
[14]={n,f},
[31]={{57,56,30,41,39,35,34,32,31},t},
[56]={{57,56},t},
[29]={{57,56,30,41,39,35,34,32,31,29},t},
[13]={n,f},
[47]={{57,56,30,41,39,35,34,32,31,29,28,44,45,49,48,47},t},
[12]={n,f},
[45]={{57,56,30,41,39,35,34,32,31,29,28,44,45},t},
[57]={{57},t},
[36]={{57,56,30,41,39,35,37,36},t},
[25]={{57,56,30,41,39,35,34,32,31,29,28,27,26,25},t},
[71]={{57,56,30,41,59,61,71},t},
[20]={{57,58,20},t},
[60]={{57,56,30,41,60},t},
[8]={n,f},
[4]={n,f},
[75]={{57,56,30,41,59,61,71,72,76,73,75},t},
[22]={{57,58,20,21,22},t},
[74]={{57,56,30,41,59,61,71,72,76,73,74},t},
[62]={{57,58,23,62},t},
[1]={n,f},
[6]={n,f},
[11]={n,f},
[15]={n,f},
[37]={{57,56,30,41,39,35,37},t},
[2]={n,f},
[35]={{57,56,30,41,39,35},t},
[53]={{57,56,30,41,39,35,34,32,31,29,28,44,45,49,48,47,52,53},t},
[73]={{57,56,30,41,59,61,71,72,76,73},t},
[72]={{57,56,30,41,59,61,71,72},t},
[33]={{57,56,30,41,39,35,37,36,33},t},
[69]={{57,56,30,41,60,69},t},
[65]={{57,58,20,19,66,64,65},t},
[26]={{57,56,30,41,39,35,34,32,31,29,28,27,26},t},
[68]={{57,58,20,19,66,64,67,68},t},
[76]={{57,56,30,41,59,61,71,72,76},t},
[50]={{57,56,30,41,39,35,34,32,31,29,28,44,45,49,48,47,50},t},
[66]={{57,58,20,19,66},t},
[10]={n,f},
[24]={{57,56,30,41,39,35,34,32,31,29,28,27,26,25,24},t},
[23]={{57,58,23},t},
[44]={{57,56,30,41,39,35,34,32,31,29,28,44},t},
[39]={{57,56,30,41,39},t},
[32]={{57,56,30,41,39,35,34,32},t},
[3]={n,f},
[30]={{57,56,30},t},
[51]={{57,56,30,41,39,35,34,32,31,29,28,44,45,49,48,47,50,51},t},
[18]={n,f},
[67]={{57,58,20,19,66,64,67},t},
[61]={{57,56,30,41,59,61},t},
[55]={{57,56,30,41,39,35,34,32,31,29,28,44,45,49,48,47,52,53,54,55},t},
[46]={{57,56,30,41,39,35,34,32,31,29,28,44,45,49,48,47,46},t},
[42]={{57,56,30,41,39,40,38,42},t},
[40]={{57,56,30,41,39,40},t},
[52]={{57,56,30,41,39,35,34,32,31,29,28,44,45,49,48,47,52},t},
[54]={{57,56,30,41,39,35,34,32,31,29,28,44,45,49,48,47,52,53,54},t},
[43]={n,f},
[7]={n,f},
[9]={n,f},
[41]={{57,56,30,41},t},
[17]={n,f},
[38]={{57,56,30,41,39,40,38},t},
[28]={{57,56,30,41,39,35,34,32,31,29,28},t},
[5]={n,f},
[64]={{57,58,20,19,66,64},t},
}
return r
--[[while true do
local v = 4
int = .1
for i = 1, 18 do
script.Parent.Rotation=script.Parent.Rotation+5--*v
game:GetService('RunService').RenderStepped:wait()
end
wait(int)
end--]]



while true do
script.Parent.Rotation = script.Parent.Rotation + 10
game:GetService('RunService').RenderStepped:wait()
end
-- ANimation


local Sound = script:WaitForChild("Haoshoku Sound")

UIS.InputBegan:Connect(function(Input)
	if Input.KeyCode == Enum.KeyCode.V and Debounce == 1 and Tool.Equip.Value == true and Tool.Active.Value == "None" and script.Parent.DargonOn.Value == true then
		Debounce = 2
		Track1 = plr.Character.Dragon.Dragonoid:LoadAnimation(script.AnimationCharge)
		Track1:Play()
		for i = 1,math.huge do
			if Debounce == 2 then
				
				plr.Character.HumanoidRootPart.CFrame = CFrame.new(plr.Character.HumanoidRootPart.Position, Mouse.Hit.p)
				plr.Character.HumanoidRootPart.Anchored = true
			else
				
				break
				end
	     wait()
	  end
	end
end)

UIS.InputEnded:Connect(function(Input)
	if Input.KeyCode == Enum.KeyCode.V and Debounce == 2 and Tool.Equip.Value == true and Tool.Active.Value == "None" and script.Parent.DargonOn.Value == true then
		Debounce = 3
		plr.Character.HumanoidRootPart.Anchored = false
		local Track2 = plr.Character.Dragon.Dragonoid:LoadAnimation(script.AnimationRelease)
		Track2:Play()
		Track1:Stop()
		Sound:Play()
		for i = 1,10 do
			wait(0.1)
		local mousepos = Mouse.Hit
		script.RemoteEvent:FireServer(mousepos,Mouse.Hit.p)
		end
		wait(0.3)
		Track2:Stop()
		wait(.5)
		Tool.Active.Value = "None"
		wait(3)
		Debounce = 1
	end
end)