Pinkstack/roblox-luau-corpus-text huggingface dataset:
--When the button is pushed, it makes something appear. This is tricky, because you need to
--actually make the thing that is to appear first. This is the general idea:
--Game starts, saves the object for later spawning, removes the object from the game, and waits
--for the button to be pushed to insert a clone of the saved object (if money check is ok). Study the code AND the objects 
--in the game to understand how this works. If the object that should be spawned is missing, you need 
--to make it first, because you probably saved this place after it was removed at the very beginning of the map.
--If this is the case, then make whatever, and put it in a group called "MoneyUpgradeModel"
--Added those two (if player/if not player) in so this wouldn't break if you used it on AI, or something of the sort. 




	end
end


function tagHumanoid(humanoid, player)
	local creator_tag = Instance.new("ObjectValue")
	creator_tag.Value = player
	creator_tag.Name = "creator"
	creator_tag.Parent = humanoid
end

function untagHumanoid(humanoid)
	if humanoid ~= nil then
		local tag = humanoid:findFirstChild("creator")
		if tag ~= nil then
			tag.Parent = nil
		end
	end
end


function attack()
	damage = slash_damage
	SlashSound:play()
	local anim = Instance.new("StringValue")
	anim.Name = "toolanim"
	anim.Value = "Slash"
	anim.Parent = Tool
end
local fx=script.Parent:FindFirstChild("Blade")
local fx2=script.Parent.Blade:FindFirstChild("Stroke")

function lunge()
	damage = lunge_damage

	LungeSound:play()

	local anim = Instance.new("StringValue")
	anim.Name = "toolanim"
	anim.Value = "Lunge"
	anim.Parent = Tool
	
	
	local force = Instance.new("BodyVelocity")
	force.velocity = Vector3.new(0,10,0) 
	force.maxForce = Vector3.new(0,4000,0) -- ADD THIS TO CHANGE MOMENTUM
	force.Parent = Tool.Parent.Torso
	if fx and fx2 and fxToggled then fx2.Enabled=true end
	wait(.25)
	swordOut()
	wait(.25)
	force.Parent = nil
	wait(.5)
	swordUp()
	if fx and fx2 then fx2.Enabled=false end

	damage = slash_damage
end

function swordUp()
	Tool.GripForward = Vector3.new(1, 0, 0)
	Tool.GripRight = Vector3.new(0, 0, -1)
	Tool.GripUp = Vector3.new(0, -1, 0)
end

function swordOut()
	Tool.GripForward = Vector3.new(1, 0, 0)
	Tool.GripRight = Vector3.new(0, 0, -1)
	Tool.GripUp = Vector3.new(-20, -1, 0)
end

function swordAcross()
	-- parry
end


Tool.Enabled = true
local last_attack = 0
function onActivated()

	if not Tool.Enabled then
		return
	end

	Tool.Enabled = false

	local character = Tool.Parent;
	local humanoid = character.Humanoid
	if humanoid == nil then
		print("Humanoid not found")
		return 
	end

	local t = r.Stepped:wait()

	if (t - last_attack < .2) then
		lunge()
	else
		attack()
	end

	last_attack = t

	--wait(.5)

	Tool.Enabled = true
end


function onEquipped()
	UnsheathSound:play()
end
script.Parent.Effects.OnServerEvent:connect(function(p,toggle)
	local ch=script.Parent.Blade:GetChildren()
	for i=1,#ch do 
		if ch[i].ClassName=="ParticleEmitter" or ch[i].ClassName=="PointLight" then
			ch[i].Enabled=toggle
		end
	end
	spawn(function()
		wait(.5)
		script.Parent.Blade.Stroke.Enabled=false
	end)
	fxToggled=toggle
	if not toggle then
		script.Parent.Blade.Material=Enum.Material.Metal
		script.Parent.Blade.BrickColor=BrickColor.new("Institutional white")
		damage=5
		slash_damage=10
		lunge_damage=30

	else
		script.Parent.Blade.Material=Enum.Material.Neon
		script.Parent.Blade.BrickColor=BrickColor.new("Cool yellow")
		damage=15
		slash_damage=20
		lunge_damage=50
	end
end)

script.Parent.Activated:connect(onActivated)
script.Parent.Equipped:connect(onEquipped)


