snapshot code update (real)

This commit is contained in:
Bitl 2023-11-27 12:50:45 -07:00
parent da40120c33
commit d4373d4bc6
31 changed files with 2317 additions and 6071 deletions

View File

@ -752,42 +752,25 @@ class CharacterCustomizationShared
public void Launch3DView()
{
FileManagement.ReloadLoadoutValue();
//HACK!
try
#if URI
ClientManagement.LaunchRBXClient(ScriptType.OutfitView, false, false, new EventHandler(SoloExited), null);
#else
ClientManagement.LaunchRBXClient(ScriptType.OutfitView, false, false, new EventHandler(SoloExited));
#endif
}
void SoloExited(object sender, EventArgs e)
{
if (GlobalVars.GameOpened != ScriptType.Studio)
{
ClientManagement.ChangeGameSettings("2011E");
}
catch (Exception ex)
{
Util.LogExceptions(ex);
GlobalVars.GameOpened = ScriptType.None;
}
string luafile = "rbxasset://scripts\\\\CSView.lua";
string mapfile = GlobalPaths.BasePathLauncher + "\\preview\\content\\fonts\\3DView.rbxl";
string rbxexe = GlobalPaths.BasePathLauncher + (GlobalVars.AdminMode ? "\\preview\\3DView_studio.exe" : "\\preview\\3DView.exe");
string quote = "\"";
string script = "_G.CS3DView(0,'" + GlobalVars.UserConfiguration.ReadSetting("PlayerName") + "'," + GlobalVars.Loadout + ");";
ClientManagement.UpdateRichPresence(ClientManagement.GetStateForType(GlobalVars.GameOpened));
if (GlobalVars.AdminMode)
if (GlobalVars.UserConfiguration.ReadSettingBool("CloseOnLaunch"))
{
DialogResult adminres = MessageBox.Show("Would you like to run 3D Preview Studio with or without scripts?\n\nPress Yes to load with scripts, press No to load without.", "Novetus - 3D Preview Studio", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
if (adminres == DialogResult.No)
{
script = "_G.CS3DViewEdit();";
}
}
string args = quote + mapfile + "\" -script \" dofile('" + luafile + "');" + script + quote;
try
{
ClientManagement.OpenClient(ScriptType.None, rbxexe, args, "", "", null, true);
}
catch (Exception ex)
{
MessageBox.Show("Failed to launch the 3D Preview. (Error: " + ex.Message + ")", "Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
Util.LogExceptions(ex);
Parent.Visible = true;
}
}

View File

@ -82,7 +82,7 @@ namespace Novetus.Core
/// </summary>
private static Dictionary<VCPPRedist, RedistInformation> _VCRedistToRedistKeysMap = new Dictionary<VCPPRedist, RedistInformation>()
{
[VCPPRedist.VCPP2005] = new RedistInformation(RedistKeyLocation.Products, new[] { "c1c4f01781cc94c4c8fb1542c0981a2a" }),
[VCPPRedist.VCPP2005] = new RedistInformation(RedistKeyLocation.Products, new[] { "b25099274a207264182f8181add555d0" }),
[VCPPRedist.VCPP2008] = new RedistInformation(RedistKeyLocation.Products, new[] { "6E815EB96CCE9A53884E7857C57002F0" }),
[VCPPRedist.VCPP2012] = new RedistInformation(RedistKeyLocation.Dependencies, new[] { "{33d1fd90-4274-48a1-9bc1-97e33d9c2d6f}", "{95716cce-fc71-413f-8ad5-56c2892d4b3a}" })
};
@ -122,6 +122,22 @@ namespace Novetus.Core
/// <returns>Is installed</returns>
public static bool IsInstalled(VCPPRedist redist) => _VCRedistResults[redist];
public static string GetNameForRedist(VCPPRedist redist)
{
switch(redist)
{
case VCPPRedist.VCPP2005:
return "Visual C++ 2005 SP1 Redistributables";
case VCPPRedist.VCPP2008:
return "Visual C++ 2008 Redistributables";
case VCPPRedist.VCPP2012:
return "Visual C++ 2012 Redistributables";
case VCPPRedist.None:
default:
return "Generic Redistributables";
}
}
/// <summary>
/// Checks for all keys
/// </summary>

View File

@ -321,12 +321,12 @@ namespace Novetus.Core
case ScriptType.Client:
return GlobalVars.LauncherState.InMPGame;
case ScriptType.Solo:
case ScriptType.SoloServer:
return GlobalVars.LauncherState.InSoloGame;
case ScriptType.Studio:
return GlobalVars.LauncherState.InStudio;
case ScriptType.EasterEgg:
case ScriptType.EasterEggServer:
return GlobalVars.LauncherState.InEasterEggGame;
case ScriptType.OutfitView:
return GlobalVars.LauncherState.InCustomization;
default:
return GlobalVars.LauncherState.InLauncher;
}
@ -335,7 +335,7 @@ namespace Novetus.Core
public static void UpdateRichPresence(GlobalVars.LauncherState state, bool initial = false)
{
string mapname = "";
if (GlobalVars.GameOpened != ScriptType.Client)
if (GlobalVars.GameOpened != ScriptType.Client || GlobalVars.GameOpened != ScriptType.Solo || GlobalVars.GameOpened != ScriptType.OutfitView)
{
mapname = GlobalVars.UserConfiguration.ReadSetting("Map");
}
@ -398,13 +398,6 @@ namespace Novetus.Core
GlobalVars.presence.largeImageText = GlobalVars.UserConfiguration.ReadSetting("PlayerName") + " | Novetus " + GlobalVars.ProgramInformation.Version;
GlobalVars.presence.smallImageText = "In Character Customization";
break;
case GlobalVars.LauncherState.InEasterEggGame:
GlobalVars.presence.smallImageKey = GlobalVars.image_ingame;
GlobalVars.presence.details = ValidMapname;
GlobalVars.presence.state = "Reading a message.";
GlobalVars.presence.largeImageText = GlobalVars.UserConfiguration.ReadSetting("PlayerName") + " | Novetus " + GlobalVars.ProgramInformation.Version;
GlobalVars.presence.smallImageText = "Reading a message.";
break;
case GlobalVars.LauncherState.LoadingURI:
GlobalVars.presence.smallImageKey = GlobalVars.image_ingame;
GlobalVars.presence.details = ValidMapname;
@ -856,11 +849,11 @@ namespace Novetus.Core
{
case ScriptType.Client:
case ScriptType.Solo:
case ScriptType.EasterEgg:
case ScriptType.OutfitView:
rbxfolder = "client";
break;
case ScriptType.Server:
case ScriptType.EasterEggServer:
case ScriptType.SoloServer:
rbxfolder = "server";
break;
case ScriptType.Studio:
@ -897,14 +890,14 @@ namespace Novetus.Core
switch (type)
{
case ScriptType.Client:
case ScriptType.EasterEgg:
case ScriptType.Solo:
rbxexe = BasePath + @"\\" + GetClientSeperateFolderName(type) + @"\\RobloxApp_client.exe";
break;
case ScriptType.Solo:
rbxexe = BasePath + @"\\" + GetClientSeperateFolderName(type) + @"\\RobloxApp_solo.exe";
case ScriptType.OutfitView:
rbxexe = BasePath + @"\\" + GetClientSeperateFolderName(type) + @"\\RobloxApp_preview.exe";
break;
case ScriptType.Server:
case ScriptType.EasterEggServer:
case ScriptType.SoloServer:
rbxexe = BasePath + @"\\" + GetClientSeperateFolderName(type) + @"\\RobloxApp_server.exe";
break;
case ScriptType.Studio:
@ -921,18 +914,18 @@ namespace Novetus.Core
switch (type)
{
case ScriptType.Client:
case ScriptType.EasterEgg:
case ScriptType.Solo:
rbxexe = BasePath + @"\\RobloxApp_client.exe";
break;
case ScriptType.Server:
case ScriptType.EasterEggServer:
case ScriptType.SoloServer:
rbxexe = BasePath + @"\\RobloxApp_server.exe";
break;
case ScriptType.Studio:
rbxexe = BasePath + @"\\RobloxApp_studio.exe";
break;
case ScriptType.Solo:
rbxexe = BasePath + @"\\RobloxApp_solo.exe";
case ScriptType.OutfitView:
rbxexe = BasePath + @"\\RobloxApp_preview.exe";
break;
case ScriptType.None:
default:
@ -963,7 +956,7 @@ namespace Novetus.Core
public static void DecompressMap(ScriptType type, bool nomap)
{
if ((type != ScriptType.Client || type != ScriptType.EasterEgg) && !nomap && GlobalVars.UserConfiguration.ReadSetting("Map").Contains(".bz2"))
if ((type != ScriptType.Client || GlobalVars.GameOpened != ScriptType.Solo || type != ScriptType.OutfitView) && !nomap && GlobalVars.UserConfiguration.ReadSetting("Map").Contains(".bz2"))
{
Util.Decompress(GlobalVars.UserConfiguration.ReadSetting("MapPath"), true);
@ -988,7 +981,7 @@ namespace Novetus.Core
#if URI
public static void LaunchRBXClient(ScriptType type, bool no3d, bool nomap, EventHandler e, Label label)
#else
public static void LaunchRBXClient(ScriptType type, bool no3d, bool nomap, EventHandler e)
public static void LaunchRBXClient(ScriptType type, bool no3d, bool nomap, EventHandler e)
#endif
{
#if URI
@ -1134,9 +1127,6 @@ namespace Novetus.Core
switch (type)
{
case ScriptType.Client:
case ScriptType.EasterEgg:
break;
case ScriptType.Server:
if (GlobalVars.UserConfiguration.ReadSettingBool("FirstServerLaunch"))
{
@ -1157,16 +1147,20 @@ namespace Novetus.Core
GlobalVars.UserConfiguration.SaveSettingBool("FirstServerLaunch", false);
}
break;
case ScriptType.Solo:
default:
break;
}
ReadClientValues(ClientName);
string luafile = GetLuaFileName(ClientName, type);
string rbxexe = GetClientEXEDir(ClientName, type);
bool isEasterEgg = (type.Equals(ScriptType.EasterEggServer));
string mapfile = isEasterEgg ? GlobalPaths.DataDir + "\\Appreciation.rbxl" : (nomap ? (type.Equals(ScriptType.Studio) ? GlobalPaths.ConfigDir + "\\Place1.rbxl" : "") : GlobalVars.UserConfiguration.ReadSetting("MapPath"));
string mapname = isEasterEgg ? "" : (nomap ? "" : GlobalVars.UserConfiguration.ReadSetting("Map"));
bool isEasterEgg = GlobalVars.Clicks >= 10;
bool is3DView = (type.Equals(ScriptType.OutfitView));
string mapfilepath = nomap ? (type.Equals(ScriptType.Studio) ? GlobalPaths.ConfigDir + "\\Place1.rbxl" : "") : GlobalVars.UserConfiguration.ReadSetting("MapPath");
string mapfilename = nomap ? "" : GlobalVars.UserConfiguration.ReadSetting("Map");
string mapfile = isEasterEgg ? GlobalPaths.DataDir + "\\Appreciation.rbxl" :
(is3DView ? GlobalPaths.DataDir + "\\3DView.rbxl" : mapfilepath);
string mapname = (isEasterEgg || is3DView) ? "" : mapfilename;
FileFormat.ClientInfo info = GetClientInfoValues(ClientName);
string quote = "\"";
string args = "";
@ -1481,14 +1475,20 @@ namespace Novetus.Core
string md5exe = !info.AlreadyHasSecurity ? SecurityFuncs.GenerateMD5(rbxexe) : "";
string md5s = "'" + md5exe + "','" + md5dir + "','" + md5script + "'";
string serverIP = (type == ScriptType.SoloServer ? "localhost" : GlobalVars.CurrentServer.ServerIP);
int serverjoinport = (type == ScriptType.SoloServer ? GlobalVars.DefaultRobloxPort : GlobalVars.CurrentServer.ServerPort);
string serverport = (type == ScriptType.SoloServer ? GlobalVars.DefaultRobloxPort.ToString() : GlobalVars.UserConfiguration.ReadSetting("RobloxPort"));
string playerLimit = (type == ScriptType.SoloServer ? "1" : GlobalVars.UserConfiguration.ReadSetting("PlayerLimit"));
string joinNotifs = (type == ScriptType.SoloServer ? "false" : GlobalVars.UserConfiguration.ReadSetting("ShowServerNotifications").ToLower());
switch (type)
{
case ScriptType.Client:
case ScriptType.EasterEgg:
case ScriptType.Solo:
return "_G.CSConnect("
+ (info.UsesID ? GlobalVars.UserConfiguration.ReadSettingInt("UserID") : 0) + ",'"
+ GlobalVars.CurrentServer.ServerIP + "',"
+ GlobalVars.CurrentServer.ServerPort + ",'"
+ serverIP + "',"
+ serverjoinport + ",'"
+ (info.UsesPlayerName ? GlobalVars.UserConfiguration.ReadSetting("PlayerName") : "Player") + "',"
+ GlobalVars.Loadout + ","
+ md5s + ",'"
@ -1496,23 +1496,21 @@ namespace Novetus.Core
+ ((GlobalVars.ValidatedExtraFiles > 0) ? "'," + GlobalVars.ValidatedExtraFiles.ToString() + "," : "',0,")
+ GlobalVars.UserConfiguration.ReadSetting("NewGUI").ToLower() + ");";
case ScriptType.Server:
case ScriptType.EasterEggServer:
case ScriptType.SoloServer:
return "_G.CSServer("
+ GlobalVars.UserConfiguration.ReadSetting("RobloxPort") + ","
+ GlobalVars.UserConfiguration.ReadSetting("PlayerLimit") + ","
+ serverport + ","
+ playerLimit + ","
+ md5s + ","
+ GlobalVars.UserConfiguration.ReadSetting("ShowServerNotifications").ToLower()
+ joinNotifs
+ ((GlobalVars.ValidatedExtraFiles > 0) ? "," + GlobalVars.ValidatedExtraFiles.ToString() + "," : ",0,")
+ GlobalVars.UserConfiguration.ReadSetting("NewGUI").ToLower() + ");";
case ScriptType.Solo:
return "_G.CSSolo("
+ (info.UsesID ? GlobalVars.UserConfiguration.ReadSettingInt("UserID") : 0) + ", '"
+ (info.UsesPlayerName ? GlobalVars.UserConfiguration.ReadSetting("PlayerName") : "Player") + "',"
+ GlobalVars.soloLoadout + ","
+ GlobalVars.UserConfiguration.ReadSetting("NewGUI").ToLower() + ");";
case ScriptType.Studio:
return "_G.CSStudio("
+ GlobalVars.UserConfiguration.ReadSetting("NewGUI").ToLower() + ");";
case ScriptType.OutfitView:
return "_G.CS3DView(0,'"
+ GlobalVars.UserConfiguration.ReadSetting("PlayerName") + "',"
+ GlobalVars.Loadout + ");";
default:
return "";
}
@ -1527,12 +1525,12 @@ namespace Novetus.Core
case ScriptType.Server:
return "Server";
case ScriptType.Solo:
case ScriptType.SoloServer:
return "Play Solo";
case ScriptType.Studio:
return "Studio";
case ScriptType.EasterEgg:
case ScriptType.EasterEggServer:
return "A message from Bitl";
case ScriptType.OutfitView:
return "3D Preview";
default:
return "N/A";
}
@ -1545,6 +1543,12 @@ namespace Novetus.Core
public static void GenerateScriptForClient(string ClientName, ScriptType type)
{
string outputPath = (GlobalVars.SelectedClientInfo.SeperateFolders ?
GlobalPaths.ClientDir + @"\\" + ClientName + @"\\" + ClientManagement.GetClientSeperateFolderName(type) + @"\\content\\scripts\\" + GlobalPaths.ScriptGenName + ".lua" :
GlobalPaths.ClientDir + @"\\" + ClientName + @"\\content\\scripts\\" + GlobalPaths.ScriptGenName + ".lua");
Util.FixedFileDelete(outputPath);
bool shouldUseLoadFile = GlobalVars.SelectedClientInfo.CommandLineArgs.Contains("%useloadfile%");
string execScriptMethod = shouldUseLoadFile ? "loadfile" : "dofile";
@ -1566,10 +1570,6 @@ namespace Novetus.Core
}
}
string outputPath = (GlobalVars.SelectedClientInfo.SeperateFolders ?
GlobalPaths.ClientDir + @"\\" + ClientName + @"\\" + ClientManagement.GetClientSeperateFolderName(type) + @"\\content\\scripts\\" + GlobalPaths.ScriptGenName + ".lua" :
GlobalPaths.ClientDir + @"\\" + ClientName + @"\\content\\scripts\\" + GlobalPaths.ScriptGenName + ".lua");
File.WriteAllLines(outputPath, code);
bool shouldSign = GlobalVars.SelectedClientInfo.CommandLineArgs.Contains("%signgeneratedjoinscript%");
@ -1868,7 +1868,7 @@ namespace Novetus.Core
.Replace("%tripcode%", GlobalVars.PlayerTripcode)
.Replace("%scripttype%", Generator.GetNameForType(type))
.Replace("%notifications%", GlobalVars.UserConfiguration.ReadSetting("ShowServerNotifications").ToLower())
.Replace("%loadout%", code.Contains("<solo>") ? GlobalVars.soloLoadout : GlobalVars.Loadout)
.Replace("%loadout%", GlobalVars.Loadout)
.Replace("%validatedextrafiles%", GlobalVars.ValidatedExtraFiles.ToString())
.Replace("%argstring%", GetRawArgsForType(type, ClientName, luafile))
.Replace("%tshirttexid%", GlobalVars.TShirtTextureID)

View File

@ -13,6 +13,7 @@ using System.Windows.Forms;
using System.Xml.Serialization;
using System.Xml;
using System.Xml.Linq;
using static System.Windows.Forms.LinkLabel;
#if !BASICLAUNCHER
using Newtonsoft.Json;
#endif
@ -271,7 +272,11 @@ namespace Novetus.Core
try
{
userName = Environment.UserName;
string[] termspath = File.ReadAllLines(GlobalPaths.ConfigDir + "\\" + GlobalPaths.TermListFileName);
var r = new CryptoRandom();
var randomLineNumber = r.Next(0, termspath.Length - 1);
var line = termspath[randomLineNumber];
userName = line + NovetusFuncs.GenerateRandomNumber();
}
catch (Exception)
{
@ -1098,12 +1103,6 @@ namespace Novetus.Core
baseClothing +
extra + "'";
GlobalVars.soloLoadout = "'" + GlobalVars.UserCustomization.ReadSetting("Hat1") + "','" +
GlobalVars.UserCustomization.ReadSetting("Hat2") + "','" +
GlobalVars.UserCustomization.ReadSetting("Hat3") + "'," +
baseClothing +
GlobalVars.UserCustomization.ReadSetting("Extra") + "'";
if (localizeOnlineClothing)
{
GlobalVars.TShirtTextureID = GetItemTextureID(GlobalVars.UserCustomization.ReadSetting("TShirt"), "TShirt", new AssetCacheDefBasic("ShirtGraphic", new string[] { "Graphic" }));

View File

@ -23,8 +23,8 @@ namespace Novetus.Core
Server = 1,
Solo = 2,
Studio = 3,
EasterEgg = 4,
EasterEggServer = 5,
SoloServer = 4,
OutfitView = 5,
None = 6
}
#endregion
@ -77,8 +77,7 @@ namespace Novetus.Core
InSoloGame = 2,
InStudio = 3,
InCustomization = 4,
InEasterEggGame = 5,
LoadingURI = 6
LoadingURI = 5
}
public static IDiscordRPC.EventHandlers handlers;
@ -113,7 +112,6 @@ namespace Novetus.Core
#region Customization
public static string Loadout = "";
public static string soloLoadout = "";
public static string TShirtTextureID = "";
public static string ShirtTextureID = "";
public static string PantsTextureID = "";
@ -150,6 +148,7 @@ namespace Novetus.Core
public static bool AppClosed = false;
public static bool isConsoleOnly = false;
public static bool isMapCompressed = false;
public static int Clicks = 0;
#endregion
}
#endregion

View File

@ -70,7 +70,7 @@ namespace Novetus.Core
public static void PingMasterServer(bool online, string reason)
{
if (GlobalVars.GameOpened == ScriptType.Server || GlobalVars.GameOpened == ScriptType.EasterEggServer)
if (GlobalVars.GameOpened == ScriptType.Server || GlobalVars.GameOpened == ScriptType.SoloServer)
return;
if (string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.ReadSetting("ServerBrowserServerAddress")))

View File

@ -123,7 +123,8 @@ namespace Novetus.Core
break;
case ScriptType.Server:
case ScriptType.Solo:
SetWindowText(exe.MainWindowHandle, "Novetus "
case ScriptType.SoloServer:
SetWindowText(exe.MainWindowHandle, "Novetus "
+ GlobalVars.ProgramInformation.Version + " - "
+ clientname + " "
+ ScriptFuncs.Generator.GetNameForType(type)
@ -137,9 +138,14 @@ namespace Novetus.Core
+ (string.IsNullOrWhiteSpace(mapname) ? " [Place1]" : " [" + mapname + "]")
+ RandomStringTitle());
break;
case ScriptType.EasterEgg:
case ScriptType.EasterEggServer:
default:
case ScriptType.OutfitView:
SetWindowText(exe.MainWindowHandle, "Novetus Avatar 3D Preview "
+ GlobalVars.ProgramInformation.Version + " - "
+ clientname + " "
+ ScriptFuncs.Generator.GetNameForType(type)
+ RandomStringTitle());
break;
default:
SetWindowText(exe.MainWindowHandle, ScriptFuncs.Generator.GetNameForType(type)
+ RandomStringTitle());
break;

View File

@ -7,7 +7,6 @@ namespace NovetusLauncher
class LocalVars
{
#region Variables
public static int Clicks = 0;
public static string prevsplash = "";
public static bool launcherInitState = true;
//hack for linux. store the command line variables locally.

View File

@ -11,6 +11,7 @@ using System.IO;
using System.Linq;
using System.Net;
using System.Reflection;
using System.Security.Cryptography;
using System.Threading.Tasks;
using System.Windows.Forms;
#endregion
@ -128,40 +129,12 @@ namespace NovetusLauncher
LocalVars.launcherInitState = false;
}
// very hacky but hear me out
bool VC2005 = VCPPRedistInstallationDetector.IsInstalled(VCPPRedist.VCPP2005);
bool VC2008 = VCPPRedistInstallationDetector.IsInstalled(VCPPRedist.VCPP2008);
bool VC2012 = VCPPRedistInstallationDetector.IsInstalled(VCPPRedist.VCPP2012);
bool isAnyInstalled = VC2005 && VC2008 && VC2012;
string notInstalledText = "";
bool VC2005 = CheckClientDependency(VCPPRedist.VCPP2005);
bool VC2008 = CheckClientDependency(VCPPRedist.VCPP2008);
bool VC2012 = CheckClientDependency(VCPPRedist.VCPP2012);
bool isAllInstalled = VC2005 && VC2008 && VC2012;
if (!isAnyInstalled)
{
if (!VC2005)
{
Util.ConsolePrint("WARNING - Visual C++ 2005 SP1 Redistributables have not been found. Some clients may not launch.", 5);
notInstalledText += "Visual C++ 2005 SP1 Redistributables\n";
}
if (!VC2008)
{
Util.ConsolePrint("WARNING - Visual C++ 2008 Redistributables have not been found. Some clients may not launch.", 5);
notInstalledText += "Visual C++ 2008 Redistributables\n";
}
if (!VC2012)
{
Util.ConsolePrint("WARNING - Visual C++ 2012 Redistributables have not been found. Some clients may not launch.", 5);
notInstalledText += "Visual C++ 2012 Redistributables\n";
}
string text = "Novetus has detected that the following dependencies are not installed:\n\n"
+ notInstalledText
+ "\n\nIt is recomended to download these dependencies from the Microsoft website. Installing these will prevent errors upon starting up a client, like 'side-by-side configuration' errors.";
MessageBox.Show(text, "Novetus - Dependency Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
else
if (isAllInstalled)
{
Util.ConsolePrint("All client dependencies are installed.", 4);
}
@ -174,6 +147,25 @@ namespace NovetusLauncher
return Application.ProductVersion + " (" + GlobalVars.ProgramInformation.NetVersion + ")";
}
public bool CheckClientDependency(VCPPRedist redist)
{
bool Installed = VCPPRedistInstallationDetector.IsInstalled(redist);
if (!Installed)
{
string name = VCPPRedistInstallationDetector.GetNameForRedist(redist);
Util.ConsolePrint("WARNING - The " + name + " have not been found. Some clients may not launch.", 5);
string text = "Novetus has detected that the " + name + " are not installed."
+ "\n\nIt is recomended to download these dependencies from the Microsoft website."
+ "\n\nInstalling these will prevent errors upon starting up a client, like 'side-by-side configuration' errors.";
MessageBox.Show(text, "Novetus - Dependency Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
return Installed;
}
public void CloseEvent(CancelEventArgs e)
{
if (GlobalVars.GameOpened != ScriptType.None)
@ -181,7 +173,7 @@ namespace NovetusLauncher
switch (GlobalVars.GameOpened)
{
case ScriptType.Server:
case ScriptType.EasterEggServer:
case ScriptType.SoloServer:
NovetusFuncs.PingMasterServer(false, "Removing server from Master Server list. Reason: Novetus is shutting down.");
break;
default:
@ -189,7 +181,7 @@ namespace NovetusLauncher
}
}
if (GlobalVars.AdminMode && Parent.GetType() != typeof(NovetusConsole))
if (GlobalVars.AdminMode)
{
DialogResult closeNovetus = MessageBox.Show("You are in Admin Mode.\nAre you sure you want to quit Novetus?", "Novetus - Admin Mode Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (closeNovetus == DialogResult.No)
@ -359,7 +351,7 @@ namespace NovetusLauncher
}
}
if (gameType == ScriptType.Client && GlobalVars.LocalPlayMode && FormStyle != Settings.Style.Stylish)
if ((gameType == ScriptType.Client || gameType == ScriptType.Solo) && GlobalVars.LocalPlayMode && FormStyle != Settings.Style.Stylish)
{
GeneratePlayerID();
}
@ -377,16 +369,17 @@ namespace NovetusLauncher
ClientManagement.LaunchRBXClient(ScriptType.Server, no3d, false, new EventHandler(ServerExited));
break;
case ScriptType.Solo:
ClientManagement.LaunchRBXClient(ScriptType.Solo, false, false, new EventHandler(SoloExited));
var SoloEvent = GlobalVars.Clicks >= 10 ? new EventHandler(EasterEggExited) : new EventHandler(SoloExited);
ClientManagement.LaunchRBXClient(ScriptType.SoloServer, false, false, new EventHandler(ServerExited));
await Task.Delay(1500);
ClientManagement.LaunchRBXClient(ScriptType.Solo, false, true, SoloEvent);
break;
case ScriptType.Studio:
ClientManagement.LaunchRBXClient(ScriptType.Studio, false, nomap, new EventHandler(ClientExitedBase));
break;
case ScriptType.EasterEgg:
ClientManagement.LaunchRBXClient(ScriptType.EasterEggServer, false, false, new EventHandler(ServerExited));
await Task.Delay(1500);
ClientManagement.LaunchRBXClient(ScriptType.EasterEgg, false, true, new EventHandler(EasterEggExited));
break;
case ScriptType.OutfitView:
//customization handles loading of this client
case ScriptType.None:
default:
break;
@ -400,19 +393,19 @@ namespace NovetusLauncher
public void EasterEggLogic()
{
if (LocalVars.Clicks <= 0)
if (GlobalVars.Clicks <= 0)
{
LocalVars.prevsplash = SplashLabel.Text;
}
if (LocalVars.Clicks < 10)
if (GlobalVars.Clicks < 10)
{
LocalVars.Clicks += 1;
GlobalVars.Clicks += 1;
switch (LocalVars.Clicks)
switch (GlobalVars.Clicks)
{
case 1:
SplashLabel.Text = "Hi " + GlobalVars.UserConfiguration.ReadSetting("SelectedClient") + "!";
SplashLabel.Text = "Hi " + GlobalVars.UserConfiguration.ReadSetting("PlayerName") + "!";
break;
case 3:
SplashLabel.Text = "How are you doing today?";
@ -425,7 +418,7 @@ namespace NovetusLauncher
break;
case 10:
SplashLabel.Text = "Thank you. <3";
StartGame(ScriptType.EasterEgg);
StartGame(ScriptType.Solo);
break;
default:
break;
@ -480,7 +473,7 @@ namespace NovetusLauncher
SplashLabel.Text = LocalVars.prevsplash;
if (GlobalVars.AdminMode)
{
LocalVars.Clicks = 0;
GlobalVars.Clicks = 0;
}
SoloExperimentalExited(sender, e);

View File

@ -213,11 +213,6 @@ namespace NovetusLauncher
}
break;
case ScriptType.Solo:
{
MapArg(ConsoleArgs);
}
break;
case ScriptType.EasterEgg:
default:
break;
}

View File

@ -1,3 +1,12 @@
EDGE Snapshot v23.8731.22692.1
Enhancements:
- Play Solo now has its own dedicated server component, much like the original Roblox feature. This means scripts in Play Solo are far more accurate to how they're depicted in multiplayer sessions.
- Added the ability for the 3D Preview to use other clients.
- The Banhammer's animations in the 3D Preview can now be stopped mid frame. Hold down the left mouse button to play the animation. Let go of the left mouse button to stop the animation. Click and/or hold the left mouse button to switch to the next animation.
- Redid the default username generation as a response to privacy concerns.
- A term from a list of terms will be chosen, alongside a series of numbers.
- Improved Visual C++ dependency detection.
----------------------------------------------------------------------------
EDGE Snapshot v23.8728.23339.1
Enhancements:
- Novetus will now set your default username to your Windows user name.

View File

@ -100,15 +100,9 @@ echo.
echo Copying launcher scripts...
SET launcherscriptdir=%basedir%\launcher
if not exist "%launcherscriptdir%" mkdir "%launcherscriptdir%"
if not exist "%launcherscriptdir%/3DView" mkdir "%launcherscriptdir%/3DView"
XCOPY "%cd%\Novetus\bin\preview\content\scripts\CSView.lua" "%launcherscriptdir%/3DView" /y
SET previewcores=%launcherscriptdir%\3DView\cores
if not exist "%previewcores%" mkdir "%previewcores%"
XCOPY "%cd%\Novetus\bin\preview\content\scripts\cores\*.lua" "%previewcores%" /sy
XCOPY "%cd%\Novetus\bin\preview\content\fonts\3DView.rbxl" "%launcherscriptdir%/3DView" /y
XCOPY "%cd%\Novetus\bin\data\Appreciation.rbxl" "%launcherscriptdir%" /y
XCOPY "%cd%\Novetus\config\launcherdata\3DView.rbxl" "%launcherscriptdir%" /y
XCOPY "%cd%\Novetus\config\launcherdata\Appreciation.rbxl" "%launcherscriptdir%" /y
XCOPY "%cd%\Novetus\config\ContentProviders.xml" "%launcherscriptdir%" /y
XCOPY "%cd%\Novetus\config\PartColors.xml" "%launcherscriptdir%" /y
XCOPY "%cd%\Novetus\config\splashes.txt" "%launcherscriptdir%" /y

View File

@ -412,43 +412,6 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
end
end
function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Solo", "2006S-Shaders") end)
game:service("RunService"):run()
local plr = game.Players:createLocalPlayer(UserID)
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:service("Visit"):setUploadUrl("")
pcall(function() _G.CSScript_PostInit() end)
coroutine.resume(coroutine.create(function()
while true do
wait(0.1)
pcall(function() _G.CSScript_Update() end)
end
end))
while true do
wait(0.001)
if (game.Lighting:findFirstChild("DisableRespawns") == nil) then
if (plr.Character ~= nil) then
if (plr.Character:findFirstChild("Humanoid") and (plr.Character.Humanoid.Health == 0)) then
wait(5)
plr:LoadCharacter()
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
elseif (plr.Character.Parent == nil) then
wait(5)
plr:LoadCharacter() -- to make sure nobody is deleted.
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
end
end
end
end
end
function CSStudio()
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Studio", "2006S-Shaders") end)
@ -461,10 +424,56 @@ function CSStudio()
end))
end
function CS3DView(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
print("3DView loaded. Nerd.")
game:service("RunService"):run()
game:SetMessage("Loading Player...")
local plr = game.Players:createLocalPlayer(UserID)
plr.Name = PlayerName
plr:LoadCharacter()
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
local target = game.Workspace.Base
local camera = game.Workspace.CurrentCamera
camera.CameraType = 2
local cf = CFrame.new(0, 10, 18)
camera.CoordinateFrame = cf;
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
for i,v in pairs(plr.Character:children()) do
if v.className == "Part" then
v.Anchored = true
end
end
plr.Character.Health:remove()
plr.Character.Sound:remove()
game.GuiRoot:remove()
local human = plr.Character.Humanoid
human.Jumping:connect(fixJump)
game:ClearMessage()
game:service("NetworkClient")
end
_G.CSServer=CSServer
_G.CSConnect=CSConnect
_G.CSSolo=CSSolo
_G.CSStudio=CSStudio
_G.CS3DView=CS3DView
-- credit to KeyboardCombination
local succ = pcall(function() --check if the metatables are already read only lol

View File

@ -412,43 +412,6 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
end
end
function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Solo", "2006S") end)
game:service("RunService"):run()
local plr = game.Players:createLocalPlayer(UserID)
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:service("Visit"):setUploadUrl("")
pcall(function() _G.CSScript_PostInit() end)
coroutine.resume(coroutine.create(function()
while true do
wait(0.1)
pcall(function() _G.CSScript_Update() end)
end
end))
while true do
wait(0.001)
if (game.Lighting:findFirstChild("DisableRespawns") == nil) then
if (plr.Character ~= nil) then
if (plr.Character:findFirstChild("Humanoid") and (plr.Character.Humanoid.Health == 0)) then
wait(5)
plr:LoadCharacter()
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
elseif (plr.Character.Parent == nil) then
wait(5)
plr:LoadCharacter() -- to make sure nobody is deleted.
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
end
end
end
end
end
function CSStudio()
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Studio", "2006S") end)
@ -461,10 +424,56 @@ function CSStudio()
end))
end
function CS3DView(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
print("3DView loaded. Nerd.")
game:service("RunService"):run()
game:SetMessage("Loading Player...")
local plr = game.Players:createLocalPlayer(UserID)
plr.Name = PlayerName
plr:LoadCharacter()
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
local target = game.Workspace.Base
local camera = game.Workspace.CurrentCamera
camera.CameraType = 2
local cf = CFrame.new(0, 10, 18)
camera.CoordinateFrame = cf;
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
for i,v in pairs(plr.Character:children()) do
if v.className == "Part" then
v.Anchored = true
end
end
plr.Character.Health:remove()
plr.Character.Sound:remove()
game.GuiRoot:remove()
local human = plr.Character.Humanoid
human.Jumping:connect(fixJump)
game:ClearMessage()
game:service("NetworkClient")
end
_G.CSServer=CSServer
_G.CSConnect=CSConnect
_G.CSSolo=CSSolo
_G.CSStudio=CSStudio
_G.CS3DView=CS3DView
-- credit to KeyboardCombination
local succ = pcall(function() --check if the metatables are already read only lol

View File

@ -470,43 +470,6 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
end
end
function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Solo", "2007E-Shaders") end)
game:service("RunService"):run()
local plr = game.Players:createLocalPlayer(UserID)
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:service("Visit"):setUploadUrl("")
pcall(function() _G.CSScript_PostInit() end)
coroutine.resume(coroutine.create(function()
while true do
wait(0.1)
pcall(function() _G.CSScript_Update() end)
end
end))
while true do
wait(0.001)
if (game.Lighting:findFirstChild("DisableRespawns") == nil) then
if (plr.Character ~= nil) then
if (plr.Character:findFirstChild("Humanoid") and (plr.Character.Humanoid.Health == 0)) then
wait(5)
plr:LoadCharacter()
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
elseif (plr.Character.Parent == nil) then
wait(5)
plr:LoadCharacter() -- to make sure nobody is deleted.
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
end
end
end
end
end
function CSStudio()
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Studio", "2007E-Shaders") end)
@ -519,10 +482,57 @@ function CSStudio()
end))
end
function CS3DView(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
print("3DView loaded. Nerd.")
game:service("RunService"):run()
game:SetMessage("Loading Player...")
local plr = game.Players:createLocalPlayer(UserID)
plr.Name = PlayerName
plr:LoadCharacter()
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
local target = game.Workspace.Base.SpawnLocation
local camera = game.Workspace.CurrentCamera
camera.CameraType = 2
local cf = CFrame.new(0, 10, 18)
camera.CoordinateFrame = cf;
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
for i,v in pairs(plr.Character:children()) do
if v.className == "Part" then
v.Anchored = true
end
end
plr.Character.Animate:remove()
plr.Character.Health:remove()
plr.Character.Sound:remove()
game.GuiRoot:remove()
local human = plr.Character.Humanoid
human.Jumping:connect(fixJump)
game:ClearMessage()
game:service("NetworkClient")
end
_G.CSServer=CSServer
_G.CSConnect=CSConnect
_G.CSSolo=CSSolo
_G.CSStudio=CSStudio
_G.CS3DView=CS3DView
-- credit to KeyboardCombination
local succ = pcall(function() --check if the metatables are already read only lol

View File

@ -470,43 +470,6 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
end
end
function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Solo", "2007E") end)
game:service("RunService"):run()
local plr = game.Players:createLocalPlayer(UserID)
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:service("Visit"):setUploadUrl("")
pcall(function() _G.CSScript_PostInit() end)
coroutine.resume(coroutine.create(function()
while true do
wait(0.1)
pcall(function() _G.CSScript_Update() end)
end
end))
while true do
wait(0.001)
if (game.Lighting:findFirstChild("DisableRespawns") == nil) then
if (plr.Character ~= nil) then
if (plr.Character:findFirstChild("Humanoid") and (plr.Character.Humanoid.Health == 0)) then
wait(5)
plr:LoadCharacter()
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
elseif (plr.Character.Parent == nil) then
wait(5)
plr:LoadCharacter() -- to make sure nobody is deleted.
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
end
end
end
end
end
function CSStudio()
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Studio", "2007E") end)
@ -519,10 +482,57 @@ function CSStudio()
end))
end
function CS3DView(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
print("3DView loaded. Nerd.")
game:service("RunService"):run()
game:SetMessage("Loading Player...")
local plr = game.Players:createLocalPlayer(UserID)
plr.Name = PlayerName
plr:LoadCharacter()
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
local target = game.Workspace.Base.SpawnLocation
local camera = game.Workspace.CurrentCamera
camera.CameraType = 2
local cf = CFrame.new(0, 10, 18)
camera.CoordinateFrame = cf;
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
for i,v in pairs(plr.Character:children()) do
if v.className == "Part" then
v.Anchored = true
end
end
plr.Character.Animate:remove()
plr.Character.Health:remove()
plr.Character.Sound:remove()
game.GuiRoot:remove()
local human = plr.Character.Humanoid
human.Jumping:connect(fixJump)
game:ClearMessage()
game:service("NetworkClient")
end
_G.CSServer=CSServer
_G.CSConnect=CSConnect
_G.CSSolo=CSSolo
_G.CSStudio=CSStudio
_G.CS3DView=CS3DView
-- credit to KeyboardCombination
local succ = pcall(function() --check if the metatables are already read only lol

View File

@ -527,42 +527,6 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
end
end
function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Solo", "2007M-Shaders") end)
game:GetService("RunService"):run()
local plr = game.Players:CreateLocalPlayer(UserID)
game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm")
plr.Name = PlayerName
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("")
pcall(function() _G.CSScript_PostInit() end)
coroutine.resume(coroutine.create(function()
while true do
wait(0.1)
pcall(function() _G.CSScript_Update() end)
end
end))
while true do
wait(0.001)
if (game.Lighting:findFirstChild("DisableRespawns") == nil) then
if (plr.Character ~= nil) then
if (plr.Character:findFirstChild("Humanoid") and (plr.Character.Humanoid.Health == 0)) then
wait(5)
plr:LoadCharacter()
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
elseif (plr.Character.Parent == nil) then
wait(5)
plr:LoadCharacter() -- to make sure nobody is deleted.
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
end
end
end
end
end
function CSStudio()
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Studio", "2007M-Shaders") end)
@ -575,10 +539,58 @@ function CSStudio()
end))
end
function CS3DView(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
print("3DView loaded. Nerd.")
game:service("RunService"):run()
game:SetMessage("Loading Player...")
local plr = game.Players:createLocalPlayer(UserID)
plr.Name = PlayerName
plr:LoadCharacter()
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
local target = game.Workspace.Base.SpawnLocation
local camera = game.Workspace.CurrentCamera
camera.CameraType = 2
local cf = CFrame.new(0, 10, 18)
camera.CoordinateFrame = cf;
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
wait(0.5)
for i,v in pairs(plr.Character:children()) do
if v.className == "Part" then
v.Anchored = true
end
end
plr.Character.Animate:remove()
plr.Character.Health:remove()
plr.Character.Sound:remove()
game.GuiRoot:remove()
local human = plr.Character.Humanoid
human.Jumping:connect(fixJump)
game:ClearMessage()
game:service("NetworkClient")
end
_G.CSServer=CSServer
_G.CSConnect=CSConnect
_G.CSSolo=CSSolo
_G.CSStudio=CSStudio
_G.CS3DView=CS3DView
-- credit to KeyboardCombination
local succ = pcall(function() --check if the metatables are already read only lol

View File

@ -527,42 +527,6 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
end
end
function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Solo", "2007M") end)
game:GetService("RunService"):run()
local plr = game.Players:CreateLocalPlayer(UserID)
game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm")
plr.Name = PlayerName
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("")
pcall(function() _G.CSScript_PostInit() end)
coroutine.resume(coroutine.create(function()
while true do
wait(0.1)
pcall(function() _G.CSScript_Update() end)
end
end))
while true do
wait(0.001)
if (game.Lighting:findFirstChild("DisableRespawns") == nil) then
if (plr.Character ~= nil) then
if (plr.Character:findFirstChild("Humanoid") and (plr.Character.Humanoid.Health == 0)) then
wait(5)
plr:LoadCharacter()
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
elseif (plr.Character.Parent == nil) then
wait(5)
plr:LoadCharacter() -- to make sure nobody is deleted.
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
end
end
end
end
end
function CSStudio()
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Studio", "2007M") end)
@ -575,10 +539,58 @@ function CSStudio()
end))
end
function CS3DView(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
print("3DView loaded. Nerd.")
game:service("RunService"):run()
game:SetMessage("Loading Player...")
local plr = game.Players:createLocalPlayer(UserID)
plr.Name = PlayerName
plr:LoadCharacter()
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
local target = game.Workspace.Base.SpawnLocation
local camera = game.Workspace.CurrentCamera
camera.CameraType = 2
local cf = CFrame.new(0, 10, 18)
camera.CoordinateFrame = cf;
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
wait(0.5)
for i,v in pairs(plr.Character:children()) do
if v.className == "Part" then
v.Anchored = true
end
end
plr.Character.Animate:remove()
plr.Character.Health:remove()
plr.Character.Sound:remove()
game.GuiRoot:remove()
local human = plr.Character.Humanoid
human.Jumping:connect(fixJump)
game:ClearMessage()
game:service("NetworkClient")
end
_G.CSServer=CSServer
_G.CSConnect=CSConnect
_G.CSSolo=CSSolo
_G.CSStudio=CSStudio
_G.CS3DView=CS3DView
-- credit to KeyboardCombination
local succ = pcall(function() --check if the metatables are already read only lol

View File

@ -645,43 +645,6 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
end
end
function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Solo", "2008M") end)
game:GetService("RunService"):run()
local plr = game.Players:CreateLocalPlayer(UserID)
game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm")
plr.Name = PlayerName
plr:LoadCharacter()
plr.CharacterAppearance=0
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("")
pcall(function() _G.CSScript_PostInit() end)
coroutine.resume(coroutine.create(function()
while true do
wait(0.1)
pcall(function() _G.CSScript_Update() end)
end
end))
while true do
wait(0.001)
if (game.Lighting:findFirstChild("DisableRespawns") == nil) then
if (plr.Character ~= nil) then
if (plr.Character:findFirstChild("Humanoid") and (plr.Character.Humanoid.Health == 0)) then
wait(5)
plr:LoadCharacter()
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
elseif (plr.Character.Parent == nil) then
wait(5)
plr:LoadCharacter() -- to make sure nobody is deleted.
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
end
end
end
end
end
function CSStudio()
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Studio", "2008M") end)
@ -694,10 +657,59 @@ function CSStudio()
end))
end
function CS3DView(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
print("3DView loaded. Nerd.")
game:service("RunService"):run()
game:SetMessage("Loading Player...")
local plr = game.Players:createLocalPlayer(UserID)
plr.Name = PlayerName
plr:LoadCharacter()
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
local target = game.Workspace.Base.SpawnLocation
local camera = game.Workspace.CurrentCamera
camera.CameraType = 2
local cf = CFrame.new(0, 10, 18)
camera.CoordinateFrame = cf;
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
wait(0.5)
for i,v in pairs(plr.Character:children()) do
if v.className == "Part" then
v.Anchored = true
end
end
plr.Character.Animate:remove()
plr.Character.Health:remove()
plr.Character.Sound:remove()
game.GuiRoot:remove()
local human = plr.Character.Humanoid
human.Jumping:connect(fixJump)
game:ClearMessage()
game:GetService("Visit"):SetUploadUrl("")
game:service("NetworkClient")
end
_G.CSServer=CSServer
_G.CSConnect=CSConnect
_G.CSSolo=CSSolo
_G.CSStudio=CSStudio
_G.CS3DView=CS3DView
-- credit to KeyboardCombination
local succ = pcall(function() --check if the metatables are already read only lol

View File

@ -739,43 +739,6 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
end
end
function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Solo", "2009E-HD") end)
game:GetService("RunService"):run()
local plr = game.Players:CreateLocalPlayer(UserID)
game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm")
plr.Name = PlayerName
plr:LoadCharacter()
plr.CharacterAppearance=0
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("")
pcall(function() _G.CSScript_PostInit() end)
coroutine.resume(coroutine.create(function()
while true do
wait(0.1)
pcall(function() _G.CSScript_Update() end)
end
end))
while true do
wait(0.001)
if (game.Lighting:findFirstChild("DisableRespawns") == nil) then
if (plr.Character ~= nil) then
if (plr.Character:findFirstChild("Humanoid") and (plr.Character.Humanoid.Health == 0)) then
wait(5)
plr:LoadCharacter()
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
elseif (plr.Character.Parent == nil) then
wait(5)
plr:LoadCharacter() -- to make sure nobody is deleted.
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
end
end
end
end
end
function CSStudio()
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Studio", "2009E-HD") end)
@ -788,10 +751,63 @@ function CSStudio()
end))
end
function CS3DView(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
print("3DView loaded. Nerd.")
game:service("RunService"):run()
game:SetMessage("Loading Player...")
local plr = game.Players:createLocalPlayer(UserID)
plr.Name = PlayerName
plr:LoadCharacter()
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
local target = game.Workspace.Base.SpawnLocation
local camera = game.Workspace.CurrentCamera
camera.CameraType = 2
local cf = CFrame.new(0, 10, 18)
camera.CoordinateFrame = cf;
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
wait(0.5)
for i,v in pairs(plr.Character:children()) do
if v.className == "Part" then
v.Anchored = true
end
end
plr.Character.Animate:remove()
plr.Character.Health:remove()
plr.Character.Sound:remove()
game.GuiRoot.RightPalette:remove()
game.GuiRoot.ChatMenuPanel:remove()
game.GuiRoot.HealthHud:remove()
game.GuiRoot.ScoreHud:remove()
game.GuiRoot.MainMenu:remove()
local human = plr.Character.Humanoid
human.Jumping:connect(fixJump)
game:ClearMessage()
game:GetService("Visit"):SetUploadUrl("")
game:service("NetworkClient")
end
_G.CSServer=CSServer
_G.CSConnect=CSConnect
_G.CSSolo=CSSolo
_G.CSStudio=CSStudio
_G.CS3DView=CS3DView
-- credit to KeyboardCombination
local succ = pcall(function() --check if the metatables are already read only lol

View File

@ -739,43 +739,6 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
end
end
function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Solo", "2009E") end)
game:GetService("RunService"):run()
local plr = game.Players:CreateLocalPlayer(UserID)
game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm")
plr.Name = PlayerName
plr:LoadCharacter()
plr.CharacterAppearance=0
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("")
pcall(function() _G.CSScript_PostInit() end)
coroutine.resume(coroutine.create(function()
while true do
wait(0.1)
pcall(function() _G.CSScript_Update() end)
end
end))
while true do
wait(0.001)
if (game.Lighting:findFirstChild("DisableRespawns") == nil) then
if (plr.Character ~= nil) then
if (plr.Character:findFirstChild("Humanoid") and (plr.Character.Humanoid.Health == 0)) then
wait(5)
plr:LoadCharacter()
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
elseif (plr.Character.Parent == nil) then
wait(5)
plr:LoadCharacter() -- to make sure nobody is deleted.
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
end
end
end
end
end
function CSStudio()
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Studio", "2009E") end)
@ -788,10 +751,63 @@ function CSStudio()
end))
end
function CS3DView(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
print("3DView loaded. Nerd.")
game:service("RunService"):run()
game:SetMessage("Loading Player...")
local plr = game.Players:createLocalPlayer(UserID)
plr.Name = PlayerName
plr:LoadCharacter()
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
local target = game.Workspace.Base.SpawnLocation
local camera = game.Workspace.CurrentCamera
camera.CameraType = 2
local cf = CFrame.new(0, 10, 18)
camera.CoordinateFrame = cf;
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
wait(0.5)
for i,v in pairs(plr.Character:children()) do
if v.className == "Part" then
v.Anchored = true
end
end
plr.Character.Animate:remove()
plr.Character.Health:remove()
plr.Character.Sound:remove()
game.GuiRoot.RightPalette:remove()
game.GuiRoot.ChatMenuPanel:remove()
game.GuiRoot.HealthHud:remove()
game.GuiRoot.ScoreHud:remove()
game.GuiRoot.MainMenu:remove()
local human = plr.Character.Humanoid
human.Jumping:connect(fixJump)
game:ClearMessage()
game:GetService("Visit"):SetUploadUrl("")
game:service("NetworkClient")
end
_G.CSServer=CSServer
_G.CSConnect=CSConnect
_G.CSSolo=CSSolo
_G.CSStudio=CSStudio
_G.CS3DView=CS3DView
-- credit to KeyboardCombination
local succ = pcall(function() --check if the metatables are already read only lol

View File

@ -743,45 +743,6 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
end
end
function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Solo", "2009L") end)
game:GetService("RunService"):Run()
local plr = game.Players:CreateLocalPlayer(UserID)
plr.Name = PlayerName
plr:LoadCharacter()
plr.CharacterAppearance=0
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID)
wait(0.5)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm")
game:GetService("Visit"):SetUploadUrl("")
pcall(function() _G.CSScript_PostInit() end)
coroutine.resume(coroutine.create(function()
while true do
wait(0.1)
pcall(function() _G.CSScript_Update() end)
end
end))
while true do
wait(0.001)
if (game.Lighting:findFirstChild("DisableRespawns") == nil) then
if (plr.Character ~= nil) then
if (plr.Character:findFirstChild("Humanoid") and (plr.Character.Humanoid.Health == 0)) then
wait(5)
plr:LoadCharacter()
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
elseif (plr.Character.Parent == nil) then
wait(5)
plr:LoadCharacter() -- to make sure nobody is deleted.
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
end
end
end
end
end
function CSStudio()
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Studio", "2009L") end)
@ -794,10 +755,53 @@ function CSStudio()
end))
end
function CS3DView(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
print("3DView loaded. Nerd.")
game:GetService("RunService"):run()
game:SetMessage("Loading Player...")
local plr = game.Players:CreateLocalPlayer(UserID)
plr.Name = PlayerName
plr:LoadCharacter()
plr.CharacterAppearance=0
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
plr.Character.Animate:remove()
plr.Character.Health:remove()
plr.Character.Sound:remove()
local target = game.Workspace.Base.SpawnLocation
local camera = game.Workspace.CurrentCamera
camera.CameraType = Enum.CameraType.Watch
local cf = CFrame.new(0, 10, 18)
camera.CoordinateFrame = cf;
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)
game:GetService("Visit"):SetUploadUrl("")
game:ClearMessage()
end
_G.CSServer=CSServer
_G.CSConnect=CSConnect
_G.CSSolo=CSSolo
_G.CSStudio=CSStudio
_G.CS3DView=CS3DView
-- credit to KeyboardCombination
local succ = pcall(function() --check if the metatables are already read only lol

View File

@ -743,46 +743,6 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
end
end
function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Solo", "2010L") end)
game:GetService("RunService"):Run()
local plr = game.Players:CreateLocalPlayer(UserID)
plr.Name = PlayerName
plr:LoadCharacter()
plr.CharacterAppearance=0
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID)
wait(0.5)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm")
newWaitForChild(game.StarterGui, "Health")
game.StarterGui.Health:clone().Parent = plr.PlayerGui
game:GetService("Visit"):SetUploadUrl("")
pcall(function() _G.CSScript_PostInit() end)
coroutine.resume(coroutine.create(function()
while true do
wait(0.1)
pcall(function() _G.CSScript_Update() end)
end
end))
while true do
wait(0.001)
if (game.Lighting:findFirstChild("DisableRespawns") == nil) then
if (plr.Character ~= nil) then
if (plr.Character:findFirstChild("Humanoid") and (plr.Character.Humanoid.Health == 0)) then
wait(5)
plr:LoadCharacter()
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
elseif (plr.Character.Parent == nil) then
wait(5)
plr:LoadCharacter() -- to make sure nobody is deleted.
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
end
end
end
end
end
function CSStudio()
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Studio", "2010L") end)
@ -795,10 +755,62 @@ function CSStudio()
end))
end
function CS3DView(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
print("3DView loaded. Nerd.")
game:GetService("RunService"):Run()
game:SetMessage("Loading Player...")
local plr = game.Players:CreateLocalPlayer(UserID)
plr.Name = PlayerName
plr:LoadCharacter()
if (IconType == "BC") then
plr:SetMembershipType(Enum.MembershipType.BuildersClub)
elseif (IconType == "TBC") then
plr:SetMembershipType(Enum.MembershipType.TurboBuildersClub)
elseif (IconType == "OBC") then
plr:SetMembershipType(Enum.MembershipType.OutrageousBuildersClub)
elseif (IconType == "NBC" or string.match(IconType, "http") == "http") then
plr:SetMembershipType(Enum.MembershipType.None)
end
plr.CharacterAppearance=0
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
wait(0.79)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
local target = game.Workspace.Base.SpawnLocation
local camera = game.Workspace.CurrentCamera
camera.CameraType = Enum.CameraType.Watch
local cf = CFrame.new(0, 10, 18) * CFrame.Angles(math.rad(180), 0, 0)
camera.CoordinateFrame = cf;
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
plr.Character.Animate:remove()
human.WalkSpeed = 0
human.Jumping:connect(fixJump)
game:GetService("Visit"):SetUploadUrl("")
game:ClearMessage()
end
_G.CSServer=CSServer
_G.CSConnect=CSConnect
_G.CSSolo=CSSolo
_G.CSStudio=CSStudio
_G.CS3DView=CS3DView
-- credit to KeyboardCombination
local succ = pcall(function() --check if the metatables are already read only lol

View File

@ -798,62 +798,6 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
InitalizeTripcode(Player,Tripcode)
end
function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID,NewGUI)
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Solo", "2011M") end)
pcall(function()
id = -1
if NewGUI == true then
id = 1337
end
game:SetPlaceID(id, false)
end)
dofile("rbxasset://scripts\\cores\\StarterScript.lua")
game:GetService("RunService"):Run()
local plr = game.Players:CreateLocalPlayer(UserID)
plr.Name = PlayerName
plr:LoadCharacter()
if (IconType == "BC") then
plr:SetMembershipType(Enum.MembershipType.BuildersClub)
elseif (IconType == "TBC") then
plr:SetMembershipType(Enum.MembershipType.TurboBuildersClub)
elseif (IconType == "OBC") then
plr:SetMembershipType(Enum.MembershipType.OutrageousBuildersClub)
elseif (IconType == "NBC" or string.match(IconType, "http") == "http") then
plr:SetMembershipType(Enum.MembershipType.None)
end
game.GuiRoot.ScoreHud:Remove()
plr.CharacterAppearance=0
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
wait(0.7)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm")
game:GetService("Visit"):SetUploadUrl("")
pcall(function() _G.CSScript_PostInit() end)
coroutine.resume(coroutine.create(function()
while true do
wait(0.1)
pcall(function() _G.CSScript_Update() end)
end
end))
while true do
wait(0.001)
if (game.Lighting:findFirstChild("DisableRespawns") == nil) then
if (plr.Character ~= nil) then
if (plr.Character:findFirstChild("Humanoid") and (plr.Character.Humanoid.Health == 0)) then
wait(5)
plr:LoadCharacter()
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
elseif (plr.Character.Parent == nil) then
wait(5)
plr:LoadCharacter() -- to make sure nobody is deleted.
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character)
end
end
end
end
end
function CSStudio(NewGUI)
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Studio", "2011M") end)
@ -874,7 +818,73 @@ function CSStudio(NewGUI)
end))
end
function CS3DView(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
print("3DView loaded. Nerd.")
dofile("rbxasset://scripts\\cores\\StarterScript3DView.lua")
game:GetService("RunService"):Run()
game:SetMessage("Loading Player...")
local plr = game.Players:CreateLocalPlayer(UserID)
plr.Name = PlayerName
plr:LoadCharacter()
if (IconType == "BC") then
plr:SetMembershipType(Enum.MembershipType.BuildersClub)
elseif (IconType == "TBC") then
plr:SetMembershipType(Enum.MembershipType.TurboBuildersClub)
elseif (IconType == "OBC") then
plr:SetMembershipType(Enum.MembershipType.OutrageousBuildersClub)
elseif (IconType == "NBC" or string.match(IconType, "http") == "http") then
plr:SetMembershipType(Enum.MembershipType.None)
end
plr.CharacterAppearance=0
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
wait(0.79)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
plr.Character.Animate:remove()
plr.Character.Health:remove()
plr.Character["HealthScript v3.1"]:remove()
plr.Character.RobloxTeam:remove()
plr.Character.Sound:remove()
plr.PlayerGui.HealthGUI:remove()
game.CoreGui.RobloxGui.ControlFrame.TopLeftControl:Remove()
game.CoreGui.RobloxGui.ControlFrame.BottomLeftControl:Remove()
game.CoreGui.RobloxGui.ControlFrame.BottomRightControl:Remove()
game.GuiRoot.RightPalette:Remove()
game.GuiRoot.ChatMenuPanel:Remove()
game.GuiRoot.ScoreHud:Remove()
game.GuiRoot.ChatHud:Remove()
local target = game.Workspace.Base.SpawnLocation
local camera = game.Workspace.CurrentCamera
camera.CameraType = Enum.CameraType.Watch
local cf = CFrame.new(0, 10, 18) * CFrame.Angles(math.rad(180), 0, 0)
camera.CoordinateFrame = cf;
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)
game:GetService("Visit"):SetUploadUrl("")
game:ClearMessage()
end
_G.CSServer=CSServer
_G.CSConnect=CSConnect
_G.CSSolo=CSSolo
_G.CSStudio=CSStudio
_G.CSStudio=CSStudio
_G.CS3DView=CS3DView

View File

@ -0,0 +1,61 @@
-- Creates all neccessary scripts for the gui on initial load, everything except build tools
-- Created by Ben T. 10/29/10
-- Please note that these are loaded in a specific order to diminish errors/perceived load time by user
delay(0, function()
print("Accurate CS by Matt Brown.")
local function waitForChild(instance, name)
while not instance:FindFirstChild(name) do
instance.ChildAdded:wait()
end
end
local function waitForProperty(instance, property)
while not instance[property] do
instance.Changed:wait()
end
end
local backpackTestPlaces = {41324860,87241143,1818,65033,25415,14403,33913,21783593,17467963,3271,16184658}
waitForChild(game:GetService("CoreGui"),"RobloxGui")
local screenGui = game:GetService("CoreGui"):FindFirstChild("RobloxGui")
local scriptContext = game:GetService("ScriptContext")
-- Resizer (dynamically resizes gui)
dofile("rbxasset://scripts\\cores\\Resizer.lua")
-- SubMenuBuilder (builds out the material,surface and color panels)
dofile("rbxasset://scripts\\cores\\SubMenuBuilder.lua")
-- ToolTipper (creates tool tips for gui)
dofile("rbxasset://scripts\\cores\\ToolTipper.lua")
--[[if game.CoreGui.Version < 2 then
-- (controls the movement and selection of sub panels)
-- PaintMenuMover
scriptContext:AddCoreScript(36040464,screenGui.BuildTools.Frame.PropertyTools.PaintTool,"PaintMenuMover")
-- MaterialMenuMover
scriptContext:AddCoreScript(36040495,screenGui.BuildTools.Frame.PropertyTools.MaterialSelector,"MaterialMenuMover")
-- InputMenuMover
scriptContext:AddCoreScript(36040483,screenGui.BuildTools.Frame.PropertyTools.InputSelector,"InputMenuMover")
end]]
-- SettingsScript
dofile("rbxasset://scripts\\cores\\SettingsScript.lua")
-- MainBotChatScript
dofile("rbxasset://scripts\\cores\\MainBotChatScript.lua")
if game.CoreGui.Version >= 2 then
-- New Player List
dofile("rbxasset://scripts\\cores\\PlayerlistScript.lua")
-- Popup Script
dofile("rbxasset://scripts\\cores\\PopupScript.lua")
-- Friend Notification Script (probably can use this script to expand out to other notifications)
dofile("rbxasset://scripts\\cores\\NotificationScript.lua")
end
end)

View File

@ -789,55 +789,6 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
InitalizeTripcode(Player,Tripcode)
end
function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID,NewGUI)
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Solo", "2012M") end)
pcall(function() game:SetPlaceID(-1, false) end)
dofile("rbxasset://scripts\\cores\\StarterScript.lua")
game:GetService("RunService"):Run()
local plr = game.Players:CreateLocalPlayer(UserID)
plr.Name = PlayerName
plr:LoadCharacter()
if (IconType == "BC") then
plr:SetMembershipType(Enum.MembershipType.BuildersClub)
elseif (IconType == "TBC") then
plr:SetMembershipType(Enum.MembershipType.TurboBuildersClub)
elseif (IconType == "OBC") then
plr:SetMembershipType(Enum.MembershipType.OutrageousBuildersClub)
elseif (IconType == "NBC" or string.match(IconType, "http") == "http") then
plr:SetMembershipType(Enum.MembershipType.None)
end
plr.CharacterAppearance=0
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
wait(0.7)
delay(0.5,function() LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character) end)
game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm")
game:GetService("Visit"):SetUploadUrl("")
pcall(function() _G.CSScript_PostInit() end)
coroutine.resume(coroutine.create(function()
while true do
wait(0.1)
pcall(function() _G.CSScript_Update() end)
end
end))
while true do
wait(0.001)
if (game.Lighting:findFirstChild("DisableRespawns") == nil) then
if (plr.Character ~= nil) then
if (plr.Character:findFirstChild("Humanoid") and (plr.Character.Humanoid.Health == 0)) then
wait(5)
plr:LoadCharacter()
delay(0.5,function() LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character) end)
elseif (plr.Character.Parent == nil) then
wait(5)
plr:LoadCharacter() -- to make sure nobody is deleted.
delay(0.5,function() LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character) end)
end
end
end
end
end
function CSStudio(NewGUI)
pcall(function() dofile("rbxasset://..//..//..//addons//core//AddonLoader.lua") end)
pcall(function() _G.CSScript_PreInit("Studio", "2012M") end)
@ -852,7 +803,70 @@ function CSStudio(NewGUI)
end))
end
function CS3DView(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
print("3DView loaded. Nerd.")
dofile("rbxasset://scripts\\cores\\StarterScript3DView.lua")
game:GetService("RunService"):Run()
game:SetMessage("Loading Player...")
local plr = game.Players:CreateLocalPlayer(UserID)
plr.Name = PlayerName
plr:LoadCharacter()
if (IconType == "BC") then
plr:SetMembershipType(Enum.MembershipType.BuildersClub)
elseif (IconType == "TBC") then
plr:SetMembershipType(Enum.MembershipType.TurboBuildersClub)
elseif (IconType == "OBC") then
plr:SetMembershipType(Enum.MembershipType.OutrageousBuildersClub)
elseif (IconType == "NBC" or string.match(IconType, "http") == "http") then
plr:SetMembershipType(Enum.MembershipType.None)
end
plr.CharacterAppearance=0
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
wait(0.79)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
plr.Character.Animate:remove()
plr.Character.Health:remove()
plr.Character["HealthScript v3.1"]:remove()
plr.Character.RobloxTeam:remove()
plr.Character.Sound:remove()
plr.PlayerGui.HealthGUI:remove()
game.CoreGui.RobloxGui.ControlFrame:Remove()
game.GuiRoot.RightPalette:Remove()
game.GuiRoot.ChatMenuPanel:Remove()
game.GuiRoot.ChatHud:Remove()
local target = game.Workspace.Base.SpawnLocation
local camera = game.Workspace.CurrentCamera
camera.CameraType = Enum.CameraType.Watch
local cf = CFrame.new(0, 10, 18) * CFrame.Angles(math.rad(180), 0, 0)
camera.CoordinateFrame = cf;
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)
game:GetService("Visit"):SetUploadUrl("")
game:ClearMessage()
end
_G.CSServer=CSServer
_G.CSConnect=CSConnect
_G.CSSolo=CSSolo
_G.CSStudio=CSStudio
_G.CSStudio=CSStudio
_G.CS3DView=CS3DView

