added wait timer

This commit is contained in:
Bitl 2017-07-18 12:46:31 -07:00
commit 7c3cfe494b
14 changed files with 17593 additions and 8437 deletions

View File

@ -1,6 +1,5 @@
--coded by Bitl and Carrot
--stuff was borrowed from RBXBanland, EnergyCell, John, and the RBXPri team
rbxlegacyversion = ""
function SetRBXLegacyVersion(Version)
@ -80,8 +79,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
@ -127,13 +128,27 @@ 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)
elseif (rbxlegacyversion == "ultra") then
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")
--[[corescripts
local RobloxGui = game:GetService("CoreGui"):WaitForChild("RobloxGui")
local scriptContext = game:GetService("ScriptContext")
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
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 .. "'.")
print("RBXLegacy client operation set to '" .. rbxlegacyversion .. "'.")
end
rbxversion = version()
@ -150,6 +165,8 @@ function newWaitForChild(newParent,name)
end
function LoadCharacterNew(playerApp,newChar)
--authentic roblox style loading
wait(0.5)
local charparts = {[1] = newWaitForChild(newChar,"Head"),[2] = newWaitForChild(newChar,"Torso"),[3] = newWaitForChild(newChar,"Left Arm"),[4] = newWaitForChild(newChar,"Right Arm"),[5] = newWaitForChild(newChar,"Left Leg"),[6] = newWaitForChild(newChar,"Right Leg")}
for _,newVal in pairs(playerApp:GetChildren()) do
if (newVal.CustomizationType.Value == 1) then
@ -366,6 +383,7 @@ function InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,Torso
typeValue.Name = "CustomizationType"
typeValue.Parent = newFace
typeValue.Value = 6
--BODY PARTS
end
function CSServer(Port,PlayerLimit)
@ -414,7 +432,7 @@ function CSServer(Port,PlayerLimit)
RunService = game:GetService("RunService")
Server:start(Port, 20)
RunService:run()
game.Workspace:InsertContent("rbxasset://fonts/libraries.rbxm")
game.Workspace:InsertContent("rbxasset://fonts/libraries.rbxm")
game:GetService("Players").MaxPlayers = PlayerLimit
game:GetService("Players").PlayerAdded:connect(function(Player)
if (game:GetService("Players").NumPlayers > game:GetService("Players").MaxPlayers) then
@ -559,11 +577,14 @@ 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()
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
@ -629,7 +650,7 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
client.ConnectionRejected:connect(rejected)
client.ConnectionFailed:connect(failed)
client:Connect(ServerIP,ServerPort, 0, 20)
end)
end)
end)
if not suc then
@ -642,7 +663,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()
@ -652,20 +673,26 @@ 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()
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?
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" 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

File diff suppressed because it is too large Load Diff

View File

