Novetus_src/CSView.lua
2018-11-07 16:56:21 -07:00

306 lines
9.1 KiB
Lua

--function made by rbxbanland
function newWaitForChild(newParent,name)
local returnable = nil
if newParent:FindFirstChild(name) then
returnable = newParent:FindFirstChild(name)
else
repeat wait() returnable = newParent:FindFirstChild(name) until returnable ~= nil
end
return returnable
end
function LoadCharacterNew(playerApp,newChar)
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
local customtype = newVal.CustomizationType.Value
if (customtype == 1) then
pcall(function()
charparts[newVal.ColorIndex.Value].BrickColor = newVal.Value
end)
elseif (customtype == 2) then
pcall(function()
local newHat = game.Workspace:InsertContent("rbxasset://../../../charcustom/hats/"..newVal.Value)
if newHat[1] then
if newHat[1].className == "Hat" then
newHat[1].Parent = newChar
else
newHat[1]:remove()
end
end
end)
elseif (customtype == 3) then
pcall(function()
local newTShirt = game.Workspace:InsertContent("rbxasset://../../../charcustom/tshirts/"..newVal.Value)
if newTShirt[1] then
if newTShirt[1].className == "ShirtGraphic" then
newTShirt[1].Parent = newChar
else
newTShirt[1]:remove()
end
end
end)
elseif (customtype == 4) then
pcall(function()
local newShirt = game.Workspace:InsertContent("rbxasset://../../../charcustom/shirts/"..newVal.Value)
if newShirt[1] then
if newShirt[1].className == "Shirt" then
newShirt[1].Parent = newChar
else
newShirt[1]:remove()
end
end
end)
elseif (customtype == 5) then
pcall(function()
local newPants = game.Workspace:InsertContent("rbxasset://../../../charcustom/pants/"..newVal.Value)
if newPants[1] then
if newPants[1].className == "Pants" then
newPants[1].Parent = newChar
else
newPants[1]:remove()
end
end
end)
elseif (customtype == 6) then
pcall(function()
local newFace = game.Workspace:InsertContent("rbxasset://../../../charcustom/faces/"..newVal.Value)
if newFace[1] then
if newFace[1].className == "Decal" then
newWaitForChild(charparts[1],"face"):remove()
newFace[1].Parent = charparts[1]
newFace[1].Face = "Front"
else
newFace[1]:remove()
end
end
end)
elseif (customtype == 7) then
pcall(function()
local newPart = game.Workspace:InsertContent("rbxasset://../../../charcustom/heads/"..newVal.Value)
if newPart[1] then
if newPart[1].className == "SpecialMesh" or newPart[1].className == "CylinderMesh" or newPart[1].className == "BlockMesh" then
newWaitForChild(charparts[1],"Mesh"):remove()
newPart[1].Parent = charparts[1]
else
newPart[1]:remove()
end
end
end)
end
end
end
function InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID)
local newCharApp = Instance.new("IntValue",Player)
newCharApp.Name = "Appearance"
--BODY COLORS
for i=1,6,1 do
local BodyColor = Instance.new("BrickColorValue",newCharApp)
if (i == 1) then
if (HeadColorID ~= nil) then
BodyColor.Value = BrickColor.new(HeadColorID)
else
BodyColor.Value = BrickColor.new(1)
end
BodyColor.Name = "HeadColor"
elseif (i == 2) then
if (TorsoColorID ~= nil) then
BodyColor.Value = BrickColor.new(TorsoColorID)
else
BodyColor.Value = BrickColor.new(1)
end
BodyColor.Name = "TorsoColor"
elseif (i == 3) then
if (LeftArmColorID ~= nil) then
BodyColor.Value = BrickColor.new(LeftArmColorID)
else
BodyColor.Value = BrickColor.new(1)
end
BodyColor.Name = "LeftArmColor"
elseif (i == 4) then
if (RightArmColorID ~= nil) then
BodyColor.Value = BrickColor.new(RightArmColorID)
else
BodyColor.Value = BrickColor.new(1)
end
BodyColor.Name = "RightArmColor"
elseif (i == 5) then
if (LeftLegColorID ~= nil) then
BodyColor.Value = BrickColor.new(LeftLegColorID)
else
BodyColor.Value = BrickColor.new(1)
end
BodyColor.Name = "LeftLegColor"
elseif (i == 6) then
if (RightLegColorID ~= nil) then
BodyColor.Value = BrickColor.new(RightLegColorID)
else
BodyColor.Value = BrickColor.new(1)
end
BodyColor.Name = "RightLegColor"
end
local indexValue = Instance.new("NumberValue")
indexValue.Name = "ColorIndex"
indexValue.Parent = BodyColor
indexValue.Value = i
local typeValue = Instance.new("NumberValue")
typeValue.Name = "CustomizationType"
typeValue.Parent = BodyColor
typeValue.Value = 1
end
--HATS
for i=1,3,1 do
local newHat = Instance.new("StringValue",newCharApp)
if (i == 1) then
if (RightLegColorID ~= nil) then
newHat.Value = Hat1ID
newHat.Name = Hat1ID
else
newHat.Value = "NoHat.rbxm"
newHat.Name = "NoHat.rbxm"
end
elseif (i == 2) then
if (RightLegColorID ~= nil) then
newHat.Value = Hat2ID
newHat.Name = Hat2ID
else
newHat.Value = "NoHat.rbxm"
newHat.Name = "NoHat.rbxm"
end
elseif (i == 3) then
if (RightLegColorID ~= nil) then
newHat.Value = Hat3ID
newHat.Name = Hat3ID
else
newHat.Value = "NoHat.rbxm"
newHat.Name = "NoHat.rbxm"
end
end
local typeValue = Instance.new("NumberValue")
typeValue.Name = "CustomizationType"
typeValue.Parent = newHat
typeValue.Value = 2
end
--T-SHIRT
local newTShirt = Instance.new("StringValue",newCharApp)
if (TShirtID ~= nil) then
newTShirt.Value = TShirtID
newTShirt.Name = TShirtID
else
newTShirt.Value = "NoTShirt.rbxm"
newTShirt.Name = "NoTShirt.rbxm"
end
local typeValue = Instance.new("NumberValue")
typeValue.Name = "CustomizationType"
typeValue.Parent = newTShirt
typeValue.Value = 3
--SHIRT
local newShirt = Instance.new("StringValue",newCharApp)
if (ShirtID ~= nil) then
newShirt.Value = ShirtID
newShirt.Name = ShirtID
else
newShirt.Value = "NoShirt.rbxm"
newShirt.Name = "NoShirt.rbxm"
end
local typeValue = Instance.new("NumberValue")
typeValue.Name = "CustomizationType"
typeValue.Parent = newShirt
typeValue.Value = 4
--PANTS
local newPants = Instance.new("StringValue",newCharApp)
if (PantsID ~= nil) then
newPants.Value = PantsID
newPants.Name = PantsID
else
newPants.Value = "NoPants.rbxm"
newPants.Name = "NoPants.rbxm"
end
local typeValue = Instance.new("NumberValue")
typeValue.Name = "CustomizationType"
typeValue.Parent = newPants
typeValue.Value = 5
--FACE
local newFace = Instance.new("StringValue",newCharApp)
if (FaceID ~= nil) then
newFace.Value = FaceID
newFace.Name = FaceID
else
newFace.Value = "DefaultFace.rbxm"
newFace.Name = "DefaultFace.rbxm"
end
local typeValue = Instance.new("NumberValue")
typeValue.Name = "CustomizationType"
typeValue.Parent = newFace
typeValue.Value = 6
--HEADS
local newHead = Instance.new("StringValue",newCharApp)
if (HeadID ~= nil) then
newHead.Value = HeadID
newHead.Name = HeadID
else
newHead.Value = "DefaultHead.rbxm"
newHead.Name = "DefaultHead.rbxm"
end
local typeValue = Instance.new("NumberValue")
typeValue.Name = "CustomizationType"
typeValue.Parent = newHead
typeValue.Value = 7
end
print("3DView loaded. Nerd.")
function CS3DView(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID)
settings().Rendering.FrameRateManager = 2
game:GetService("RunService"):run()
game:GetService("NetworkServer")
local plr = game.Players:CreateLocalPlayer(UserID)
plr.Name = PlayerName
plr:LoadCharacter()
pcall(function() plr:SetUnder13(false) end)
pcall(function() plr:SetSuperSafeChat(true) end)
pcall(function() plr:SetAccountAge(365) end)
plr.CharacterAppearance=0
game.GuiRoot.MainMenu:Remove()
game.GuiRoot.RightPalette:Remove()
game.GuiRoot.ChatMenuPanel:Remove()
game.GuiRoot.ScoreHud:Remove()
game.GuiRoot.ChatHud:Remove()
if (plr.PlayerGui:FindFirstChild("HealthGUI")) then
plr.PlayerGui.HealthGUI:Remove()
end
if (plr.Character:FindFirstChild("Animate")) then
plr.Character.Animate:Remove()
end
local target = game.Workspace.Base.SpawnLocation
local camera = game.Workspace.CurrentCamera
camera.CameraType = Enum.CameraType.Watch
camera.CameraSubject = target
i = true
local function fixJump(prop)
plr.Character.Torso.Velocity = plr.Character.Torso.Velocity * Vector3.new (1, 0, 1)
if i == true then
plr.Character.Torso.CFrame = plr.Character.Torso.CFrame - Vector3.new(0, 1.8, 0)
i = false
else
i = true
end
end
local human = plr.Character.Humanoid
human.WalkSpeed = 0
human.Jumping:connect(fixJump)
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
wait(1)
game:GetService("NetworkClient")
end
_G.CS3DView=CS3DView