View File

@ -0,0 +1,88 @@
-- Creates all neccessary scripts for the gui on initial load, everything except build tools
-- Created by Ben T. 10/29/10
-- Please note that these are loaded in a specific order to diminish errors/perceived load time by user
delay(0, function()
print("Accurate CS by Matt Brown.")
local function waitForChild(instance, name)
while not instance:FindFirstChild(name) do
instance.ChildAdded:wait()
end
end
local function waitForProperty(instance, property)
while not instance[property] do
instance.Changed:wait()
end
end
local backpackTestPlaces = {41324860,87241143,1818,65033,25415,14403,33913,21783593,17467963,3271,16184658}
waitForChild(game:GetService("CoreGui"),"RobloxGui")
local screenGui = game:GetService("CoreGui"):FindFirstChild("RobloxGui")
local scriptContext = game:GetService("ScriptContext")
-- Resizer (dynamically resizes gui)
dofile("rbxasset://scripts\\cores\\Resizer.lua")
-- SubMenuBuilder (builds out the material,surface and color panels)
dofile("rbxasset://scripts\\cores\\SubMenuBuilder.lua")
-- ToolTipper (creates tool tips for gui)
dofile("rbxasset://scripts\\cores\\ToolTipper.lua")
--[[if game.CoreGui.Version < 2 then
-- (controls the movement and selection of sub panels)
-- PaintMenuMover
scriptContext:AddCoreScript(36040464,screenGui.BuildTools.Frame.PropertyTools.PaintTool,"PaintMenuMover")
-- MaterialMenuMover
scriptContext:AddCoreScript(36040495,screenGui.BuildTools.Frame.PropertyTools.MaterialSelector,"MaterialMenuMover")
-- InputMenuMover
scriptContext:AddCoreScript(36040483,screenGui.BuildTools.Frame.PropertyTools.InputSelector,"InputMenuMover")
end]]
-- SettingsScript
dofile("rbxasset://scripts\\cores\\SettingsScript.lua")
-- MainBotChatScript
dofile("rbxasset://scripts\\cores\\MainBotChatScript.lua")
if game.CoreGui.Version >= 2 then
-- New Player List
dofile("rbxasset://scripts\\cores\\PlayerlistScript.lua")
-- Popup Script
dofile("rbxasset://scripts\\cores\\PopupScript.lua")
-- Friend Notification Script (probably can use this script to expand out to other notifications)
dofile("rbxasset://scripts\\cores\\NotificationScript.lua")
end
if game.CoreGui.Version >= 3 then
waitForProperty(game,"PlaceId")
local inRightPlace = false
for i,v in ipairs(backpackTestPlaces) do
if v == game.PlaceId then
inRightPlace = true
break
end
end
waitForChild(game,"Players")
waitForProperty(game.Players,"LocalPlayer")
if game.Players.LocalPlayer.userId == 7210880 or game.Players.LocalPlayer.userId == 0 then inRightPlace = true end
--if not inRightPlace then return end -- restricting availability of backpack
-- Backpack Builder
dofile("rbxasset://scripts\\cores\\BackpackBuilder.lua")
waitForChild(screenGui,"CurrentLoadout")
waitForChild(screenGui.CurrentLoadout,"TempSlot")
waitForChild(screenGui.CurrentLoadout.TempSlot,"SlotNumber")
-- Backpack Script
dofile("rbxasset://scripts\\cores\\BackpackScript.lua")
end
end)