@ -1,336 +0,0 @@
<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="Script" referent="RBX0">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">GUI_Copy</string>
<ProtectedString name="Source">script.HealthGUI:clone().Parent = game.StarterGui;
script:remove();</ProtectedString>
<bool name="archivable">true</bool>
</Properties>
<Item class="GuiMain" referent="RBX1">
<Properties>
<string name="Name">HealthGUI</string>
<bool name="archivable">true</bool>
</Properties>
<Item class="Frame" referent="RBX2">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4285215356</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">1</int>
<string name="Name">tray</string>
<UDim2 name="Position">
<XS>0.5</XS>
<XO>-44</XO>
<YS>1</YS>
<YO>-26</YO>
</UDim2>
<UDim2 name="Size">
<XS>0</XS>
<XO>170</XO>
<YS>0</YS>
<YO>18</YO>
</UDim2>
<token name="SizeConstraint">2</token>
<token name="Style">0</token>
<bool name="Visible">true</bool>
<int name="ZIndex">1</int>
<bool name="archivable">true</bool>
</Properties>
<Item class="ImageLabel" referent="RBX3">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4294967295</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">1</int>
<Content name="Image"><url>rbxasset://textures/healthgui/bkg.png</url></Content>
<string name="Name">bkg</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>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="ImageLabel" referent="RBX4">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4294967295</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">1</int>
<Content name="Image"><url>rbxasset://textures/healthgui/BarRed.png</url></Content>
<string name="Name">barRed</string>
<UDim2 name="Position">
<XS>0.0189999994</XS>
<XO>0</XO>
<YS>0.100000001</YS>
<YO>0</YO>
</UDim2>
<UDim2 name="Size">
<XS>0</XS>
<XO>0</XO>
<YS>0</YS>
<YO>0</YO>
</UDim2>
<token name="SizeConstraint">0</token>
<bool name="Visible">true</bool>
<int name="ZIndex">1</int>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="Frame" referent="RBX5">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4294967295</Color3>
<float name="BackgroundTransparency">1.00000012</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">0</int>
<string name="Name">bar2</string>
<UDim2 name="Position">
<XS>0.0189999994</XS>
<XO>0</XO>
<YS>0.100000001</YS>
<YO>0</YO>
</UDim2>
<UDim2 name="Size">
<XS>0.192000002</XS>
<XO>0</XO>
<YS>0.829999983</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>
<bool name="archivable">true</bool>
</Properties>
<Item class="Script" referent="RBX6">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">Script</string>
<ProtectedString name="Source">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) &gt; 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) &gt; (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 &gt; 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 &lt; 0.2) then
j = -j
end
GBchannels = GBchannels + j
if (i &gt; (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) &gt; (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&apos;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) &gt; (h.MaxHealth / 10) ) then
lastHealth2 = h.Health
else
lastHealth2 = h.Health
end end)
</ProtectedString>
<bool name="archivable">true</bool>
</Properties>
</Item>
</Item>
<Item class="ImageLabel" referent="RBX7">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4294967295</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">1</int>
<Content name="Image"><url>rbxasset://textures/healthgui/Bar.png</url></Content>
<string name="Name">bar</string>
<UDim2 name="Position">
<XS>0.0189999994</XS>
<XO>0</XO>
<YS>0.100000001</YS>
<YO>0</YO>
</UDim2>
<UDim2 name="Size">
<XS>0.959999979</XS>
<XO>0</XO>
<YS>0.829999983</YS>
<YO>0</YO>
</UDim2>
<token name="SizeConstraint">0</token>
<bool name="Visible">true</bool>
<int name="ZIndex">1</int>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="ImageLabel" referent="RBX8">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4294967295</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">0</int>
<Content name="Image"><url>rbxasset://textures/healthgui/label.png</url></Content>
<string name="Name">label</string>
<UDim2 name="Position">
<XS>0.680000007</XS>
<XO>0</XO>
<YS>0.300000012</YS>
<YO>0</YO>
</UDim2>
<UDim2 name="Size">
<XS>0.25</XS>
<XO>0</XO>
<YS>0.349999994</YS>
<YO>0</YO>
</UDim2>
<token name="SizeConstraint">0</token>
<bool name="Visible">true</bool>
<int name="ZIndex">1</int>
<bool name="archivable">true</bool>
</Properties>
</Item>
</Item>
<Item class="ImageLabel" referent="RBX9">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4290164919</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">1</int>
<Content name="Image"><url>rbxasset://textures/healthgui/HurtOverlay.png</url></Content>
<string name="Name">hurtOverlay</string>
<UDim2 name="Position">
<XS>2</XS>
<XO>0</XO>
<YS>0</YS>
<YO>-22</YO>
</UDim2>
<UDim2 name="Size">
<XS>1</XS>
<XO>0</XO>
<YS>1.1500001</YS>
<YO>30</YO>
</UDim2>
<token name="SizeConstraint">0</token>
<bool name="Visible">false</bool>
<int name="ZIndex">1</int>
<bool name="archivable">true</bool>
</Properties>
</Item>
</Item>
</Item>
</roblox>

View File