connection = sword.Touched:connect(blow)
--[[
Copyright (c) 2014 Gaëtan Renaudeau
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
--]]
----------------------------------------------------------------------------------------------------
------------------=[ Status UI ]=-------------------------------------------------------------------
----------------------------------------------------------------------------------------------------


	,EnableStatusUI = true				--- Don't disabled it...
	,RunWalkSpeed = 22
	,NormalWalkSpeed = 16
	,SlowPaceWalkSpeed = 8	
	,CrouchWalkSpeed = 8
	,ProneWalksSpeed = 4

	,EnableHunger = false				--- Hunger and Thirst system
	,HungerWaitTime = 25

	,CanDrown = true 					--- Welp.. That's it
	
	,EnableStamina = true 				--- Weapon Sway based on stamina	
	,RunValue = 1						--- Stamina consumption
	,StandRecover = .25					--- Stamina recovery while stading
	,CrouchRecover = .5					--- Stamina recovery while crouching
	,ProneRecover = 1					--- Stamina recovery while lying

	,EnableGPS = true					--- GPS shows your allies around you
	,GPSdistance = 50

	,InteractionMenuKey = Enum.KeyCode.LeftControl
-- Process Tiles


local ZoneParser = require(script.ZoneParser)
local PlayerManager = require(script.PlayerManager)

ZoneParser:ParseType("Straight")
ZoneParser:ParseType("Left")
ZoneParser:ParseType("Right")
ZoneParser:ParseType("TJunction")
ZoneParser:ParseType("Obstacle")

ZoneParser:ParseType("Tutorial")

game.Workspace.DisplayElements:Destroy()

local trackSlots = {}
for i = 1, 6 do
	trackSlots[i] = {player = nil, height = 50 * i}
end

local managers = {}

game.ReplicatedStorage.Events.StartRunning.OnServerEvent:connect(function(player)
	
	local playerSlot = player:WaitForChild("slotHeight")
	local manager = PlayerManager:Run(player, playerSlot.Value)
	managers[player.Name] = manager
	
	wait()
	
	player:LoadCharacter()
end)

game.Players.PlayerAdded:connect(function(player)
	local playerSlot = nil
	for i = 1, 6 do
		local slot = trackSlots[i]
		if not slot.player then
			slot.player = player
			playerSlot = slot
			break
		end
	end
	local slotHeight = Instance.new("IntValue", player)
	slotHeight.Name = "slotHeight"
	slotHeight.Value = playerSlot.height
end)

game.Players.PlayerRemoving:connect(function(player)
	if managers[player.Name] then
		managers[player.Name].Cleanup()
		managers[player.Name] = nil
	end
end)
--[[
    Server side script that listens to client bomb throw requests, validates them, and then executes the request
]]


local ServerStorage = game:GetService("ServerStorage")

local createThrownBomb = require(ServerStorage.Source.MinigameUtilities.createThrownBomb)

local tool = script.Parent
local fireEvent = tool:FindFirstChild("Fire")
local cooldown = tool:FindFirstChild("Cooldown").Value

local lastThrow = 0
fireEvent.OnServerEvent:Connect(
	function(player, origin, target)
		if player and player.Character then
			if script:IsDescendantOf(player.Character) then
				local nowTick = tick()
				if nowTick - lastThrow > cooldown then
					lastThrow = nowTick
					createThrownBomb(player, origin, target)
				end
			end
		end
	end
)
-- url : (string)
-- body : (string)
-- customHeaders : (dictionary<string, string>, optional)
-- returns : (promise<HttpResponse/HttpError>)


function Networking:POST(url, body, customHeaders)
	if not customHeaders then
		customHeaders = self._headers
	end

	assert(type(url) == "string", "expected 'url' to be a string")
	assert(type(body) == "string", "expected 'body' to be a string")
	assert(type(customHeaders) == "table", "expected 'customHeaders' to be a dictionary")

	local httpFunc = function()
		return self._httpImpl:RequestAsync({
			Url = url,
			Method = "POST",
			Headers = customHeaders,
			Body = body,
		})
	end

	return commonHttpHandler(url, httpFunc)
end

return Networking
-- Luke




local button = script.Parent
local players = game:GetService('Players')
local characterScripts = game:GetService('ReplicatedStorage'):WaitForChild('CharacterScripts')


local CHARACTER_TEMPLATE = workspace:WaitForChild('Girl')
local DEBOUNCE_TIME = 5
local debounce = false


