redid 2006s/2006s-shaders in 2007e, improved stability.

This commit is contained in:
Bitl 2021-09-15 17:38:30 -07:00
parent 2445d75903
commit d50716fcb1
40 changed files with 124 additions and 120 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

BIN
Graphics/2006S/2006S.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 B

BIN
Graphics/2006S/GROUP_16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 B

BIN
Graphics/2006S/LOCK_16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 B

BIN
Graphics/2006S/REDO_16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 B

BIN
Graphics/2006S/SAVE_16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 B

BIN
Graphics/2006S/UNDO_16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 B

View File

@ -34,6 +34,7 @@ class CharacterCustomizationShared
public PictureBox Hat1Image, Hat2Image, Hat3Image, HeadImage, TShirtImage, ShirtImage, PantsImage, FaceImage, ExtraItemImage, IconImage;
public ListView ColorView;
private ImageList ColorImageList;
public bool closeOnLaunch = false;
#endregion
#region Constructor
@ -42,7 +43,7 @@ class CharacterCustomizationShared
}
public void InitColors()
public bool InitColors()
{
try
{
@ -51,7 +52,7 @@ class CharacterCustomizationShared
PartColorList = PartColorLoader.GetPartColors();
PartColorListConv = new List<PartColor>();
PartColorListConv.AddRange(PartColorList);
return;
return true;
}
else
{
@ -66,13 +67,19 @@ class CharacterCustomizationShared
Failure:
MessageBox.Show("The part colors cannot be loaded. The character customization menu will now close.", "Novetus - Cannot load part colors.", MessageBoxButtons.OK, MessageBoxIcon.Error);
Parent.Close();
return false;
}
#endregion
#region Form Event Functions
public void InitForm()
{
if (closeOnLaunch)
{
Parent.Close();
return;
}
if (File.Exists(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ContentProviderXMLName))
{
contentProviders = OnlineClothing.GetContentProviders();
@ -542,13 +549,22 @@ class CharacterCustomizationShared
public void ApplyPreset(int head, int torso, int larm, int rarm, int lleg, int rleg)
{
ColorView.SelectedIndices.Clear();
ChangeColorOfPart("Head", head, PartColorListConv.Find(x => x.ColorID == head).ColorObject);
ChangeColorOfPart("Torso", torso, PartColorListConv.Find(x => x.ColorID == torso).ColorObject);
ChangeColorOfPart("Left Arm", larm, PartColorListConv.Find(x => x.ColorID == larm).ColorObject);
ChangeColorOfPart("Right Arm", rarm, PartColorListConv.Find(x => x.ColorID == rarm).ColorObject);
ChangeColorOfPart("Left Leg", lleg, PartColorListConv.Find(x => x.ColorID == lleg).ColorObject);
ChangeColorOfPart("Right Leg", rleg, PartColorListConv.Find(x => x.ColorID == rleg).ColorObject);
try
{
ColorView.SelectedIndices.Clear();
ChangeColorOfPart("Head", head, PartColorListConv.Find(x => x.ColorID == head).ColorObject);
ChangeColorOfPart("Torso", torso, PartColorListConv.Find(x => x.ColorID == torso).ColorObject);
ChangeColorOfPart("Left Arm", larm, PartColorListConv.Find(x => x.ColorID == larm).ColorObject);
ChangeColorOfPart("Right Arm", rarm, PartColorListConv.Find(x => x.ColorID == rarm).ColorObject);
ChangeColorOfPart("Left Leg", lleg, PartColorListConv.Find(x => x.ColorID == lleg).ColorObject);
ChangeColorOfPart("Right Leg", rleg, PartColorListConv.Find(x => x.ColorID == rleg).ColorObject);
}
catch(Exception ex)
{
MessageBox.Show("Failed to load required colors for the preset.", "Novetus - Preset Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
ResetColors();
GlobalFuncs.LogExceptions(ex);
}
}
public void ResetColors()

View File

@ -17,7 +17,7 @@ public partial class CharacterCustomizationCompact : Form
{
InitializeComponent();
InitCompactForm();
characterCustomizationForm.InitColors();
characterCustomizationForm.closeOnLaunch = !characterCustomizationForm.InitColors();
}
#endregion

View File

@ -15,10 +15,9 @@ public partial class CharacterCustomizationExtended : Form
#region Constructor
public CharacterCustomizationExtended()
{
InitializeComponent();
InitializeComponent();
InitExtendedForm();
characterCustomizationForm.InitColors();
characterCustomizationForm.closeOnLaunch = !characterCustomizationForm.InitColors();
Size = new Size(671, 337);
panel2.Size = new Size(568, 302);
}

View File

@ -10,7 +10,8 @@ Changes from 1.3 Pre-Release 4:
- Added "%args%" as the default ClientScript example.
- Improved the Green Screen map.
- Added more options to the Super Safe Chat menu.
- Added more items (details in full changelog)
- Rebuilt 2006S in 2007E.
- Added more items and maps (details in full changelog)
Changes from 1.2.4.1:
- The OBJ2MeshV1GUI, The Asset Localizer, and the Item SDK have been merged to form the Asset SDK!
- Works with the Roblox Asset Delivery API! Note: Script assetss wil have to be downloaded manually in order to be used in scripts.
@ -191,8 +192,9 @@ Changes from 1.2.4.1:
- Changed the console text font.
- Updated mesh converter to a modified version of Coke's Obj2RBXMesh converter (https://github.com/Novetus/ObjToRBXMesh) to the Asset SDK.
- Added 35 new hats from the 2007 hat pack! (https://itch.io/t/893195/2007-hat-pack-v1, credit to Bobi MJ)
- Added 1 place:
- Added 2 maps:
2007 - millons of Roblox. Kill them
2011 - Survive The End Of The World (Survive The End Of Roblox)
- Added the following items:
Hats:
Biology Textbook

View File

@ -3,10 +3,10 @@ showServerNotifications = true
--function made by rbxbanland
function newWaitForChild(newParent,name)
local returnable = nil
if newParent:FindFirstChild(name) then
returnable = newParent:FindFirstChild(name)
if newParent:findFirstChild(name) then
returnable = newParent:findFirstChild(name)
else
repeat wait() returnable = newParent:FindFirstChild(name) until returnable ~= nil
repeat wait() returnable = newParent:findFirstChild(name) until returnable ~= nil
end
return returnable
end
@ -30,8 +30,8 @@ function newWaitForChildSecurity(newParent,name)
local loadAttempts = 0
local maxAttempts = 5
while loadAttempts < maxAttempts do
if newParent:FindFirstChild(name) then
returnable = newParent:FindFirstChild(name)
if newParent:findFirstChild(name) then
returnable = newParent:findFirstChild(name)
break
end
wait()
@ -47,8 +47,8 @@ function newWaitForChildSecurity(newParent,name)
end
function LoadCharacterNew(playerApp,newChar)
PlayerService = game:GetService("Players")
Player = PlayerService:GetPlayerFromCharacter(newChar)
PlayerService = game:service("Players")
Player = PlayerService:playerFromCharacter(newChar)
local function kick()
KickPlayer(Player, "Modified Client")
@ -58,18 +58,18 @@ function LoadCharacterNew(playerApp,newChar)
kick()
end
if (not Player:FindFirstChild("Appearance")) then
if (not Player:findFirstChild("Appearance")) then
kick()
end
if ((playerApp:GetChildren() == 0) or (playerApp:GetChildren() == nil)) then
if ((playerApp:children() == 0) or (playerApp:children() == nil)) then
kick()
end
local path = "rbxasset://../../../shareddata/charcustom/"
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
for _,newVal in pairs(playerApp:children()) do
if (newVal.Name == "Body Color") then
pcall(function()
charparts[newVal.ColorIndex.Value].BrickColor = newVal.Value
@ -138,15 +138,15 @@ function LoadSecurity(playerApp,Player,ServerSecurityLocation)
kick()
end
if (not Player:FindFirstChild("Security")) then
if (not Player:findFirstChild("Security")) then
kick()
end
if (not playerApp:FindFirstChild("ClientEXEMD5") or not playerApp:FindFirstChild("LauncherMD5") or not playerApp:FindFirstChild("ClientScriptMD5")) then
if (not playerApp:findFirstChild("ClientEXEMD5") or not playerApp:findFirstChild("LauncherMD5") or not playerApp:findFirstChild("ClientScriptMD5")) then
kick()
end
for _,newVal in pairs(playerApp:GetChildren()) do
for _,newVal in pairs(playerApp:children()) do
if (newVal.Name == "ClientEXEMD5") then
if (newVal.Value ~= ServerSecurityLocation.Security.ClientEXEMD5.Value or newVal.Value == "") then
kick()
@ -198,11 +198,11 @@ function LoadTripcode(Player)
KickPlayer(Player, "Modified Client")
end
if (not Player:FindFirstChild("Tripcode")) then
if (not Player:findFirstChild("Tripcode")) then
kick()
end
for _,newVal in pairs(Player:GetChildren()) do
for _,newVal in pairs(Player:children()) do
if (newVal.Name == "Tripcode") then
if (newVal.Value == "") then
kick()
@ -217,31 +217,31 @@ function PingMasterServer(online, ServerBrowserAddress, ServerBrowserName, Serve
game:httpGet(pingURL .. "&online=" .. online)
end
print("ROBLOX Client version '0.3.512.0' loaded.")
print("ROBLOX Client version '0.3.368.0' loaded.")
function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Notifications,ServerBrowserName,ServerBrowserAddress,ServerIP,Client)
Server = game:GetService("NetworkServer")
RunService = game:GetService("RunService")
PlayerService = game:GetService("Players")
game:GetService("Visit"):SetUploadUrl("")
Server = game:service("NetworkServer")
RunService = game:service("RunService")
PlayerService = game:service("Players")
game:service("Visit"):setUploadUrl("")
Server:start(Port, 20)
RunService:run()
showServerNotifications = Notifications
game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm")
game.Workspace:insertContent("rbxasset://Fonts//libraries.rbxm")
if (showServerNotifications) then
PlayerService.MaxPlayers = PlayerLimit + 1
PlayerService.maxPlayers = PlayerLimit + 1
--create a fake player to record connections and disconnections
notifyPlayer = game:GetService("Players"):CreateLocalPlayer(-1)
notifyPlayer = game:service("Players"):createLocalPlayer(-1)
notifyPlayer.Name = "[SERVER]"
else
PlayerService.MaxPlayers = PlayerLimit
PlayerService.maxPlayers = PlayerLimit
end
PlayerService.PlayerAdded:connect(function(Player)
PlayerService.ChildAdded:connect(function(Player)
Player.Chatted:connect(function(msg)
print(Player.Name.."; "..msg)
end)
if (PlayerService.NumPlayers > PlayerService.MaxPlayers) then
if (PlayerService.numPlayers > PlayerService.maxPlayers) then
KickPlayer(Player, "Too many players on server.")
else
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' added")
@ -259,15 +259,15 @@ function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Noti
end
-- rename all Server replicators in NetworkServer to "ServerReplicator"
for _,Child in pairs(Server:GetChildren()) do
for _,Child in pairs(Server:children()) do
Child.Name = "ServerReplicator"
end
coroutine.resume(coroutine.create(function()
while Player ~= nil do
wait(0.1)
if (Player.Character:FindFirstChild("Humanoid") and (Player.Character.Humanoid.Health == 0)) then
if (Player.Character.Humanoid.Health == 0) then
if (Player.Character ~= nil) then
if (Player.Character:findFirstChild("Humanoid") and (Player.Character.Humanoid.Health == 0)) then
wait(5)
Player:LoadCharacter()
LoadCharacterNew(newWaitForChildSecurity(Player,"Appearance"),Player.Character)
@ -289,20 +289,21 @@ function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Noti
InitalizeSecurityValues(game.Lighting,ClientEXEMD5,LauncherMD5,ClientScriptMD5)
PingMasterServer(1, ServerBrowserAddress, ServerBrowserName, ServerIP, Port, Client)
Server.IncommingConnection:connect(IncommingConnection)
pcall(function() game.Close:connect(function() PingMasterServer(0, ServerBrowserAddress, ServerBrowserName, ServerIP, Port, Client) Server:Stop() end) end)
pcall(function() game.Close:connect(function() PingMasterServer(0, ServerBrowserAddress, ServerBrowserName, ServerIP, Port, Client) Server:stop() end) end)
end
function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Tripcode,Ticket)
local suc, err = pcall(function()
client = game:GetService("NetworkClient")
player = game:GetService("Players"):CreateLocalPlayer(UserID)
client = game:service("NetworkClient")
player = game:service("Players"):createLocalPlayer(UserID)
InitalizeSecurityValues(player,ClientEXEMD5,LauncherMD5,ClientScriptMD5)
InitalizeTripcode(player,Tripcode)
player:SetSuperSafeChat(false)
pcall(function() player:SetUnder13(false) end)
pcall(function() player:SetAccountAge(365) end)
player:SetAdminMode(true)
pcall(function() player.Name=PlayerName or "" end)
game:GetService("Visit"):SetUploadUrl("")
game:service("Visit"):setUploadUrl("")
InitalizeClientAppearance(player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID)
end)
@ -352,11 +353,11 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
client.ConnectionAccepted:connect(connected)
client.ConnectionRejected:connect(rejected)
client.ConnectionFailed:connect(failed)
client:Connect(ServerIP,ServerPort, 0, 20)
game.GuiRoot.MainMenu["Toolbox"]:Remove()
game.GuiRoot.MainMenu["Edit Mode"]:Remove()
game.GuiRoot.RightPalette.ReportAbuse:Remove()
game.GuiRoot.ChatMenuPanel:Remove()
client:connect(ServerIP,ServerPort, 0, 20)
game.GuiRoot.MainMenu["Toolbox"]:remove()
game.GuiRoot.MainMenu["Edit Mode"]:remove()
game.GuiRoot.RightPalette.ReportAbuse:remove()
game.GuiRoot.ChatMenuPanel:remove()
end)
if not suc then
@ -368,18 +369,19 @@ 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,HeadID,IconType,ItemID)
local plr = game.Players:CreateLocalPlayer(UserID)
game:GetService("RunService"):run()
game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm")
local plr = game.Players:createLocalPlayer(UserID)
game:service("RunService"):run()
game.Workspace:insertContent("rbxasset://Fonts//libraries.rbxm")
plr.Name = PlayerName
plr:SetAdminMode(true)
plr:LoadCharacter()
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
game:GetService("Visit"):SetUploadUrl("")
game:service("Visit"):setUploadUrl("")
while true do
wait(0.001)
if (plr.Character ~= nil) then
if (plr.Character:FindFirstChild("Humanoid") and (plr.Character.Humanoid.Health == 0)) then
if (plr.Character:findFirstChild("Humanoid") and (plr.Character.Humanoid.Health == 0)) then
wait(5)
plr:LoadCharacter()
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
@ -398,4 +400,4 @@ end
_G.CSServer=CSServer
_G.CSConnect=CSConnect
_G.CSSolo=CSSolo
_G.CSStudio=CSStudio
_G.CSStudio=CSStudio

View File

@ -3,10 +3,10 @@ showServerNotifications = true
--function made by rbxbanland
function newWaitForChild(newParent,name)
local returnable = nil
if newParent:FindFirstChild(name) then
returnable = newParent:FindFirstChild(name)
if newParent:findFirstChild(name) then
returnable = newParent:findFirstChild(name)
else
repeat wait() returnable = newParent:FindFirstChild(name) until returnable ~= nil
repeat wait() returnable = newParent:findFirstChild(name) until returnable ~= nil
end
return returnable
end
@ -30,8 +30,8 @@ function newWaitForChildSecurity(newParent,name)
local loadAttempts = 0
local maxAttempts = 5
while loadAttempts < maxAttempts do
if newParent:FindFirstChild(name) then
returnable = newParent:FindFirstChild(name)
if newParent:findFirstChild(name) then
returnable = newParent:findFirstChild(name)
break
end
wait()
@ -47,8 +47,8 @@ function newWaitForChildSecurity(newParent,name)
end
function LoadCharacterNew(playerApp,newChar)
PlayerService = game:GetService("Players")
Player = PlayerService:GetPlayerFromCharacter(newChar)
PlayerService = game:service("Players")
Player = PlayerService:playerFromCharacter(newChar)
local function kick()
KickPlayer(Player, "Modified Client")
@ -58,18 +58,18 @@ function LoadCharacterNew(playerApp,newChar)
kick()
end
if (not Player:FindFirstChild("Appearance")) then
if (not Player:findFirstChild("Appearance")) then
kick()
end
if ((playerApp:GetChildren() == 0) or (playerApp:GetChildren() == nil)) then
if ((playerApp:children() == 0) or (playerApp:children() == nil)) then
kick()
end
local path = "rbxasset://../../../shareddata/charcustom/"
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
for _,newVal in pairs(playerApp:children()) do
if (newVal.Name == "Body Color") then
pcall(function()
charparts[newVal.ColorIndex.Value].BrickColor = newVal.Value
@ -138,15 +138,15 @@ function LoadSecurity(playerApp,Player,ServerSecurityLocation)
kick()
end
if (not Player:FindFirstChild("Security")) then
if (not Player:findFirstChild("Security")) then
kick()
end
if (not playerApp:FindFirstChild("ClientEXEMD5") or not playerApp:FindFirstChild("LauncherMD5") or not playerApp:FindFirstChild("ClientScriptMD5")) then
if (not playerApp:findFirstChild("ClientEXEMD5") or not playerApp:findFirstChild("LauncherMD5") or not playerApp:findFirstChild("ClientScriptMD5")) then
kick()
end
for _,newVal in pairs(playerApp:GetChildren()) do
for _,newVal in pairs(playerApp:children()) do
if (newVal.Name == "ClientEXEMD5") then
if (newVal.Value ~= ServerSecurityLocation.Security.ClientEXEMD5.Value or newVal.Value == "") then
kick()
@ -198,11 +198,11 @@ function LoadTripcode(Player)
KickPlayer(Player, "Modified Client")
end
if (not Player:FindFirstChild("Tripcode")) then
if (not Player:findFirstChild("Tripcode")) then
kick()
end
for _,newVal in pairs(Player:GetChildren()) do
for _,newVal in pairs(Player:children()) do
if (newVal.Name == "Tripcode") then
if (newVal.Value == "") then
kick()
@ -217,31 +217,31 @@ function PingMasterServer(online, ServerBrowserAddress, ServerBrowserName, Serve
game:httpGet(pingURL .. "&online=" .. online)
end
print("ROBLOX Client version '0.3.512.0' loaded.")
print("ROBLOX Client version '0.3.368.0' loaded.")
function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Notifications,ServerBrowserName,ServerBrowserAddress,ServerIP,Client)
Server = game:GetService("NetworkServer")
RunService = game:GetService("RunService")
PlayerService = game:GetService("Players")
game:GetService("Visit"):SetUploadUrl("")
Server = game:service("NetworkServer")
RunService = game:service("RunService")
PlayerService = game:service("Players")
game:service("Visit"):setUploadUrl("")
Server:start(Port, 20)
RunService:run()
showServerNotifications = Notifications
game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm")
game.Workspace:insertContent("rbxasset://Fonts//libraries.rbxm")
if (showServerNotifications) then
PlayerService.MaxPlayers = PlayerLimit + 1
PlayerService.maxPlayers = PlayerLimit + 1
--create a fake player to record connections and disconnections
notifyPlayer = game:GetService("Players"):CreateLocalPlayer(-1)
notifyPlayer = game:service("Players"):createLocalPlayer(-1)
notifyPlayer.Name = "[SERVER]"
else
PlayerService.MaxPlayers = PlayerLimit
PlayerService.maxPlayers = PlayerLimit
end
PlayerService.PlayerAdded:connect(function(Player)
PlayerService.ChildAdded:connect(function(Player)
Player.Chatted:connect(function(msg)
print(Player.Name.."; "..msg)
end)
if (PlayerService.NumPlayers > PlayerService.MaxPlayers) then
if (PlayerService.numPlayers > PlayerService.maxPlayers) then
KickPlayer(Player, "Too many players on server.")
else
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' added")
@ -259,7 +259,7 @@ function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Noti
end
-- rename all Server replicators in NetworkServer to "ServerReplicator"
for _,Child in pairs(Server:GetChildren()) do
for _,Child in pairs(Server:children()) do
Child.Name = "ServerReplicator"
end
@ -267,7 +267,7 @@ function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Noti
while Player ~= nil do
wait(0.1)
if (Player.Character ~= nil) then
if (Player.Character:FindFirstChild("Humanoid") and (Player.Character.Humanoid.Health == 0)) then
if (Player.Character:findFirstChild("Humanoid") and (Player.Character.Humanoid.Health == 0)) then
wait(5)
Player:LoadCharacter()
LoadCharacterNew(newWaitForChildSecurity(Player,"Appearance"),Player.Character)
@ -289,20 +289,21 @@ function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Noti
InitalizeSecurityValues(game.Lighting,ClientEXEMD5,LauncherMD5,ClientScriptMD5)
PingMasterServer(1, ServerBrowserAddress, ServerBrowserName, ServerIP, Port, Client)
Server.IncommingConnection:connect(IncommingConnection)
pcall(function() game.Close:connect(function() PingMasterServer(0, ServerBrowserAddress, ServerBrowserName, ServerIP, Port, Client) Server:Stop() end) end)
pcall(function() game.Close:connect(function() PingMasterServer(0, ServerBrowserAddress, ServerBrowserName, ServerIP, Port, Client) Server:stop() end) end)
end
function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Tripcode,Ticket)
local suc, err = pcall(function()
client = game:GetService("NetworkClient")
player = game:GetService("Players"):CreateLocalPlayer(UserID)
client = game:service("NetworkClient")
player = game:service("Players"):createLocalPlayer(UserID)
InitalizeSecurityValues(player,ClientEXEMD5,LauncherMD5,ClientScriptMD5)
InitalizeTripcode(player,Tripcode)
player:SetSuperSafeChat(false)
pcall(function() player:SetUnder13(false) end)
pcall(function() player:SetAccountAge(365) end)
player:SetAdminMode(true)
pcall(function() player.Name=PlayerName or "" end)
game:GetService("Visit"):SetUploadUrl("")
game:service("Visit"):setUploadUrl("")
InitalizeClientAppearance(player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID)
end)
@ -352,11 +353,11 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
client.ConnectionAccepted:connect(connected)
client.ConnectionRejected:connect(rejected)
client.ConnectionFailed:connect(failed)
client:Connect(ServerIP,ServerPort, 0, 20)
game.GuiRoot.MainMenu["Toolbox"]:Remove()
game.GuiRoot.MainMenu["Edit Mode"]:Remove()
game.GuiRoot.RightPalette.ReportAbuse:Remove()
game.GuiRoot.ChatMenuPanel:Remove()
client:connect(ServerIP,ServerPort, 0, 20)
game.GuiRoot.MainMenu["Toolbox"]:remove()
game.GuiRoot.MainMenu["Edit Mode"]:remove()
game.GuiRoot.RightPalette.ReportAbuse:remove()
game.GuiRoot.ChatMenuPanel:remove()
end)
if not suc then
@ -368,18 +369,19 @@ 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,HeadID,IconType,ItemID)
local plr = game.Players:CreateLocalPlayer(UserID)
game:GetService("RunService"):run()
game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm")
local plr = game.Players:createLocalPlayer(UserID)
game:service("RunService"):run()
game.Workspace:insertContent("rbxasset://Fonts//libraries.rbxm")
plr.Name = PlayerName
plr:SetAdminMode(true)
plr:LoadCharacter()
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
game:GetService("Visit"):SetUploadUrl("")
game:service("Visit"):setUploadUrl("")
while true do
wait(0.001)
if (plr.Character ~= nil) then
if (plr.Character:FindFirstChild("Humanoid") and (plr.Character.Humanoid.Health == 0)) then
if (plr.Character:findFirstChild("Humanoid") and (plr.Character.Humanoid.Health == 0)) then
wait(5)
plr:LoadCharacter()
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
@ -398,4 +400,4 @@ end
_G.CSServer=CSServer
_G.CSConnect=CSConnect
_G.CSSolo=CSSolo
_G.CSStudio=CSStudio
_G.CSStudio=CSStudio

View File

@ -143,14 +143,6 @@ function InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,Torso
indexValue.Parent = BodyColor
indexValue.Value = i
end
--T-SHIRT
local newTShirt = Instance.new("StringValue",newCharApp)
if (TShirtID ~= nil) then
newTShirt.Value = TShirtID
else
newTShirt.Value = "NoTShirt.rbxm"
end
newTShirt.Name = "T-Shirt"
--EXTRA
local newItem = Instance.new("StringValue",newCharApp)
if (ItemID ~= nil) then

View File

@ -74,7 +74,6 @@ function LoadCharacterNew(playerApp,newChar)
pcall(function()
charparts[newVal.ColorIndex.Value].BrickColor = newVal.Value
end)
elseif (newVal.Name == "Extra") then
pcall(function()
local newItem = game.Workspace:insertContent(path.."custom/"..newVal.Value)
@ -144,14 +143,6 @@ function InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,Torso
indexValue.Parent = BodyColor
indexValue.Value = i
end
--T-SHIRT
local newTShirt = Instance.new("StringValue",newCharApp)
if (TShirtID ~= nil) then
newTShirt.Value = TShirtID
else
newTShirt.Value = "NoTShirt.rbxm"
end
newTShirt.Name = "T-Shirt"
--EXTRA
local newItem = Instance.new("StringValue",newCharApp)
if (ItemID ~= nil) then