From 50707511a8e7b35649d17dd4ab50704515c3b836 Mon Sep 17 00:00:00 2001 From: Quacky Date: Sun, 9 Jul 2017 16:51:02 -0500 Subject: [PATCH 01/31] Loadstring locked properties, that only loadstring can access. /shrug --- CSMPFunctions.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CSMPFunctions.lua b/CSMPFunctions.lua index 7d2a4b6..3e00831 100644 --- a/CSMPFunctions.lua +++ b/CSMPFunctions.lua @@ -80,8 +80,10 @@ function SetRBXLegacyVersion(Version) BottomRightControl.Position = UDim2.new(1,-BottomRightControl.AbsoluteSize.X,1,-BottomRightControl.AbsoluteSize.Y) end function makeXRelative() - BottomLeftControl.SizeConstraint = 1 + loadstring("\66\111\116\116\111\109\76\101\102\116\67\111\110\116\114\111\108\46\83\105\122\101\67\111\110\115\116\114\97\105\110\116\32\61\32\49\10\9\9\9\9\66\111\116\116\111\109\82\105\103\104\116\67\111\110\116\114\111\108\46\83\105\122\101\67\111\110\115\116\114\97\105\110\116\32\61\32\49")() + --[[BottomLeftControl.SizeConstraint = 1 BottomRightControl.SizeConstraint = 1 + ]]-- if TopLeftControl then TopLeftControl.SizeConstraint = 1 end if BuildTools then BuildTools.Frame.SizeConstraint = 1 From 31fbf9251f5b4adcb9766fcd469ed6085480d867 Mon Sep 17 00:00:00 2001 From: Quacky Date: Sun, 9 Jul 2017 16:54:44 -0500 Subject: [PATCH 02/31] Wipe Health2011.rbxm --- Health2011.rbxm | 330 +----------------------------------------------- 1 file changed, 3 insertions(+), 327 deletions(-) diff --git a/Health2011.rbxm b/Health2011.rbxm index 4fadee2..9ad973b 100644 --- a/Health2011.rbxm +++ b/Health2011.rbxm @@ -5,332 +5,8 @@ false - GUI_Copy - script.HealthGUI:clone().Parent = game.StarterGui; -script:remove(); - true + Script + script:Remove() - - - HealthGUI - true - - - - false - 4285215356 - 1 - 4279970357 - 1 - tray - - 0.5 - -44 - 1 - -26 - - - 0 - 170 - 0 - 18 - - 2 - 0 - true - 1 - true - - - - false - 4294967295 - 1 - 4279970357 - 1 - rbxasset://textures/healthgui/bkg.png - bkg - - 0 - 0 - 0 - 0 - - - 1 - 0 - 1 - 0 - - 0 - true - 1 - true - - - - - false - 4294967295 - 1 - 4279970357 - 1 - rbxasset://textures/healthgui/BarRed.png - barRed - - 0.0189999994 - 0 - 0.100000001 - 0 - - - 0 - 0 - 0 - 0 - - 0 - true - 1 - true - - - - - false - 4294967295 - 1.00000012 - 4279970357 - 0 - bar2 - - 0.0189999994 - 0 - 0.100000001 - 0 - - - 0.192000002 - 0 - 0.829999983 - 0 - - 0 - 0 - true - 1 - true - - - - false - - Script - h = script.Parent.Parent.Parent.Parent.Parent.Character.Humanoid -tray = script.Parent.Parent -base = tray.Parent -local lastHealth = 100 -local lastHealth2 = 100 -local maxWidth = 0.96 - -function UpdateGUI(health) - local width = (health / h.MaxHealth) * maxWidth - local height = 0.83 - local lastX = tray.bar.Position.X.Scale - local x = 0.019 + (maxWidth - width) - local y = 0.1 - - tray.bar.Position = UDim2.new(x,0,y, 0) - tray.bar.Size = UDim2.new(width, 0, height, 0) - -- If more than 1/4 health, bar = green. Else, bar = red. - if( (health / h.MaxHealth) > 0.25 ) then - tray.barRed.Size = UDim2.new(0, 0, 0, 0) - else - tray.barRed.Position = tray.bar.Position - tray.barRed.Size = tray.bar.Size - tray.bar.Size = UDim2.new(0, 0, 0, 0) - end - - if ( (lastHealth - health) > (h.MaxHealth / 10) ) then - lastHealth = health - - if h.Health ~= h.MaxHealth then - delay(0,function() - AnimateHurtOverlay() - end) - delay(0,function() - AnimateBars(x, y, lastX, height) - end) - end - else - lastHealth = health - end -end - -function AnimateBars(x, y, lastX, height) - local width = math.abs(x - lastX) - if( x > lastX ) then - x = lastX - end - tray.bar2.Position = UDim2.new(x,0, y, 0) - tray.bar2.Size = UDim2.new(width, 0, height, 0) - tray.bar2.BackgroundTransparency = 0 - local GBchannels = 1 - local j = 0.2 - - local i_total = 30 - for i=1,i_total do - -- Increment Values - if (GBchannels < 0.2) then - j = -j - end - GBchannels = GBchannels + j - if (i > (i_total - 10)) then - tray.bar2.BackgroundTransparency = tray.bar2.BackgroundTransparency + 0.1 - end - tray.bar2.BackgroundColor3 = Color3.new(1, GBchannels, GBchannels) - - wait(0.02) - end -end - -function AnimateHurtOverlay() - -- Start: - -- overlay.Position = UDim2.new(0, 0, 0, -22) - -- overlay.Size = UDim2.new(1, 0, 1.15, 30) - - -- Finish: - -- overlay.Position = UDim2.new(-2, 0, -2, -22) - -- overlay.Size = UDim2.new(4.5, 0, 4.65, 30) - - overlay = base.hurtOverlay - overlay.Visible = true - overlay.Position = UDim2.new(-2, 0, -2, -22) - overlay.Size = UDim2.new(4.5, 0, 4.65, 30) - -- Animate In, fast - local i_total = 2 - local wiggle_total = 0 - local wiggle_i = 0.02 - for i=1,i_total do - overlay.Position = UDim2.new( (-2 + (2 * (i/i_total)) + wiggle_total/2), 0, (-2 + (2 * (i/i_total)) + wiggle_total/2), -22 ) - overlay.Size = UDim2.new( (4.5 - (3.5 * (i/i_total)) + wiggle_total), 0, (4.65 - (3.5 * (i/i_total)) + wiggle_total), 30 ) - wait(0.01) - end - - i_total = 30 - - wait(0.03) - - -- Animate Out, slow - for i=1,i_total do - if( math.abs(wiggle_total) > (wiggle_i * 3) ) then - wiggle_i = -wiggle_i - end - wiggle_total = wiggle_total + wiggle_i - overlay.Position = UDim2.new( (0 - (2 * (i/i_total)) + wiggle_total/2), 0, (0 - (2 * (i/i_total)) + wiggle_total/2), -22 ) - overlay.Size = UDim2.new( (1 + (3.5 * (i/i_total)) + wiggle_total), 0, (1.15 + (3.5 * (i/i_total)) + wiggle_total), 30 ) - wait(0.01) - end - - -- Hide after we're done - overlay.Position = UDim2.new(10, 0, 0, 0) - overlay.Visible = false -end - -h.Changed:connect(function() - UpdateGUI(h.Health) - if ( (lastHealth2 - h.Health) > (h.MaxHealth / 10) ) then - lastHealth2 = h.Health - else - lastHealth2 = h.Health - end end) - - true - - - - - - false - 4294967295 - 1 - 4279970357 - 1 - rbxasset://textures/healthgui/Bar.png - bar - - 0.0189999994 - 0 - 0.100000001 - 0 - - - 0.959999979 - 0 - 0.829999983 - 0 - - 0 - true - 1 - true - - - - - false - 4294967295 - 1 - 4279970357 - 0 - rbxasset://textures/healthgui/label.png - label - - 0.680000007 - 0 - 0.300000012 - 0 - - - 0.25 - 0 - 0.349999994 - 0 - - 0 - true - 1 - true - - - - - - false - 4290164919 - 1 - 4279970357 - 1 - rbxasset://textures/healthgui/HurtOverlay.png - hurtOverlay - - 2 - 0 - 0 - -22 - - - 1 - 0 - 1.1500001 - 30 - - 0 - false - 1 - true - - - - \ No newline at end of file + From cab8036f9f1f441a1427508f09687bea5e1024aa Mon Sep 17 00:00:00 2001 From: Quacky Date: Sun, 9 Jul 2017 16:56:27 -0500 Subject: [PATCH 03/31] Global libraries hue --- librariesGlobal.rbxm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 librariesGlobal.rbxm diff --git a/librariesGlobal.rbxm b/librariesGlobal.rbxm new file mode 100644 index 0000000..56601b2 --- /dev/null +++ b/librariesGlobal.rbxm @@ -0,0 +1,28 @@ + + null + nil + + + false + + ResetCommand + function onChatted(msg, speaker) + + source = string.lower(speaker.Name) + msg = string.lower(msg) + -- Note: This one is NOT caps sensitive + + if msg == "!!!reset" then + speaker.Character.Humanoid.Health = 0 + end +end + +function onPlayerEntered(newPlayer) + newPlayer.Chatted:connect(function(msg) onChatted(msg, newPlayer) end) +end + +game.Players.ChildAdded:connect(onPlayerEntered) + true + + + From db48293cf723cc54847e4f6fadf6ce733129dc20 Mon Sep 17 00:00:00 2001 From: Quacky Date: Sun, 9 Jul 2017 16:57:21 -0500 Subject: [PATCH 04/31] Wipe health2010 --- Health2010.rbxm | 134 ++---------------------------------------------- 1 file changed, 3 insertions(+), 131 deletions(-) diff --git a/Health2010.rbxm b/Health2010.rbxm index cb430cc..9ad973b 100644 --- a/Health2010.rbxm +++ b/Health2010.rbxm @@ -5,136 +5,8 @@ false - GUI_Copy - script.HealthGUI:clone().Parent = game.StarterGui; -script:remove(); - true + Script + script:Remove() - - - HealthGUI - true - - - - false - 4285215356 - 1 - 4279970357 - 1 - Tray - - 0.949999988 - 0 - 0.380000025 - 0 - - - 0.0450000018 - 0 - 0.340000004 - 0 - - 0 - true - 1 - true - - - - false - 4286892054 - 0 - 4278190080 - 0 - HealthBar - - 0.420000017 - 0 - 0 - 0 - - - 0.159999996 - 0 - 0.800000012 - 0 - - 0 - true - 2 - true - - - - false - - Script - h = script.Parent.Parent.Parent.Parent.Parent.Character.Humanoid - -h.Changed:connect(function() - script.Parent.Size = UDim2.new(0.2, 0, 0.8 * (h.Health / h.MaxHealth), 0) - script.Parent.Position = UDim2.new(0.4, 0, 0.8 * (1- (h.Health / h.MaxHealth)) , 0) -end) - - true - - - - - - false - 4289733411 - 0 - 4278190080 - 0 - HealthBarBacking - - 0.419999987 - 0 - 0 - 0 - - - 0.159999996 - 0 - 0.800000012 - 0 - - 0 - true - 1 - true - - - - - false - 4294967295 - 1 - 4279970357 - 1 - rbxasset://textures/health.png - ImageLabel - - 0 - 0 - 0.800000012 - 3 - - - 1 - 0 - 0.25 - 0 - - 1 - true - 1 - true - - - - - \ No newline at end of file + From 2d69f3e7b9ac1e326fceabf31331edd062bd126e Mon Sep 17 00:00:00 2001 From: Quacky Date: Sun, 9 Jul 2017 16:58:13 -0500 Subject: [PATCH 05/31] Better 2011 guis suck it rbxbanland :weary: --- CoreGui2011.rbxm | 1329 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 1055 insertions(+), 274 deletions(-) diff --git a/CoreGui2011.rbxm b/CoreGui2011.rbxm index 6cb363e..35fd428 100644 --- a/CoreGui2011.rbxm +++ b/CoreGui2011.rbxm @@ -5,29 +5,1071 @@ false - GUI_Copy - script.Playerlist:clone().Parent = game.StarterGui + Sorter + print("Special thanks to Bitl, Carrot, iago, winsupermario1234, Khangaroo, drslicendice, coke, TheLivingBee, Raymonf, and a bunch of play - testers for help making 2011 fully stable and work. 8)") +script.Playerlist:clone().Parent = game.StarterGui +script.Dialogs:clone().Parent = game.StarterGui +script.Health:clone().Parent = game.StarterGui +script.ReenableDialogScript:clone().Parent = game.Lighting +script.TimeoutScript:clone().Parent = game.Lighting +script.ResetCommand:clone().Parent = game.Workspace script:remove() true - + - Playerlist + true + + ReenableDialogScript + wait(5) +local dialog = script.Parent +if dialog:IsA("Dialog") then + dialog.InUse = false +end +script:Remove() + true - + + + + true + + TimeoutScript + wait(5) +local dialog = script.Parent +if dialog:IsA("Dialog") then + dialog.InUse = false +end +script:Remove() + + true + + + + + false + + ResetCommand + function onChatted(msg, speaker) + + source = string.lower(speaker.Name) + msg = string.lower(msg) + -- Note: This one is NOT caps sensitive + + if msg == "!!!reset" then + speaker.Character.Humanoid.Health = 0 + end +end + +function onPlayerEntered(newPlayer) + newPlayer.Chatted:connect(function(msg) onChatted(msg, newPlayer) end) +end + +game.Players.ChildAdded:connect(onPlayerEntered) + true + + + + + Health + true + + + + false + 4285215356 + 1 + 4279970357 + 1 + tray + + 0.5 + -44 + 1 + -26 + + + 0 + 170 + 0 + 18 + + 2 + 0 + true + 1 + true + + + + false + 4294967295 + 1 + 4279970357 + 1 + rbxasset://textures/healthgui/bkg.png + bkg + + 0 + 0 + 0 + 0 + + + 1 + 0 + 1 + 0 + + 0 + true + 1 + true + + + + + false + 4294967295 + 1 + 4279970357 + 1 + rbxasset://textures/healthgui/BarRed.png + barRed + + 0.0189999994 + 0 + 0.100000001 + 0 + + + 0 + 0 + 0 + 0 + + 0 + true + 1 + true + + + + + false + 4294967295 + 1.00000012 + 4279970357 + 0 + bar2 + + 0.0189999994 + 0 + 0.100000001 + 0 + + + 0.192000002 + 0 + 0.829999983 + 0 + + 0 + 0 + true + 1 + true + + + + false + + Init + h = game.Players.LocalPlayer.Character.Humanoid +tray = script.Parent.Parent +base = tray.Parent +local lastHealth = 100 +local lastHealth2 = 100 +local maxWidth = 0.96 + +function UpdateGUI(health) + local width = (health / h.MaxHealth) * maxWidth + local height = 0.83 + local lastX = tray.bar.Position.X.Scale + local x = 0.019 + (maxWidth - width) + local y = 0.1 + + tray.bar.Position = UDim2.new(x,0,y, 0) + tray.bar.Size = UDim2.new(width, 0, height, 0) + -- If more than 1/4 health, bar = green. Else, bar = red. + if( (health / h.MaxHealth) > 0.25 ) then + tray.barRed.Size = UDim2.new(0, 0, 0, 0) + else + tray.barRed.Position = tray.bar.Position + tray.barRed.Size = tray.bar.Size + tray.bar.Size = UDim2.new(0, 0, 0, 0) + end + + if ( (lastHealth - health) > (h.MaxHealth / 10) ) then + lastHealth = health + + if h.Health ~= h.MaxHealth then + delay(0,function() + AnimateHurtOverlay() + end) + delay(0,function() + AnimateBars(x, y, lastX, height) + end) + end + else + lastHealth = health + end +end + +function AnimateBars(x, y, lastX, height) + local width = math.abs(x - lastX) + if( x > lastX ) then + x = lastX + end + tray.bar2.Position = UDim2.new(x,0, y, 0) + tray.bar2.Size = UDim2.new(width, 0, height, 0) + tray.bar2.BackgroundTransparency = 0 + local GBchannels = 1 + local j = 0.2 + + local i_total = 30 + for i=1,i_total do + -- Increment Values + if (GBchannels < 0.2) then + j = -j + end + GBchannels = GBchannels + j + if (i > (i_total - 10)) then + tray.bar2.BackgroundTransparency = tray.bar2.BackgroundTransparency + 0.1 + end + tray.bar2.BackgroundColor3 = Color3.new(1, GBchannels, GBchannels) + + wait(0.02) + end +end + +function AnimateHurtOverlay() + -- Start: + -- overlay.Position = UDim2.new(0, 0, 0, -22) + -- overlay.Size = UDim2.new(1, 0, 1.15, 30) + + -- Finish: + -- overlay.Position = UDim2.new(-2, 0, -2, -22) + -- overlay.Size = UDim2.new(4.5, 0, 4.65, 30) + + overlay = base.hurtOverlay + overlay.Visible = true + overlay.Position = UDim2.new(-2, 0, -2, -22) + overlay.Size = UDim2.new(4.5, 0, 4.65, 30) + -- Animate In, fast + local i_total = 2 + local wiggle_total = 0 + local wiggle_i = 0.02 + for i=1,i_total do + overlay.Position = UDim2.new( (-2 + (2 * (i/i_total)) + wiggle_total/2), 0, (-2 + (2 * (i/i_total)) + wiggle_total/2), -22 ) + overlay.Size = UDim2.new( (4.5 - (3.5 * (i/i_total)) + wiggle_total), 0, (4.65 - (3.5 * (i/i_total)) + wiggle_total), 30 ) + wait(0.01) + end + + i_total = 30 + + wait(0.03) + + -- Animate Out, slow + for i=1,i_total do + if( math.abs(wiggle_total) > (wiggle_i * 3) ) then + wiggle_i = -wiggle_i + end + wiggle_total = wiggle_total + wiggle_i + overlay.Position = UDim2.new( (0 - (2 * (i/i_total)) + wiggle_total/2), 0, (0 - (2 * (i/i_total)) + wiggle_total/2), -22 ) + overlay.Size = UDim2.new( (1 + (3.5 * (i/i_total)) + wiggle_total), 0, (1.15 + (3.5 * (i/i_total)) + wiggle_total), 30 ) + wait(0.01) + end + + -- Hide after we're done + overlay.Position = UDim2.new(10, 0, 0, 0) + overlay.Visible = false +end + +h.Changed:connect(function() + UpdateGUI(h.Health) + if ( (lastHealth2 - h.Health) > (h.MaxHealth / 10) ) then + lastHealth2 = h.Health + else + lastHealth2 = h.Health + end end) + true + + + + + + false + 4294967295 + 1 + 4279970357 + 1 + rbxasset://textures/healthgui/Bar.png + bar + + 0.0189999994 + 0 + 0.100000001 + 0 + + + 0.959999979 + 0 + 0.829999983 + 0 + + 0 + true + 1 + true + + + + + false + 4294967295 + 1 + 4279970357 + 0 + rbxasset://textures/healthgui/label.png + label + + 0.680000007 + 0 + 0.300000012 + 0 + + + 0.25 + 0 + 0.349999994 + 0 + + 0 + true + 1 + true + + + + + + false + 4290164919 + 1 + 4279970357 + 1 + rbxasset://textures/healthgui/HurtOverlay.png + hurtOverlay + + 2 + 0 + 0 + -22 + + + 1 + 0 + 1.1500001 + 30 + + 0 + false + 1 + true + + + + + false + + Hide + while true do + game.Players.LocalPlayer.PlayerGui.HealthGUI.tray.Visible = false + game.Players.LocalPlayer.PlayerGui.HealthGUI.hurtOverlay.Visible = false +end + true + + + + + + Dialogs + true + + + + false + 4288914085 + 1 + 4279970357 + 1 + ControlFrame + + 0 + 0 + 0 + 0 + + + 1 + 0 + 1 + 0 + + 0 + 0 + true + 1 + true + + + + false + 4288914085 + 1 + 4279970357 + 1 + BottomLeftControl + + 0 + 0 + 1 + -46 + + + 0 + 130 + 0 + 46 + + 0 + 0 + true + 1 + true + + + + + false + 4288914085 + 1 + 4279970357 + 1 + NotificationBox + + 1 + -200 + 0.5 + 0 + + + 0 + 200 + 0.419999987 + 0 + + 0 + true + 1 + true + + + + false Init - --rbxsig%bMgJMPt2chG7JIOhV0y5so/4dL1lRGiT3ELG0LsKh4QrqkG8sRdndraomuViGbDkVOWLXwIilzkhlSJSCjgZ9zXp6fS+SekW/n/RVWjNLA/gPThKLVxP6HmHRK9WTzIQ4ZTXjBmaExcdxBb1remqDPHWHlO2QoxZBqHs5sDGlQI=% ---rbxassetid%48488235% ---rbxsig%NGgzAS16V87kRv1YSTnTXts2fZjkDnnBr6KQq6h00V6iAQ8ZzNuc8zVRUQM/7krGgX+IJGvOqwZDpx1SiZICdYGcC6hhL0znChB4Stf54czFbYfp8ZY9k46+XGAFZtXYXuTLmIushHX/mDwEknP1qY16rTWjm/8J9o3nGx14W78=% ---rbxassetid%45284430% + --rbxsig%XeVmMtUuu+dXh8pEbcaTkr2m9RJZXY42LaACJ12YYcuPtOUxy4Azi8uMDGU8ZTh7cvZC9BlOWgqmZHKjESSdfOZl0/cgd2JKHPZ2UqiqA1slJa7R5GtCcGXlNPHW8KDYgJGRuwe8h5CSiMDOl6QLTSEegTOG7fzHk/n1AFcRN8I=% +--rbxassetid%39250920% --fixed by Carrot#0559 + +function waitForProperty(instance, name) + while not instance[name] do + instance.Changed:wait() + end +end + +local beter = game.Lighting + +function waitForDialogChildrenMyLord(beter, name) + while not beter:FindFirstChild(name) do + beter.ChildAdded:wait() + end +end + +local bois = game.Players.LocalPlayer.PlayerGui + +function waitForFaker(bois, name) + while not bois:FindFirstChild(name) do + bois.ChildAdded:wait() + end +end + + +local mainFrame +local choices = {} +local lastChoice +local choiceMap = {} +local currentConversationDialog +local currentConversationPartner +local currentAbortDialogScript + +local tooFarAwayMessage = "You are too far away to chat!" +local tooFarAwaySize = 300 +local characterWanderedOffMessage = "Chat ended because you walked away" +local characterWanderedOffSize = 350 +local conversationTimedOut = "Chat ended because you didn't reply" +local conversationTimedOutSize = 350 + +local player +local screenGui +local chatNotificationGui +local messageDialog +local timeoutScript = game.Lighting.ReenableDialogScript +local reenableDialogScript = game.Lighting.TimeoutScript +local dialogMap = {} +local dialogConnections = {} + +local gui = nil +--waitForDialogChildrenMyLord(game,"CoreGui") +--waitForDialogChildrenMyLord(game.CoreGui,"RobloxGui") +--if game.CoreGui.RobloxGui:FindFirstChild("ControlFrame") then +-- gui = game.CoreGui.RobloxGui.ControlFrame +--else +-- gui = game.CoreGui.RobloxGui +--end + +function currentTone() + if currentConversationDialog then + return currentConversationDialog.Tone + else + return Enum.DialogTone.Neutral + end +end + + +function createChatNotificationGui() + chatNotificationGui = Instance.new("BillboardGui") + chatNotificationGui.Name = "ChatNotificationGui" + chatNotificationGui.ExtentsOffset = Vector3.new(0,1,0) + chatNotificationGui.Size = UDim2.new(4, 0, 5.42857122, 0) + chatNotificationGui.SizeOffset = Vector2.new(0,0) + chatNotificationGui.StudsOffset = Vector3.new(0.4, 4.3, 0) + chatNotificationGui.Enabled = true + chatNotificationGui.Active = true + + local image = Instance.new("ImageLabel") + image.Name = "Image" + image.Active = false + image.BackgroundTransparency = 1 + image.Position = UDim2.new(0,0,0,0) + image.Size = UDim2.new(1.0,0,1.0,0) + image.Image = "" + image.Parent = chatNotificationGui + + + local button = Instance.new("ImageButton") + button.Name = "Button" + button.AutoButtonColor = false + button.Position = UDim2.new(0.0879999995, 0, 0.0529999994, 0) + button.Size = UDim2.new(0.829999983, 0, 0.460000008, 0) + button.Image = "" + button.BackgroundTransparency = 1 + button.Parent = image +end + +function getChatColor(tone) + if tone == Enum.DialogTone.Neutral then + return Enum.ChatColor.Blue + elseif tone == Enum.DialogTone.Friendly then + return Enum.ChatColor.Green + elseif tone == Enum.DialogTone.Enemy then + return Enum.ChatColor.Red + end +end + +function styleChoices(tone) + for i, obj in pairs(choices) do + resetColor(obj, tone) + end + resetColor(lastChoice, tone) +end + +function styleMainFrame(tone) + if tone == Enum.DialogTone.Neutral then + mainFrame.Style = Enum.FrameStyle.ChatBlue + mainFrame.Tail.Image = "rbxasset://textures/chatBubble_botBlue_tailRight.png" + elseif tone == Enum.DialogTone.Friendly then + mainFrame.Style = Enum.FrameStyle.ChatGreen + mainFrame.Tail.Image = "rbxasset://textures/chatBubble_botGreen_tailRight.png" + elseif tone == Enum.DialogTone.Enemy then + mainFrame.Style = Enum.FrameStyle.ChatRed + mainFrame.Tail.Image = "rbxasset://textures/chatBubble_botRed_tailRight.png" + end + + styleChoices(tone) +end +function setChatNotificationTone(gui, purpose, tone) + if tone == Enum.DialogTone.Neutral then + gui.Image.Image = "rbxasset://textures/chatBubble_botBlue_notify_bkg.png" + elseif tone == Enum.DialogTone.Friendly then + gui.Image.Image = "rbxasset://textures/chatBubble_botGreen_notify_bkg.png" + elseif tone == Enum.DialogTone.Enemy then + gui.Image.Image = "rbxasset://textures/chatBubble_botRed_notify_bkg.png" + end + if purpose == Enum.DialogPurpose.Quest then + gui.Image.Button.Image = "rbxasset://textures/chatBubble_bot_notify_bang.png" + elseif purpose == Enum.DialogPurpose.Help then + gui.Image.Button.Image = "rbxasset://textures/chatBubble_bot_notify_question.png" + elseif purpose == Enum.DialogPurpose.Shop then + gui.Image.Button.Image = "rbxasset://textures/chatBubble_bot_notify_money.png" + end +end + +function createMessageDialog() + messageDialog = Instance.new("Frame"); + messageDialog.Name = "DialogScriptMessage" + messageDialog.Style = Enum.FrameStyle.RobloxRound + messageDialog.Visible = false + + local text = Instance.new("TextLabel") + text.Name = "Text" + text.Position = UDim2.new(0,0,0,-1) + text.Size = UDim2.new(1,0,1,0) + text.FontSize = Enum.FontSize.Size14 + text.BackgroundTransparency = 1 + text.TextColor3 = Color3.new(1,1,1) + text.Parent = messageDialog +end + +function showMessage(msg, size) + messageDialog.Text.Text = msg + messageDialog.Size = UDim2.new(0,size,0,40) + messageDialog.Position = UDim2.new(0.5, -size/2, 0.5, -40) + messageDialog.Visible = true + wait(2) + messageDialog.Visible = false +end + +function variableDelay(str) + local length = math.min(string.len(str), 100) + wait(0.75 + ((length/75) * 1.5)) +end + +function resetColor(frame, tone) + if tone == Enum.DialogTone.Neutral then + frame.BackgroundColor3 = Color3.new(0/255, 0/255, 179/255) + frame.Number.TextColor3 = Color3.new(45/255, 142/255, 245/255) + elseif tone == Enum.DialogTone.Friendly then + frame.BackgroundColor3 = Color3.new(0/255, 77/255, 0/255) + frame.Number.TextColor3 = Color3.new(0/255, 190/255, 0/255) + elseif tone == Enum.DialogTone.Enemy then + frame.BackgroundColor3 = Color3.new(140/255, 0/255, 0/255) + frame.Number.TextColor3 = Color3.new(255/255,88/255, 79/255) + end +end + +function highlightColor(frame, tone) + if tone == Enum.DialogTone.Neutral then + frame.BackgroundColor3 = Color3.new(2/255, 108/255, 255/255) + frame.Number.TextColor3 = Color3.new(1, 1, 1) + elseif tone == Enum.DialogTone.Friendly then + frame.BackgroundColor3 = Color3.new(0/255, 128/255, 0/255) + frame.Number.TextColor3 = Color3.new(1, 1, 1) + elseif tone == Enum.DialogTone.Enemy then + frame.BackgroundColor3 = Color3.new(204/255, 0/255, 0/255) + frame.Number.TextColor3 = Color3.new(1, 1, 1) + end +end + +function wanderDialog() + print("Wander") + mainFrame.Visible = false + endDialog() + showMessage(characterWanderedOffMessage, characterWanderedOffSize) +end + +function timeoutDialog() + print("Timeout") + mainFrame.Visible = false + endDialog() + showMessage(conversationTimedOut, conversationTimedOutSize) +end +function normalEndDialog() + print("Done") + endDialog() +end + +function endDialog() + if currentAbortDialogScript then + currentAbortDialogScript:Remove() + currentAbortDialogScript = nil + end + + local dialog = currentConversationDialog + currentConversationDialog = nil + if dialog and dialog.InUse then + local reenableScript = reenableDialogScript:Clone() + reenableScript.archivable = false + reenableScript.Disabled = false + reenableScript.Parent = dialog + end + + for dialog, gui in pairs(dialogMap) do + if dialog and gui then + gui.Enabled = not dialog.InUse + end + end + + currentConversationPartner = nil +end + +function sanitizeMessage(msg) + if string.len(msg) == 0 then + return "..." + else + return msg + end +end + +function selectChoice(choice) + renewKillswitch(currentConversationDialog) + + --First hide the Gui + mainFrame.Visible = false + if choice == lastChoice then + game.Chat:Chat(game.Players.LocalPlayer.Character, "Goodbye!", getChatColor(currentTone())) + + normalEndDialog() + else + local dialogChoice = choiceMap[choice] + + game.Chat:Chat(game.Players.LocalPlayer.Character, sanitizeMessage(dialogChoice.UserDialog), getChatColor(currentTone())) + wait(1) + --currentConversationDialog:SignalDialogChoiceSelected(player, dialogChoice) + game.Chat:Chat(currentConversationPartner, sanitizeMessage(dialogChoice.ResponseDialog), getChatColor(currentTone())) + + variableDelay(dialogChoice.ResponseDialog) + presentDialogChoices(currentConversationPartner, dialogChoice:GetChildren()) + end +end + +function newChoice(numberText) + local frame = Instance.new("TextButton") + frame.BackgroundColor3 = Color3.new(0/255, 0/255, 179/255) + frame.AutoButtonColor = false + frame.BorderSizePixel = 0 + frame.Text = "" + frame.MouseEnter:connect(function() highlightColor(frame, currentTone()) end) + frame.MouseLeave:connect(function() resetColor(frame, currentTone()) end) + frame.MouseButton1Click:connect(function() selectChoice(frame) end) + + local number = Instance.new("TextLabel") + number.Name = "Number" + number.TextColor3 = Color3.new(127/255, 212/255, 255/255) + number.Text = numberText + number.FontSize = Enum.FontSize.Size14 + number.BackgroundTransparency = 1 + number.Position = UDim2.new(0,4,0,2) + number.Size = UDim2.new(0,20,0,24) + number.TextXAlignment = Enum.TextXAlignment.Left + number.TextYAlignment = Enum.TextYAlignment.Top + number.Parent = frame + + local prompt = Instance.new("TextLabel") + prompt.Name = "UserPrompt" + prompt.BackgroundTransparency = 1 + prompt.TextColor3 = Color3.new(1,1,1) + prompt.FontSize = Enum.FontSize.Size14 + prompt.Position = UDim2.new(0,28, 0, 2) + prompt.Size = UDim2.new(1,-32, 1, -4) + prompt.TextXAlignment = Enum.TextXAlignment.Left + prompt.TextYAlignment = Enum.TextYAlignment.Top + prompt.TextWrap = true + prompt.Parent = frame + + return frame +end +function initialize(parent) + choices[1] = newChoice("1)") + choices[2] = newChoice("2)") + choices[3] = newChoice("3)") + choices[4] = newChoice("4)") + + lastChoice = newChoice("5)") + lastChoice.UserPrompt.Text = "Goodbye!" + lastChoice.Size = UDim2.new(1,0,0,28) + + mainFrame = Instance.new("Frame") + mainFrame.Name = "UserDialogArea" + mainFrame.Size = UDim2.new(0, 350, 0, 200) + mainFrame.Style = Enum.FrameStyle.ChatBlue + mainFrame.Visible = false + + local imageLabel = Instance.new("ImageLabel") + imageLabel.Name = "Tail" + imageLabel.Size = UDim2.new(0,62,0,53) + imageLabel.Position = UDim2.new(1,8,0.25) + imageLabel.Image = "rbxasset://textures/chatBubble_botBlue_tailRight.png" + imageLabel.BackgroundTransparency = 1 + imageLabel.Parent = mainFrame + + for n, obj in pairs(choices) do + obj.Parent = mainFrame + end + lastChoice.Parent = mainFrame + + mainFrame.Parent = parent +end + +function presentDialogChoices(talkingPart, dialogChoices) + if not currentConversationDialog then + return + end + + currentConversationPartner = talkingPart + local sortedDialogChoices = {} + for n, obj in pairs(dialogChoices) do + if obj:IsA("DialogChoice") then + table.insert(sortedDialogChoices, obj) + end + end + table.sort(sortedDialogChoices, function(a,b) return a.Name < b.Name end) + + if #sortedDialogChoices == 0 then + normalEndDialog() + return + end + + local pos = 1 + local yPosition = 0 + choiceMap = {} + for n, obj in pairs(choices) do + obj.Visible = false + end + + for n, obj in pairs(sortedDialogChoices) do + if pos <= #choices then + --3 lines is the maximum, set it to that temporarily + choices[pos].Size = UDim2.new(1, 0, 0, 24*3) + choices[pos].UserPrompt.Text = obj.UserDialog + local height = math.ceil(choices[pos].UserPrompt.TextBounds.Y/24)*24 + + choices[pos].Position = UDim2.new(0, 0, 0, yPosition) + choices[pos].Size = UDim2.new(1, 0, 0, height) + choices[pos].Visible = true + + choiceMap[choices[pos]] = obj + + yPosition = yPosition + height + pos = pos + 1 + end + end + + lastChoice.Position = UDim2.new(0,0,0,yPosition) + lastChoice.Number.Text = pos .. ")" + + mainFrame.Size = UDim2.new(0, 350, 0, yPosition+24+32) + mainFrame.Position = UDim2.new(0,20,0.0, -mainFrame.Size.Y.Offset-20) + styleMainFrame(currentTone()) + mainFrame.Visible = true +end + +function doDialog(dialog) + while not Instance.Lock(dialog, player) do + wait() + end + + if dialog.InUse then + Instance.Unlock(dialog) + return + else + dialog.InUse = true + Instance.Unlock(dialog) + end + + currentConversationDialog = dialog + game.Chat:Chat(dialog.Parent, dialog.InitialPrompt, getChatColor(dialog.Tone)) + variableDelay(dialog.InitialPrompt) + + presentDialogChoices(dialog.Parent, dialog:GetChildren()) +end + +function renewKillswitch(dialog) + if currentAbortDialogScript then + currentAbortDialogScript:Remove() + currentAbortDialogScript = nil + end + + currentAbortDialogScript = timeoutScript:Clone() + currentAbortDialogScript.archivable = false + currentAbortDialogScript.Disabled = false + currentAbortDialogScript.Parent = dialog +end + +function checkForLeaveArea() + while currentConversationDialog do + if currentConversationDialog.Parent and (player:DistanceFromCharacter(currentConversationDialog.Parent.Position) >= currentConversationDialog.ConversationDistance) then + wanderDialog() + end + wait(1) + end +end + +function startDialog(dialog) + if dialog.Parent and dialog.Parent:IsA("BasePart") then + if player:DistanceFromCharacter(dialog.Parent.Position) >= dialog.ConversationDistance then + showMessage(tooFarAwayMessage, tooFarAwaySize) + return + end + + for dialog, gui in pairs(dialogMap) do + if dialog and gui then + gui.Enabled = false + end + end + + renewKillswitch(dialog) + + delay(1, checkForLeaveArea) + doDialog(dialog) + end +end + +function removeDialog(dialog) + if dialogMap[dialog] then + dialogMap[dialog]:Remove() + dialogMap[dialog] = nil + end + if dialogConnections[dialog] then + dialogConnections[dialog]:disconnect() + dialogConnections[dialog] = nil + end +end + +function addDialog(dialog) + if dialog.Parent then + if dialog.Parent:IsA("BasePart") then + local chatGui = chatNotificationGui:clone() + chatGui.Enabled = not dialog.InUse + chatGui.Adornee = dialog.Parent + chatGui.Parent = game.Players.LocalPlayer.PlayerGui + chatGui.Image.Button.MouseButton1Click:connect(function() startDialog(dialog) end) + setChatNotificationTone(chatGui, dialog.Purpose, dialog.Tone) + + dialogMap[dialog] = chatGui + + dialogConnections[dialog] = dialog.Changed:connect(function(prop) + if prop == "Parent" and dialog.Parent then + --This handles the reparenting case, seperate from removal case + removeDialog(dialog) + addDialog(dialog) + elseif prop == "InUse" then + chatGui.Enabled = not currentConversationDialog and not dialog.InUse + if dialog == currentConversationDialog then + timeoutDialog() + end + elseif prop == "Tone" or prop == "Purpose" then + setChatNotificationTone(chatGui, dialog.Purpose, dialog.Tone) + end + end) + else -- still need to listen to parent changes even if current parent is not a BasePart + dialogConnections[dialog] = dialog.Changed:connect(function(prop) + if prop == "Parent" and dialog.Parent then + --This handles the reparenting case, seperate from removal case + removeDialog(dialog) + addDialog(dialog) + end + end) + end + end +end + + +--[[function fetchScripts() + local model = game:GetService("InsertService"):LoadAsset(39226062) + if type(model) == "string" then -- load failed, lets try again + wait(0.1) + model = game:GetService("InsertService"):LoadAsset(39226062) + end + if type(model) == "string" then -- not going to work, lets bail + return + end + + waitForDialogChildrenMyLord(model,"TimeoutScript") + timeoutScript = model.TimeoutScript + waitForDialogChildrenMyLord(model,"ReenableDialogScript") + reenableDialogScript = model.ReenableDialogScript +end +]]-- + +function onLoad() + waitForProperty(game.Players, "LocalPlayer") + player = game.Players.LocalPlayer + waitForProperty(player, "Character") + + --print("Fetching Scripts") + --fetchScripts() + + --print("Creating Guis") + createChatNotificationGui() + + waitForFaker(bois,"Dialogs") + --print("Creating MessageDialog") + createMessageDialog() + messageDialog.Parent = game.Players.LocalPlayer.PlayerGui.Dialogs + + + --print("Initializing Frame") + local frame = Instance.new("Frame") + frame.Name = "DialogFrame" + frame.Position = UDim2.new(0,0,0,0) + frame.Size = UDim2.new(0,0,0,0) + frame.BackgroundTransparency = 1 + frame.Parent = game.Players.LocalPlayer.PlayerGui.Dialogs.ControlFrame.BottomLeftControl + initialize(frame) + + --print("Adding Dialogs") + game.CollectionService.ItemAdded:connect(function(obj) if obj:IsA("Dialog") then addDialog(obj) end end) + game.CollectionService.ItemRemoved:connect(function(obj) if obj:IsA("Dialog") then removeDialog(obj) end end) + for i, obj in pairs(game.CollectionService:GetCollection("Dialog")) do + if obj:IsA("Dialog") then + addDialog(obj) + end + end +end + +onLoad() + true + + + + + + Playerlist + true + + + + false + + Init + --fixed by Carrot#0559 --for non corescript use ---rbxsig%IEUAo3Q1k4Rwb3ZcqPBum//j3+Jm/9Nv0JyCeCRWUrggWps7aG81/aPzlH9pPlMkkdsZwLsCRu6eTTrqzXn2DAJNPRs7y8akc3z91r1DP3jwomfpdT+2DBAmPk3Cdj8NXQzP6T+uEYm2kk2TW9pXonKvCgRVqXFx8J7mTr+aM1M=% ---rbxassetid%45284430% local t = {} local function ScopedConnect(parentInstance, instance, event, signalFunc, syncFunc, removeFunc) @@ -4638,20 +5680,6 @@ local function rebuildBoard(owner, boardType, numStats) end function recalculateSmallPlayerListSize(smallPlayerList) - waitForChild(smallPlayerList,"ScrollingArea") - waitForChild(smallPlayerList.ScrollingArea, "ScrollingFrame") - local scrollingFrame = smallPlayerList.ScrollingArea.ScrollingFrame - local playerLines = scrollingFrame:GetChildren() - - local totalPlayerListSize = 0 - for i = 1, #playerLines do - totalPlayerListSize = totalPlayerListSize + playerLines[i].AbsoluteSize.Y - end - - if not smallPlayerList.Parent then return end - - local yOffset = math.max(0,(smallPlayerList.Size.Y.Scale * smallPlayerList.Parent.AbsoluteSize.Y) - totalPlayerListSize - smallWindowHeaderYSize) - smallPlayerList.Size = UDim2.new(smallPlayerList.Size.X.Scale,smallPlayerList.Size.X.Offset,smallPlayerList.Size.Y.Scale,-yOffset) end @@ -6207,257 +7235,10 @@ else setupBuildToolManagement() end end) -end - - ----------------------------------- Start Player Hover Code ---------------------------------------- -if contextMenu3d then - local inMenu = false - - function waitForProperty(instance, name) - while not instance[name] do - instance.Changed:wait() - end - end - - function makeNewActionButton() - local button = Instance.new("TextButton") - button.Name = "ActionButton" - button.Style = Enum.ButtonStyle.RobloxButtonDefault - button.BackgroundColor3 = Color3.new(0,0,0) - button.BorderColor3 = Color3.new(1,0,0) - button.BackgroundTransparency = 0.5 - button.Size = UDim2.new(1,0,0,50) - button.Text = "" - button.Font = Enum.Font.ArialBold - button.FontSize = Enum.FontSize.Size18 - button.TextColor3 = Color3.new(1,1,1) - button.ZIndex = 4 - return button - end - - function getContextElements(currentContextMenuPlayer) - local elements = {} - for i, contextElement in ipairs(contextMenuElements) do - local element = contextElement - - local isVisible = false - - if contextElement.IsVisible then - local success, visible = pcall(function() return contextElement.IsVisible(currentContextMenuPlayer) end) - if success then - isVisible = visible - else - print("Error in IsVisible call: " .. visible) - end - end - - if element.Type == "Button" then - local button = makeNewActionButton() - button.Name = "ContextButton" .. i - button.Visible = isVisible - button.Text = contextElement.Text - button.MouseButton1Click:connect(function() - if button.Active then - local success, result = pcall(function() element.DoIt(currentContextMenuPlayer) end) - end - end) - - contextElement.Button = button - contextElement.Element = button - - table.insert(elements,contextElement) - end - end - - return elements - end - - function findContextElement(contextElements, button) - for i = 1, #contextElements do - if contextElements[i].Button == button then - return contextElements[i] - end - end - end - - function populateActions(scrollFrame, nullFrame, recalcFunction, otherPlayer) - local elements = getContextElements(otherPlayer) - for i = 1, #elements do - if elements[i].Button.Visible then - elements[i].Button.Parent = scrollFrame - else - elements[i].Button.Parent = nullFrame - end - - local actionButtonCon - actionButtonCon = elements[i].Button.MouseButton1Click:connect(function() - actionButtonCon:disconnect() - - local nullFrameChildren = nullFrame:GetChildren() - for j = 1, #nullFrameChildren do - local contextElement = findContextElement(elements, nullFrameChildren[j]) - pcall(function() nullFrameChildren[j].Visible = contextElement.IsVisible(otherPlayer) end) - if nullFrameChildren[j].Visible then - nullFrameChildren[j].Parent = scrollFrame - end - end - - local scrollFrameChildren = scrollFrame:GetChildren() - for j = 1, #scrollFrameChildren do - local contextElement = findContextElement(elements, scrollFrameChildren[j]) - pcall(function() scrollFrameChildren[j].Visible = contextElement.IsVisible(otherPlayer) end) - if not scrollFrameChildren[j].Visible then - scrollFrameChildren[j].Parent = nullFrame - end - end - - elements[i].Button.Parent = nullFrame - recalcFunction() - end) - end - end - - - function createContextMenu(otherPlayer) - - local frame = Instance.new("Frame") - frame.Name = "ContextMenuFrame" - frame.Style = Enum.FrameStyle.RobloxRound - frame.Size = UDim2.new(0,300,0,400) - frame.Position = UDim2.new(0.5,-150,0.5,-200) - frame.ZIndex = 2 - - local scrollFrame, scrollUpButton, scrollDownButton, recalc, scrollBar = RbxGui.CreateScrollingFrame() - - scrollFrame.Name = "Actions" - scrollFrame.BackgroundTransparency = 1 - scrollFrame.Position = UDim2.new(0,0,0,25) - scrollFrame.Size = UDim2.new(1,-20,1,-80) - scrollFrame.ZIndex = 3 - scrollFrame.Parent = frame - - local nullFrame = Instance.new("Frame") - nullFrame.Name = "NullFrame" - nullFrame.BackgroundTransparency = 1 - nullFrame.Visible = false - nullFrame.Parent = frame - - local scrollButtons = Instance.new("Frame") - scrollButtons.Name = "ScrollButtons" - scrollButtons.BackgroundTransparency = 1 - scrollButtons.Position = UDim2.new(1,-17,0,25) - scrollButtons.Size = UDim2.new(0,17,1,-80) - scrollButtons.ZIndex = 3 - scrollButtons.Parent = frame - - scrollUpButton.ZIndex = 3 - scrollUpButton.Parent = scrollButtons - scrollDownButton.Position = UDim2.new(0,0,1,-17) - scrollDownButton.ZIndex = 3 - scrollDownButton.Parent = scrollButtons - - scrollBar.Size = UDim2.new(1,0,1,-34) - scrollBar.Position = UDim2.new(0,0,0,17) - scrollBar.Parent = scrollButtons - - local playerImage = Instance.new("ImageLabel") - playerImage.Name = "PlayerImage" - playerImage.BackgroundTransparency = 1 - playerImage.Image = "http://www.roblox.com/thumbs/avatar.ashx?userId=" .. tostring(otherPlayer.userId) .. "&x=352&y=352" - playerImage.Position = UDim2.new(0.5,-150,0.5,-150) - playerImage.Size = UDim2.new(0,300,0,300) - playerImage.Parent = frame - - local playerName = Instance.new("TextLabel") - playerName.Name = "PlayerName" - playerName.BackgroundTransparency = 1 - playerName.Font = Enum.Font.ArialBold - playerName.FontSize = Enum.FontSize.Size24 - playerName.Position = UDim2.new(0,-8,0,-6) - playerName.Size = UDim2.new(1,16,0,24) - playerName.Text = otherPlayer["Name"] - playerName.TextColor3 = Color3.new(1,1,1) - playerName.TextWrap = true - playerName.ZIndex = 3 - playerName.Parent = frame - - local doneButtonCon - - local doneButton = Instance.new("TextButton") - doneButton.Name = "DoneButton" - doneButton.Style = Enum.ButtonStyle.RobloxButton - doneButton.Font = Enum.Font.ArialBold - doneButton.FontSize = Enum.FontSize.Size36 - doneButton.Position = UDim2.new(0.25,0,1,-50) - doneButton.Size = UDim2.new(0.5,0,0,50) - doneButton.Text = "Done" - doneButton.TextColor3 = Color3.new(1,1,1) - doneButton.ZIndex = 3 - doneButton.Parent = frame - doneButton.Modal = true - doneButtonCon = doneButton.MouseButton1Click:connect(function() - doneButtonCon:disconnect() - inMenu = false - game.GuiService:RemoveCenterDialog(frame) - frame:remove() - end) - - populateActions(scrollFrame, nullFrame, recalc, otherPlayer) - recalc() - - return frame - end - - function makeContextInvisible(menu) - menu.Visible = false - end - - function goToContextMenu(otherPlayer) - - local menu = createContextMenu(otherPlayer) - - game.GuiService:AddCenterDialog(menu, Enum.CenterDialogType.PlayerInitiatedDialog, - --ShowFunction - function() - menu.Visible = true - menu:TweenSize(UDim2.new(0,300,0,400),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.5,true) - end, - --HideFunction - function() - menu:TweenSize(UDim2.new(0,0,0,0),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.5,true,function() makeContextInvisible(menu) end) - end) - menu.Parent = game.CoreGui.RobloxGui - - inMenu = true - end - - waitForProperty(game.Players, "LocalPlayer") - - local currSelectedPlayer = nil - if game.Players.LocalPlayer["HoverOnPlayerChanged"] then - game.Players.LocalPlayer.HoverOnPlayerChanged:connect(function(otherPlayer) - if not inMenu then - if otherPlayer and otherPlayer.userId < 0 then return end -- we don't want this for guests - end - wait(0.5) - currSelectedPlayer = otherPlayer - end) - end - - if game.Players.LocalPlayer["MouseDownOnPlayer"] then - game.Players.LocalPlayer.MouseDownOnPlayer:connect(function(otherPlayer) - if currSelectedPlayer ~= otherPlayer then return end - if not inMenu and otherPlayer.userId > 0 then - goToContextMenu(otherPlayer) - end - end) - end -end ----------------------------------- End Player Hover Code ---------------------------------------- +end true - \ No newline at end of file + From 2a67370c9f7aa20bcc220437bb8f731db0fd328c Mon Sep 17 00:00:00 2001 From: Quacky Date: Sun, 9 Jul 2017 16:59:30 -0500 Subject: [PATCH 06/31] Create libraries2010 --- libraries2010 | 165 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 libraries2010 diff --git a/libraries2010 b/libraries2010 new file mode 100644 index 0000000..2ac2f93 --- /dev/null +++ b/libraries2010 @@ -0,0 +1,165 @@ + + null + nil + + + false + + Sorter + script.Health:clone().Parent = game.StarterGui +script.ResetCommand:clone().Parent = game.Workspace +script:remove() + true + + + + Health + true + + + + false + 4285215356 + 1 + 4279970357 + 1 + Tray + + 0.949999988 + 0 + 0.380000025 + 0 + + + 0.0450000018 + 0 + 0.340000004 + 0 + + 0 + true + 1 + true + + + + false + 4286892054 + 0 + 4278190080 + 0 + HealthBar + + 0.420000017 + 0 + 0 + 0 + + + 0.159999996 + 0 + 0.800000012 + 0 + + 0 + true + 2 + true + + + + false + + Script + h = script.Parent.Parent.Parent.Parent.Parent.Character.Humanoid + +h.Changed:connect(function() + script.Parent.Size = UDim2.new(0.2, 0, 0.8 * (h.Health / h.MaxHealth), 0) + script.Parent.Position = UDim2.new(0.4, 0, 0.8 * (1- (h.Health / h.MaxHealth)) , 0) +end) + + true + + + + + + false + 4289733411 + 0 + 4278190080 + 0 + HealthBarBacking + + 0.419999987 + 0 + 0 + 0 + + + 0.159999996 + 0 + 0.800000012 + 0 + + 0 + true + 1 + true + + + + + false + 4294967295 + 1 + 4279970357 + 1 + rbxasset://textures/health.png + ImageLabel + + 0 + 0 + 0.800000012 + 3 + + + 1 + 0 + 0.25 + 0 + + 1 + true + 1 + true + + + + + + + false + + ResetCommand + function onChatted(msg, speaker) + + source = string.lower(speaker.Name) + msg = string.lower(msg) + -- Note: This one is NOT caps sensitive + + if msg == "!!!reset" then + speaker.Character.Humanoid.Health = 0 + end +end + +function onPlayerEntered(newPlayer) + newPlayer.Chatted:connect(function(msg) onChatted(msg, newPlayer) end) +end + +game.Players.ChildAdded:connect(onPlayerEntered) + true + + + + From d54197a1f936df2276c66e5d6fbab049c0acc757 Mon Sep 17 00:00:00 2001 From: Quacky Date: Sun, 9 Jul 2017 22:14:20 -0500 Subject: [PATCH 07/31] Remove ultra, and add in stamper util --- CSMPFunctions.lua | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/CSMPFunctions.lua b/CSMPFunctions.lua index 3e00831..5af92ae 100644 --- a/CSMPFunctions.lua +++ b/CSMPFunctions.lua @@ -130,10 +130,16 @@ function SetRBXLegacyVersion(Version) settings().Rendering.FrameRateManager = 2 pcall(function() game:GetService("ScriptContext").ScriptsDisabled = false end) pcall(function() settings().Diagnostics:LegacyScriptMode() end) - elseif (rbxlegacyversion == "ultra") then + --stamper + game:GetService("InsertService"):SetBaseSetsUrl("http://www.roblox.com/Game/Tools/InsertAsset.ashx?nsets=10&type=base") + game:GetService("InsertService"):SetUserSetsUrl("http://www.roblox.com/Game/Tools/InsertAsset.ashx?nsets=20&type=user&userid=%d") + game:GetService("InsertService"):SetCollectionUrl("http://www.roblox.com/Game/Tools/InsertAsset.ashx?sid=%d") + game:GetService("InsertService"):SetAssetUrl("http://www.roblox.com/Asset/?id=%d") + game:GetService("InsertService"):SetAssetVersionUrl("http://www.roblox.com/Asset/?assetversionid=%d") + --[[elseif (rbxlegacyversion == "ultra") then settings().Rendering.FrameRateManager = 2 pcall(function() game:GetService("ScriptContext").ScriptsDisabled = false end) - pcall(function() settings().Diagnostics:LegacyScriptMode() end) + pcall(function() settings().Diagnostics:LegacyScriptMode() end)]]--we aren't ready for this yet end print("RBXLegacy client opration set to '" .. rbxlegacyversion .. "'.") end @@ -644,7 +650,7 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He end function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,IconType) - if (rbxlegacyversion == "ultra" or rbxlegacyversion == "omega" or rbxlegacyversion == "delta-omega") then + if (rbxlegacyversion == "omega" or rbxlegacyversion == "delta-omega") then game:GetService("RunService"):Run() else game:GetService("RunService"):run() @@ -660,14 +666,14 @@ function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID, game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.ToggleFullScreen.Position = UDim2.new(1, -85, 1, -48) game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.TogglePlayMode:Remove() game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.Exit:Remove() - elseif (rbxlegacyversion == "ultra") then + --[[elseif (rbxlegacyversion == "ultra") then game.CoreGui.RobloxGui.ControlFrame.BottomRightControl:Remove() - end + end]] local plr = game.Players:CreateLocalPlayer(UserID) plr.Name = PlayerName plr:LoadCharacter() pcall(function() plr:SetUnder13(false) end) - if (rbxlegacyversion == "delta" or rbxlegacyversion == "omega" or rbxlegacyversion == "delta-omega" or rbxlegacyversion == "ultra") then + if (rbxlegacyversion == "delta" or rbxlegacyversion == "omega" or rbxlegacyversion == "delta-omega") then if (IconType == "BC") then plr:SetMembershipType(Enum.MembershipType.BuildersClub) elseif (IconType == "TBC") then From f7911e3462edb9f33bd7b500deb9263f0882234e Mon Sep 17 00:00:00 2001 From: Quacky Date: Sun, 9 Jul 2017 22:15:09 -0500 Subject: [PATCH 08/31] oops --- CSMPFunctions.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CSMPFunctions.lua b/CSMPFunctions.lua index 5af92ae..49a5f6a 100644 --- a/CSMPFunctions.lua +++ b/CSMPFunctions.lua @@ -129,13 +129,14 @@ function SetRBXLegacyVersion(Version) elseif (rbxlegacyversion == "omega") then settings().Rendering.FrameRateManager = 2 pcall(function() game:GetService("ScriptContext").ScriptsDisabled = false end) - pcall(function() settings().Diagnostics:LegacyScriptMode() end) + pcall(function() settings().Diagnostics:LegacyScriptMode() --stamper game:GetService("InsertService"):SetBaseSetsUrl("http://www.roblox.com/Game/Tools/InsertAsset.ashx?nsets=10&type=base") game:GetService("InsertService"):SetUserSetsUrl("http://www.roblox.com/Game/Tools/InsertAsset.ashx?nsets=20&type=user&userid=%d") game:GetService("InsertService"):SetCollectionUrl("http://www.roblox.com/Game/Tools/InsertAsset.ashx?sid=%d") game:GetService("InsertService"):SetAssetUrl("http://www.roblox.com/Asset/?id=%d") game:GetService("InsertService"):SetAssetVersionUrl("http://www.roblox.com/Asset/?assetversionid=%d") + end) --[[elseif (rbxlegacyversion == "ultra") then settings().Rendering.FrameRateManager = 2 pcall(function() game:GetService("ScriptContext").ScriptsDisabled = false end) From 1f52472dc813849430662a4110c9b73cf4a38737 Mon Sep 17 00:00:00 2001 From: Quacky Date: Sun, 9 Jul 2017 22:20:07 -0500 Subject: [PATCH 09/31] Since we have setverb, bye three buttons. :( todo: RecordButton setverb also spacing! --- CSMPFunctions.lua | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/CSMPFunctions.lua b/CSMPFunctions.lua index 49a5f6a..c65b7f9 100644 --- a/CSMPFunctions.lua +++ b/CSMPFunctions.lua @@ -568,9 +568,9 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He elseif (rbxlegacyversion == "omega" or rbxlegacyversion == "delta-omega") then game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.Help:Remove() game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.ReportAbuse:Remove() - game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.RecordToggle.Position = UDim2.new(1, -150, 1, -40) - game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.Screenshot.Position = UDim2.new(1, -118, 1, -40) - game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.ToggleFullScreen.Position = UDim2.new(1, -85, 1, -48) + game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.RecordToggle:Remove() + game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.Screenshot:Remove() + game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.ToggleFullScreen:Remove() game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.TogglePlayMode:Remove() game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.Exit:Remove() end @@ -661,11 +661,11 @@ function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID, game.CoreGui.RobloxGui.TopLeftControl.Help:Remove() elseif (rbxlegacyversion == "omega" or rbxlegacyversion == "delta-omega") then game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.Help:Remove() - game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.ReportAbuse:Remove() - game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.RecordToggle.Position = UDim2.new(1, -150, 1, -40) - game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.Screenshot.Position = UDim2.new(1, -118, 1, -40) - game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.ToggleFullScreen.Position = UDim2.new(1, -85, 1, -48) - game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.TogglePlayMode:Remove() + game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.ReportAbuse:Remove() + game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.RecordToggle:Remove() + game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.Screenshot:Remove() + game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.ToggleFullScreen:Remove() + game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.TogglePlayMode:Remove() game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.Exit:Remove() --[[elseif (rbxlegacyversion == "ultra") then game.CoreGui.RobloxGui.ControlFrame.BottomRightControl:Remove() From 34b0733f54031ac0a790adba5f545614cc33f93c Mon Sep 17 00:00:00 2001 From: Quacky Date: Sun, 9 Jul 2017 22:21:46 -0500 Subject: [PATCH 10/31] rip Health2010 --- Health2010.rbxm | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 Health2010.rbxm diff --git a/Health2010.rbxm b/Health2010.rbxm deleted file mode 100644 index 9ad973b..0000000 --- a/Health2010.rbxm +++ /dev/null @@ -1,12 +0,0 @@ - - null - nil - - - false - - Script - script:Remove() - - - From 2b1a903215aad607581d072baff096892dab2650 Mon Sep 17 00:00:00 2001 From: Quacky Date: Sun, 9 Jul 2017 22:22:00 -0500 Subject: [PATCH 11/31] Rename libraries2010 to libraries2010.rbxm --- libraries2010 => libraries2010.rbxm | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename libraries2010 => libraries2010.rbxm (100%) diff --git a/libraries2010 b/libraries2010.rbxm similarity index 100% rename from libraries2010 rename to libraries2010.rbxm From aeca5a1e475a7f295d41216ce8cb4981a9e38590 Mon Sep 17 00:00:00 2001 From: Quacky Date: Sun, 9 Jul 2017 22:22:16 -0500 Subject: [PATCH 12/31] rip health2011 --- Health2011.rbxm | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 Health2011.rbxm diff --git a/Health2011.rbxm b/Health2011.rbxm deleted file mode 100644 index 9ad973b..0000000 --- a/Health2011.rbxm +++ /dev/null @@ -1,12 +0,0 @@ - - null - nil - - - false - - Script - script:Remove() - - - From ee6a529d0dd3c78d9fab29b8cdfc064302762f3d Mon Sep 17 00:00:00 2001 From: Quacky Date: Sun, 9 Jul 2017 22:22:29 -0500 Subject: [PATCH 13/31] rip health2012 --- Health2012.rbxm | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 Health2012.rbxm diff --git a/Health2012.rbxm b/Health2012.rbxm deleted file mode 100644 index 9ad973b..0000000 --- a/Health2012.rbxm +++ /dev/null @@ -1,12 +0,0 @@ - - null - nil - - - false - - Script - script:Remove() - - - From aabffafb9962119ee118ae5ae3d0f7fbf2860304 Mon Sep 17 00:00:00 2001 From: Quacky Date: Sun, 9 Jul 2017 22:22:51 -0500 Subject: [PATCH 14/31] Rename CoreGui2011.rbxm to libraries2011.rbxm --- CoreGui2011.rbxm => libraries2011.rbxm | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename CoreGui2011.rbxm => libraries2011.rbxm (100%) diff --git a/CoreGui2011.rbxm b/libraries2011.rbxm similarity index 100% rename from CoreGui2011.rbxm rename to libraries2011.rbxm From e28fffd61a9047a5c23df98776c18a61c929aa65 Mon Sep 17 00:00:00 2001 From: Quacky Date: Sun, 9 Jul 2017 22:23:19 -0500 Subject: [PATCH 15/31] Rename CoreGui2012.rbxm to libraries2012.rbxm --- CoreGui2012.rbxm => libraries2012.rbxm | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename CoreGui2012.rbxm => libraries2012.rbxm (100%) diff --git a/CoreGui2012.rbxm b/libraries2012.rbxm similarity index 100% rename from CoreGui2012.rbxm rename to libraries2012.rbxm From 43ad5aaeb6d516e258dfd6d5aef3fbcbed19b38f Mon Sep 17 00:00:00 2001 From: Quacky Date: Sun, 9 Jul 2017 22:23:48 -0500 Subject: [PATCH 16/31] typo --- LICENCE.MD => LICENSE.MD | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LICENCE.MD => LICENSE.MD (100%) diff --git a/LICENCE.MD b/LICENSE.MD similarity index 100% rename from LICENCE.MD rename to LICENSE.MD From 495f2fabc1aa669f9812c614a4e4bec4edbfba0c Mon Sep 17 00:00:00 2001 From: Quacky Date: Sun, 9 Jul 2017 22:54:04 -0500 Subject: [PATCH 17/31] Setverb I guess --- CSMPFunctions.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CSMPFunctions.lua b/CSMPFunctions.lua index c65b7f9..a9ecca9 100644 --- a/CSMPFunctions.lua +++ b/CSMPFunctions.lua @@ -573,6 +573,9 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.ToggleFullScreen:Remove() game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.TogglePlayMode:Remove() game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.Exit:Remove() + wait(5) -- we have to wait until the menu gets built, don't we? + Player.PlayerGui.Menu.UserSettingsShield.Settings.SettingsStyle.GameSettingsMenu.FullscreenCheckbox:SetVerb("ToggleFullScreen") + Player.PlayerGui.Menu.UserSettingsShield.Settings.SettingsStyle.GameMainMenu.ScreenshotButton:SetVerb("Screenshot") end InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID) else @@ -667,12 +670,18 @@ function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID, game.CoreGui.RobloxGui.ControlFrame.BottomRightControl.ToggleFullScreen:Remove() game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.TogglePlayMode:Remove() game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl.Exit:Remove() + end --[[elseif (rbxlegacyversion == "ultra") then game.CoreGui.RobloxGui.ControlFrame.BottomRightControl:Remove() end]] local plr = game.Players:CreateLocalPlayer(UserID) plr.Name = PlayerName plr:LoadCharacter() + if (rbxlegacyversion == "omega") then + wait(5) -- we have to wait until the menu gets built, don't we? + Player.PlayerGui.Menu.UserSettingsShield.Settings.SettingsStyle.GameSettingsMenu.FullscreenCheckbox:SetVerb("ToggleFullScreen") + Player.PlayerGui.Menu.UserSettingsShield.Settings.SettingsStyle.GameMainMenu.ScreenshotButton:SetVerb("Screenshot") + end pcall(function() plr:SetUnder13(false) end) if (rbxlegacyversion == "delta" or rbxlegacyversion == "omega" or rbxlegacyversion == "delta-omega") then if (IconType == "BC") then From 4d076395091252e9d349b864c9ae038b0733a6e7 Mon Sep 17 00:00:00 2001 From: Quacky Date: Sun, 9 Jul 2017 22:55:00 -0500 Subject: [PATCH 18/31] I'm a dum dum --- CSMPFunctions.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CSMPFunctions.lua b/CSMPFunctions.lua index a9ecca9..7c84b9d 100644 --- a/CSMPFunctions.lua +++ b/CSMPFunctions.lua @@ -679,8 +679,8 @@ function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID, plr:LoadCharacter() if (rbxlegacyversion == "omega") then wait(5) -- we have to wait until the menu gets built, don't we? - Player.PlayerGui.Menu.UserSettingsShield.Settings.SettingsStyle.GameSettingsMenu.FullscreenCheckbox:SetVerb("ToggleFullScreen") - Player.PlayerGui.Menu.UserSettingsShield.Settings.SettingsStyle.GameMainMenu.ScreenshotButton:SetVerb("Screenshot") + plr.PlayerGui.Menu.UserSettingsShield.Settings.SettingsStyle.GameSettingsMenu.FullscreenCheckbox:SetVerb("ToggleFullScreen") + plr.PlayerGui.Menu.UserSettingsShield.Settings.SettingsStyle.GameMainMenu.ScreenshotButton:SetVerb("Screenshot") end pcall(function() plr:SetUnder13(false) end) if (rbxlegacyversion == "delta" or rbxlegacyversion == "omega" or rbxlegacyversion == "delta-omega") then From cab58faa3312c60e672d413e28af01dcf7acd4f1 Mon Sep 17 00:00:00 2001 From: Quacky Date: Mon, 10 Jul 2017 18:09:44 -0500 Subject: [PATCH 19/31] md5 --- CSMPFunctions.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/CSMPFunctions.lua b/CSMPFunctions.lua index 7c84b9d..3eea276 100644 --- a/CSMPFunctions.lua +++ b/CSMPFunctions.lua @@ -1,5 +1,6 @@ --coded by Bitl and Carrot --stuff was borrowed from RBXBanland, EnergyCell, John, and the RBXPri team +--prev: E3E711221D25224333D5EC3309BC2D7B rbxlegacyversion = "" From 4ce23465d2c3a900c482614e51ca50fbe1dc7202 Mon Sep 17 00:00:00 2001 From: Quacky Date: Tue, 11 Jul 2017 00:15:46 -0500 Subject: [PATCH 20/31] typo --- CSMPFunctions.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CSMPFunctions.lua b/CSMPFunctions.lua index 3eea276..3a048e6 100644 --- a/CSMPFunctions.lua +++ b/CSMPFunctions.lua @@ -143,7 +143,7 @@ function SetRBXLegacyVersion(Version) pcall(function() game:GetService("ScriptContext").ScriptsDisabled = false end) pcall(function() settings().Diagnostics:LegacyScriptMode() end)]]--we aren't ready for this yet end - print("RBXLegacy client opration set to '" .. rbxlegacyversion .. "'.") + print("RBXLegacy client operation set to '" .. rbxlegacyversion .. "'.") end rbxversion = version() From 95579d7beb7c61907d5e026e2b7ef9dae33db9be Mon Sep 17 00:00:00 2001 From: Quacky Date: Tue, 11 Jul 2017 11:33:08 -0500 Subject: [PATCH 21/31] preparation --- CSMPFunctions.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CSMPFunctions.lua b/CSMPFunctions.lua index 3a048e6..3572644 100644 --- a/CSMPFunctions.lua +++ b/CSMPFunctions.lua @@ -137,6 +137,13 @@ function SetRBXLegacyVersion(Version) game:GetService("InsertService"):SetCollectionUrl("http://www.roblox.com/Game/Tools/InsertAsset.ashx?sid=%d") game:GetService("InsertService"):SetAssetUrl("http://www.roblox.com/Asset/?id=%d") game:GetService("InsertService"):SetAssetVersionUrl("http://www.roblox.com/Asset/?assetversionid=%d") + --corescripts + local RobloxGui = game:GetService("CoreGui"):WaitForChild("RobloxGui") + local scriptContext = game:GetService("ScriptContext") + --scriptContext:AddCoreScript("CoreScripts/Playerlist", RobloxGui) -- needs work, file:// + --scriptContext:AddCoreScript("CoreScripts/GameMenu", RobloxGui) -- needs work, file:// + --scriptContext:AddCoreScript("CoreScripts/BackpackFull", RobloxGui) -- needs work, file:// + --todo: file:// and the corescript adder thing end) --[[elseif (rbxlegacyversion == "ultra") then settings().Rendering.FrameRateManager = 2 From 99e34c9ecef8027d53bfb51cd9eeaab86f5db197 Mon Sep 17 00:00:00 2001 From: Quacky Date: Tue, 11 Jul 2017 11:34:19 -0500 Subject: [PATCH 22/31] better commenting --- CSMPFunctions.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CSMPFunctions.lua b/CSMPFunctions.lua index 3572644..49dfba6 100644 --- a/CSMPFunctions.lua +++ b/CSMPFunctions.lua @@ -137,13 +137,13 @@ function SetRBXLegacyVersion(Version) game:GetService("InsertService"):SetCollectionUrl("http://www.roblox.com/Game/Tools/InsertAsset.ashx?sid=%d") game:GetService("InsertService"):SetAssetUrl("http://www.roblox.com/Asset/?id=%d") game:GetService("InsertService"):SetAssetVersionUrl("http://www.roblox.com/Asset/?assetversionid=%d") - --corescripts + --[[corescripts local RobloxGui = game:GetService("CoreGui"):WaitForChild("RobloxGui") local scriptContext = game:GetService("ScriptContext") - --scriptContext:AddCoreScript("CoreScripts/Playerlist", RobloxGui) -- needs work, file:// - --scriptContext:AddCoreScript("CoreScripts/GameMenu", RobloxGui) -- needs work, file:// - --scriptContext:AddCoreScript("CoreScripts/BackpackFull", RobloxGui) -- needs work, file:// - --todo: file:// and the corescript adder thing + scriptContext:AddCoreScript("CoreScripts/Playerlist", RobloxGui) + scriptContext:AddCoreScript("CoreScripts/GameMenu", RobloxGui) + scriptContext:AddCoreScript("CoreScripts/BackpackFull", RobloxGui) + ]]--todo: file:// (rbxasset://) and the corescript adder thing end) --[[elseif (rbxlegacyversion == "ultra") then settings().Rendering.FrameRateManager = 2 From 943950a449d4be264d4933d602320d5f1a19bb85 Mon Sep 17 00:00:00 2001 From: Quacky Date: Tue, 11 Jul 2017 11:38:43 -0500 Subject: [PATCH 23/31] docs --- CSMPFunctions.lua | 108 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 107 insertions(+), 1 deletion(-) diff --git a/CSMPFunctions.lua b/CSMPFunctions.lua index 49dfba6..12136b6 100644 --- a/CSMPFunctions.lua +++ b/CSMPFunctions.lua @@ -1,6 +1,112 @@ --coded by Bitl and Carrot --stuff was borrowed from RBXBanland, EnergyCell, John, and the RBXPri team ---prev: E3E711221D25224333D5EC3309BC2D7B +--[[documentation for corescript stuff (ripped from roblox wiki, 2017) + +The following strings are known to exist in a normal game session, and Roblox Studio: + +"Exit" +"RecordToggle" +"Screenshot" +"ToggleFullScreen" + +The following strings are known to exist only in Roblox Studio: + +"Group" +"UnGroup" +"UnionSelection" +"NegateSelection" +"SeparateSelection" +"Copy" +"Duplicate" +"UndoVerb" +"RedoVerb" +"InsertIntoFromFileVerb" +"InsertModelVerb" +"SelectionSaveToFile" +"PublishToRobloxAsVerb" +"PublishSelectionToRobloxVerb" +"CreateNewLinkedSourceVerb" +"PublishAsPluginVerb" +"LaunchInstancesVerb" +"PlaySoloVerb" +"StartServerVerb" +"StartPlayerVerb" +"PairRbxDevVerb" +"ManageEmulationDevVerb" +"AudioEnableVerb" +"AnalyzeEnableVerb" +"ShutdownClient" +"ShutdownClientAndSave" +"ToggleAxisWidget" +"Toggle3DGrid" +"ToggleCollisionCheckVerb" +"ToggleLocalSpaceVerb" +"ExportSelectionVerb" +"ExportPlaceVerb" +"PublishToRobloxVerb" +"InsertAdvancedObjectDialogVerb" +"JointToolHelpDialogVerb" +"StudioMaterialVerb" +"StudioColorVerb" +"OpenToolBoxWithOptionsVerb" +"InsertBasicObjectVerb" +"JointCreationModeVerb" +"LaunchHelpForSelectionVerb" + +locked guiservice + +ExplorerImageIndex27.pngGuiService +Property CoreEffectFolder +Property CoreGuiFolder +Property ScreenGuiEnabled +Property SelectedCoreObject +Function AddCenterDialog +Function AddKey +Function AddSpecialKey +Function CloseStatsBasedOnInputString +Function GetBrickCount +Function GetClosestDialogToPosition +Function GetErrorMessage +Function GetUiMessage +Function OpenBrowserWindow +Function RemoveCenterDialog +Function RemoveKey +Function RemoveSpecialKey +Function SetGlobalGuiInset +Function SetMenuIsOpen +Function ShowStatsBasedOnInputString +Function ToggleFullscreen +YieldFunction GetScreenResolution +Callback SendCoreUiNotification +Event BrowserWindowClosed +Event ErrorMessageChanged +Event EscapeKeyPressed +Event KeyPressed +Event ShowLeaveConfirmation +Event SpecialKeyPressed +Event UiMessageChanged + +dialogs + +Dialog icon.pngDialog +Function SetPlayerIsUsing +Function SignalDialogChoiceSelected + +coregui + +StarterGui icon.pngCoreGui +Property SelectionImageObject +Function SetUserGuiRendering + +scriptcontext + +ExplorerImageIndex78.pngScriptContext +Function AddCoreScriptLocal +Function GetHeapStats +Function GetScriptStats +Function SetCollectScriptStats +Event CamelCaseViolation +]] rbxlegacyversion = "" From 571649059877fb0f07ba3af6388e98e48f024091 Mon Sep 17 00:00:00 2001 From: Quacky Date: Wed, 12 Jul 2017 16:28:25 -0500 Subject: [PATCH 24/31] Update README.md --- README.md | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index fb90d59..1bdb2b9 100644 --- a/README.md +++ b/README.md @@ -1 +1,22 @@ -Source code for RBXLegacy's launcher, installer, and server. All of these source files are under the license specified in LICENSE.MD. + +![Logo](https://cdn.discordapp.com/attachments/327072930066333697/327073266197856268/Logo.png) + +## What is RBXLegacy + +RBXLegacy is a launcher and website for ROBLOX's clients from 2008 - 2012. + +This is the source code for RBXLegacy's launcher, installer and server. All of these source files are under the license specified in [LICENSE.MD](https://github.com/Bitl/RBXLegacy-src/blob/master/LICENSE.MD). + +## Installing + +The latest stable version will always be found on the official Discord in `#downloads`. You can ask a friend to get an invite for the Discord. + +You can also download it from this repository to receive changes as soon as they are committed. + +## Contributing + +If you find any problem(s) in RBXLegacy, [feel free to submit an issue here.](https://github.com/Bitl/RBXLegacy-src/issues) + +If you know how to solve an (existing) issue in RBXLegacy, [you can submit a pull request for it.](https://github.com/Bitl/RBXLegacy-src/pulls) + +And of course, we welcome everyone with new ideas. [You can post your idea in issues as well.](https://github.com/Bitl/RBXLegacy-src/issues) From 1a6ac8c511346fd23140fa6ea5d07fcfd26d8eea Mon Sep 17 00:00:00 2001 From: Quacky Date: Wed, 12 Jul 2017 16:31:22 -0500 Subject: [PATCH 25/31] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1bdb2b9..7ebed1d 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ ## What is RBXLegacy -RBXLegacy is a launcher and website for ROBLOX's clients from 2008 - 2012. +RBXLegacy is a launcher and website for ROBLOX's clients from 2006 - 2012. (you can also get 2012+ as a DLC.) This is the source code for RBXLegacy's launcher, installer and server. All of these source files are under the license specified in [LICENSE.MD](https://github.com/Bitl/RBXLegacy-src/blob/master/LICENSE.MD). From 3fafabc443543c43e3aa1671e3db33cd0e9c82e1 Mon Sep 17 00:00:00 2001 From: Quacky Date: Thu, 13 Jul 2017 00:09:09 -0500 Subject: [PATCH 26/31] moar --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7ebed1d..131f643 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ ## What is RBXLegacy -RBXLegacy is a launcher and website for ROBLOX's clients from 2006 - 2012. (you can also get 2012+ as a DLC.) +RBXLegacy is a launcher and website for ROBLOX's clients from 2006 - 2012, designed so you can play offline, online and through LAN. This is the source code for RBXLegacy's launcher, installer and server. All of these source files are under the license specified in [LICENSE.MD](https://github.com/Bitl/RBXLegacy-src/blob/master/LICENSE.MD). From ffa5c47f11dd036461b6b70f91e1fb13339f9c95 Mon Sep 17 00:00:00 2001 From: Quacky Date: Thu, 13 Jul 2017 00:09:59 -0500 Subject: [PATCH 27/31] happy 100 commits --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 131f643..60b7148 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ ![Logo](https://cdn.discordapp.com/attachments/327072930066333697/327073266197856268/Logo.png) -## What is RBXLegacy +## Overview RBXLegacy is a launcher and website for ROBLOX's clients from 2006 - 2012, designed so you can play offline, online and through LAN. From 80657dbc72da71f1b68eff127417ad4adda17182 Mon Sep 17 00:00:00 2001 From: Quacky Date: Mon, 17 Jul 2017 16:00:42 -0500 Subject: [PATCH 28/31] 2007 libs pt 1 --- character2007.rbxm | 712 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 712 insertions(+) create mode 100644 character2007.rbxm diff --git a/character2007.rbxm b/character2007.rbxm new file mode 100644 index 0000000..ee3c1a3 --- /dev/null +++ b/character2007.rbxm @@ -0,0 +1,712 @@ + + null + nil + + + 7 + true + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + erik.cassel + RBX1 + true + + + + false + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 4 + 0 + 24 + + 0 + 4.5 + -0.5 + -1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + -1 + + true + 0 + true + false + 0.5 + 0 + 0.300000012 + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + true + Head + 0 + -0.5 + 0.5 + 0 + 0 + + 0 + 0 + 0 + + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + true + 1 + + 2 + 1 + 1 + + + + + + 0 + Mesh + + 1.25 + 1.25 + 1.25 + + + + 1 + 1 + 1 + + true + + + + + 5 + face + 20 + 0 + rbxasset://textures\face.png + true + + + + + + 0 + 0.5 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0 + -0.200000003 + 0.150000006 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + HeadWeld + RBX1 + null + true + + + + + + 0 + 0.5 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0 + -0.200000003 + 0.150000006 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + HeadWeld + RBX1 + null + true + + + + + + false + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 4 + 0 + 23 + + 0 + 3 + -0.5 + -1 + 0 + -0 + -0 + 1 + -0 + -0 + 0 + -1 + + true + 0 + true + false + 0.5 + 0 + 0.300000012 + -0.5 + 0.5 + 0 + 0 + 0 + 0 + 2 + 0 + true + Torso + 0 + 0 + 0 + 2 + 0 + + 0 + 0 + 0 + + -0.5 + 0.5 + 3 + 0 + 0 + + 0 + 0 + 0 + + true + 1 + + 2 + 2 + 1 + + + + + 5 + roblox + 20 + 0 + + true + + + + + + false + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 4 + 0 + 24 + + 1.5 + 3 + -0.5 + -1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + -1 + + true + 0 + true + false + 0.5 + 0 + 0.300000012 + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + true + Left Arm + 0 + -0.5 + 0.5 + 0 + 0 + + 0 + 0 + 0 + + -0.5 + 0.5 + 3 + 0 + 0 + + 0 + 0 + 0 + + true + 1 + + 1 + 2 + 1 + + + + + false + + Script + while true do--while its told its true it will happen +script.Parent.CanCollide=true--script.Parent.(whatever) meens that its talking about the script effecting the +--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is +--setting the setting to something else useing whatever unit it uses. +wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it. +script.Parent.CanCollide = false +end + true + + + + + + false + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 4 + 0 + 24 + + -1.5 + 3 + -0.5 + -1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + -1 + + true + 0 + true + false + 0.5 + 0 + 0.300000012 + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + true + Right Arm + 0 + -0.5 + 0.5 + 0 + 0 + + 0 + 0 + 0 + + -0.5 + 0.5 + 3 + 0 + 0 + + 0 + 0 + 0 + + true + 1 + + 1 + 2 + 1 + + + + + false + + Script + while true do--while its told its true it will happen +script.Parent.CanCollide=true--script.Parent.(whatever) meens that its talking about the script effecting the +--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is +--setting the setting to something else useing whatever unit it uses. +wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it. +script.Parent.CanCollide = false +end + true + + + + + + false + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + 119 + + 0.5 + 1 + -0.5 + -1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + -1 + + false + 0 + true + false + 0.5 + 0 + 0.300000012 + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + true + Left Leg + 0 + -0.5 + 0.5 + 0 + 0 + + 0 + 0 + 0 + + -0.5 + 0.5 + 3 + 0 + 0 + + 0 + 0 + 0 + + true + 1 + + 1 + 2 + 1 + + + + + false + + Script + while true do--while its told its true it will happen +script.Parent.CanCollide=true--script.Parent.(whatever) meens that its talking about the script effecting the +--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is +--setting the setting to something else useing whatever unit it uses . +wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it. +script.Parent.CanCollide=false--script.Parent.(whatever) meens that its talking about the script effecting the +--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is +--setting the setting to something else useing whatever unit it uses. +wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it. +end +while true do--while its told its true it will happen +script.Parent.CanCollide=true--script.Parent.(whatever) meens that its talking about the script effecting the +--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is +--setting the setting to something else useing whatever unit it uses . +wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it. +script.Parent.CanCollide=false--script.Parent.(whatever) meens that its talking about the script effecting the +--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is +--setting the setting to something else useing whatever unit it uses. +wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it. +end + + + true + + + + + + false + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + 119 + + -0.5 + 1 + -0.5 + -1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + -1 + + false + 0 + true + false + 0.5 + 0 + 0.300000012 + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + true + Right Leg + 0 + -0.5 + 0.5 + 0 + 0 + + 0 + 0 + 0 + + -0.5 + 0.5 + 3 + 0 + 0 + + 0 + 0 + 0 + + true + 1 + + 1 + 2 + 1 + + + + + false + + Script + while true do--while its told its true it will happen +script.Parent.CanCollide=true--script.Parent.(whatever) meens that its talking about the script effecting the +--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is +--setting the setting to something else useing whatever unit it uses . +wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it. +script.Parent.CanCollide=false--script.Parent.(whatever) meens that its talking about the script effecting the +--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is +--setting the setting to something else useing whatever unit it uses. +wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it. +end +while true do--while its told its true it will happen +script.Parent.CanCollide=true--script.Parent.(whatever) meens that its talking about the script effecting the +--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is +--setting the setting to something else useing whatever unit it uses . +wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it. +script.Parent.CanCollide=false--script.Parent.(whatever) meens that its talking about the script effecting the +--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is +--setting the setting to something else useing whatever unit it uses. +wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it. +end + + + true + + + + + + 100 + false + 100 + Humanoid + false + false + + 0 + 0 + 0 + + + 0 + 0 + 0 + + 0 + null + + 0 + 0 + 0 + + true + + + + + false + + Hats + while true do + wait() + if script.Parent.Humanoid.Health == 0 then + local Hat = nil + for a,b in ipairs(script.Parent:GetChildren())do + if(b.className == "Hat")then + Hat = b + local Handles = Hat:findFirstChild("Handle") + if Handles then + Handles.CanCollide = true + end + end + end + end + end + + true + + + + From 87251934294f730cabe0c67c10dcd1fe50313d4c Mon Sep 17 00:00:00 2001 From: Quacky Date: Mon, 17 Jul 2017 16:01:09 -0500 Subject: [PATCH 29/31] Create 2007 libs pt. 2 --- 2007 libs pt. 2 | 301 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 301 insertions(+) create mode 100644 2007 libs pt. 2 diff --git a/2007 libs pt. 2 b/2007 libs pt. 2 new file mode 100644 index 0000000..2fe6ce3 --- /dev/null +++ b/2007 libs pt. 2 @@ -0,0 +1,301 @@ + + null + nil + + + false + + Animate + -- Now with exciting TeamColors HACK! + +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 + +----------------------------- TEAM COLORS + + +function onTeamChanged(player) + + wait(1) + + local char = player.Character + if char == nil then return end + + if player.Neutral then + -- Replacing the current BodyColor object will force a reset + local old = char:findFirstChild("Body Colors") + if not old then return end + old:clone().Parent = char + old.Parent = nil + else + local head = char:findFirstChild("Head") + local torso = char:findFirstChild("Torso") + local left_arm = char:findFirstChild("Left Arm") + local right_arm = char:findFirstChild("Right Arm") + local left_leg = char:findFirstChild("Left Leg") + local right_leg = char:findFirstChild("Right Leg") + + if head then head.BrickColor = BrickColor.new(24) end + if torso then torso.BrickColor = player.TeamColor end + if left_arm then left_arm.BrickColor = BrickColor.new(26) end + if right_arm then right_arm.BrickColor = BrickColor.new(26) end + if left_leg then left_leg.BrickColor = BrickColor.new(26) end + if right_leg then right_leg.BrickColor = BrickColor.new(26) end + end +end + +function onPlayerPropChanged(property, player) + if property == "Character" then + onTeamChanged(player) + end + if property== "TeamColor" or property == "Neutral" then + onTeamChanged(player) + end +end + + +local cPlayer = game.Players:GetPlayerFromCharacter(script.Parent) +cPlayer.Changed:connect(function(property) onPlayerPropChanged(property, cPlayer) end ) +onTeamChanged(cPlayer) + + +----------------------------- ANIMATION + +-- declarations + +local Figure = script.Parent +local Torso = waitForChild(Figure, "Torso") +local RightShoulder = waitForChild(Torso, "Right Shoulder") +local LeftShoulder = waitForChild(Torso, "Left Shoulder") +local RightHip = waitForChild(Torso, "Right Hip") +local LeftHip = waitForChild(Torso, "Left Hip") +local Neck = waitForChild(Torso, "Neck") +local Humanoid = waitForChild(Figure, "Humanoid") +local pose = "Standing" + +local toolAnim = "None" +local toolAnimTime = 0 + +local isSeated = false + +-- functions + +function onRunning(speed) + if isSeated then return end + + if speed>0 then + pose = "Running" + else + pose = "Standing" + end +end + +function onDied() + pose = "Dead" +end + +function onJumping() + isSeated = false + pose = "Jumping" +end + +function onClimbing() + pose = "Climbing" +end + +function onGettingUp() + pose = "GettingUp" +end + +function onFreeFall() + pose = "FreeFall" +end + +function onFallingDown() + pose = "FallingDown" +end + +function onSeated() + isSeated = true + pose = "Seated" +end + +function moveJump() + RightShoulder.MaxVelocity = 0.5 + LeftShoulder.MaxVelocity = 0.5 + RightShoulder.DesiredAngle = 3.14 + LeftShoulder.DesiredAngle = -3.14 + RightHip.DesiredAngle = 0 + LeftHip.DesiredAngle = 0 +end + + +-- same as jump for now + +function moveFreeFall() + RightShoulder.MaxVelocity = 0.5 + LeftShoulder.MaxVelocity = 0.5 + RightShoulder.DesiredAngle = 3.14 + LeftShoulder.DesiredAngle = -3.14 + RightHip.DesiredAngle = 0 + LeftHip.DesiredAngle = 0 + wait(0.5) + RightShoulder.MaxVelocity = 0.1 + LeftShoulder.MaxVelocity = 0.1 +end + +function moveSit() + RightShoulder.MaxVelocity = 0.15 + LeftShoulder.MaxVelocity = 0.15 + RightShoulder.DesiredAngle = 3.14 /2 + LeftShoulder.DesiredAngle = -3.14 /2 + RightHip.DesiredAngle = 3.14 /2 + LeftHip.DesiredAngle = -3.14 /2 +end + +function getTool() + for _, kid in ipairs(Figure:GetChildren()) do + if kid.className == "Tool" then return kid end + end + return nil +end + +function getToolAnim(tool) + for _, c in ipairs(tool:GetChildren()) do + if c.Name == "toolanim" and c.className == "StringValue" then + return c + end + end + return nil +end + +function animateTool() + + if (toolAnim == "None") then + RightShoulder.DesiredAngle = 1.57 + return + end + if (toolAnim == "Slash") then + RightShoulder.MaxVelocity = 0.5 + RightShoulder.DesiredAngle = 0 + return + end + + if (toolAnim == "Lunge") then + RightShoulder.MaxVelocity = 0.5 + LeftShoulder.MaxVelocity = 0.5 + RightHip.MaxVelocity = 0.5 + LeftHip.MaxVelocity = 0.5 + RightShoulder.DesiredAngle = 1.57 + LeftShoulder.DesiredAngle = 1.0 + RightHip.DesiredAngle = 1.57 + LeftHip.DesiredAngle = 1.0 + return + end +end + +function move(time) + local amplitude + local frequency + + if (pose == "Jumping") then + moveJump() + return + end + + if (pose == "FreeFall") then + moveFreeFall() + return + end + + if (pose == "Seated") then + moveSit() + return + end + + local climbFudge = 0 + + if (pose == "Running") then + RightShoulder.MaxVelocity = 0.15 + LeftShoulder.MaxVelocity = 0.15 + amplitude = 1 + frequency = 9 + elseif (pose == "Climbing") and (toolAnim == "None") then + RightShoulder.MaxVelocity = 0.5 + LeftShoulder.MaxVelocity = 0.5 + RightShoulder.DesiredAngle = 0 + amplitude = 0 + frequency = 0 + climbFudge = -3.14 + RightShoulder.DesiredAngle = 0 + else + amplitude = 0.1 + frequency = 1 + end + + desiredAngle = amplitude * math.sin(time*frequency) + + RightShoulder.DesiredAngle = desiredAngle + climbFudge + LeftShoulder.DesiredAngle = desiredAngle - climbFudge + RightHip.DesiredAngle = -desiredAngle + LeftHip.DesiredAngle = -desiredAngle + + + local tool = getTool() + + if tool then + + animStringValueObject = getToolAnim(tool) + + if animStringValueObject then + toolAnim = animStringValueObject.Value + -- message recieved, delete StringValue + animStringValueObject.Parent = nil + toolAnimTime = time + .3 + end + + if time > toolAnimTime then + toolAnimTime = 0 + toolAnim = "None" + end + + animateTool() + + + else + toolAnim = "None" + toolAnimTime = 0 + end +end + + +-- connect events + +Humanoid.Died:connect(onDied) +Humanoid.Running:connect(onRunning) +Humanoid.Jumping:connect(onJumping) +Humanoid.Climbing:connect(onClimbing) +Humanoid.GettingUp:connect(onGettingUp) +Humanoid.FreeFalling:connect(onFreeFall) +Humanoid.FallingDown:connect(onFallingDown) +Humanoid.Seated:connect(onSeated) + +-- main program + +local runService = game:service("RunService"); + +while Figure.Parent~=nil do + local _, time = wait(0.1) + move(time) +end + + true + + + From 0f0116210fe3f5084ad1bd0905c4334aaebfc219 Mon Sep 17 00:00:00 2001 From: Quacky Date: Mon, 17 Jul 2017 16:17:37 -0500 Subject: [PATCH 30/31] perfect --- 2007 libs pt. 2 => humanoidAnimate2007.rbxm | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename 2007 libs pt. 2 => humanoidAnimate2007.rbxm (100%) diff --git a/2007 libs pt. 2 b/humanoidAnimate2007.rbxm similarity index 100% rename from 2007 libs pt. 2 rename to humanoidAnimate2007.rbxm From 47fb268a2975de0607a1535f119f55bb5ab8eaff Mon Sep 17 00:00:00 2001 From: Quacky Date: Tue, 18 Jul 2017 14:02:08 -0500 Subject: [PATCH 31/31] wiki.roblox.com --- CSMPFunctions.lua | 108 ---------------------------------------------- 1 file changed, 108 deletions(-) diff --git a/CSMPFunctions.lua b/CSMPFunctions.lua index 12136b6..cacc1db 100644 --- a/CSMPFunctions.lua +++ b/CSMPFunctions.lua @@ -1,113 +1,5 @@ --coded by Bitl and Carrot --stuff was borrowed from RBXBanland, EnergyCell, John, and the RBXPri team ---[[documentation for corescript stuff (ripped from roblox wiki, 2017) - -The following strings are known to exist in a normal game session, and Roblox Studio: - -"Exit" -"RecordToggle" -"Screenshot" -"ToggleFullScreen" - -The following strings are known to exist only in Roblox Studio: - -"Group" -"UnGroup" -"UnionSelection" -"NegateSelection" -"SeparateSelection" -"Copy" -"Duplicate" -"UndoVerb" -"RedoVerb" -"InsertIntoFromFileVerb" -"InsertModelVerb" -"SelectionSaveToFile" -"PublishToRobloxAsVerb" -"PublishSelectionToRobloxVerb" -"CreateNewLinkedSourceVerb" -"PublishAsPluginVerb" -"LaunchInstancesVerb" -"PlaySoloVerb" -"StartServerVerb" -"StartPlayerVerb" -"PairRbxDevVerb" -"ManageEmulationDevVerb" -"AudioEnableVerb" -"AnalyzeEnableVerb" -"ShutdownClient" -"ShutdownClientAndSave" -"ToggleAxisWidget" -"Toggle3DGrid" -"ToggleCollisionCheckVerb" -"ToggleLocalSpaceVerb" -"ExportSelectionVerb" -"ExportPlaceVerb" -"PublishToRobloxVerb" -"InsertAdvancedObjectDialogVerb" -"JointToolHelpDialogVerb" -"StudioMaterialVerb" -"StudioColorVerb" -"OpenToolBoxWithOptionsVerb" -"InsertBasicObjectVerb" -"JointCreationModeVerb" -"LaunchHelpForSelectionVerb" - -locked guiservice - -ExplorerImageIndex27.pngGuiService -Property CoreEffectFolder -Property CoreGuiFolder -Property ScreenGuiEnabled -Property SelectedCoreObject -Function AddCenterDialog -Function AddKey -Function AddSpecialKey -Function CloseStatsBasedOnInputString -Function GetBrickCount -Function GetClosestDialogToPosition -Function GetErrorMessage -Function GetUiMessage -Function OpenBrowserWindow -Function RemoveCenterDialog -Function RemoveKey -Function RemoveSpecialKey -Function SetGlobalGuiInset -Function SetMenuIsOpen -Function ShowStatsBasedOnInputString -Function ToggleFullscreen -YieldFunction GetScreenResolution -Callback SendCoreUiNotification -Event BrowserWindowClosed -Event ErrorMessageChanged -Event EscapeKeyPressed -Event KeyPressed -Event ShowLeaveConfirmation -Event SpecialKeyPressed -Event UiMessageChanged - -dialogs - -Dialog icon.pngDialog -Function SetPlayerIsUsing -Function SignalDialogChoiceSelected - -coregui - -StarterGui icon.pngCoreGui -Property SelectionImageObject -Function SetUserGuiRendering - -scriptcontext - -ExplorerImageIndex78.pngScriptContext -Function AddCoreScriptLocal -Function GetHeapStats -Function GetScriptStats -Function SetCollectScriptStats -Event CamelCaseViolation -]] - rbxlegacyversion = "" function SetRBXLegacyVersion(Version)