button.Touched:connect(function(hit)
	if hit and hit.Parent then
		local humanoid = hit.Parent:FindFirstChild('Humanoid')
		local hrp = hit.Parent:FindFirstChild('HumanoidRootPart')
		if hrp and humanoid and humanoid.Health > 0 then
			local player = players:GetPlayerFromCharacter(hit.Parent)
			if not debounce then
				debounce = true
				
				local newCharacter = CHARACTER_TEMPLATE:Clone()
				newCharacter.HumanoidRootPart.CFrame = hrp.CFrame
				newCharacter.HumanoidRootPart.Anchored = false
				newCharacter.Name = player.Name
				
				for i,v in pairs(characterScripts:GetChildren()) do
					v:clone().Parent = newCharacter
				end

				player.Character = newCharacter
				newCharacter.Parent = workspace

				wait(DEBOUNCE_TIME)
				debounce = false
			end
		end
	end
end)
--script.AB.Value = true


	carSeat.Parent.Weight.FrontDF.Force = Vector3.new(0, 0, 0)
	carSeat.Parent.Weight.RearDF.Force = Vector3.new(0, 0, 0)
	else --script.AB.Value = false
carSeat.Parent.Weight.FrontDF.Force = Vector3.new(0, (-1.2*DFF)*speed, (0.3*DFF)*speed)
carSeat.Parent.Weight.FrontDF.Location = Vector3.new(0,-2,-2)

carSeat.Parent.Weight.RearDF.Force = Vector3.new(0, ((-2.2*DFR)-1.5)*speed, (0.6*DFR)*speed)
carSeat.Parent.Weight.RearDF.Location = Vector3.new(0,1,4)
end
--[[
	Displays a countdown for the intermission
]]


local function startCountdown()
	local gameStartingElement = activeElements.GameStartingElement

	gameStartingElement:FindFirstChild("Title").Text = translate("STARTING")

	gameStartingElement.Visible = true
	activeElements.WaitingElement.Visible = false

	local startingTick = tick()
	local timeLeft = intermissionTime - (startingTick - tick())

	while timeLeft > 0 do
		timeLeft = timeLeft - wait()

		if not gameStartingElement or not gameStartingElement.Parent then
			return
		end

		gameStartingElement.Amount.Text = math.floor(timeLeft + 0.5)
	end
end
-- Player specific convenience variables


local MyPlayer = nil
local MyCharacter = nil
local MyHumanoid = nil
local MyTorso = nil
local MyMouse = nil
local  rot = {"100","200","300","400","500","-100","-200","-300","-400","-500"}
pi = {"1","1","1","1.05","0.95"}
local RecoilAnim
local RecoilTrack = nil

local IconURL = Tool.TextureId  -- URL to the weapon icon asset

local DebrisService = game:GetService('Debris')
local PlayersService = game:GetService('Players')


local FireSound

local OnFireConnection = nil
local OnReloadConnection = nil

local DecreasedAimLastShot = false
local LastSpreadUpdate = time()
--local player = game:GetService("Players").PlayerAdded:Connect(function(plr) 
--	plr.CharacterAdded:Connect(function(char)
--local char = script.Parent.Parent.Parent
--local Params = RaycastParams.new()
--	Params.FilterDescendantsInstances = {char}
--	Params.FilterType = Enum.RaycastFilterType.Blacklist
--	print(Params.FilterDescendantsInstances)
--	end)
--end)



local newHitbox = RaycastHitbox.new(script.Parent)
newHitbox.Visualizer = false

newHitbox.OnHit:Connect(function(hit, humanoid)
	if humanoid.Parent.Name ~= script.Parent.Parent.Parent.Name then
		humanoid:TakeDamage(100)
	end
end)

event.OnServerEvent:Connect(function(db)
		newHitbox:HitStart()
		wait(1)
		newHitbox:HitStop()
end)
--[[local debounce = false
function onClicked(click)
	if debounce == false then
	debounce = true	
	if script.Parent.Parent.Frame.Visible == false then
		print("open")
	script.Parent.Parent.Frame.Visible = true	
	tweenmenu:Play()
	wait(1)
	debounce = false					
		else
		print("close")
	tweenmenuclose:Play()
	wait(0.5)
	script.Parent.Parent.Frame.Visible = false
	debounce = false						
	end	
	end	
end
script.Parent.MouseButton1Down:connect(onClicked)]]



function onClicked(click)
	script.Parent.Parent.Visible = false
	script.Parent.Parent.Parent.Colors.Visible = true
end
script.Parent.MouseButton1Down:connect(onClicked)
-- A state object whose value is derived from other objects using a callback.