@ -1,336 +0,0 @@
<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="Script" referent="RBX0">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">GUI_Copy</string>
<ProtectedString name="Source">script.HealthGUI:clone().Parent = game.StarterGui;
script:remove();</ProtectedString>
<bool name="archivable">true</bool>
</Properties>
<Item class="GuiMain" referent="RBX1">
<Properties>
<string name="Name">HealthGUI</string>
<bool name="archivable">true</bool>
</Properties>
<Item class="Frame" referent="RBX2">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4285215356</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">1</int>
<string name="Name">tray</string>
<UDim2 name="Position">
<XS>0.5</XS>
<XO>-44</XO>
<YS>1</YS>
<YO>-26</YO>
</UDim2>
<UDim2 name="Size">
<XS>0</XS>
<XO>170</XO>
<YS>0</YS>
<YO>18</YO>
</UDim2>
<token name="SizeConstraint">2</token>
<token name="Style">0</token>
<bool name="Visible">true</bool>
<int name="ZIndex">1</int>
<bool name="archivable">true</bool>
</Properties>
<Item class="ImageLabel" referent="RBX3">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4294967295</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">1</int>
<Content name="Image"><url>rbxasset://textures/healthgui/bkg.png</url></Content>
<string name="Name">bkg</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>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="ImageLabel" referent="RBX4">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4294967295</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">1</int>
<Content name="Image"><url>rbxasset://textures/healthgui/BarRed.png</url></Content>
<string name="Name">barRed</string>
<UDim2 name="Position">
<XS>0.0189999994</XS>
<XO>0</XO>
<YS>0.100000001</YS>
<YO>0</YO>
</UDim2>
<UDim2 name="Size">
<XS>0</XS>
<XO>0</XO>
<YS>0</YS>
<YO>0</YO>
</UDim2>
<token name="SizeConstraint">0</token>
<bool name="Visible">true</bool>
<int name="ZIndex">1</int>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="Frame" referent="RBX5">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4294967295</Color3>
<float name="BackgroundTransparency">1.00000012</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">0</int>
<string name="Name">bar2</string>
<UDim2 name="Position">
<XS>0.0189999994</XS>
<XO>0</XO>
<YS>0.100000001</YS>
<YO>0</YO>
</UDim2>
<UDim2 name="Size">
<XS>0.192000002</XS>
<XO>0</XO>
<YS>0.829999983</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>
<bool name="archivable">true</bool>
</Properties>
<Item class="Script" referent="RBX6">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">Script</string>
<ProtectedString name="Source">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) &gt; 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) &gt; (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 &gt; 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 &lt; 0.2) then
j = -j
end
GBchannels = GBchannels + j
if (i &gt; (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) &gt; (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&apos;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) &gt; (h.MaxHealth / 10) ) then
lastHealth2 = h.Health
else
lastHealth2 = h.Health
end end)
</ProtectedString>
<bool name="archivable">true</bool>
</Properties>
</Item>
</Item>
<Item class="ImageLabel" referent="RBX7">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4294967295</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">1</int>
<Content name="Image"><url>rbxasset://textures/healthgui/Bar.png</url></Content>
<string name="Name">bar</string>
<UDim2 name="Position">
<XS>0.0189999994</XS>
<XO>0</XO>
<YS>0.100000001</YS>
<YO>0</YO>
</UDim2>
<UDim2 name="Size">
<XS>0.959999979</XS>
<XO>0</XO>
<YS>0.829999983</YS>
<YO>0</YO>
</UDim2>
<token name="SizeConstraint">0</token>
<bool name="Visible">true</bool>
<int name="ZIndex">1</int>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="ImageLabel" referent="RBX8">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4294967295</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">0</int>
<Content name="Image"><url>rbxasset://textures/healthgui/label.png</url></Content>
<string name="Name">label</string>
<UDim2 name="Position">
<XS>0.680000007</XS>
<XO>0</XO>
<YS>0.300000012</YS>
<YO>0</YO>
</UDim2>
<UDim2 name="Size">
<XS>0.25</XS>
<XO>0</XO>
<YS>0.349999994</YS>
<YO>0</YO>
</UDim2>
<token name="SizeConstraint">0</token>
<bool name="Visible">true</bool>
<int name="ZIndex">1</int>
<bool name="archivable">true</bool>
</Properties>
</Item>
</Item>
<Item class="ImageLabel" referent="RBX9">
<Properties>
<bool name="Active">false</bool>
<Color3 name="BackgroundColor3">4290164919</Color3>
<float name="BackgroundTransparency">1</float>
<Color3 name="BorderColor3">4279970357</Color3>
<int name="BorderSizePixel">1</int>
<Content name="Image"><url>rbxasset://textures/healthgui/HurtOverlay.png</url></Content>
<string name="Name">hurtOverlay</string>
<UDim2 name="Position">
<XS>2</XS>
<XO>0</XO>
<YS>0</YS>
<YO>-22</YO>
</UDim2>
<UDim2 name="Size">
<XS>1</XS>
<XO>0</XO>
<YS>1.1500001</YS>
<YO>30</YO>
</UDim2>
<token name="SizeConstraint">0</token>
<bool name="Visible">false</bool>
<int name="ZIndex">1</int>
<bool name="archivable">true</bool>
</Properties>
</Item>
</Item>
</Item>
</roblox>

View File