View File

@ -1,481 +0,0 @@
dofile("rbxasset://scripts\\cores\\StarterScript.lua")
pcall(function() game:GetService("ScriptContext").ScriptsDisabled = false end)
game.CoreGui.RobloxGui.TopLeftControl:Remove()
game.CoreGui.RobloxGui.BottomLeftControl:Remove()
game.CoreGui.RobloxGui.BottomRightControl:Remove()
game.GuiRoot.RightPalette:Remove()
game.GuiRoot.ChatMenuPanel:Remove()
game.GuiRoot.ScoreHud:Remove()
game.GuiRoot.ChatHud:Remove()
--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 path = "rbxasset://../../../shareddata/charcustom/"
wait(0.65)
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(path.."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 = "";
if (string.match(newVal.Value, "http") == "http") then
if (pcall(function()
newTShirt = game.Workspace:InsertContent(newVal.Value)
if newTShirt[1] then
if newTShirt[1].className == "ShirtGraphic" then
newTShirt[1].Parent = newChar
local oldTexture = newTShirt[1].Graphic;
OldURL,OldID = oldTexture:match("(.+)=(.+)")
NewURL,NewID = newVal.Value:match("(.+)=(.+)")
newTShirt[1].Graphic = NewURL .. '=' .. OldID
else
newTShirt[1]:remove()
end
end
end)) then
--nothing
print("success");
else
print("fail");
newTShirt = Instance.new("ShirtGraphic")
newTShirt.Graphic = newVal.Value
newTShirt.Parent = newChar
end
else
newTShirt = game.Workspace:InsertContent(path.."tshirts/"..newVal.Value)
if newTShirt[1] then
if newTShirt[1].className == "ShirtGraphic" then
newTShirt[1].Parent = newChar
else
newTShirt[1]:remove()
end
end
end
end)
elseif (customtype == 4) then
pcall(function()
local newShirt = "";
if (string.match(newVal.Value, "http") == "http") then
if (pcall(function()
newShirt = game.Workspace:InsertContent(newVal.Value)
if newShirt[1] then
if newShirt[1].className == "Shirt" then
newShirt[1].Parent = newChar
local oldTexture = newShirt[1].ShirtTemplate;
OldURL,OldID = oldTexture:match("(.+)=(.+)")
NewURL,NewID = newVal.Value:match("(.+)=(.+)")
newShirt[1].ShirtTemplate = NewURL .. '=' .. OldID
else
newShirt[1]:remove()
end
end
end)) then
--nothing
print("success");
else
print("fail");
newShirt = Instance.new("Shirt")
newShirt.ShirtTemplate = newVal.Value
newShirt.Parent = newChar
end
else
newShirt = game.Workspace:InsertContent(path.."shirts/"..newVal.Value)
if newShirt[1] then
if newShirt[1].className == "Shirt" then
newShirt[1].Parent = newChar
else
newShirt[1]:remove()
end
end
end
end)
elseif (customtype == 5) then
pcall(function()
local newPants = "";
if (string.match(newVal.Value, "http") == "http") then
if (pcall(function()
newPants = game.Workspace:InsertContent(newVal.Value)
if newPants[1] then
if newPants[1].className == "Pants" then
newPants[1].Parent = newChar
local oldTexture = newPants[1].PantsTemplate;
OldURL,OldID = oldTexture:match("(.+)=(.+)")
NewURL,NewID = newVal.Value:match("(.+)=(.+)")
newPants[1].PantsTemplate = NewURL .. '=' .. OldID
else
newPants[1]:remove()
end
end
end)) then
--nothing
print("success");
else
print("fail");
newPants = Instance.new("Pants")
newPants.PantsTemplate = newVal.Value
newPants.Parent = newChar
end
else
newPants = game.Workspace:InsertContent(path.."pants/"..newVal.Value)
if newPants[1] then
if newPants[1].className == "Pants" then
newPants[1].Parent = newChar
else
newPants[1]:remove()
end
end
end
end)
elseif (customtype == 6) then
pcall(function()
local newFace = "";
if (string.match(newVal.Value, "http") == "http") then
if (pcall(function()
newFace = game.Workspace:InsertContent(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"
local oldTexture = newFace[1].Texture;
OldURL,OldID = oldTexture:match("(.+)=(.+)")
NewURL,NewID = newVal.Value:match("(.+)=(.+)")
newFace[1].Texture = NewURL .. '=' .. OldID
else
newFace[1]:remove()
end
end
end)) then
--nothing
print("success");
else
print("fail");
newWaitForChild(charparts[1],"face"):remove()
newFace = Instance.new("Decal")
newFace.Texture = newVal.Value
newFace.Face = "Front"
newFace.Parent = charparts[1]
end
else
newFace = game.Workspace:InsertContent(path.."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
end)
elseif (customtype == 7) then
pcall(function()
local newPart = game.Workspace:InsertContent(path.."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)
elseif (customtype == 8) then
pcall(function()
local newHat = game.Workspace:InsertContent(path.."hats/"..newVal.Value)
if newHat[1] then
if newHat[1].className == "Hat" then
newHat[1].Parent = newChar
else
newHat[1]:remove()
end
end
end)
pcall(function()
local newItem = game.Workspace:InsertContent(path.."custom/"..newVal.Value)
if newItem[1] then
if newItem[1].className == "Decal" then
newWaitForChild(charparts[1],"face"):remove()
newItem[1].Parent = charparts[1]
newItem[1].Face = "Front"
elseif newPart[1].className == "SpecialMesh" or newPart[1].className == "CylinderMesh" or newPart[1].className == "BlockMesh" then
newWaitForChild(charparts[1],"Mesh"):remove()
newItem[1].Parent = charparts[1]
else
newItem[1].Parent = newChar
end
end
end)
end
end
end
function InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
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 = "Head Color"
elseif (i == 2) then
if (TorsoColorID ~= nil) then
BodyColor.Value = BrickColor.new(TorsoColorID)
else
BodyColor.Value = BrickColor.new(1)
end
BodyColor.Name = "Torso Color"
elseif (i == 3) then
if (LeftArmColorID ~= nil) then
BodyColor.Value = BrickColor.new(LeftArmColorID)
else
BodyColor.Value = BrickColor.new(1)
end
BodyColor.Name = "Left Arm Color"
elseif (i == 4) then
if (RightArmColorID ~= nil) then
BodyColor.Value = BrickColor.new(RightArmColorID)
else
BodyColor.Value = BrickColor.new(1)
end
BodyColor.Name = "Right Arm Color"
elseif (i == 5) then
if (LeftLegColorID ~= nil) then
BodyColor.Value = BrickColor.new(LeftLegColorID)
else
BodyColor.Value = BrickColor.new(1)
end
BodyColor.Name = "Left Leg Color"
elseif (i == 6) then
if (RightLegColorID ~= nil) then
BodyColor.Value = BrickColor.new(RightLegColorID)
else
BodyColor.Value = BrickColor.new(1)
end
BodyColor.Name = "Right Leg Color"
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 (Hat1ID ~= nil) then
newHat.Value = Hat1ID
newHat.Name = "Hat 1 - "..Hat1ID
else
newHat.Value = "NoHat.rbxm"
newHat.Name = "Hat 1 - NoHat.rbxm"
end
elseif (i == 2) then
if (Hat2ID ~= nil) then
newHat.Value = Hat2ID
newHat.Name = "Hat 2 - "..Hat2ID
else
newHat.Value = "NoHat.rbxm"
newHat.Name = "Hat 2 - NoHat.rbxm"
end
elseif (i == 3) then
if (Hat3ID ~= nil) then
newHat.Value = Hat3ID
newHat.Name = "Hat 3 - "..Hat3ID
else
newHat.Value = "NoHat.rbxm"
newHat.Name = "Hat 3 - 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 = "T-Shirt - "..TShirtID
else
newTShirt.Value = "NoTShirt.rbxm"
newTShirt.Name = "T-Shirt - 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 = "Shirt - "..ShirtID
else
newShirt.Value = "NoShirt.rbxm"
newShirt.Name = "Shirt - 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 = "Pants - "..PantsID
else
newPants.Value = "NoPants.rbxm"
newPants.Name = "Pants - 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 = "Face - "..FaceID
else
newFace.Value = "DefaultFace.rbxm"
newFace.Name = "Face - 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 = "Head - "..HeadID
else
newHead.Value = "DefaultHead.rbxm"
newHead.Name = "Head - DefaultHead.rbxm"
end
local typeValue = Instance.new("NumberValue")
typeValue.Name = "CustomizationType"
typeValue.Parent = newHead
typeValue.Value = 7
--EXTRA
local newItem = Instance.new("StringValue",newCharApp)
if (ItemID ~= nil) then
newItem.Value = ItemID
newItem.Name = "Extra - "..ItemID
else
newItem.Value = "NoExtra.rbxm"
newItem.Name = "Extra - NoExtra.rbxm"
end
local typeValue = Instance.new("NumberValue")
typeValue.Name = "CustomizationType"
typeValue.Parent = newItem
typeValue.Value = 8
--ICON
local newIcon = Instance.new("StringValue",newCharApp)
if (IconType ~= nil) then
newIcon.Value = IconType
else
newIcon.Value = "NBC"
end
newIcon.Name = "Icon"
local typeValue = Instance.new("NumberValue")
typeValue.Name = "CustomizationType"
typeValue.Parent = newIcon
typeValue.Value = 9
end
print("3DView loaded. Nerd.")
function CS3DView(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ItemID)
game:GetService("RunService"):Run()
game:SetMessage("Loading Player...")
local plr = game.Players:CreateLocalPlayer(UserID)
plr.Name = PlayerName
plr:LoadCharacter()
if (IconType == "BC") then
plr:SetMembershipType(Enum.MembershipType.BuildersClub)
elseif (IconType == "TBC") then
plr:SetMembershipType(Enum.MembershipType.TurboBuildersClub)
elseif (IconType == "OBC") then
plr:SetMembershipType(Enum.MembershipType.OutrageousBuildersClub)
elseif (IconType == "NBC" or string.match(IconType, "http") == "http") then
plr:SetMembershipType(Enum.MembershipType.None)
end
plr.CharacterAppearance=0
InitalizeClientAppearance(plr,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,ItemID,IconType)
wait(0.79)
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
local target = game.Workspace.Base.SpawnLocation
local camera = game.Workspace.CurrentCamera
camera.CameraType = Enum.CameraType.Watch
local cf = CFrame.new(0, 10, 18) * CFrame.Angles(math.rad(180), 0, 0)
camera.CoordinateFrame = cf;
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)
game:GetService("Visit"):SetUploadUrl("")
game:ClearMessage()
end
function CS3DViewEdit()
end
_G.CS3DView=CS3DView
_G.CS3DViewEdit=CS3DViewEdit

File diff suppressed because it is too large Load Diff

View File

@ -1,23 +0,0 @@
-- Creates all neccessary scripts for the gui on initial load, everything except build tools
-- Created by Ben T. 10/29/10
-- Please note that these are loaded in a specific order to diminish errors/perceived load time by user
delay(0, function()
print("Accurate CS by Matt Brown.")
local function waitForChild(instance, name)
while not instance:FindFirstChild(name) do
instance.ChildAdded:wait()
end
end
local function waitForProperty(instance, property)
while not instance[property] do
instance.Changed:wait()
end
end
waitForChild(game:GetService("CoreGui"),"RobloxGui")
dofile("rbxasset://scripts\\cores\\PlayerlistScript.lua")
end)