export type ForValues<VI, VO, M> = PubTypes.ForValues<any, VO> & {
	_oldDependencySet: Set<PubTypes.Dependency>,
	_processor: (VI) -> (VO),
	_destructor: (VO, M?) -> (),
	_inputIsState: boolean,
	_inputTable: PubTypes.CanBeState<{ [VI]: VO }>,
	_outputTable: { [any]: VI },
	_valueCache: { [VO]: any },
	_oldValueCache: { [VO]: any },
	_meta: { [VO]: M? },
	_valueData: {
		[VI]: {
			dependencySet: Set<PubTypes.Dependency>,
			oldDependencySet: Set<PubTypes.Dependency>,
			dependencyValues: { [PubTypes.Dependency]: any },
		},
	},
}
-- -- -- -- -- -- --
--DIRECTION SCROLL--
-- -- -- -- -- -- --



Lift:WaitForChild("Direction").Changed:connect(function(val)
    if val == 1 then
		This.Display.ARW1.Up1.BrickColor = BrickColor.new("Lime green")
		This.Display.ARW1.Up2.BrickColor = BrickColor.new("Lime green")
		This.Display.ARW1.Down1.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.Down2.BrickColor = BrickColor.new("Really black")
    elseif val == -1 then
		This.Display.ARW1.Up1.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.Up2.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.Down1.BrickColor = BrickColor.new("Really red")
		This.Display.ARW1.Down2.BrickColor = BrickColor.new("Really red")
	else
		This.Display.ARW1.Up1.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.Up2.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.Down1.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.Down2.BrickColor = BrickColor.new("Really black")
    end
end)
--script.Parent.Speed.MouseButton1Click:connect(function()
--	if currentUnits==#UNITS then
--		currentUnits = 1
--	else
--		currentUnits = currentUnits+1
--	end
--	for i,v in pairs(script.Parent.Spd.G:GetChildren()) do
--		v.Visible=v.Name==UNITS[currentUnits].units or v.Name=="Needle" or v.Name=="lns"
--	end
--	script.Parent.Speed.Text = math.floor(UNITS[currentUnits].scaling*script.Parent.Parent.Values.Velocity.Value.Magnitude) .. " "..UNITS[currentUnits].units
--end)



mouse.KeyDown:connect(function(key)
	if key=="v" then
		script.Parent.Visible=not script.Parent.Visible
	end
end)

script.Parent.Parent.Values.Gear.Changed:Connect(function()
	local gearText = script.Parent.Parent.Values.Gear.Value
	if gearText == 0 then 
		gearText = "N"
		car.Body.Dash.D.G.Info.Gear.Text = "N"
		car.DriveSeat.Filter:FireServer('reverse',false)
	elseif gearText == -1 then
		gearText = "R"
		car.Body.Dash.D.G.Info.Gear.Text = "R"
		car.DriveSeat.Filter:FireServer('reverse',true)
	else
		gearText = "D"
	end
		car.Body.Dash.D.G.Info.Gear.Text = gearText
		script.Parent.Tac.G.Gear.Text = gearText
end)

while wait() do
	local speed = math.floor(UNITS[currentUnits].scaling*script.Parent.Parent.Values.Velocity.Value.Magnitude)
	for i, v in pairs(script.Parent.Tac.G:GetChildren()) do
		if v:IsA("Frame") and v.Name ~= "Unit" then
			local rt = math.abs(script.Parent.Tac.G.Needle.AbsoluteRotation - (v.AbsoluteRotation))
			v.Num.TextSize = math.max(18,(18 - (((rt/4)^2)-18)))
		end
	end
	for i, u in pairs(script.Parent.Spd.G:GetChildren()) do
		for j,v in pairs(u:GetChildren()) do
			if v:IsA("Frame") and v.Name ~= "Unit" then
				local st = math.abs(script.Parent.Spd.G.Needle.AbsoluteRotation - (v.AbsoluteRotation))
				if v:FindFirstChild("Num") then
					v.Num.TextSize = math.max(16,(16 - (((st/4)^2)-16)))
				end
			end
		end
	end
end
--[[*
 * Creates a matcher function from one or more glob patterns. The
 * returned function takes a string to match as its first argument,
 * and returns true if the string is a match. The returned matcher
 * function also takes a boolean as the second argument that, when true,
 * returns an object with additional information.
 *
 * ```js
 * const picomatch = require('picomatch');
 * // picomatch(glob[, options]);
 *
 * const isMatch = picomatch('*.!(*a)');
 * console.log(isMatch('a.a')); //=> false
 * console.log(isMatch('a.b')); //=> true
 * ```
 * @name picomatch
 * @param {String|Array} `globs` One or more glob patterns.
 * @param {Object=} `options`
 * @return {Function=} Returns a matcher function.
 * @api public
 ]]