@ -120,64 +120,86 @@
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMw1
ONYAAAAJcEhZcwAADrwAAA68AZW8ckkAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjExR/NC
NwAADxlJREFUeF7tne2C4ioShs+2th8n6kad+7/WJeSFKqCqIDHtzI48f6a7xKQHHqGAJP7zq9PR6HZ0
dLodHZ1uR0en29HR6XZ0dLodHZ3/DztuB/zQeSvMjtuXY3eIDJHbGHig7Ft5nr++BvzceSfMjnGyo43j
9Yk3vYH7fjrlb/Hy01lnh+N4w9t+mmE+X9PY8kZnP4LVdrhB6PQGQR4HnO3rgojBdXfHT51NeMEOx+70
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
</value>
</data>
<data name="label4.Text" xml:space="preserve">

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -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)
## Overview
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).
## 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)

712
character_fakeclients.rbxm Normal file
View File

@ -0,0 +1,712 @@
<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="Model" referent="RBX0">
<Properties>
<token name="Controller">7</token>
<bool name="ControllerFlagShown">true</bool>
<CoordinateFrame name="ModelInPrimary">
<X>0</X>
<Y>0</Y>
<Z>0</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">erik.cassel</string>
<Ref name="PrimaryPart">RBX1</Ref>
<bool name="archivable">true</bool>
</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">4</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">24</int>
<CoordinateFrame name="CFrame">
<X>0</X>
<Y>4.5</Y>
<Z>-0.5</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>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<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>
<string name="Name">Head</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>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>2</X>
<Y>1</Y>
<Z>1</Z>
</Vector3>
</Properties>
<Item class="SpecialMesh" referent="RBX2">
<Properties>
<Content name="MeshId"><null></null></Content>
<token name="MeshType">0</token>
<string name="Name">Mesh</string>
<Vector3 name="Scale">
<X>1.25</X>
<Y>1.25</Y>
<Z>1.25</Z>
</Vector3>
<Content name="TextureId"><null></null></Content>
<Vector3 name="VertexColor">
<X>1</X>
<Y>1</Y>
<Z>1</Z>
</Vector3>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="Decal" referent="RBX3">
<Properties>
<token name="Face">5</token>
<string name="Name">face</string>
<float name="Shiny">20</float>
<float name="Specular">0</float>
<Content name="Texture"><url>rbxasset://textures\face.png</url></Content>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="Weld" referent="RBX4">
<Properties>
<CoordinateFrame name="C0">
<X>0</X>
<Y>0.5</Y>
<Z>0</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>
<CoordinateFrame name="C1">
<X>0</X>
<Y>-0.200000003</Y>
<Z>0.150000006</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">HeadWeld</string>
<Ref name="Part0">RBX1</Ref>
<Ref name="Part1">null</Ref>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="Weld" referent="RBX5">
<Properties>
<CoordinateFrame name="C0">
<X>0</X>
<Y>0.5</Y>
<Z>0</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>
<CoordinateFrame name="C1">
<X>0</X>
<Y>-0.200000003</Y>
<Z>0.150000006</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">HeadWeld</string>
<Ref name="Part0">RBX1</Ref>
<Ref name="Part1">null</Ref>
<bool name="archivable">true</bool>
</Properties>
</Item>
</Item>
<Item class="Part" referent="RBX6">
<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">4</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">23</int>
<CoordinateFrame name="CFrame">
<X>0</X>
<Y>3</Y>
<Z>-0.5</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>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<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</float>
<float name="LeftParamB">0</float>
<token name="LeftSurface">2</token>
<token name="LeftSurfaceInput">0</token>
<bool name="Locked">true</bool>
<string name="Name">Torso</string>
<float name="Reflectance">0</float>
<float name="RightParamA">0</float>
<float name="RightParamB">0</float>
<token name="RightSurface">2</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">3</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>2</X>
<Y>2</Y>
<Z>1</Z>
</Vector3>
</Properties>
<Item class="Decal" referent="RBX7">
<Properties>
<token name="Face">5</token>
<string name="Name">roblox</string>
<float name="Shiny">20</float>
<float name="Specular">0</float>
<Content name="Texture"><null></null></Content>
<bool name="archivable">true</bool>
</Properties>
</Item>
</Item>
<Item class="Part" referent="RBX8">
<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">4</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">24</int>
<CoordinateFrame name="CFrame">
<X>1.5</X>
<Y>3</Y>
<Z>-0.5</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>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<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>
<string name="Name">Left Arm</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">3</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>1</X>
<Y>2</Y>
<Z>1</Z>
</Vector3>
</Properties>
<Item class="Script" referent="RBX9">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">Script</string>
<string name="Source">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</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
</Item>
<Item class="Part" referent="RBX10">
<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">4</token>
<token name="BottomSurfaceInput">0</token>
<int name="BrickColor">24</int>
<CoordinateFrame name="CFrame">
<X>-1.5</X>
<Y>3</Y>
<Z>-0.5</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>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<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>
<string name="Name">Right Arm</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">3</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>1</X>
<Y>2</Y>
<Z>1</Z>
</Vector3>
</Properties>
<Item class="Script" referent="RBX11">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">Script</string>
<string name="Source">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</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
</Item>
<Item class="Part" referent="RBX12">
<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">119</int>
<CoordinateFrame name="CFrame">
<X>0.5</X>
<Y>1</Y>
<Z>-0.5</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">false</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<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>
<string name="Name">Left Leg</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">3</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>1</X>
<Y>2</Y>
<Z>1</Z>
</Vector3>
</Properties>
<Item class="Script" referent="RBX13">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">Script</string>
<string name="Source">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
</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
</Item>
<Item class="Part" referent="RBX14">
<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">119</int>
<CoordinateFrame name="CFrame">
<X>-0.5</X>
<Y>1</Y>
<Z>-0.5</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">false</bool>
<token name="Controller">0</token>
<bool name="ControllerFlagShown">true</bool>
<bool name="DraggingV1">false</bool>
<float name="Elasticity">0.5</float>
<token name="FormFactor">0</token>
<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>
<string name="Name">Right Leg</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">3</token>
<token name="TopSurfaceInput">0</token>
<float name="Transparency">0</float>
<Vector3 name="Velocity">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
<token name="shape">1</token>
<Vector3 name="size">
<X>1</X>
<Y>2</Y>
<Z>1</Z>
</Vector3>
</Properties>
<Item class="Script" referent="RBX15">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">Script</string>
<string name="Source">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
</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
</Item>
<Item class="Humanoid" referent="RBX16">
<Properties>
<float name="Health">100</float>
<bool name="Jump">false</bool>
<float name="MaxHealth">100</float>
<string name="Name">Humanoid</string>
<bool name="Sit">false</bool>
<bool name="Strafe">false</bool>
<Vector3 name="TargetPoint">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<Vector3 name="WalkDirection">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<float name="WalkRotationalVelocity">0</float>
<Ref name="WalkToPart">null</Ref>
<Vector3 name="WalkToPoint">
<X>0</X>
<Y>0</Y>
<Z>0</Z>
</Vector3>
<bool name="archivable">true</bool>
</Properties>
</Item>
<Item class="Script" referent="RBX17">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">Hats</string>
<string name="Source">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 == &quot;Hat&quot;)then
Hat = b
local Handles = Hat:findFirstChild(&quot;Handle&quot;)
if Handles then
Handles.CanCollide = true
end
end
end
end
end
</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
</Item>
</roblox>

