null
nil
-
true
0
-0.349999994
-0.649999976
1
-0
0
0
0
-1
0
1
0
OwnerCameraTool
http://www.roblox.com/asset/?id=13506760
-
false
CameraToolScript
local function waitForChild(parent, childName)
local child = parent:findFirstChild(childName)
if child then return child end
while true do
child = parent.ChildAdded:wait()
if child.Name==childName then return child end
end
end
local Tool = script.Parent
waitForChild(Tool,"ScreenshotGui")
waitForChild(Tool.ScreenshotGui,"FlashFrame")
waitForChild(Tool.ScreenshotGui,"ScreenshotFrame")
waitForChild(Tool.ScreenshotGui.ScreenshotFrame, "ScreenshotText")
local gui = Tool.ScreenshotGui
local flashStep = 0.05
local active = false
Tool.Activated:connect(function()
if active then return end
active = true
local camera = game.Workspace.CurrentCamera
local cframe = game.Workspace.CurrentCamera.CoordinateFrame
local player = game.Players:GetPlayerFromCharacter(Tool.Parent)
local cameraShot = game.Workspace:FindFirstChild("OwnerCameraShotRef")
if not cameraShot then
local newCameraShot = Instance.new("Model")
newCameraShot.Name = "OwnerCameraShotRef"
local cameraPos = Instance.new("Vector3Value")
cameraPos.Name = "CameraPos"
cameraPos.Value = Vector3.new(cframe.p.x,cframe.p.y,cframe.p.z)
local cameraFocus = Instance.new("Vector3Value")
cameraFocus.Name = "CameraFocus"
cameraFocus.Value = game.Workspace.CurrentCamera.Focus.p
cameraPos.Parent = newCameraShot
cameraFocus.Parent = newCameraShot
newCameraShot.Parent = game.Workspace
local serverScript = Tool.UpdateServerCamera:clone()
serverScript.Parent = newCameraShot
serverScript.Disabled = false
else
if cameraShot:FindFirstChild("CameraPos") then
cameraShot.CameraPos.Value = Vector3.new(game.Workspace.CurrentCamera.CoordinateFrame.p.x,game.Workspace.CurrentCamera.CoordinateFrame.p.y,game.Workspace.CurrentCamera.CoordinateFrame.p.z)
end
if cameraShot:FindFirstChild("CameraFocus") then
cameraShot.CameraFocus.Value = game.Workspace.CurrentCamera.Focus.p
end
end
gui.FlashFrame.BackgroundTransparency = 0
while gui.FlashFrame.BackgroundTransparency < 1 do
gui.FlashFrame.BackgroundTransparency = gui.FlashFrame.BackgroundTransparency + flashStep
wait(0.03)
end
active = false
end)
function setupGui()
local player = game.Players:GetPlayerFromCharacter(Tool.Parent)
if gui and player and player:FindFirstChild("PlayerGui") then
gui.Parent = player.PlayerGui
gui.FlashFrame.Visible = true
gui.ScreenshotFrame.Visible = true
end
end
function destroyGui()
gui.FlashFrame.Visible = false
gui.ScreenshotFrame.Visible = false
end
Tool.Equipped:connect(function(mouse)
setupGui()
end)
Tool.Unequipped:connect(function()
destroyGui()
end)
-
ScreenshotGui
-
false
4288914085
0
4279970357
1
false
ScreenshotFrame
0.5
-200
0
0
0
400
0
40
0
3
true
1
-
false
4288914085
1
4279970357
1
false
2
7
ScreenshotText
0
0
0
0
1
0
1
0
0
Click to Create Thumbnail
4294967295
0
false
2
1
true
1
-
false
4294967295
1
4279970357
1
false
FlashFrame
0
0
0
0
1
0
1
0
0
0
true
1
-
false
-0.5
0.5
0
0
-0.5
0.5
4
0
194
0
0.600000024
0
1
0
0
0
1
0
0
0
1
true
0.5
0.300000012
-0.5
0.5
0
0
-0.5
0.5
0
0
false
256
Handle
0
-0.5
0.5
0
0
0
0
0
-0.5
0.5
3
0
0
0
0
0
1
1
1
1.20000005
1
-
2
2
http://www.roblox.com/asset/?id=13506753
5
Mesh
0
0
0
2
2
1.79999995
http://www.roblox.com/asset/?id=13506786
1
1
1
-
true
UpdateServerCamera
local function waitForChild(parent, childName)
local child = parent:findFirstChild(childName)
if child then return child end
while true do
child = parent.ChildAdded:wait()
if child.Name == childName then return child end
end
end
local camRef = script.Parent
waitForChild(camRef,"CameraPos")
waitForChild(camRef,"CameraFocus")
local camPos = camRef.CameraPos
local camFocus = camRef.CameraFocus
local debounce = false
function updateServerCamera()
if debounce then return end
debounce = true
game.Workspace.CurrentCamera.CameraType = Enum.CameraType.Fixed
game.Workspace.CurrentCamera.CoordinateFrame = CFrame.new(camPos.Value,camFocus.Value)
game.Workspace.CurrentCamera.Focus = CFrame.new(camFocus.Value)
debounce = false
end
updateServerCamera()
camFocus.Changed:connect(updateServerCamera)