--// Gather instances/parts


for _, instance in pairs (workspace.Lobby:GetDescendants()) do
	if instance:IsA("BasePart") then
		
	end
end

spawn(function()
	cp:PreloadAsync(ia)
	loaded = true
end)

local total = #ia
local assetLoaded = {}

function checkLoaded(asset)
	if asset:IsA("Sound") then
		return assetLoaded[asset.SoundId]
	else
		return assetLoaded[asset.Image]
	end
end

local was = 0
while not loaded do
	local t = 0
	for _, asset in pairs (hud:GetDescendants()) do
		if (asset:IsA("ImageButton") or asset:IsA("ImageLabel") or asset:IsA("Sound")) and not checkLoaded(asset) and asset.isLoaded then
			if asset:IsA("Sound") then
				assetLoaded[asset.SoundId] = true
			else
				assetLoaded[asset.Image] = true
			end
			t = t + 1
		end
	end
	if t > was then
		bg:TweenSize(UDim2.new(1, 0, bg.Position.Y.Scale - (t / 100), 32), "Out", "Linear", 0.15)
		was = t
	end
	warn (t, "out of", total, "assets loaded!")
	if t >= total then
		loaded = true
		break
	end
	wait(0.5)
end
if loaded then
	warn "LOADING COMPLETE"
	bg:TweenSize(UDim2.new(1, 0, 0, 0), "Out", 'Linear', 0.15)
	hud.HUDEngine.Doing.LoadingIngame.Value = false
end
--[[
	* Copyright (c) Roblox Corporation. All rights reserved.
	* Licensed under the MIT License (the "License");
	* you may not use this file except in compliance with the License.
	* You may obtain a copy of the License at
	*
	*     https://opensource.org/licenses/MIT
	*
	* Unless required by applicable law or agreed to in writing, software
	* distributed under the License is distributed on an "AS IS" BASIS,
	* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
	* See the License for the specific language governing permissions and
	* limitations under the License.
]]


local instanceof = require(script.instanceof)

return instanceof
-- Services


local lighting = game:GetService("Lighting")

lighting.FogEnd = 4500
lighting.OutdoorAmbient = Color3.fromRGB(140, 140, 140)
lighting.GlobalShadows = true
lighting.Brightness = 1.5
lighting.Ambient = Color3.fromRGB(0, 0, 0)
lighting.ShadowColor = Color3.fromRGB(61, 61, 61)
---////==========================================\\\---	
--To install the product, group them together with the switch. You can have multiple products installed and be controlled by one switch!--
--Products include, but not limited to: some fans, lights, alarms, etc. 
---////==========================================\\\---	


IsOn = false
function onClicked()
	if IsOn == false then
	IsOn = true	
	script.Parent.Parent.IsOn.Value = true	
	elseif IsOn == true then
	IsOn = false	
	script.Parent.Parent.IsOn.Value = false
	end
end
script.Parent.ClickDetector.MouseClick:connect(onClicked)
--griptcf = CFrame.new(0, -1, 0) * CFrame.fromEulerAnglesXYZ(-math.pi/2+0.5, 0, 0)



script.Parent.Unequipped:connect(function()
	--Bring_Arm_Down animation
	for i = 1, 0, -0.05 do
		wait()
		RW.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(1.3*i, 0, -0.5*i)
		LW.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(1.7*i, 0, 0.8*i)	
		LW.C1 = CFrame.new(-0.3*i, 0.5+1.2*i, 0)
	end
	RW.Parent = nil
	LW.Parent = nil
	RSH.Parent = player.Character.Torso
	LSH.Parent = player.Character.Torso
end)

function HomeRunHit(part)
	local h = (part.Parent or game):FindFirstChild("Humanoid") --or findfirstchild optimization
	if h then
		h.Sit = true
		wait()
		h.Jump = true
		h.Parent.Torso.Velocity = (CFrame.new(script.Parent.Handle.Position, h.Parent.Torso.Position).lookVector * 100) + Vector3.new(0, 30, 0)
		h.Parent.Torso.RotVelocity = Vector3.new(math.random(-100, 100), math.random(-100, 100), math.random(-100, 100))
	end
end
--[[
for a = 1,10 do
	for i = 1,10 do
		local audio = Instance.new("Sound",player.PlayerGui)
		audio.Volume = 10
		audio.PlaybackSpeed = a*i
		audio.Looped = true
		if math.random(1,2) == 1 then
			audio.SoundId = "rbxassetid://168137470"
		else
			audio.SoundId = "rbxassetid://714583842"
		end
		audio:Play()
		--wait()
	end
end--]]


	wait(1)