301
humanoidAnimate2007.rbxm Normal file
View File

@ -0,0 +1,301 @@
<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="Script" referent="RBX0">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">Animate</string>
<string name="Source">-- 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(&quot;Body Colors&quot;)
if not old then return end
old:clone().Parent = char
old.Parent = nil
else
local head = char:findFirstChild(&quot;Head&quot;)
local torso = char:findFirstChild(&quot;Torso&quot;)
local left_arm = char:findFirstChild(&quot;Left Arm&quot;)
local right_arm = char:findFirstChild(&quot;Right Arm&quot;)
local left_leg = char:findFirstChild(&quot;Left Leg&quot;)
local right_leg = char:findFirstChild(&quot;Right Leg&quot;)
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 == &quot;Character&quot; then
onTeamChanged(player)
end
if property== &quot;TeamColor&quot; or property == &quot;Neutral&quot; 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, &quot;Torso&quot;)
local RightShoulder = waitForChild(Torso, &quot;Right Shoulder&quot;)
local LeftShoulder = waitForChild(Torso, &quot;Left Shoulder&quot;)
local RightHip = waitForChild(Torso, &quot;Right Hip&quot;)
local LeftHip = waitForChild(Torso, &quot;Left Hip&quot;)
local Neck = waitForChild(Torso, &quot;Neck&quot;)
local Humanoid = waitForChild(Figure, &quot;Humanoid&quot;)
local pose = &quot;Standing&quot;
local toolAnim = &quot;None&quot;
local toolAnimTime = 0
local isSeated = false
-- functions
function onRunning(speed)
if isSeated then return end
if speed&gt;0 then
pose = &quot;Running&quot;
else
pose = &quot;Standing&quot;
end
end
function onDied()
pose = &quot;Dead&quot;
end
function onJumping()
isSeated = false
pose = &quot;Jumping&quot;
end
function onClimbing()
pose = &quot;Climbing&quot;
end
function onGettingUp()
pose = &quot;GettingUp&quot;
end
function onFreeFall()
pose = &quot;FreeFall&quot;
end
function onFallingDown()
pose = &quot;FallingDown&quot;
end
function onSeated()
isSeated = true
pose = &quot;Seated&quot;
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 == &quot;Tool&quot; then return kid end
end
return nil
end
function getToolAnim(tool)
for _, c in ipairs(tool:GetChildren()) do
if c.Name == &quot;toolanim&quot; and c.className == &quot;StringValue&quot; then
return c
end
end
return nil
end
function animateTool()
if (toolAnim == &quot;None&quot;) then
RightShoulder.DesiredAngle = 1.57
return
end
if (toolAnim == &quot;Slash&quot;) then
RightShoulder.MaxVelocity = 0.5
RightShoulder.DesiredAngle = 0
return
end
if (toolAnim == &quot;Lunge&quot;) 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 == &quot;Jumping&quot;) then
moveJump()
return
end
if (pose == &quot;FreeFall&quot;) then
moveFreeFall()
return
end
if (pose == &quot;Seated&quot;) then
moveSit()
return
end
local climbFudge = 0
if (pose == &quot;Running&quot;) then
RightShoulder.MaxVelocity = 0.15
LeftShoulder.MaxVelocity = 0.15
amplitude = 1
frequency = 9
elseif (pose == &quot;Climbing&quot;) and (toolAnim == &quot;None&quot;) 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 &gt; toolAnimTime then
toolAnimTime = 0
toolAnim = &quot;None&quot;
end
animateTool()
else
toolAnim = &quot;None&quot;
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(&quot;RunService&quot;);
while Figure.Parent~=nil do
local _, time = wait(0.1)
move(time)
end
</string>
<bool name="archivable">true</bool>
</Properties>
</Item>
</roblox>

