roblonium-web/Game/FinobeTools/r-orb.rbxm

935 lines
28 KiB
Plaintext

<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">
<External>null</External>
<External>nil</External>
<Item class="Tool" referent="RBX0">
<Properties>
<bool name="CanBeDropped">false</bool>
<bool name="Enabled">true</bool>
<CoordinateFrame name="Grip">
<X>0.0500000007</X>
<Y>-1.31955695</Y>
<Z>-0.941427648</Z>
<R00>1</R00>
<R01>0</R01>
<R02>0</R02>
<R10>0</R10>
<R11>0.906307757</R11>
<R12>0.42261824</R12>
<R20>0</R20>
<R21>-0.42261824</R21>
<R22>0.906307757</R22>
</CoordinateFrame>
<string name="Name">Carnagecopia</string>
<Content name="TextureId"><url>http://www.roblox.com/asset/?id=98345995</url></Content>
<string name="ToolTip">Carnagecopia</string>
</Properties>
<Item class="Part" referent="RBX1">
<Properties>
<bool name="Anchored">false</bool>
<float name="BackParamA">-0.5</float>
<float name="BackParamB">0.5</float>
<token name="BackSurface">0</token>
<token name="BackSurfaceInput">0</token>
<float name="BottomParamA">-0.5</float>
<float name="BottomParamB">0.5</float>
<token name="BottomSurface">0</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">194</int>
<CoordinateFrame name="CFrame">
<X>23.9200001</X>
<Y>78.125</Y>
<Z>-45.125</Z>
<R00>1</R00>
<R01>0</R01>
<R02>0</R02>
<R10>0</R10>
<R11>1</R11>
<R12>0</R12>
<R20>0</R20>
<R21>0</R21>
<R22>1</R22>
</CoordinateFrame>
<bool name="CanCollide">true</bool>
<float name="Elasticity">0.5</float>
<float name="Friction">0.300000012</float>
<float name="FrontParamA">-0.5</float>
<float name="FrontParamB">0.5</float>
<token name="FrontSurface">0</token>
<token name="FrontSurfaceInput">0</token>
<float name="LeftParamA">-0.5</float>
<float name="LeftParamB">0.5</float>
<token name="LeftSurface">0</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">true</bool>
<token name="Material">256</token>
<string name="Name">Handle</string>
<float name="Reflectance">0</float>
<float name="RightParamA">-0.5</float>
<float name="RightParamB">0.5</float>
<token name="RightSurface">0</token>
<token name="RightSurfaceInput">0</token>
<Vector3 name="RotVelocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="TopParamA">-0.5</float>
<float name="TopParamB">0.5</float>
<token name="TopSurface">0</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<token name="formFactorRaw">3</token>
<token name="shape">1</token>
<Vector3 name="size">
<X>0.839999974</X>
<Y>1.14999998</Y>
<Z>3.54999995</Z>
</Vector3>
</Properties>
<Item class="SpecialMesh" referent="RBX2">
<Properties>
<token name="LODX">2</token>
<token name="LODY">2</token>
<Content name="MeshId"><url>http://www.roblox.com/asset/?id=98331889</url></Content>
<token name="MeshType">5</token>
<string name="Name">Mesh</string>
<Vector3 name="Offset">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<Vector3 name="Scale">
<X>2</X>
<Y>2</Y>
<Z>2</Z>
</Vector3>
<Content name="TextureId"><url>http://www.roblox.com/asset/?id=98332070</url></Content>
<Vector3 name="VertexColor">
<X>1</X>
<Y>1</Y>
<Z>1</Z>
</Vector3>
</Properties>
</Item>
<Item class="Sound" referent="RBX3">
<Properties>
<bool name="Looped">false</bool>
<string name="Name">ReloadSound</string>
<float name="Pitch">1</float>
<bool name="PlayOnRemove">false</bool>
<Content name="SoundId"><url>http://www.roblox.com/Asset?ID=94132726</url></Content>
<float name="Volume">1</float>
</Properties>
</Item>
<Item class="Sound" referent="RBX4">
<Properties>
<bool name="Looped">false</bool>
<string name="Name">Equip</string>
<float name="Pitch">1.33000004</float>
<bool name="PlayOnRemove">false</bool>
<Content name="SoundId"><url>http://www.roblox.com/Asset?ID=97103817</url></Content>
<float name="Volume">0.5</float>
</Properties>
</Item>
</Item>
<Item class="LocalScript" referent="RBX5">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">MouseIcon</string>
<ProtectedString name="Source">local MOUSE_ICON = &apos;rbxasset://textures/GunCursor.png&apos;
local RELOADING_ICON = &apos;rbxasset://textures/GunWaitCursor.png&apos;
local Tool = script.Parent
local Mouse = nil
local function UpdateIcon()
&#9;Mouse.Icon = Tool.Enabled and MOUSE_ICON or RELOADING_ICON
end
local function OnEquipped(mouse)
&#9;Mouse = mouse
&#9;UpdateIcon()
end
local function OnChanged(property)
&#9;if property == &apos;Enabled&apos; then
&#9;&#9;UpdateIcon()
&#9;end
end
Tool.Equipped:connect(OnEquipped)
Tool.Changed:connect(OnChanged)
</ProtectedString>
</Properties>
</Item>
<Item class="Script" referent="RBX6">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">Launcher</string>
<ProtectedString name="Source">-----------------
--| Constants |--
-----------------
local COOLDOWN = 4 -- Seconds until tool can be used again
-- RocketPropulsion Fields
local TARGET_RADIUS = 5
local MAX_SPEED = 75
local MAX_TORQUE = Vector3.new(4e6, 4e6, 0)
local MAX_THRUST = 50000
local THRUST_P = 500
local THRUST_D = 50000
local TARGET_OVERSHOOT_DISTANCE = 10000000
local ROCKET_MESH_ID = &apos;http://www.roblox.com/asset/?id=94690081&apos;
local ROCKET_MESH_SCALE = Vector3.new(2, 2, 2)
local ROCKET_PART_SIZE = Vector3.new(2,2.4,1)
local VELOCITY = 110 -- constant
local VELOCITY_SQAURED = VELOCITY * VELOCITY
local VELOCITY_TO_FOURTH = VELOCITY_SQAURED * VELOCITY_SQAURED
--------------------
--| WaitForChild |--
--------------------
-- Waits for parent.child to exist, then returns it
local function WaitForChild(parent, childName)
&#9;assert(parent, &quot;ERROR: WaitForChild: parent is nil&quot;)
&#9;while not parent:FindFirstChild(childName) do parent.ChildAdded:wait() end
&#9;return parent[childName]
end
-----------------
--| Variables |--
-----------------
local DebrisService = Game:GetService(&apos;Debris&apos;)
local PlayersService = Game:GetService(&apos;Players&apos;)
local Tool = script.Parent
local ToolHandle = Tool.Handle
local RocketScript = WaitForChild(script, &apos;Rocket&apos;)
local SwooshSound = WaitForChild(script, &apos;Swoosh&apos;)
local BoomSound = WaitForChild(script, &apos;Boom&apos;)
local ReloadSound = WaitForChild(ToolHandle, &apos;ReloadSound&apos;)
local EquipSound
local MyModel = nil
local MyPlayer = nil
local BaseRocket = nil
local RocketClone = nil
local RocketMeshes = WaitForChild(Tool,&apos;RocketMeshes&apos;)
local textGui=WaitForChild(Tool,&apos;textGui&apos;)
local Kills=WaitForChild(Tool,&apos;Kills&apos;)
local InUltra=false
-----------------
--| Functions |--
-----------------
function computeLaunchAngle(dx,dy,grav)
&#9;-- arcane
&#9;-- http://en.wikipedia.org/wiki/Trajectory_of_a_projectile
&#9;
&#9;local g = math.abs(grav)
&#9;local inRoot = (VELOCITY_TO_FOURTH) - (g * ((g*dx*dx) + (2*dy*VELOCITY_SQAURED)))
&#9;if inRoot &lt;= 0 then
&#9;&#9;return .25 * math.pi
&#9;end
&#9;local root = math.sqrt(inRoot)
&#9;local inATan1 = ((VELOCITY_SQAURED) + root) / (g*dx)
&#9;local inATan2 = ((VELOCITY_SQAURED) - root) / (g*dx)
&#9;local answer1 = math.atan(inATan1)
&#9;local answer2 = math.atan(inATan2)
&#9;return math.min(answer1,answer2)
end
local function MakeBaseRocket()
&#9;-- Set up the rocket part
&#9;local rocket = Instance.new(&apos;Part&apos;)
&#9;rocket.Name = &apos;Rocket&apos;
&#9;rocket.FormFactor = Enum.FormFactor.Custom --NOTE: This must be done before changing Size
&#9;rocket.Size = ROCKET_PART_SIZE
&#9;rocket.CanCollide = false
&#9;rocket.BottomSurface = Enum.SurfaceType.Smooth
&#9;rocket.TopSurface = Enum.SurfaceType.Smooth
&#9;-- Add the mesh
&#9;local mesh = RocketMeshes[math.random(RocketMeshes.Value)]:Clone()--Instance.new(&apos;SpecialMesh&apos;, rocket)
&#9;--mesh.MeshId =
&#9;mesh.Scale = ROCKET_MESH_SCALE
&#9;--mesh.TextureId = ToolHandle.Mesh.TextureId
&#9;mesh.Parent=rocket
&#9;-- Add fire
&#9;local fire = Instance.new(&apos;Fire&apos;, rocket)
&#9;fire.Heat = 5
&#9;fire.Size = 2
&#9;local spin = Instance.new(&apos;BodyAngularVelocity&apos;)
&#9;spin.maxTorque=Vector3.new(999999,999999,999999)
&#9;spin.angularvelocity=Vector3.new(math.random()*30-15,math.random()*30-15,math.random()*30-15)
&#9;spin.Parent=rocket
&#9;
&#9;-- Clone the sounds
&#9;local swooshSoundClone = SwooshSound:Clone()
&#9;swooshSoundClone.Parent = rocket
&#9;local boomSoundClone = BoomSound:Clone()
&#9;boomSoundClone.Parent = rocket
&#9;-- Attach creator tags
&#9;local creatorTag = Instance.new(&apos;ObjectValue&apos;, rocket)
&#9;creatorTag.Name = &apos;creator&apos; --NOTE: Must be called &apos;creator&apos; for website stats
&#9;creatorTag.Value = MyPlayer
&#9;local iconTag = Instance.new(&apos;StringValue&apos;, creatorTag)
&#9;iconTag.Name = &apos;icon&apos;
&#9;iconTag.Value = Tool.TextureId
&#9;-- Finally, clone the rocket script and enable it
&#9;local rocketScriptClone = RocketScript:Clone()
&#9;rocketScriptClone.Parent = rocket
&#9;rocketScriptClone.Disabled = false
&#9;return rocket
end
local function OnEquipped()
&#9;MyModel = Tool.Parent
&#9;MyPlayer = PlayersService:GetPlayerFromCharacter(MyModel)
&#9;BaseRocket = MakeBaseRocket()
&#9;RocketClone = BaseRocket:Clone()
&#9;EquipSound = WaitForChild(ToolHandle, &apos;Equip&apos;)
&#9;EquipSound:Play()
end
local function OnActivated(targetOverride)
&#9;if (Tool.Enabled or InUltra) and MyModel and MyModel:FindFirstChild(&apos;Humanoid&apos;) and MyModel.Humanoid.Health &gt; 0 then
&#9;&#9;Tool.Enabled = false
&#9;&#9;-- Pick a target
&#9;&#9;local targetPosition = targetOverride or MyModel.Humanoid.TargetPoint
&#9;&#9;-- Position the rocket clone
&#9;&#9;local spawnPosition = ToolHandle.Position + (ToolHandle.CFrame.lookVector * (ToolHandle.Size.z / 2))
&#9;&#9;RocketClone.CFrame = CFrame.new(spawnPosition, targetPosition) --NOTE: This must be done before assigning Parent
&#9;&#9;DebrisService:AddItem(RocketClone, 30)
&#9;&#9;RocketClone.Parent = Workspace
&#9;&#9;local startPosition = spawnPosition
&#9;&#9;local mouse_pos=targetPosition
&#9;&#9;local dir = mouse_pos - startPosition
&#9;&#9;dir = dir.unit
&#9;
&#9;&#9;local launch = startPosition + 3 * dir
&#9;
&#9;&#9;local delta = mouse_pos - launch
&#9;&#9;
&#9;&#9;local dy = delta.y
&#9;&#9;
&#9;&#9;local new_delta = Vector3.new(delta.x, 0, delta.z)
&#9;&#9;delta = new_delta
&#9;
&#9;&#9;local dx = delta.magnitude
&#9;&#9;local unit_delta = delta.unit
&#9;&#9;
&#9;&#9;-- acceleration due to gravity in RBX units
&#9;&#9;local g = (-9.81 * 20)
&#9;
&#9;&#9;local theta = computeLaunchAngle( dx, dy, g)
&#9;&#9;local vy = math.sin(theta)
&#9;&#9;local xz = math.cos(theta)
&#9;&#9;local vx = unit_delta.x * xz
&#9;&#9;local vz = unit_delta.z * xz
&#9;&#9;
&#9;&#9;RocketClone.Velocity = Vector3.new(vx,vy,vz) * VELOCITY
&#9;&#9;wait(0) --TODO: Remove when sounds realize they can be played as soon as they enter the Workspace
&#9;&#9;
&#9;&#9;-- Swoosh!
&#9;&#9;local swooshSound = RocketClone:FindFirstChild(&apos;Swoosh&apos;)
&#9;&#9;if swooshSound then
&#9;&#9;&#9;swooshSound:Play()
&#9;&#9;end
&#9;&#9;-- Prepare the next rocket to be fired
&#9;&#9;BaseRocket:Destroy()
&#9;&#9;BaseRocket = MakeBaseRocket()
&#9;&#9;RocketClone = BaseRocket:Clone()
&#9;&#9;ReloadSound:Play()
&#9;&#9;if not InUltra then
&#9;&#9;&#9;wait(COOLDOWN)
&#9;&#9;end
&#9;&#9;-- Stop the reloading sound if it hasn&apos;t already finished
&#9;&#9;ReloadSound:Stop()
&#9;&#9;Tool.Enabled = true
&#9;end
end
local function OnUnequipped()
&#9;ReloadSound:Stop() --TODO: This does not work online
end
function updateUltra()
&#9;if Kills.Value&gt;2 then
&#9;&#9;Kills.Value=0
&#9;&#9;InUltra=true
&#9;&#9;local tgui=textGui:Clone()
&#9;&#9;tgui.Parent=MyPlayer.PlayerGui
&#9;&#9;game.Debris:AddItem(tgui,10)
&#9;&#9;local startTime=tick()
&#9;&#9;while tick()-startTime&lt;10 do
&#9;&#9;&#9;OnActivated()
&#9;&#9;&#9;wait(.5)
&#9;&#9;end
&#9;&#9;InUltra=false
&#9;end
end
--------------------
--| Script Logic |--
--------------------
Kills.Changed:connect(updateUltra)
Tool.Equipped:connect(OnEquipped)
Tool.Activated:connect(OnActivated)
Tool.Unequipped:connect(OnUnequipped)
Tool.ChildAdded:connect(OnChildAdded) --NOTE: Added for Action Button
</ProtectedString>
</Properties>
<Item class="Sound" referent="RBX7">
<Properties>
<bool name="Looped">false</bool>
<string name="Name">Boom</string>
<float name="Pitch">1</float>
<bool name="PlayOnRemove">false</bool>
<Content name="SoundId"><url>rbxasset://sounds/collide.wav</url></Content>
<float name="Volume">1</float>
</Properties>
</Item>
<Item class="Sound" referent="RBX8">
<Properties>
<bool name="Looped">true</bool>
<string name="Name">Swoosh</string>
<float name="Pitch">1</float>
<bool name="PlayOnRemove">false</bool>
<Content name="SoundId"><url>http://www.roblox.com/Asset?ID=98318391</url></Content>
<float name="Volume">1</float>
</Properties>
</Item>
<Item class="Script" referent="RBX9">
<Properties>
<bool name="Disabled">true</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">Rocket</string>
<ProtectedString name="Source">-----------------
--| Constants |--
-----------------
local BLAST_RADIUS = 6
local BLAST_PRESSURE = 750000
-- Rocket will fly through things named these
local ROCKET_IGNORE_LIST = {rocket = 1, handle = 1, effect = 1, water = 1} --NOTE: Keys must be lowercase, values must evaluate to true
--------------------
--| WaitForChild |--
--------------------
-- Waits for parent.child to exist, then returns it
local function WaitForChild(parent, childName)
&#9;assert(parent, &quot;ERROR: WaitForChild: parent is nil&quot;)
&#9;while not parent:FindFirstChild(childName) do parent.ChildAdded:wait() end
&#9;return parent[childName]
end
-----------------
--| Variables |--
-----------------
local DebrisService = Game:GetService(&apos;Debris&apos;)
local Rocket = script.Parent
local CreatorTag = WaitForChild(Rocket, &apos;creator&apos;)
local Connection = nil
-----------------
--| Functions |--
-----------------
-- Returns the ancestor that contains a Humanoid, if it exists
local function FindCharacterAncestor(subject)
&#9;if subject and subject ~= Workspace then
&#9;&#9;local humanoid = subject:FindFirstChild(&apos;Humanoid&apos;)
&#9;&#9;if humanoid then
&#9;&#9;&#9;return subject, humanoid
&#9;&#9;else
&#9;&#9;&#9;return FindCharacterAncestor(subject.Parent)
&#9;&#9;end
&#9;end
&#9;return nil
end
local hitHuman=false
local function OnExplosionHit(hitPart)
&#9;if hitPart then
&#9;&#9;local _, humanoid = FindCharacterAncestor(hitPart.Parent)
&#9;&#9;if humanoid and humanoid.Health &gt; 0 then
&#9;&#9;&#9;if CreatorTag.Value.Character:FindFirstChild(&apos;Carnagecopia&apos;) then
&#9;&#9;&#9;&#9;local tkills= CreatorTag.Value.Character:FindFirstChild(&apos;Carnagecopia&apos;):FindFirstChild(&apos;Kills&apos;)
&#9;&#9;&#9;&#9;if tkills and not hitHuman then
&#9;&#9;&#9;&#9;&#9;tkills.Value=tkills.Value+1
&#9;&#9;&#9;&#9;&#9;hitHuman=true
&#9;&#9;&#9;&#9;end
&#9;&#9;&#9;end
&#9;&#9;end
&#9;end
end
local function OnTouched(otherPart)
&#9;if Rocket and otherPart then
&#9;&#9;-- Fly through anything in the ignore list
&#9;&#9;if ROCKET_IGNORE_LIST[string.lower(otherPart.Name)] then
&#9;&#9;&#9;return
&#9;&#9;end
&#9;&#9;-- Fly through the creator
&#9;&#9;local myPlayer = CreatorTag.Value
&#9;&#9;if myPlayer and myPlayer.Character and myPlayer.Character:IsAncestorOf(otherPart) then
&#9;&#9;&#9;return
&#9;&#9;end
&#9;&#9;-- Create the explosion
&#9;&#9;local explosion = Instance.new(&apos;Explosion&apos;)
&#9;&#9;explosion.BlastPressure = BLAST_PRESSURE
&#9;&#9;explosion.BlastRadius = BLAST_RADIUS
&#9;&#9;explosion.Position = Rocket.Position
&#9;&#9;explosion.Hit:connect(OnExplosionHit)
&#9;&#9;explosion.Parent = Workspace
&#9;&#9;-- Start playing the boom sound
&#9;&#9;local boomSound = Rocket:FindFirstChild(&apos;Boom&apos;)
&#9;&#9;if boomSound then
&#9;&#9;&#9;boomSound:Play()
&#9;&#9;end
&#9;&#9;-- NOTE:
&#9;&#9;-- If we just destroyed the rocket at this point, the boom sound would be destroyed too,
&#9;&#9;-- so instead we will hide the rocket, keep it in the same spot, and schedule it for deletion
&#9;&#9;-- Stop playing the swoosh sound
&#9;&#9;local swooshSound = Rocket:FindFirstChild(&apos;Swoosh&apos;)
&#9;&#9;if swooshSound then
&#9;&#9;&#9;swooshSound:Stop()
&#9;&#9;end
&#9;&#9;-- Put out the fire
&#9;&#9;local fire = Rocket:FindFirstChild(&apos;Fire&apos;)
&#9;&#9;if fire then
&#9;&#9;&#9;fire:Destroy()
&#9;&#9;end
&#9;&#9;Rocket.Transparency = 1
&#9;&#9;Rocket.CanCollide = false
&#9;&#9;Rocket.Anchored = true
&#9;&#9;DebrisService:AddItem(Rocket, 3)
&#9;&#9;-- Destroy the connection so this method won&apos;t be called again
&#9;&#9;Connection:disconnect()
&#9;end
end
--------------------
--| Script Logic |--
--------------------
-- Arm the rocket and save the touch connection so we can disconnect it later
Connection = Rocket.Touched:connect(OnTouched)
</ProtectedString>
</Properties>
</Item>
</Item>
<Item class="IntValue" referent="RBX10">
<Properties>
<string name="Name">RocketMeshes</string>
<int name="Value">6</int>
</Properties>
<Item class="SpecialMesh" referent="RBX11">
<Properties>
<token name="LODX">2</token>
<token name="LODY">2</token>
<Content name="MeshId"><url>http://www.roblox.com/asset/?id=16190555</url></Content>
<token name="MeshType">5</token>
<string name="Name">1</string>
<Vector3 name="Offset">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<Vector3 name="Scale">
<X>1.60000002</X>
<Y>1.60000002</Y>
<Z>1.60000002</Z>
</Vector3>
<Content name="TextureId"><url>http://www.roblox.com/asset/?id=16190577</url></Content>
<Vector3 name="VertexColor">
<X>1</X>
<Y>1</Y>
<Z>1</Z>
</Vector3>
</Properties>
</Item>
<Item class="SpecialMesh" referent="RBX12">
<Properties>
<token name="LODX">2</token>
<token name="LODY">2</token>
<Content name="MeshId"><url>http://www.roblox.com/asset/?id=28937301</url></Content>
<token name="MeshType">5</token>
<string name="Name">2</string>
<Vector3 name="Offset">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<Vector3 name="Scale">
<X>1</X>
<Y>1</Y>
<Z>1</Z>
</Vector3>
<Content name="TextureId"><url>http://www.roblox.com/asset/?id=28937670</url></Content>
<Vector3 name="VertexColor">
<X>1</X>
<Y>1</Y>
<Z>1</Z>
</Vector3>
</Properties>
</Item>
<Item class="SpecialMesh" referent="RBX13">
<Properties>
<token name="LODX">2</token>
<token name="LODY">2</token>
<Content name="MeshId"><url>http://www.roblox.com/asset/?id=13073626</url></Content>
<token name="MeshType">5</token>
<string name="Name">3</string>
<Vector3 name="Offset">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<Vector3 name="Scale">
<X>1.5</X>
<Y>1.5</Y>
<Z>1.5</Z>
</Vector3>
<Content name="TextureId"><url>http://www.roblox.com/asset/?id=13073598</url></Content>
<Vector3 name="VertexColor">
<X>1</X>
<Y>1</Y>
<Z>1</Z>
</Vector3>
</Properties>
</Item>
<Item class="SpecialMesh" referent="RBX14">
<Properties>
<token name="LODX">2</token>
<token name="LODY">2</token>
<Content name="MeshId"><url>http://www.roblox.com/asset/?id=40311092</url></Content>
<token name="MeshType">5</token>
<string name="Name">4</string>
<Vector3 name="Offset">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<Vector3 name="Scale">
<X>1</X>
<Y>1</Y>
<Z>1</Z>
</Vector3>
<Content name="TextureId"><url>http://www.roblox.com/asset/?id=40311049</url></Content>
<Vector3 name="VertexColor">
<X>0.699999988</X>
<Y>0.699999988</Y>
<Z>0.699999988</Z>
</Vector3>
</Properties>
</Item>
<Item class="SpecialMesh" referent="RBX15">
<Properties>
<token name="LODX">2</token>
<token name="LODY">2</token>
<Content name="MeshId"><url>http://www.roblox.com/asset/?id=16215477</url></Content>
<token name="MeshType">5</token>
<string name="Name">5</string>
<Vector3 name="Offset">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<Vector3 name="Scale">
<X>1.04999995</X>
<Y>1.04999995</Y>
<Z>1.04999995</Z>
</Vector3>
<Content name="TextureId"><url>http://www.roblox.com/asset/?id=16215451</url></Content>
<Vector3 name="VertexColor">
<X>1</X>
<Y>1</Y>
<Z>1</Z>
</Vector3>
</Properties>
</Item>
<Item class="SpecialMesh" referent="RBX16">
<Properties>
<token name="LODX">2</token>
<token name="LODY">2</token>
<Content name="MeshId"><url>http://www.roblox.com/asset/?id=16940906</url></Content>
<token name="MeshType">5</token>
<string name="Name">6</string>
<Vector3 name="Offset">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<Vector3 name="Scale">
<X>0.800000012</X>
<Y>0.800000012</Y>
<Z>0.800000012</Z>
</Vector3>
<Content name="TextureId"><url>http://www.roblox.com/asset/?id=16940893</url></Content>
<Vector3 name="VertexColor">
<X>1</X>
<Y>1</Y>
<Z>1</Z>
</Vector3>
</Properties>
</Item>
</Item>
<Item class="ScreenGui" referent="RBX17">
<Properties>
<string name="Name">textGui</string>
</Properties>
<Item class="Frame" referent="RBX18">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4288914085</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">1</int>
<bool name="ClipsDescendants">false</bool>
<bool name="Draggable">false</bool>
<string name="Name">Frame</string>
<UDim2 name="Position">
<XS>0.25</XS>
<XO>0</XO>
<YS>0.75</YS>
<YO>0</YO>
</UDim2>
<UDim2 name="Size">
<XS>0.5</XS>
<XO>0</XO>
<YS>0.100000001</YS>
<YO>0</YO>
</UDim2>
<token name="SizeConstraint">0</token>
<token name="Style">0</token>
<bool name="Visible">true</bool>
<int name="ZIndex">1</int>
</Properties>
<Item class="LocalScript" referent="RBX19">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">ElementShaker</string>
<ProtectedString name="Source">local Element = script.Parent
local ShakeSpeed = .05
local ShakeAmount = 5
local StartPosition=Element.Position
while true do
&#9;local angle= math.random()*math.pi*2
&#9;Element:TweenPosition(StartPosition+UDim2.new(0,math.cos(angle)*ShakeAmount,0,math.sin(angle)*ShakeAmount), &quot;Out&quot;, &quot;Quad&quot;, ShakeSpeed, true)
&#9;wait(ShakeSpeed+.01)
end</ProtectedString>
</Properties>
</Item>
<Item class="ImageLabel" referent="RBX20">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4288914085</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">1</int>
<bool name="ClipsDescendants">false</bool>
<bool name="Draggable">false</bool>
<Content name="Image"><url>http://www.roblox.com/asset/?id=98341554</url></Content>
<string name="Name">ImageLabel</string>
<UDim2 name="Position">
<XS>0</XS>
<XO>0</XO>
<YS>0</YS>
<YO>0</YO>
</UDim2>
<UDim2 name="Size">
<XS>1</XS>
<XO>0</XO>
<YS>1</YS>
<YO>0</YO>
</UDim2>
<token name="SizeConstraint">0</token>
<bool name="Visible">true</bool>
<int name="ZIndex">1</int>
</Properties>
</Item>
</Item>
<Item class="Frame" referent="RBX21">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4288914085</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">1</int>
<bool name="ClipsDescendants">false</bool>
<bool name="Draggable">false</bool>
<string name="Name">Frame</string>
<UDim2 name="Position">
<XS>0.25</XS>
<XO>0</XO>
<YS>0.75</YS>
<YO>0</YO>
</UDim2>
<UDim2 name="Size">
<XS>0.5</XS>
<XO>0</XO>
<YS>0.100000001</YS>
<YO>0</YO>
</UDim2>
<token name="SizeConstraint">0</token>
<token name="Style">0</token>
<bool name="Visible">true</bool>
<int name="ZIndex">1</int>
</Properties>
<Item class="LocalScript" referent="RBX22">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">ElementShaker</string>
<ProtectedString name="Source">local Element = script.Parent
local ShakeSpeed = .05
local ShakeAmount = 5
local StartPosition=Element.Position
while true do
&#9;local angle= math.random()*math.pi*2
&#9;Element:TweenPosition(StartPosition+UDim2.new(0,math.cos(angle)*ShakeAmount,0,math.sin(angle)*ShakeAmount), &quot;Out&quot;, &quot;Quad&quot;, ShakeSpeed, true)
&#9;wait(ShakeSpeed+.01)
end</ProtectedString>
</Properties>
</Item>
<Item class="ImageLabel" referent="RBX23">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4288914085</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">1</int>
<bool name="ClipsDescendants">false</bool>
<bool name="Draggable">false</bool>
<Content name="Image"><url>http://www.roblox.com/asset/?id=98341065</url></Content>
<string name="Name">ImageLabel</string>
<UDim2 name="Position">
<XS>0</XS>
<XO>0</XO>
<YS>0</YS>
<YO>0</YO>
</UDim2>
<UDim2 name="Size">
<XS>1</XS>
<XO>0</XO>
<YS>1</YS>
<YO>0</YO>
</UDim2>
<token name="SizeConstraint">0</token>
<bool name="Visible">true</bool>
<int name="ZIndex">1</int>
</Properties>
</Item>
</Item>
</Item>
<Item class="IntValue" referent="RBX24">
<Properties>
<string name="Name">Kills</string>
<int name="Value">0</int>
</Properties>
</Item>
<Item class="Camera" referent="RBX25">
<Properties>
<Ref name="CameraSubject">null</Ref>
<token name="CameraType">0</token>
<CoordinateFrame name="CoordinateFrame">
<X>21.965271</X>
<Y>78.1268539</Y>
<Z>-47.4067459</Z>
<R00>-0.631106079</R00>
<R01>-0.0419355072</R01>
<R02>-0.77456218</R02>
<R10>-3.7252903e-009</R10>
<R11>0.9985376</R11>
<R12>-0.0540617406</R12>
<R20>0.775696516</R20>
<R21>-0.0341186896</R21>
<R22>-0.63018316</R22>
</CoordinateFrame>
<float name="FieldOfView">70</float>
<CoordinateFrame name="Focus">
<X>24.4460411</X>
<Y>78.3000031</Y>
<Z>-45.3883934</Z>
<R00>1</R00>
<R01>0</R01>
<R02>0</R02>
<R10>0</R10>
<R11>1</R11>
<R12>0</R12>
<R20>0</R20>
<R21>0</R21>
<R22>1</R22>
</CoordinateFrame>
<string name="Name">ThumbnailCamera</string>
</Properties>
</Item>
</Item>
</roblox>