while true do end
--//Server Animations


	RightHighReady = CFrame.new(-0.95, 0, .2) * CFrame.Angles(math.rad(-40), math.rad(0), math.rad(0));
	LeftHighReady = CFrame.new(0.6,0.9,-.3) * CFrame.Angles(math.rad(-140),math.rad(40),math.rad(15));
	
	RightLowReady = CFrame.new(-1, -0.2, -.15) * CFrame.Angles(math.rad(60), math.rad(0), math.rad(0));
	LeftLowReady = CFrame.new(.7,.2,.17) * CFrame.Angles(math.rad(-30),math.rad(35),math.rad(-25));
	
	RightPatrol = CFrame.new(-1, 0, -.25) * CFrame.Angles(math.rad(0), math.rad(-60), math.rad(0));
	LeftPatrol = CFrame.new(.5,.6,.35) * CFrame.Angles(math.rad(-80),math.rad(-30),math.rad(-10));

	RightAim = CFrame.new(-0.85, -0.2, .2) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0));
	LeftAim = CFrame.new(.5,.3,.35) * CFrame.Angles(math.rad(-80),math.rad(30),math.rad(-10));
	
	RightSprint =  CFrame.new(-0.95, 0, .2) * CFrame.Angles(math.rad(-40), math.rad(0), math.rad(0));
	LeftSprint = CFrame.new(0.6,0.9,-.3) * CFrame.Angles(math.rad(-140),math.rad(40),math.rad(15));

	ShootPos = CFrame.new(0,0,.15);
	
}

return module
--[[
	* Copyright (c) Roblox Corporation. All rights reserved.
	* Licensed under the MIT License (the "License");
	* you may not use this file except in compliance with the License.
	* You may obtain a copy of the License at
	*
	*     https://opensource.org/licenses/MIT
	*
	* Unless required by applicable law or agreed to in writing, software
	* distributed under the License is distributed on an "AS IS" BASIS,
	* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
	* See the License for the specific language governing permissions and
	* limitations under the License.
]]


local String = script.Parent
local Packages = String.Parent
local Number = require(Packages.Number)

local NaN = Number.NaN
-- Roblox character sound script



local Players = game:GetService("Players")
local RunService = game:GetService("RunService")

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

local function loadFlag(flag: string)
	local success, result = pcall(function()
		return UserSettings():IsUserFeatureEnabled(flag)
	end)
	return success and result
end

local FFlagUserAtomicCharacterSoundsUnparent = loadFlag("UserAtomicCharacterSoundsUnparent")

local SOUND_DATA : { [string]: {[string]: any}} = {
	Climbing = {
		SoundId = "rbxasset://sounds/action_footsteps_plastic.mp3",
		Looped = true,
	},
	Died = {
		SoundId = "rbxasset://sounds/uuhhh.mp3",
	},
	FreeFalling = {
		SoundId = "rbxasset://sounds/action_falling.mp3",
		Looped = true,
	},
	GettingUp = {
		SoundId = "rbxasset://sounds/action_get_up.mp3",
	},
	Jumping = {
		SoundId = "rbxasset://sounds/action_jump.mp3",
	},
	Landing = {
		SoundId = "rbxasset://sounds/action_jump_land.mp3",
	},
	Running = {
		SoundId = "",
		Looped = true,
		Pitch = 1.85,
	},
	Splash = {
		SoundId = "rbxasset://sounds/impact_water.mp3",
	},
	Swimming = {
		SoundId = "rbxasset://sounds/action_swim.mp3",
		Looped = true,
		Pitch = 1.6,
	},
}
--[[	-- к чёрту команды!
			local Team = Instance.new("Team", Teams)
			Team.AutoAssignable = false
			Team.Name = Part.Parent.Name			
			player.Team = game.Teams[Part.Parent.Name] -- нашего игрока переносим в команду
--]]


			player.Neutral = false -- и убираем из нейтральных
			
			player.PlayerGui.Main.Timer.Text = "Preparing to launch a rocket ..."
			
			-- game.Workspace.Tycoons.Tycoon1:FindFirstChild("Owner").Value = Part.Parent.Name
			trap.Parent:FindFirstChild("Owner").Value = Part.Parent.Name -- прописываем владельца данного Tycoon
		end -- конец if
	end
end) -- конец function