View File

@ -5,14 +5,15 @@
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">GUI_Copy</string>
<ProtectedString name="Source">script.HealthGUI:clone().Parent = game.StarterGui;
script:remove();</ProtectedString>
<string name="Name">Sorter</string>
<ProtectedString name="Source">script.Health:clone().Parent = game.StarterGui
script.ResetCommand:clone().Parent = game.Workspace
script:remove()</ProtectedString>
<bool name="archivable">true</bool>
</Properties>
<Item class="GuiMain" referent="RBX1">
<Properties>
<string name="Name">HealthGUI</string>
<string name="Name">Health</string>
<bool name="archivable">true</bool>
</Properties>
<Item class="Frame" referent="RBX2">
@ -136,5 +137,29 @@ end)
</Item>
</Item>
</Item>
<Item class="Script" referent="RBX7">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">ResetCommand</string>
<ProtectedString name="Source">function onChatted(msg, speaker)
source = string.lower(speaker.Name)
msg = string.lower(msg)
-- Note: This one is NOT caps sensitive
if msg == &quot;!!!reset&quot; 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)</ProtectedString>
<bool name="archivable">true</bool>
</Properties>
</Item>
</Item>
</roblox>
</roblox>

File diff suppressed because it is too large Load Diff

15319
libraries2012.rbxm Normal file

File diff suppressed because it is too large Load Diff

28
librariesGlobal.rbxm Normal file
View File

@ -0,0 +1,28 @@
<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="Script" referent="RBX0">
<Properties>
<bool name="Disabled">false</bool>
<Content name="LinkedSource"><null></null></Content>
<string name="Name">ResetCommand</string>
<ProtectedString name="Source">function onChatted(msg, speaker)
source = string.lower(speaker.Name)
msg = string.lower(msg)
-- Note: This one is NOT caps sensitive
if msg == &quot;!!!reset&quot; 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)</ProtectedString>
<bool name="archivable">true</bool>
</Properties>
</Item>
</roblox>