Beta 1.0
|
|
@ -44,6 +44,7 @@ namespace NovetusLauncher
|
|||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.comboBox1 = new System.Windows.Forms.ComboBox();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
|
|
@ -56,7 +57,7 @@ namespace NovetusLauncher
|
|||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(12, 93);
|
||||
this.button1.Location = new System.Drawing.Point(12, 120);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(212, 23);
|
||||
this.button1.TabIndex = 1;
|
||||
|
|
@ -107,12 +108,26 @@ namespace NovetusLauncher
|
|||
this.label3.TabIndex = 7;
|
||||
this.label3.Text = "Item Version";
|
||||
//
|
||||
// comboBox1
|
||||
//
|
||||
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.comboBox1.FormattingEnabled = true;
|
||||
this.comboBox1.Items.AddRange(new object[] {
|
||||
"http://www.roblox.com/",
|
||||
"http://assetgame.roblox.com/"});
|
||||
this.comboBox1.Location = new System.Drawing.Point(12, 93);
|
||||
this.comboBox1.Name = "comboBox1";
|
||||
this.comboBox1.Size = new System.Drawing.Size(212, 21);
|
||||
this.comboBox1.TabIndex = 8;
|
||||
this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.ComboBox1SelectedIndexChanged);
|
||||
//
|
||||
// ItemMaker
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
this.ClientSize = new System.Drawing.Size(236, 125);
|
||||
this.ClientSize = new System.Drawing.Size(236, 152);
|
||||
this.Controls.Add(this.comboBox1);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
|
|
@ -125,10 +140,12 @@ namespace NovetusLauncher
|
|||
this.MaximizeBox = false;
|
||||
this.Name = "ItemMaker";
|
||||
this.Text = "Novetus Item SDK";
|
||||
this.Load += new System.EventHandler(this.ItemMakerLoad);
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
}
|
||||
private System.Windows.Forms.ComboBox comboBox1;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label1;
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ using System.Windows.Forms;
|
|||
using System.Net;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace NovetusLauncher
|
||||
{
|
||||
|
|
@ -20,6 +21,8 @@ namespace NovetusLauncher
|
|||
/// </summary>
|
||||
public partial class ItemMaker : Form
|
||||
{
|
||||
private static string url = "http://www.roblox.com/asset?id=";
|
||||
|
||||
public ItemMaker()
|
||||
{
|
||||
//
|
||||
|
|
@ -34,10 +37,38 @@ namespace NovetusLauncher
|
|||
|
||||
void Button1Click(object sender, EventArgs e)
|
||||
{
|
||||
WebClient Client = new WebClient();
|
||||
string version = (numericUpDown1.Value != 0) ? "&version=" + numericUpDown1.Value : "";
|
||||
Client.DownloadFile("http://www.roblox.com/asset?id=" + textBox2.Text + version, GlobalVars.BasePath + "\\" + textBox1.Text + ".rbxm");
|
||||
MessageBox.Show("Item downloaded into your Novetus directory! In order for the item to work in Novetus, you'll need to find an icon for your item (it must be a .png file), then name it the same name as your item.\n\nIf you want to create a local (offline) item, you'll have to download the meshes/textures from the links in the rbxm file, then replace the links in the file pointing to where they are using rbxasset://. Look at the directory in the 'charcustom' folder that best suits your item type, then look at the rbxm for any one of the items.","Novetus Item SDK", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
try
|
||||
{
|
||||
string version = (numericUpDown1.Value != 0) ? "&version=" + numericUpDown1.Value : "";
|
||||
|
||||
using (WebClient wc = new WebClient())
|
||||
{
|
||||
wc.DownloadFile(url + textBox2.Text + version, GlobalVars.BasePath + "\\" + textBox1.Text + ".rbxm");
|
||||
}
|
||||
|
||||
MessageBox.Show("Item downloaded into your Novetus directory! In order for the item to work in Novetus, you'll need to find an icon for your item (it must be a .png file), then name it the same name as your item.\n\nIf you want to create a local (offline) item, you'll have to download the meshes/textures from the links in the rbxm file, then replace the links in the file pointing to where they are using rbxasset://. Look at the directory in the 'charcustom' folder that best suits your item type, then look at the rbxm for any one of the items. If you get a corrupted file, change the URL using the drop down box.","Novetus Item SDK", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
catch(Exception)
|
||||
{
|
||||
MessageBox.Show("Error: Unable to download the file. Try using a different file name or ID.","Novetus Item SDK | Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
void ComboBox1SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (comboBox1.SelectedText == "http://www.roblox.com/")
|
||||
{
|
||||
url = "http://www.roblox.com/asset?id=";
|
||||
}
|
||||
else if (comboBox1.SelectedText == "http://assetgame.roblox.com/")
|
||||
{
|
||||
url = "http://assetgame.roblox.com/asset/?id=";
|
||||
}
|
||||
}
|
||||
|
||||
void ItemMakerLoad(object sender, EventArgs e)
|
||||
{
|
||||
comboBox1.Text = "http://www.roblox.com/";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -733,35 +733,48 @@ namespace NovetusLauncher
|
|||
Studio = 3
|
||||
}
|
||||
|
||||
public static string GetScriptFuncForType(ScriptType type)
|
||||
public static string GetScriptFuncForType(ScriptType type, string client)
|
||||
{
|
||||
string rbxexe = "";
|
||||
if (GlobalVars.LegacyMode == true)
|
||||
{
|
||||
rbxexe = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\clients\\" + client + @"\\RobloxApp.exe";
|
||||
}
|
||||
else
|
||||
{
|
||||
rbxexe = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\clients\\" + client + @"\\RobloxApp_client.exe";
|
||||
}
|
||||
|
||||
string md5dir = SecurityFuncs.CalculateMD5(Assembly.GetExecutingAssembly().Location);
|
||||
string md5script = SecurityFuncs.CalculateMD5(GlobalVars.ClientDir + @"\\" + GlobalVars.SelectedClient + @"\\content\\scripts\\" + GlobalVars.ScriptName + ".lua");
|
||||
string md5exe = SecurityFuncs.CalculateMD5(rbxexe);
|
||||
string md5s = "'" + md5exe + "','" + md5dir + "','" + md5script + "'";
|
||||
if (type == ScriptType.Client)
|
||||
{
|
||||
if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == true)
|
||||
{
|
||||
return "_G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "','" + GlobalVars.loadtext + ",'" + GlobalVars.SelectedClientMD5 + "','" + md5dir + "','" + GlobalVars.SelectedClientScriptMD5 + "')";
|
||||
return "_G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "','" + GlobalVars.loadtext + "," + md5s + ")";
|
||||
}
|
||||
else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == true)
|
||||
{
|
||||
return "_G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'Player','" + GlobalVars.loadtext + ",'" + GlobalVars.SelectedClientMD5 + "','" + md5dir + "','" + GlobalVars.SelectedClientScriptMD5 + "')";
|
||||
return "_G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'Player','" + GlobalVars.loadtext + "," + md5s + ")";
|
||||
}
|
||||
else if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == false)
|
||||
{
|
||||
return "_G.CSConnect(0,'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "','" + GlobalVars.loadtext + ",'" + GlobalVars.SelectedClientMD5 + "','" + md5dir + "','" + GlobalVars.SelectedClientScriptMD5 + "')";
|
||||
return "_G.CSConnect(0,'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "','" + GlobalVars.loadtext + "," + md5s + ")";
|
||||
}
|
||||
else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == false)
|
||||
{
|
||||
return "_G.CSConnect(0,'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'Player','" + GlobalVars.loadtext + ",'" + GlobalVars.SelectedClientMD5 + "','" + md5dir + "','" + GlobalVars.SelectedClientScriptMD5 + "')";
|
||||
return "_G.CSConnect(0,'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'Player','" + GlobalVars.loadtext + "," + md5s + ")";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "_G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "','" + GlobalVars.loadtext + ",'" + GlobalVars.SelectedClientMD5 + "','" + md5dir + "','" + GlobalVars.SelectedClientScriptMD5 + "')";
|
||||
return "_G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "','" + GlobalVars.loadtext + "," + md5s + ")";
|
||||
}
|
||||
}
|
||||
else if (type == ScriptType.Server)
|
||||
{
|
||||
return "_G.CSServer(" + GlobalVars.RobloxPort + "," + GlobalVars.PlayerLimit + ",'" + GlobalVars.SelectedClientMD5 + "','" + md5dir + "','" + GlobalVars.SelectedClientScriptMD5 + "'," + GlobalVars.DisableTeapotTurret.ToString().ToLower() + ")";
|
||||
return "_G.CSServer(" + GlobalVars.RobloxPort + "," + GlobalVars.PlayerLimit + "," + md5s + "," + GlobalVars.DisableTeapotTurret.ToString().ToLower() + ")";
|
||||
}
|
||||
else if (type == ScriptType.Solo)
|
||||
{
|
||||
|
|
@ -818,7 +831,7 @@ namespace NovetusLauncher
|
|||
LauncherFuncs.ReadConfigValues(GlobalVars.BasePath + "\\config.txt");
|
||||
}
|
||||
|
||||
public static void GenerateScriptForClient(ScriptType type)
|
||||
public static void GenerateScriptForClient(ScriptType type, string client)
|
||||
{
|
||||
//next, generate the header functions.
|
||||
|
||||
|
|
@ -830,7 +843,7 @@ namespace NovetusLauncher
|
|||
"--Load Script",
|
||||
//scriptcontents,
|
||||
"dofile('rbxasset://scripts/" + GlobalVars.ScriptName + ".lua')",
|
||||
GetScriptFuncForType(type)
|
||||
GetScriptFuncForType(type, client)
|
||||
);
|
||||
|
||||
List<string> list = new List<string>(Regex.Split(code, Environment.NewLine));
|
||||
|
|
@ -958,7 +971,7 @@ namespace NovetusLauncher
|
|||
//vars for loader
|
||||
public static bool ReadyToLaunch = false;
|
||||
//server settings.
|
||||
public static string Map = "Baseplate.rbxl";
|
||||
public static string Map = "";
|
||||
public static int RobloxPort = 53640;
|
||||
public static int DefaultRobloxPort = 53640;
|
||||
public static int PlayerLimit = 12;
|
||||
|
|
@ -972,6 +985,7 @@ namespace NovetusLauncher
|
|||
//client shit
|
||||
public static string SelectedClient = "";
|
||||
public static string DefaultClient = "";
|
||||
public static string DefaultMap = "";
|
||||
public static bool UsesPlayerName = false;
|
||||
public static bool UsesID = true;
|
||||
public static string SelectedClientDesc = "";
|
||||
|
|
|
|||
|
|
@ -38,9 +38,11 @@ namespace NovetusLauncher
|
|||
|
||||
void LoaderFormLoad(object sender, EventArgs e)
|
||||
{
|
||||
string[] defaultclient = File.ReadAllLines(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\info.txt");
|
||||
string defcl = defaultclient[1];
|
||||
GlobalVars.DefaultClient = defcl;
|
||||
string[] lines = File.ReadAllLines(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\info.txt");
|
||||
GlobalVars.DefaultClient = lines[1];
|
||||
GlobalVars.DefaultMap = lines[2];
|
||||
GlobalVars.SelectedClient = GlobalVars.DefaultClient;
|
||||
GlobalVars.Map = GlobalVars.DefaultMap;
|
||||
QuickConfigure main = new QuickConfigure();
|
||||
main.ShowDialog();
|
||||
System.Threading.Timer timer = new System.Threading.Timer(new TimerCallback(CheckIfFinished), null, 1, 0);
|
||||
|
|
@ -75,29 +77,13 @@ namespace NovetusLauncher
|
|||
}
|
||||
string quote = "\"";
|
||||
string args = "";
|
||||
string md5dir = SecurityFuncs.CalculateMD5(Assembly.GetExecutingAssembly().Location);
|
||||
if (!GlobalVars.FixScriptMapMode)
|
||||
{
|
||||
if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == true)
|
||||
{
|
||||
args = "-script " + quote + "dofile('" + luafile + "'); _G.CSConnect(" + GlobalVars.UserID + ",'" + ip + "'," + port + ",'" + GlobalVars.PlayerName + "','" + GlobalVars.loadtext + ",'" + GlobalVars.SelectedClientMD5 + "','" + md5dir + "','" + GlobalVars.SelectedClientScriptMD5 + "');" + quote;
|
||||
}
|
||||
else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == true)
|
||||
{
|
||||
args = "-script " + quote + "dofile('" + luafile + "'); _G.CSConnect(" + GlobalVars.UserID + ",'" + ip + "'," + port + ",'Player','" + GlobalVars.loadtext + ",'" + GlobalVars.SelectedClientMD5 + "','" + md5dir + "','" + GlobalVars.SelectedClientScriptMD5 + "');" + quote;
|
||||
}
|
||||
else if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == false)
|
||||
{
|
||||
args = "-script " + quote + "dofile('" + luafile + "'); _G.CSConnect(0,'" + ip + "'," + port + ",'" + GlobalVars.PlayerName + "','" + GlobalVars.loadtext + ",'" + GlobalVars.SelectedClientMD5 + "','" + md5dir + "','" + GlobalVars.SelectedClientScriptMD5 + "');" + quote;
|
||||
}
|
||||
else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == false)
|
||||
{
|
||||
args = "-script " + quote + "dofile('" + luafile + "'); _G.CSConnect(0,'" + ip + "'," + port + ",'Player','" + GlobalVars.loadtext + ",'" + GlobalVars.SelectedClientMD5 + "','" + md5dir + "','" + GlobalVars.SelectedClientScriptMD5 + "');" + quote;
|
||||
}
|
||||
args = "-script " + quote + "dofile('" + luafile + "'); " + ScriptGenerator.GetScriptFuncForType(ScriptGenerator.ScriptType.Client, client) + quote;
|
||||
}
|
||||
else
|
||||
{
|
||||
ScriptGenerator.GenerateScriptForClient(ScriptGenerator.ScriptType.Client);
|
||||
ScriptGenerator.GenerateScriptForClient(ScriptGenerator.ScriptType.Client, client);
|
||||
args = "-script " + quote + luafile + quote;
|
||||
}
|
||||
try
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ namespace NovetusLauncher
|
|||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.textBox1 = new System.Windows.Forms.TextBox();
|
||||
this.tabPage2 = new System.Windows.Forms.TabPage();
|
||||
this.checkBox2 = new System.Windows.Forms.CheckBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.button23 = new System.Windows.Forms.Button();
|
||||
this.button22 = new System.Windows.Forms.Button();
|
||||
|
|
@ -122,7 +123,6 @@ namespace NovetusLauncher
|
|||
this.label27 = new System.Windows.Forms.Label();
|
||||
this.label28 = new System.Windows.Forms.Label();
|
||||
this.textBox5 = new System.Windows.Forms.TextBox();
|
||||
this.checkBox2 = new System.Windows.Forms.CheckBox();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
|
|
@ -372,6 +372,16 @@ namespace NovetusLauncher
|
|||
this.tabPage2.ToolTipText = "Start a server for other players to play";
|
||||
this.tabPage2.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// checkBox2
|
||||
//
|
||||
this.checkBox2.Location = new System.Drawing.Point(293, 180);
|
||||
this.checkBox2.Name = "checkBox2";
|
||||
this.checkBox2.Size = new System.Drawing.Size(104, 36);
|
||||
this.checkBox2.TabIndex = 53;
|
||||
this.checkBox2.Text = "Disable Teapot Turret";
|
||||
this.checkBox2.UseVisualStyleBackColor = true;
|
||||
this.checkBox2.CheckedChanged += new System.EventHandler(this.CheckBox2CheckedChanged);
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
|
|
@ -1081,16 +1091,6 @@ namespace NovetusLauncher
|
|||
this.textBox5.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
this.textBox5.TextChanged += new System.EventHandler(this.TextBox5TextChanged);
|
||||
//
|
||||
// checkBox2
|
||||
//
|
||||
this.checkBox2.Location = new System.Drawing.Point(293, 180);
|
||||
this.checkBox2.Name = "checkBox2";
|
||||
this.checkBox2.Size = new System.Drawing.Size(104, 36);
|
||||
this.checkBox2.TabIndex = 53;
|
||||
this.checkBox2.Text = "Disable Teapot Turret";
|
||||
this.checkBox2.UseVisualStyleBackColor = true;
|
||||
this.checkBox2.CheckedChanged += new System.EventHandler(this.CheckBox2CheckedChanged);
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
|
|
|
|||
|
|
@ -177,10 +177,10 @@ namespace NovetusLauncher
|
|||
{
|
||||
string[] lines = File.ReadAllLines("info.txt"); //File is in System.IO
|
||||
string version = lines[0];
|
||||
string[] defaultclient = File.ReadAllLines("info.txt");
|
||||
string defcl = defaultclient[1];
|
||||
GlobalVars.DefaultClient = defcl;
|
||||
GlobalVars.DefaultClient = lines[1];
|
||||
GlobalVars.DefaultMap = lines[2];
|
||||
GlobalVars.SelectedClient = GlobalVars.DefaultClient;
|
||||
GlobalVars.Map = GlobalVars.DefaultMap;
|
||||
ConsolePrint("Novetus version " + version + " loaded. Initializing config.", 4);
|
||||
if (File.Exists("changelog.txt"))
|
||||
{
|
||||
|
|
@ -195,14 +195,19 @@ namespace NovetusLauncher
|
|||
ConsolePrint("WARNING 1 - config.txt not found. Creating one with default values.", 5);
|
||||
WriteConfigValues();
|
||||
}
|
||||
if (!File.Exists("config_customization.txt"))
|
||||
{
|
||||
ConsolePrint("WARNING 2 - config_customization.txt not found. Creating one with default values.", 5);
|
||||
WriteCustomizationValues();
|
||||
}
|
||||
if (!File.Exists("servers.txt"))
|
||||
{
|
||||
ConsolePrint("WARNING 2 - servers.txt not found. Creating empty file.", 5);
|
||||
ConsolePrint("WARNING 3 - servers.txt not found. Creating empty file.", 5);
|
||||
File.Create("servers.txt").Dispose();
|
||||
}
|
||||
if (!File.Exists("ports.txt"))
|
||||
{
|
||||
ConsolePrint("WARNING 3 - ports.txt not found. Creating empty file.", 5);
|
||||
ConsolePrint("WARNING 4 - ports.txt not found. Creating empty file.", 5);
|
||||
File.Create("ports.txt").Dispose();
|
||||
}
|
||||
label5.Text = GlobalVars.BasePath;
|
||||
|
|
@ -275,6 +280,12 @@ namespace NovetusLauncher
|
|||
ConsolePrint("Config Saved.", 3);
|
||||
}
|
||||
|
||||
void WriteCustomizationValues()
|
||||
{
|
||||
LauncherFuncs.WriteCustomizationValues("config_customization.txt");
|
||||
ConsolePrint("Config Saved.", 3);
|
||||
}
|
||||
|
||||
void ReadClientValues(string ClientName)
|
||||
{
|
||||
string clientpath = GlobalVars.ClientDir + @"\\" + ClientName + @"\\clientinfo.txt";
|
||||
|
|
@ -625,29 +636,13 @@ namespace NovetusLauncher
|
|||
}
|
||||
string quote = "\"";
|
||||
string args = "";
|
||||
string md5dir = SecurityFuncs.CalculateMD5(Assembly.GetExecutingAssembly().Location);
|
||||
if (!GlobalVars.FixScriptMapMode)
|
||||
{
|
||||
if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == true)
|
||||
{
|
||||
args = "-script " + quote + "dofile('" + luafile + "'); _G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "','" + GlobalVars.loadtext + ",'" + GlobalVars.SelectedClientMD5 + "','" + md5dir + "','" + GlobalVars.SelectedClientScriptMD5 + "');" + quote;
|
||||
}
|
||||
else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == true)
|
||||
{
|
||||
args = "-script " + quote + "dofile('" + luafile + "'); _G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'Player','" + GlobalVars.loadtext + ",'" + GlobalVars.SelectedClientMD5 + "','" + md5dir + "','" + GlobalVars.SelectedClientScriptMD5 + "');" + quote;
|
||||
}
|
||||
else if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == false)
|
||||
{
|
||||
args = "-script " + quote + "dofile('" + luafile + "'); _G.CSConnect(0,'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "','" + GlobalVars.loadtext + ",'" + GlobalVars.SelectedClientMD5 + "','" + md5dir + "','" + GlobalVars.SelectedClientScriptMD5 + "');" + quote;
|
||||
}
|
||||
else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == false)
|
||||
{
|
||||
args = "-script " + quote + "dofile('" + luafile + "'); _G.CSConnect(0,'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'Player','" + GlobalVars.loadtext + ",'" + GlobalVars.SelectedClientMD5 + "','" + md5dir + "','" + GlobalVars.SelectedClientScriptMD5 + "');" + quote;
|
||||
}
|
||||
args = "-script " + quote + "dofile('" + luafile + "'); " + ScriptGenerator.GetScriptFuncForType(ScriptGenerator.ScriptType.Client, GlobalVars.SelectedClient) + quote;
|
||||
}
|
||||
else
|
||||
{
|
||||
ScriptGenerator.GenerateScriptForClient(ScriptGenerator.ScriptType.Client);
|
||||
ScriptGenerator.GenerateScriptForClient(ScriptGenerator.ScriptType.Client, GlobalVars.SelectedClient);
|
||||
args = "-script " + quote + luafile + quote;
|
||||
}
|
||||
try
|
||||
|
|
@ -734,26 +729,11 @@ namespace NovetusLauncher
|
|||
string args = "";
|
||||
if (!GlobalVars.FixScriptMapMode)
|
||||
{
|
||||
if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == true)
|
||||
{
|
||||
args = quote + mapfile + "\" -script \"dofile('" + luafile + "'); _G.CSSolo(" + GlobalVars.UserID + ",'" + GlobalVars.PlayerName + "','" + GlobalVars.loadtext + ");" + quote;
|
||||
}
|
||||
else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == true)
|
||||
{
|
||||
args = quote + mapfile + "\" -script \"dofile('" + luafile + "'); _G.CSSolo(" + GlobalVars.UserID + ",'Player','" + GlobalVars.loadtext + ");" + quote;
|
||||
}
|
||||
else if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == false)
|
||||
{
|
||||
args = quote + mapfile + "\" -script \"dofile('" + luafile + "'); _G.CSSolo(0,'" + GlobalVars.PlayerName + "','" + GlobalVars.loadtext + ");" + quote;
|
||||
}
|
||||
else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == false )
|
||||
{
|
||||
args = quote + mapfile + "\" -script \"dofile('" + luafile + "'); _G.CSSolo(0,'Player','" + GlobalVars.loadtext + ");" + quote;
|
||||
}
|
||||
args = quote + mapfile + "\" -script \"dofile('" + luafile + "'); " + ScriptGenerator.GetScriptFuncForType(ScriptGenerator.ScriptType.Solo, GlobalVars.SelectedClient) + quote;
|
||||
}
|
||||
else
|
||||
{
|
||||
ScriptGenerator.GenerateScriptForClient(ScriptGenerator.ScriptType.Solo);
|
||||
ScriptGenerator.GenerateScriptForClient(ScriptGenerator.ScriptType.Solo, GlobalVars.SelectedClient);
|
||||
args = "-script " + quote + luafile + quote + " " + quote + mapfile + quote;
|
||||
}
|
||||
try
|
||||
|
|
@ -803,14 +783,13 @@ namespace NovetusLauncher
|
|||
}
|
||||
string quote = "\"";
|
||||
string args = "";
|
||||
string md5dir = SecurityFuncs.CalculateMD5(Assembly.GetExecutingAssembly().Location);
|
||||
if (!GlobalVars.FixScriptMapMode)
|
||||
{
|
||||
args = quote + mapfile + "\" -script \"dofile('" + luafile + "'); _G.CSServer(" + GlobalVars.RobloxPort + "," + GlobalVars.PlayerLimit + ",'" + GlobalVars.SelectedClientMD5 + "','" + md5dir + "','" + GlobalVars.SelectedClientScriptMD5 + "'," + GlobalVars.DisableTeapotTurret.ToString().ToLower() + "); " + quote + (no3d ? " -no3d" : "");
|
||||
args = quote + mapfile + "\" -script \"dofile('" + luafile + "'); " + ScriptGenerator.GetScriptFuncForType(ScriptGenerator.ScriptType.Server, GlobalVars.SelectedClient) + quote + (no3d ? " -no3d" : "");
|
||||
}
|
||||
else
|
||||
{
|
||||
ScriptGenerator.GenerateScriptForClient(ScriptGenerator.ScriptType.Server);
|
||||
ScriptGenerator.GenerateScriptForClient(ScriptGenerator.ScriptType.Server, GlobalVars.SelectedClient);
|
||||
args = "-script " + quote + luafile + quote + (no3d ? " -no3d" : "") + " " + quote + mapfile + quote;
|
||||
}
|
||||
try
|
||||
|
|
@ -851,11 +830,11 @@ namespace NovetusLauncher
|
|||
string args = "";
|
||||
if (!GlobalVars.FixScriptMapMode)
|
||||
{
|
||||
args = quote + mapfile + "\" -script \"dofile('" + luafile + "');" + quote;
|
||||
args = quote + mapfile + "\" -script \"dofile('" + luafile + "'); " + ScriptGenerator.GetScriptFuncForType(ScriptGenerator.ScriptType.Studio, GlobalVars.SelectedClient) + quote;
|
||||
}
|
||||
else
|
||||
{
|
||||
ScriptGenerator.GenerateScriptForClient(ScriptGenerator.ScriptType.Studio);
|
||||
ScriptGenerator.GenerateScriptForClient(ScriptGenerator.ScriptType.Studio, GlobalVars.SelectedClient);
|
||||
args = "-script " + quote + luafile + quote + " " + quote + mapfile + quote;
|
||||
}
|
||||
try
|
||||
|
|
|
|||
|
|
@ -1,795 +0,0 @@
|
|||
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.roblox.com/roblox.xsd" version="4">
|
||||
<External>null</External>
|
||||
<External>nil</External>
|
||||
<Item class="Model" referent="RBX0">
|
||||
<Properties>
|
||||
<token name="Controller">7</token>
|
||||
<bool name="ControllerFlagShown">true</bool>
|
||||
<CoordinateFrame name="ModelInPrimary">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
<R00>1</R00>
|
||||
<R01>0</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0</R10>
|
||||
<R11>1</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>1</R22>
|
||||
</CoordinateFrame>
|
||||
<string name="Name">erik.cassel</string>
|
||||
<Ref name="PrimaryPart">RBX1</Ref>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
<Item class="Part" referent="RBX1">
|
||||
<Properties>
|
||||
<bool name="Anchored">false</bool>
|
||||
<float name="BackParamA">-0.5</float>
|
||||
<float name="BackParamB">0.5</float>
|
||||
<token name="BackSurface">0</token>
|
||||
<token name="BackSurfaceInput">0</token>
|
||||
<float name="BottomParamA">-0.5</float>
|
||||
<float name="BottomParamB">0.5</float>
|
||||
<token name="BottomSurface">4</token>
|
||||
<token name="BottomSurfaceInput">0</token>
|
||||
<int name="BrickColor">24</int>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>0</X>
|
||||
<Y>9.5</Y>
|
||||
<Z>-0.5</Z>
|
||||
<R00>-1</R00>
|
||||
<R01>0</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0</R10>
|
||||
<R11>1</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>-1</R22>
|
||||
</CoordinateFrame>
|
||||
<bool name="CanCollide">true</bool>
|
||||
<token name="Controller">0</token>
|
||||
<bool name="ControllerFlagShown">true</bool>
|
||||
<bool name="DraggingV1">false</bool>
|
||||
<float name="Elasticity">0.5</float>
|
||||
<token name="FormFactor">0</token>
|
||||
<float name="Friction">0.300000012</float>
|
||||
<float name="FrontParamA">-0.5</float>
|
||||
<float name="FrontParamB">0.5</float>
|
||||
<token name="FrontSurface">0</token>
|
||||
<token name="FrontSurfaceInput">0</token>
|
||||
<float name="LeftParamA">-0.5</float>
|
||||
<float name="LeftParamB">0.5</float>
|
||||
<token name="LeftSurface">0</token>
|
||||
<token name="LeftSurfaceInput">0</token>
|
||||
<bool name="Locked">true</bool>
|
||||
<string name="Name">Head</string>
|
||||
<float name="Reflectance">0</float>
|
||||
<float name="RightParamA">-0.5</float>
|
||||
<float name="RightParamB">0.5</float>
|
||||
<token name="RightSurface">0</token>
|
||||
<token name="RightSurfaceInput">0</token>
|
||||
<Vector3 name="RotVelocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<float name="TopParamA">-0.5</float>
|
||||
<float name="TopParamB">0.5</float>
|
||||
<token name="TopSurface">0</token>
|
||||
<token name="TopSurfaceInput">0</token>
|
||||
<float name="Transparency">0</float>
|
||||
<Vector3 name="Velocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<bool name="archivable">true</bool>
|
||||
<token name="shape">1</token>
|
||||
<Vector3 name="size">
|
||||
<X>2</X>
|
||||
<Y>1</Y>
|
||||
<Z>1</Z>
|
||||
</Vector3>
|
||||
</Properties>
|
||||
<Item class="SpecialMesh" referent="RBX2">
|
||||
<Properties>
|
||||
<Content name="MeshId"><null></null></Content>
|
||||
<token name="MeshType">0</token>
|
||||
<string name="Name">Mesh</string>
|
||||
<Vector3 name="Scale">
|
||||
<X>1.25</X>
|
||||
<Y>1.25</Y>
|
||||
<Z>1.25</Z>
|
||||
</Vector3>
|
||||
<Content name="TextureId"><null></null></Content>
|
||||
<Vector3 name="VertexColor">
|
||||
<X>1</X>
|
||||
<Y>1</Y>
|
||||
<Z>1</Z>
|
||||
</Vector3>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
<Item class="Decal" referent="RBX3">
|
||||
<Properties>
|
||||
<token name="Face">5</token>
|
||||
<string name="Name">face</string>
|
||||
<float name="Shiny">20</float>
|
||||
<float name="Specular">0</float>
|
||||
<Content name="Texture"><url>rbxasset://textures\face.png</url></Content>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
<Item class="Part" referent="RBX4">
|
||||
<Properties>
|
||||
<bool name="Anchored">false</bool>
|
||||
<float name="BackParamA">-0.5</float>
|
||||
<float name="BackParamB">0.5</float>
|
||||
<token name="BackSurface">0</token>
|
||||
<token name="BackSurfaceInput">0</token>
|
||||
<float name="BottomParamA">-0.5</float>
|
||||
<float name="BottomParamB">0.5</float>
|
||||
<token name="BottomSurface">4</token>
|
||||
<token name="BottomSurfaceInput">0</token>
|
||||
<int name="BrickColor">23</int>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>0</X>
|
||||
<Y>8</Y>
|
||||
<Z>-0.5</Z>
|
||||
<R00>-1</R00>
|
||||
<R01>0</R01>
|
||||
<R02>-0</R02>
|
||||
<R10>-0</R10>
|
||||
<R11>1</R11>
|
||||
<R12>-0</R12>
|
||||
<R20>-0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>-1</R22>
|
||||
</CoordinateFrame>
|
||||
<bool name="CanCollide">true</bool>
|
||||
<token name="Controller">0</token>
|
||||
<bool name="ControllerFlagShown">true</bool>
|
||||
<bool name="DraggingV1">false</bool>
|
||||
<float name="Elasticity">0.5</float>
|
||||
<token name="FormFactor">0</token>
|
||||
<float name="Friction">0.300000012</float>
|
||||
<float name="FrontParamA">-0.5</float>
|
||||
<float name="FrontParamB">0.5</float>
|
||||
<token name="FrontSurface">0</token>
|
||||
<token name="FrontSurfaceInput">0</token>
|
||||
<float name="LeftParamA">0</float>
|
||||
<float name="LeftParamB">0</float>
|
||||
<token name="LeftSurface">2</token>
|
||||
<token name="LeftSurfaceInput">0</token>
|
||||
<bool name="Locked">true</bool>
|
||||
<string name="Name">Torso</string>
|
||||
<float name="Reflectance">0</float>
|
||||
<float name="RightParamA">0</float>
|
||||
<float name="RightParamB">0</float>
|
||||
<token name="RightSurface">2</token>
|
||||
<token name="RightSurfaceInput">0</token>
|
||||
<Vector3 name="RotVelocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<float name="TopParamA">-0.5</float>
|
||||
<float name="TopParamB">0.5</float>
|
||||
<token name="TopSurface">3</token>
|
||||
<token name="TopSurfaceInput">0</token>
|
||||
<float name="Transparency">0</float>
|
||||
<Vector3 name="Velocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<bool name="archivable">true</bool>
|
||||
<token name="shape">1</token>
|
||||
<Vector3 name="size">
|
||||
<X>2</X>
|
||||
<Y>2</Y>
|
||||
<Z>1</Z>
|
||||
</Vector3>
|
||||
</Properties>
|
||||
<Item class="Decal" referent="RBX5">
|
||||
<Properties>
|
||||
<token name="Face">5</token>
|
||||
<string name="Name">roblox</string>
|
||||
<float name="Shiny">20</float>
|
||||
<float name="Specular">0</float>
|
||||
<Content name="Texture"><binary>iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAAK3RFWHRDcmVhdGlvbiBUaW1l
|
||||
AFR1ZSA0IE9jdCAyMDA1IDEyOjA4OjU2IC0wODAwjyq8YAAAAAd0SU1FB9UKBBMOFj/CLTwA
|
||||
AAAJcEhZcwAAHsIAAB7CAW7QdT4AAAAEZ0FNQQAAsY8L/GEFAAAYfklEQVR42u3dCXxU1b0H
|
||||
8N+dfTKTZLKRPWxhE0UUQVllrSDu2LovrQjPSi2tW6346mtdWhG1reKG9VVFrX70U1d8FhG0
|
||||
LCqoqICyJkACJCRkkpnMPvedc2cymSSzhKWl4O/7+QwzmTn33nPv3HPO/5x75gIQERERERER
|
||||
ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER
|
||||
EREREREREREREREREREREREREREREREREREdX5SDSbxzzs9U75NPAIHA0c53WrqBA1Ewfz6y
|
||||
zjkHYbcbe267Fa0LHz/a2Tpqsh955OeFc+f+Kf69qkmTWvwffGBPtkz/gzw/6NijO9oZIKKj
|
||||
p1s1vOv11wy1F81wiZdm+bcqF9QdwbojHO763uGsP259+unTzwu9996TCIWKoYjdVY5Qo6aq
|
||||
kUfnt8X6lc7bSJL2sPazm8dMFenachPfom85+eRl6vr1E7osG5dXRgDHv259wVUjRy7zr16t
|
||||
nSwhmw2GVavgGDTwyORAnGsH7PZYt8LTpxLlb/4dof79Dn2nGhvh/tlN8L36avtmdHrkOJug
|
||||
mE1HJNvh5ma4z78AwZUrY+8Fsx3Ir9vbpQJQfT64LpqB4D/+0f5eaSnsr70G4ylDu1YY3eCe
|
||||
dxf8oovTVlgbX1iMvj+6uGu6d96Ff8YMrcLIeeRhR8HcXzj3PbPoTOd1Mz+Uh0oufUCk6Ttl
|
||||
UiRf7lY05eVp6VkBHP+69QVvjjT68OsNaK6uwaDSHkc0Ew1z5iD82GPw6I3Y9MEqnHXmaYe9
|
||||
zrDfj/3iRFZcLi3zX//qbky6/zcplwlC7d7Ko7yr18AzapT2utVkgXf5P9F35KkJ06p796Gp
|
||||
pEQrsHV2B/QbNqB/RTHCB7PBTpqvuRah556DV7yu/exrnHXaiWgQ+9B5L7yzZsPz9NMwDh26
|
||||
unjhYxN3jjvzAIJBi/zsk+kzMO3NV6BviwB8XtRbMwCDwdc/ELAc9hdB/9EMB5P4yx7lOCs3
|
||||
K2WaLd9uSb8iGWUaDKis7AWdbP127dLeDouT0KA7Mo2O6vHEoooWgxl5E8YnTysK5e7t1Wht
|
||||
9aZdb2HvctjtGdprpaGhfb9LemFEn4qky/nlPkZb66qhwzEp13HY+2gZMwZuUQEYxeutr76G
|
||||
iacMEn2ert0A46xZ8Ih0wW3b+u+64MIXRHdILoJmWxb6z/1Z5DuIav7VHVo+zcOG3YE1a47I
|
||||
d0H/udJWAP5f/1qpuu8+7fU+ezbyrBY4U6RvbDiQfqviBFONcaG4CKc14kTUHaEKQJzkUKL9
|
||||
5ICIXDJ690qZvKXJiRanK+1qc8uKY68Vb3uF0ZjlQKYo1KEky4VbWmKvncWlcGRY0XqYu2jo
|
||||
2VN71ovHgY3fIpwkgNGfNky26FBbWvJgNs9oq4j8JjMKR57eoQvi/+AD7dnx+/uXYfwE0PEt
|
||||
bQVg3LEj9rr6hJPTrnDAmNO7teGarBzsr61BD5sV/u82axmx+UX4ef0svDtvHsr69TnknTIH
|
||||
fMhf8PtYBOC2Z6LckZk0fbjpAApPG4qSbqz740efwbQbfxxZrqYm9r6+rAyZRiOaknQjdFVV
|
||||
7ce0uARGraKLpA2Liuq7NZ/DWVefdLtBoxknjTsd2Zm22Htq3b7Y66nvvIpVX92JkaeeCFeC
|
||||
PJhuvQX+u/8H2L9f+zskCn3dG+9ikK09yvc++ijUr7+GeerU/80eP2H9IX8BdMxI3wW4//5c
|
||||
vPSSdkqZ+/RKm7y7MwR8op/psJgjmWjYH3t/wqZ10F9xYdKWtLvi+9bN9iwUZNmTJxYFL9xp
|
||||
mUS8oiLJOXFw+zailaPWfhaVpDyY4Wg3R6YJZ2drrXbb9jy/vBlFf/wjytNsf/FlszHzhYUi
|
||||
yo+02IGq6thn2WoI7/3Xz3HGP5dAMRm7VAG2O++MVABRn//0l5g6Zljsb7W+Hi033QTFbt9X
|
||||
seipn6CsAnT8S1sBOHdW95fPsmfZo8+ht8od5ObCeeNNMLX1V/3+9s9EK6obNgy6nJxDW3dr
|
||||
K4Lr1kF1tYfz4bw82M0muJMsEmhsTLlKJT8fuquugkNEJsW5cfmKFmpZmNWKcvhSrCO0ZWvs
|
||||
taOsqOP2lyyJPKfbtz21CIloQa/Ta38G6ztGDBd9tgzLVqzBpCnjukYBhvaveuuAkzDuwXs7
|
||||
9P0bhgyRXbNQ3pIlw5WyioMbDaVjVtoKINjQoI36yVPFkJGRspVU1TTnjSjUSu/eMJw0BAWD
|
||||
BnT5OKzXIzRhIjJkn9VmwyHx+bTtBN56SxsHkEImc+plvIkH/1SrFRCVnlFWSCcPgc5o7Jhf
|
||||
OdCISCCvs6TbRiStPH56U6dLkaFuxjudLmGq7o5VmvyOmtd/jdDE0QkHAyG2GxTdIsOoke2j
|
||||
/oL/q6+gimOg5OR8Y9DrD3dogo4haSsAT+0ebaRJtjm2wh6HftlKnHBK30oYZ16HjJnX48QE
|
||||
J2jQbIHvnvtQMvzUQ9hAO/+WzXC+/74WDWjrzUoz4u5MMqwpWn710stg/cVc6G0ZXfN7IDLg
|
||||
KSsAU07qbeiaImnl8bNmd7qSEh8BpVqH7DrEHTe1UwQgv8zaF15C4MbroFjNXboBiljef6AJ
|
||||
GbfeAqupvTJzLX4RaGqC4fLLX8kaNaoB9L2RdhpaeN06rTSGRPvSq29ZyjA30ey0cE4ulMsv
|
||||
R+6XXyL/s0+RPXs2jPrEm/3kqutx8mEWfsnUrz9MM2fGdtBdVJwyfTBuMC2mb19kbN6MvHm/
|
||||
Tlj41WAQ4d2RQUAZumcWF4rn5BFQKFpYZVsvK4sOMYcr/dUHyS72Qx8/aSjaBYl3wfqVeP31
|
||||
JUjUgcpYsABbH1qIfgP7xt7zbd2K0IPzoRQWbum1ePH9h33w6ZiSNgIIbdqkTflrFSder4Kc
|
||||
1BGAKBQakVZ/6qmitZ+JjGuugV6G0km0VShySdcpw7t8LrfnbPWJvm+CMFl0OUTICkdG1/kq
|
||||
pgwrZLsqi6RFFM5U+VbiRuiDontive02WC+9BHqDvmt+RbjetKsG9scehbJ7V3QfFGQXFyGV
|
||||
cHPkMqCsLGQEEIqrLDqH8onI9lonIpIOEkQucj+V229Hw3lToM+0ddhv01VX4sz4tOKYNo84
|
||||
XXvR89lnRymKwr7/90zaCiC8bZvWWXfr9CjIzITsySaLAmSr6DOaYHz2L7COHYuQwwG3uWvf
|
||||
2O8PoXHPXug+W4vARysgT2tV0SFTKxiiHxuX1vPGG9j758eh+BJvtcWWCfMDD6D/kI5TkwP7
|
||||
6rRnuT5fSUmX9XbId02t9vm+W+9A5ZwbANFCh+R4RPRzryhF3poatK5YCeXdt2H77BP46+ti
|
||||
yzebMpBls2kVTqJgXg2IaCHaXXAZTDCJiCIQn7at4kzDXFLcYf2hJMdk+N4dWPL6e5hyzYyk
|
||||
MYncvuemn4tKpAnm6dNvNo4enXoklI5LaSsAUagjPwCSrboI3WWhSHZSqdF0KC6BrrRUK0Rq
|
||||
gjRyHYFgCDoR+gbarn1r69fH0rQJudwIigKq8yUeqPPbs0UJ7xp8q/EDawZjl/V2INOK7Ydy
|
||||
87Tr+eFOk5HCYsmQyG+wpQW6vXtFy787Nqinfa7TRQfVUkxiinaPZEXX/kOqg5v0pDMaurWc
|
||||
NRSEWxw3NUVa+Vm4rk7Ll65Xr3olO/twZiXTMSp9BdDUpHUnm+wOmEUFIK/YJ4sAFNGSLT9x
|
||||
BG6YOAEdJgSLs62lsQm+L7+E+533YF2xAgUb18MYV4iCegOMZaXapbq2YWhdQwOMV16BVFek
|
||||
y8TjnWeew4Dh8ztcRtPX79dO/YD411FRoc1eTDa8bd63D1WOHii4/Ap4Rdn0xH0WWrYcLffc
|
||||
D8fqj5Hn9SRcfn+mA4WOLBFhqGLZBAVufwMM0TDfabKi3GLV0rUF8AZ5dcGXcnQF++1ZKB92
|
||||
ElrEcm0lVe/3JyzeTqMZFaOHi/woKX/doAZCWtdCDQTSTUGg41T6iUDRlqtaVADy92LNqc4o
|
||||
VysOiMIgk/ji0qnbqgDRp85b9ymS9ZSDovU3ZWdqy7UVBaXFhQyk5xL971a140SezJrd2t9e
|
||||
owVZ+XnwqMkrLpNo0bO8bqzduAPnlBehKf7DkWfA8ueHEFy7DoYPlgLLl3cZfGvJykam1QKX
|
||||
qiTchr66GobocWzMykHPDKs4jqo2diB5P/0MxuqqlPvoG3IK8spLtf1oY0tw9UDGUBseWojB
|
||||
QwbB2+m7qq+qQV5FMXRtEcgLz8PoeBPeRYt+q86du0B55JHu9UXouNHtHwPtKSjRCpQ7RfTp
|
||||
21mDUV+uxkfba1DcuxQH2tJW9gLWrETL6jUwPf887M8/1+Xau8dogkMUpGaxTNuQmEGE/ekq
|
||||
AHnGmop6aMuEo9tTRbhuFa2uPM09JhPshflaXhJ1ImT/3FZfjx4eFyovuwDLpkxF89nTUXLG
|
||||
CJQM6IWgKNgYPFh7NF9ztYhyQlA3bUL25ZfB/M032jq8ubkI2SxoURJXMsq3m9E2TOkX++k3
|
||||
6CEnJjuV6Bcw5KTII434+EPx+WEVx7Dz9ZTlk89Fn+uvhEe790HHzwpGn44Pn3sFIyaNinxm
|
||||
y4D1+lnQPb7QtKu6+l7xzu3dPR/o+NDtu1G0ZjsQUCOFKJDgIdsi/Z4aODxu+BcuxM5tuyAn
|
||||
38bSi1bH16sX3BddiAN3zkPzVVcj2Kf9cpQWAVgM2npi6+3G4Jjs6YfsmV2WU1oj1YjXZIHR
|
||||
bNIii4T59ooi6/FoUYtDVAI9v1qHylcWI+uRh7DrpddQu3Y9XPVNCIZUrbLx6RQEigrhmzKl
|
||||
Pe+OHG1WnSfJNpSW9uHHHJcTu/Y3a6F3jogCbDj4h1U8DMuWaV2ueG5rBvQXX6iNvSTKh7HZ
|
||||
ifCS9+APhWLvNZ57LlTx3QQ++WSsesMNvEPU90y3IwCfaJ1lYZMFzZjgc1mArPX7kOX3oHbx
|
||||
YuyffgEqK8tR25Zehp3lZdrDe8YoGEUobZGDadu3acuH9AZYRQUgT8q201rpxgw5VfZzRQUQ
|
||||
iGvt1FA49ks9v9msVQCtceuNF/YHYhNxsnytcHy3AUHxaDbbsLHZC/2UEAxZuTDmZGtpZEWm
|
||||
LyiAf8xY4OGHI3kXx0bOz/eriQcarXGX+RytLdjc5MZpIr+OaLfkYK+9yaPiXb26y/HxWkQF
|
||||
MG0qVBFhJNpXk9sF9aOPEFTVWHDgmzwZefKKR23tCHEcZAXAwcDvkZQVQKC29uMdJSXaCXpg
|
||||
8DC4xFnTmuJszRF9XXliDdpbjfpzpuCNu+7BxbfPwdrOCeVMuPPPQ8O558Dx1CKU/3Q2fKKv
|
||||
XmC1olGsv21wzOFsRjp+oxlKjgPOuHxZ5E9vo4NqXpsNVrsdstfuT5D3jLq9HS7DybNflgKH
|
||||
z42zX3oafvFoyshCVc++sL3+GgoG9NYqtZDbq12+1CYalZRpy8rpPMEE28jati32uszrwtbL
|
||||
foQn5/038vr1OaRb7thEAR71+65zdj5a+Cwqy4o6HIs2mdE7F12wdgVeXLoKJ04dF6l4DAY0
|
||||
iIgs/+7f6Hds3/5X8c4Vh5AlOkalrACaP/98jHyWLXhWSb7oAqjwpZi16t24BcVPPTXHP3/+
|
||||
rIItW4ZMnfcLLNr4HWY8MR/bdXp4lc6bU7D34hmoEBVAY6YDlXoFTn9QhOt6qKJkBPelv7dA
|
||||
q8UKS74IyeNKd0i2uNHfJXjyCmAy69HiS1xzmVLcvyAcPUD5rSJk37oJm51uZImugE80vDnR
|
||||
gUCtABeWal0dd4IaJqQXlcT29p9UyxTjN38B/9UXad2eQ/rS1DB0nWZdvj/japReOA3eQNtW
|
||||
Oho8fXps+5k3zYX3609F5iPb/+7Ou5B77z0Ifvjhpf5ly24wTZyYvual40LKCsC/Y7v2LE/y
|
||||
zNJCuDziJPclbrPkBafsT1ehYMF9b5kqKp7e9eCDj2Lp0uuvfP4xvL9hA0qefwZ5PXtip79j
|
||||
N9Ma/UFNi2iljWEVjV7Rfw1FtrF3xGgUnDEGmQ37Em7TKULzDdfeCFtRGdxx1/hyozffkGtp
|
||||
zOuhNcvu1sT5tlbVxl439x+EQHFpwnRVpT1R1LsCDa2RcQ11527tfW1qb1EPNPvlNhJ0ocVb
|
||||
u2fNQVAWtm5O+OmOvBVLY6/r8ovg/cMCeDw6Ue913E+dDRg6YSz0ze2zBs/b+gUe+OuHGH7J
|
||||
5Fj6LQ8/gQFzrtNtu/mW18SfU7qVCTrmpawAWlet1p5lo+8or0SrX4E78aVw5Jh9sDTUw9S3
|
||||
crdS2S+sqursnZde9oXvby8vnPb5h9g0YRxWPfUWzp58ElY741q+2kioLmf0ycarydV+ArsN
|
||||
ufjo9Y8Td5JlCy+TKl2H9827I3Pr5cfuknKERLlLlG+LUbSi22q1MP7j6Rej8KXF+M6V/Kah
|
||||
e7X5yqLbYFVh3ROpOGTu/dnF2kWNZMfGPe48VInHkTRx/EBYN3+nvX7rsTdQbM2XV2G7sC9+
|
||||
DlmrV3Z4T8YOw3/7UzRP2wCdIbK/Oy77CfrNnQ39F59Pdi1dmm2fPNmZLg907OOoL9H3WMoK
|
||||
ILxqlfYsxwC+rtYj3xKCKRC5hB//KFdUeJoio+mKomidU/nDkp5/e/lx67XXjhZttX9g3W6c
|
||||
f8loPPHAIkzKCsWW9Ud/iOMJ6lHdqmJchgq9P279nq7b0x6iK+L1Kgk/t3zRfjNLd51L++FN
|
||||
b33HNOaAiiIRPdhXvq9FCtUnDEO+YoysL9lDLJchuhMOEQnY1n+hrV+2nwcOuJBjVJEXTpJX
|
||||
z5F/NAzThmfwpylXYvyEYfJmvl22G2j2Yuwts2PjIearr44dl8m1W7Hu2Rdjad1NwIonX9Q+
|
||||
2ztr1vKjfWLSv0fKQei224HLf54Z/gPYnn0TZxaaYYnrOMibgKxpDGLUDwYjZ/uWhPeSr71r
|
||||
Xqlr/oMbxZmWJefCP3PWJTjl4fmoN5fA+MQ9mPTAf8NpsWH+rx7HxB9fiQEZ6NKXTUde2vrW
|
||||
FUZIFMxpPxoJXbS/vSsrDy//5hlcevV5sBna17nFrSK46EGMvvt2bQ+XDhwGy4uvYnDv3ikv
|
||||
y21yqci/fSYGvPiX2HvvDR2DugUv4AdDK2A6Ujc1TcEjdi1/YA+YRZfrngtuQL97/4jpFQbE
|
||||
b3qNCOBHjB0A+/b2Sdm9a2qMO3r1qkMgoE3v/ia3BKv/71voojcoyXS68MNx+doX2PebDSX6
|
||||
Ewfv+ZfvDB1VKc/WLb/7naredVfs7/0mC/ZkF3ZIk6EG0bOpDoZgZCZ+sv9MYv+rr9oa77jj
|
||||
E2zdqt1Uz2U0o8bRA/3374YSbaF8onLYbc9BqyXF/ftSqPA0Iae1RbvJJrKzYz+X9ej0Yr25
|
||||
8Joj8woNohdc1uqE3d0cy6x8bjBaRJ4Kk67fKJYrd9ZrNy+NJ3PfIvrS1Y6iI/c/D6VgFjFN
|
||||
//rIIKRO5HxDThGCho5jF33dDbC2uuK/DL/4bszON98Yue+881dGdxk7xbF2ZuZpCU5o2gN9
|
||||
IHKZRzds2KrKdetG/8t3ho6qlGerr6FBrR4tzoFvv9X+ljcFCen0nVagwhCWn0DVnXDC6sqN
|
||||
GxOeNKrPp2wdPLjUfNpp13pffvl3sp8QFOsyRpaNpJHviUpARgmHwqCGoBOViWnWLBTdfDN2
|
||||
T5uG8Pbt2qBXqMN6Ve1SmhI3ISbZ/nXaC21Ov65TjKC25V1b9t/xn+mIfYy7P4I/wXblsYjf
|
||||
P/s555xd8vbbS9TlH5qrbrn174G1a6dCO94KwtHLgcZwMJY+8/bb5hX/4YF7/w07Q0dRyqsA
|
||||
Rnljzrjf88sf9+rDKS5lWa1J/2cNxWyWZWT3rh/+ULvllCyKpk43+ZAnn1EUTKiHNxlN53DA
|
||||
2LMnlGhoK7el68Z60+5fsn2LPkzhw72X8aHpznZNY8fW4u23oYyf4KsaPz52vcCg/V+AXfdZ
|
||||
n5ub/i4lRERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE
|
||||
RERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE
|
||||
RERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE
|
||||
RERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE
|
||||
RERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE
|
||||
RERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE
|
||||
REREREREREREREREREREREREREREREREREREREREREREREREREREREREx6v/B5qI37vMmLq3
|
||||
AAAAAElFTkSuQmCC</binary></Content>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
<Item class="Part" referent="RBX6">
|
||||
<Properties>
|
||||
<bool name="Anchored">false</bool>
|
||||
<float name="BackParamA">-0.5</float>
|
||||
<float name="BackParamB">0.5</float>
|
||||
<token name="BackSurface">0</token>
|
||||
<token name="BackSurfaceInput">0</token>
|
||||
<float name="BottomParamA">-0.5</float>
|
||||
<float name="BottomParamB">0.5</float>
|
||||
<token name="BottomSurface">4</token>
|
||||
<token name="BottomSurfaceInput">0</token>
|
||||
<int name="BrickColor">24</int>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>1.5</X>
|
||||
<Y>8</Y>
|
||||
<Z>-0.5</Z>
|
||||
<R00>-1</R00>
|
||||
<R01>0</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0</R10>
|
||||
<R11>1</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>-1</R22>
|
||||
</CoordinateFrame>
|
||||
<bool name="CanCollide">false</bool>
|
||||
<token name="Controller">0</token>
|
||||
<bool name="ControllerFlagShown">true</bool>
|
||||
<bool name="DraggingV1">false</bool>
|
||||
<float name="Elasticity">0.5</float>
|
||||
<token name="FormFactor">0</token>
|
||||
<float name="Friction">0.300000012</float>
|
||||
<float name="FrontParamA">-0.5</float>
|
||||
<float name="FrontParamB">0.5</float>
|
||||
<token name="FrontSurface">0</token>
|
||||
<token name="FrontSurfaceInput">0</token>
|
||||
<float name="LeftParamA">-0.5</float>
|
||||
<float name="LeftParamB">0.5</float>
|
||||
<token name="LeftSurface">0</token>
|
||||
<token name="LeftSurfaceInput">0</token>
|
||||
<bool name="Locked">true</bool>
|
||||
<string name="Name">Left Arm</string>
|
||||
<float name="Reflectance">0</float>
|
||||
<float name="RightParamA">-0.5</float>
|
||||
<float name="RightParamB">0.5</float>
|
||||
<token name="RightSurface">0</token>
|
||||
<token name="RightSurfaceInput">0</token>
|
||||
<Vector3 name="RotVelocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<float name="TopParamA">-0.5</float>
|
||||
<float name="TopParamB">0.5</float>
|
||||
<token name="TopSurface">3</token>
|
||||
<token name="TopSurfaceInput">0</token>
|
||||
<float name="Transparency">0</float>
|
||||
<Vector3 name="Velocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<bool name="archivable">true</bool>
|
||||
<token name="shape">1</token>
|
||||
<Vector3 name="size">
|
||||
<X>1</X>
|
||||
<Y>2</Y>
|
||||
<Z>1</Z>
|
||||
</Vector3>
|
||||
</Properties>
|
||||
<Item class="Script" referent="RBX7">
|
||||
<Properties>
|
||||
<bool name="Disabled">false</bool>
|
||||
<Content name="LinkedSource"><null></null></Content>
|
||||
<string name="Name">Script</string>
|
||||
<string name="Source">while true do--while its told its true it will happen
|
||||
script.Parent.CanCollide=true--script.Parent.(whatever) meens that its talking about the script effecting the
|
||||
--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is
|
||||
--setting the setting to something else useing whatever unit it uses.
|
||||
wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it.
|
||||
script.Parent.CanCollide = false
|
||||
end</string>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
<Item class="Part" referent="RBX8">
|
||||
<Properties>
|
||||
<bool name="Anchored">false</bool>
|
||||
<float name="BackParamA">-0.5</float>
|
||||
<float name="BackParamB">0.5</float>
|
||||
<token name="BackSurface">0</token>
|
||||
<token name="BackSurfaceInput">0</token>
|
||||
<float name="BottomParamA">-0.5</float>
|
||||
<float name="BottomParamB">0.5</float>
|
||||
<token name="BottomSurface">4</token>
|
||||
<token name="BottomSurfaceInput">0</token>
|
||||
<int name="BrickColor">24</int>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>-1.5</X>
|
||||
<Y>8</Y>
|
||||
<Z>-0.5</Z>
|
||||
<R00>-1</R00>
|
||||
<R01>0</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0</R10>
|
||||
<R11>1</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>-1</R22>
|
||||
</CoordinateFrame>
|
||||
<bool name="CanCollide">false</bool>
|
||||
<token name="Controller">0</token>
|
||||
<bool name="ControllerFlagShown">true</bool>
|
||||
<bool name="DraggingV1">false</bool>
|
||||
<float name="Elasticity">0.5</float>
|
||||
<token name="FormFactor">0</token>
|
||||
<float name="Friction">0.300000012</float>
|
||||
<float name="FrontParamA">-0.5</float>
|
||||
<float name="FrontParamB">0.5</float>
|
||||
<token name="FrontSurface">0</token>
|
||||
<token name="FrontSurfaceInput">0</token>
|
||||
<float name="LeftParamA">-0.5</float>
|
||||
<float name="LeftParamB">0.5</float>
|
||||
<token name="LeftSurface">0</token>
|
||||
<token name="LeftSurfaceInput">0</token>
|
||||
<bool name="Locked">true</bool>
|
||||
<string name="Name">Right Arm</string>
|
||||
<float name="Reflectance">0</float>
|
||||
<float name="RightParamA">-0.5</float>
|
||||
<float name="RightParamB">0.5</float>
|
||||
<token name="RightSurface">0</token>
|
||||
<token name="RightSurfaceInput">0</token>
|
||||
<Vector3 name="RotVelocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<float name="TopParamA">-0.5</float>
|
||||
<float name="TopParamB">0.5</float>
|
||||
<token name="TopSurface">3</token>
|
||||
<token name="TopSurfaceInput">0</token>
|
||||
<float name="Transparency">0</float>
|
||||
<Vector3 name="Velocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<bool name="archivable">true</bool>
|
||||
<token name="shape">1</token>
|
||||
<Vector3 name="size">
|
||||
<X>1</X>
|
||||
<Y>2</Y>
|
||||
<Z>1</Z>
|
||||
</Vector3>
|
||||
</Properties>
|
||||
<Item class="Script" referent="RBX9">
|
||||
<Properties>
|
||||
<bool name="Disabled">false</bool>
|
||||
<Content name="LinkedSource"><null></null></Content>
|
||||
<string name="Name">Script</string>
|
||||
<string name="Source">while true do--while its told its true it will happen
|
||||
script.Parent.CanCollide=true--script.Parent.(whatever) meens that its talking about the script effecting the
|
||||
--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is
|
||||
--setting the setting to something else useing whatever unit it uses.
|
||||
wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it.
|
||||
script.Parent.CanCollide = false
|
||||
end</string>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
<Item class="Part" referent="RBX10">
|
||||
<Properties>
|
||||
<bool name="Anchored">false</bool>
|
||||
<float name="BackParamA">-0.5</float>
|
||||
<float name="BackParamB">0.5</float>
|
||||
<token name="BackSurface">0</token>
|
||||
<token name="BackSurfaceInput">0</token>
|
||||
<float name="BottomParamA">-0.5</float>
|
||||
<float name="BottomParamB">0.5</float>
|
||||
<token name="BottomSurface">0</token>
|
||||
<token name="BottomSurfaceInput">0</token>
|
||||
<int name="BrickColor">119</int>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>0.5</X>
|
||||
<Y>6</Y>
|
||||
<Z>-0.5</Z>
|
||||
<R00>-1</R00>
|
||||
<R01>0</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0</R10>
|
||||
<R11>1</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>-1</R22>
|
||||
</CoordinateFrame>
|
||||
<bool name="CanCollide">false</bool>
|
||||
<token name="Controller">0</token>
|
||||
<bool name="ControllerFlagShown">true</bool>
|
||||
<bool name="DraggingV1">false</bool>
|
||||
<float name="Elasticity">0.5</float>
|
||||
<token name="FormFactor">0</token>
|
||||
<float name="Friction">0.300000012</float>
|
||||
<float name="FrontParamA">-0.5</float>
|
||||
<float name="FrontParamB">0.5</float>
|
||||
<token name="FrontSurface">0</token>
|
||||
<token name="FrontSurfaceInput">0</token>
|
||||
<float name="LeftParamA">-0.5</float>
|
||||
<float name="LeftParamB">0.5</float>
|
||||
<token name="LeftSurface">0</token>
|
||||
<token name="LeftSurfaceInput">0</token>
|
||||
<bool name="Locked">true</bool>
|
||||
<string name="Name">Left Leg</string>
|
||||
<float name="Reflectance">0</float>
|
||||
<float name="RightParamA">-0.5</float>
|
||||
<float name="RightParamB">0.5</float>
|
||||
<token name="RightSurface">0</token>
|
||||
<token name="RightSurfaceInput">0</token>
|
||||
<Vector3 name="RotVelocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<float name="TopParamA">-0.5</float>
|
||||
<float name="TopParamB">0.5</float>
|
||||
<token name="TopSurface">3</token>
|
||||
<token name="TopSurfaceInput">0</token>
|
||||
<float name="Transparency">0</float>
|
||||
<Vector3 name="Velocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<bool name="archivable">true</bool>
|
||||
<token name="shape">1</token>
|
||||
<Vector3 name="size">
|
||||
<X>1</X>
|
||||
<Y>2</Y>
|
||||
<Z>1</Z>
|
||||
</Vector3>
|
||||
</Properties>
|
||||
<Item class="Script" referent="RBX11">
|
||||
<Properties>
|
||||
<bool name="Disabled">false</bool>
|
||||
<Content name="LinkedSource"><null></null></Content>
|
||||
<string name="Name">Script</string>
|
||||
<string name="Source">while true do--while its told its true it will happen
|
||||
script.Parent.CanCollide=true--script.Parent.(whatever) meens that its talking about the script effecting the
|
||||
--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is
|
||||
--setting the setting to something else useing whatever unit it uses .
|
||||
wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it.
|
||||
script.Parent.CanCollide=false--script.Parent.(whatever) meens that its talking about the script effecting the
|
||||
--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is
|
||||
--setting the setting to something else useing whatever unit it uses.
|
||||
wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it.
|
||||
end
|
||||
while true do--while its told its true it will happen
|
||||
script.Parent.CanCollide=true--script.Parent.(whatever) meens that its talking about the script effecting the
|
||||
--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is
|
||||
--setting the setting to something else useing whatever unit it uses .
|
||||
wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it.
|
||||
script.Parent.CanCollide=false--script.Parent.(whatever) meens that its talking about the script effecting the
|
||||
--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is
|
||||
--setting the setting to something else useing whatever unit it uses.
|
||||
wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it.
|
||||
end
|
||||
|
||||
</string>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
<Item class="Part" referent="RBX12">
|
||||
<Properties>
|
||||
<bool name="Anchored">false</bool>
|
||||
<float name="BackParamA">-0.5</float>
|
||||
<float name="BackParamB">0.5</float>
|
||||
<token name="BackSurface">0</token>
|
||||
<token name="BackSurfaceInput">0</token>
|
||||
<float name="BottomParamA">-0.5</float>
|
||||
<float name="BottomParamB">0.5</float>
|
||||
<token name="BottomSurface">0</token>
|
||||
<token name="BottomSurfaceInput">0</token>
|
||||
<int name="BrickColor">119</int>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>-0.5</X>
|
||||
<Y>6</Y>
|
||||
<Z>-0.5</Z>
|
||||
<R00>-1</R00>
|
||||
<R01>0</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0</R10>
|
||||
<R11>1</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>-1</R22>
|
||||
</CoordinateFrame>
|
||||
<bool name="CanCollide">false</bool>
|
||||
<token name="Controller">0</token>
|
||||
<bool name="ControllerFlagShown">true</bool>
|
||||
<bool name="DraggingV1">false</bool>
|
||||
<float name="Elasticity">0.5</float>
|
||||
<token name="FormFactor">0</token>
|
||||
<float name="Friction">0.300000012</float>
|
||||
<float name="FrontParamA">-0.5</float>
|
||||
<float name="FrontParamB">0.5</float>
|
||||
<token name="FrontSurface">0</token>
|
||||
<token name="FrontSurfaceInput">0</token>
|
||||
<float name="LeftParamA">-0.5</float>
|
||||
<float name="LeftParamB">0.5</float>
|
||||
<token name="LeftSurface">0</token>
|
||||
<token name="LeftSurfaceInput">0</token>
|
||||
<bool name="Locked">true</bool>
|
||||
<string name="Name">Right Leg</string>
|
||||
<float name="Reflectance">0</float>
|
||||
<float name="RightParamA">-0.5</float>
|
||||
<float name="RightParamB">0.5</float>
|
||||
<token name="RightSurface">0</token>
|
||||
<token name="RightSurfaceInput">0</token>
|
||||
<Vector3 name="RotVelocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<float name="TopParamA">-0.5</float>
|
||||
<float name="TopParamB">0.5</float>
|
||||
<token name="TopSurface">3</token>
|
||||
<token name="TopSurfaceInput">0</token>
|
||||
<float name="Transparency">0</float>
|
||||
<Vector3 name="Velocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<bool name="archivable">true</bool>
|
||||
<token name="shape">1</token>
|
||||
<Vector3 name="size">
|
||||
<X>1</X>
|
||||
<Y>2</Y>
|
||||
<Z>1</Z>
|
||||
</Vector3>
|
||||
</Properties>
|
||||
<Item class="Script" referent="RBX13">
|
||||
<Properties>
|
||||
<bool name="Disabled">false</bool>
|
||||
<Content name="LinkedSource"><null></null></Content>
|
||||
<string name="Name">Script</string>
|
||||
<string name="Source">while true do--while its told its true it will happen
|
||||
script.Parent.CanCollide=true--script.Parent.(whatever) meens that its talking about the script effecting the
|
||||
--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is
|
||||
--setting the setting to something else useing whatever unit it uses .
|
||||
wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it.
|
||||
script.Parent.CanCollide=false--script.Parent.(whatever) meens that its talking about the script effecting the
|
||||
--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is
|
||||
--setting the setting to something else useing whatever unit it uses.
|
||||
wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it.
|
||||
end
|
||||
while true do--while its told its true it will happen
|
||||
script.Parent.CanCollide=true--script.Parent.(whatever) meens that its talking about the script effecting the
|
||||
--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is
|
||||
--setting the setting to something else useing whatever unit it uses .
|
||||
wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it.
|
||||
script.Parent.CanCollide=false--script.Parent.(whatever) meens that its talking about the script effecting the
|
||||
--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is
|
||||
--setting the setting to something else useing whatever unit it uses.
|
||||
wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it.
|
||||
end
|
||||
|
||||
</string>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
<Item class="Humanoid" referent="RBX14">
|
||||
<Properties>
|
||||
<float name="Health">100</float>
|
||||
<bool name="Jump">false</bool>
|
||||
<float name="MaxHealth">100</float>
|
||||
<string name="Name">Humanoid</string>
|
||||
<bool name="Sit">false</bool>
|
||||
<bool name="Strafe">false</bool>
|
||||
<Vector3 name="TargetPoint">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<Vector3 name="WalkDirection">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<float name="WalkRotationalVelocity">0</float>
|
||||
<Ref name="WalkToPart">null</Ref>
|
||||
<Vector3 name="WalkToPoint">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
<Item class="Script" referent="RBX15">
|
||||
<Properties>
|
||||
<bool name="Disabled">false</bool>
|
||||
<Content name="LinkedSource"><null></null></Content>
|
||||
<string name="Name">Script</string>
|
||||
<string name="Source">function newSound(id)
|
||||
local sound = Instance.new("Sound")
|
||||
sound.SoundId = id
|
||||
sound.Parent = script.Parent.Head
|
||||
return sound
|
||||
end
|
||||
|
||||
sFallingDown = newSound("rbxasset://sounds/splat.wav")
|
||||
sFreeFalling = newSound("rbxasset://sounds/swoosh.wav")
|
||||
sGettingUp = newSound("rbxasset://sounds/hit.wav")
|
||||
sJumping = newSound("rbxasset://sounds/button.wav")
|
||||
sRunning = newSound("rbxasset://sounds/bfsl-minifigfoots1.mp3")
|
||||
sRunning.Looped = true
|
||||
|
||||
function onState(state, sound)
|
||||
if state then
|
||||
sound:play()
|
||||
else
|
||||
sound:pause()
|
||||
end
|
||||
end
|
||||
|
||||
function onRunning(speed)
|
||||
if speed>0 then
|
||||
sRunning:play()
|
||||
else
|
||||
sRunning:pause()
|
||||
end
|
||||
end
|
||||
|
||||
local h = script.Parent.Humanoid
|
||||
h.Died:connect(onDied)
|
||||
h.Running:connect(onRunning)
|
||||
h.Jumping:connect(function(state) onState(state, sJumping) end)
|
||||
h.GettingUp:connect(function(state) onState(state, sGettingUp) end)
|
||||
h.FreeFalling:connect(function(state) onState(state, sFreeFalling) end)
|
||||
h.FallingDown:connect(function(state) onState(state, sFallingDown) end)
|
||||
|
||||
-- regeneration
|
||||
while true do
|
||||
local s = wait(1)
|
||||
local health=h.Health
|
||||
if health>0 and health<h.MaxHealth then
|
||||
health = health + 0.01*s*h.MaxHealth
|
||||
if health*1.05 < h.MaxHealth then
|
||||
h.Health = health
|
||||
else
|
||||
h.Health = h.MaxHealth
|
||||
end
|
||||
end
|
||||
end
|
||||
</string>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
</roblox>
|
||||
|
|
@ -17,6 +17,24 @@ function newWaitForChild(newParent,name)
|
|||
end
|
||||
|
||||
function LoadCharacterNew(playerApp,newChar,RemoveTeapotTurret)
|
||||
if (playerApp==nil) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
else
|
||||
if ((playerApp:GetChildren() == 0) or (playerApp:GetChildren() == nil)) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
end
|
||||
end
|
||||
|
||||
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
|
||||
|
|
|
|||
|
|
@ -13,6 +13,24 @@ function newWaitForChild(newParent,name)
|
|||
end
|
||||
|
||||
function LoadCharacterNew(playerApp,newChar,RemoveTeapotTurret)
|
||||
if (playerApp==nil) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
else
|
||||
if ((playerApp:GetChildren() == 0) or (playerApp:GetChildren() == nil)) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
end
|
||||
end
|
||||
|
||||
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
|
||||
|
|
|
|||
|
|
@ -1,688 +0,0 @@
|
|||
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.roblox.com/roblox.xsd" version="4">
|
||||
<External>null</External>
|
||||
<External>nil</External>
|
||||
<Item class="Model" referent="RBX0">
|
||||
<Properties>
|
||||
<token name="Controller">7</token>
|
||||
<bool name="ControllerFlagShown">true</bool>
|
||||
<CoordinateFrame name="ModelInPrimary">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
<R00>1</R00>
|
||||
<R01>0</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0</R10>
|
||||
<R11>1</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>1</R22>
|
||||
</CoordinateFrame>
|
||||
<string name="Name">erik.cassel</string>
|
||||
<Ref name="PrimaryPart">RBX1</Ref>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
<Item class="Part" referent="RBX1">
|
||||
<Properties>
|
||||
<bool name="Anchored">false</bool>
|
||||
<float name="BackParamA">-0.5</float>
|
||||
<float name="BackParamB">0.5</float>
|
||||
<token name="BackSurface">0</token>
|
||||
<token name="BackSurfaceInput">0</token>
|
||||
<float name="BottomParamA">-0.5</float>
|
||||
<float name="BottomParamB">0.5</float>
|
||||
<token name="BottomSurface">4</token>
|
||||
<token name="BottomSurfaceInput">0</token>
|
||||
<int name="BrickColor">24</int>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>0</X>
|
||||
<Y>4.5</Y>
|
||||
<Z>-0.5</Z>
|
||||
<R00>-1</R00>
|
||||
<R01>0</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0</R10>
|
||||
<R11>1</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>-1</R22>
|
||||
</CoordinateFrame>
|
||||
<bool name="CanCollide">true</bool>
|
||||
<token name="Controller">0</token>
|
||||
<bool name="ControllerFlagShown">true</bool>
|
||||
<bool name="DraggingV1">false</bool>
|
||||
<float name="Elasticity">0.5</float>
|
||||
<token name="FormFactor">0</token>
|
||||
<float name="Friction">0.300000012</float>
|
||||
<float name="FrontParamA">-0.5</float>
|
||||
<float name="FrontParamB">0.5</float>
|
||||
<token name="FrontSurface">0</token>
|
||||
<token name="FrontSurfaceInput">0</token>
|
||||
<float name="LeftParamA">-0.5</float>
|
||||
<float name="LeftParamB">0.5</float>
|
||||
<token name="LeftSurface">0</token>
|
||||
<token name="LeftSurfaceInput">0</token>
|
||||
<bool name="Locked">true</bool>
|
||||
<string name="Name">Head</string>
|
||||
<float name="Reflectance">0</float>
|
||||
<float name="RightParamA">-0.5</float>
|
||||
<float name="RightParamB">0.5</float>
|
||||
<token name="RightSurface">0</token>
|
||||
<token name="RightSurfaceInput">0</token>
|
||||
<Vector3 name="RotVelocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<float name="TopParamA">-0.5</float>
|
||||
<float name="TopParamB">0.5</float>
|
||||
<token name="TopSurface">0</token>
|
||||
<token name="TopSurfaceInput">0</token>
|
||||
<float name="Transparency">0</float>
|
||||
<Vector3 name="Velocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<bool name="archivable">true</bool>
|
||||
<token name="shape">1</token>
|
||||
<Vector3 name="size">
|
||||
<X>2</X>
|
||||
<Y>1</Y>
|
||||
<Z>1</Z>
|
||||
</Vector3>
|
||||
</Properties>
|
||||
<Item class="SpecialMesh" referent="RBX2">
|
||||
<Properties>
|
||||
<Content name="MeshId"><null></null></Content>
|
||||
<token name="MeshType">0</token>
|
||||
<string name="Name">Mesh</string>
|
||||
<Vector3 name="Scale">
|
||||
<X>1.25</X>
|
||||
<Y>1.25</Y>
|
||||
<Z>1.25</Z>
|
||||
</Vector3>
|
||||
<Content name="TextureId"><null></null></Content>
|
||||
<Vector3 name="VertexColor">
|
||||
<X>1</X>
|
||||
<Y>1</Y>
|
||||
<Z>1</Z>
|
||||
</Vector3>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
<Item class="Decal" referent="RBX3">
|
||||
<Properties>
|
||||
<token name="Face">5</token>
|
||||
<string name="Name">face</string>
|
||||
<float name="Shiny">20</float>
|
||||
<float name="Specular">0</float>
|
||||
<Content name="Texture"><url>rbxasset://textures\face.png</url></Content>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
<Item class="Weld" referent="RBX4">
|
||||
<Properties>
|
||||
<CoordinateFrame name="C0">
|
||||
<X>0</X>
|
||||
<Y>0.5</Y>
|
||||
<Z>0</Z>
|
||||
<R00>1</R00>
|
||||
<R01>0</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0</R10>
|
||||
<R11>1</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>1</R22>
|
||||
</CoordinateFrame>
|
||||
<CoordinateFrame name="C1">
|
||||
<X>0</X>
|
||||
<Y>-0.200000003</Y>
|
||||
<Z>0.150000006</Z>
|
||||
<R00>1</R00>
|
||||
<R01>0</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0</R10>
|
||||
<R11>1</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>1</R22>
|
||||
</CoordinateFrame>
|
||||
<string name="Name">HeadWeld</string>
|
||||
<Ref name="Part0">RBX1</Ref>
|
||||
<Ref name="Part1">null</Ref>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
<Item class="Weld" referent="RBX5">
|
||||
<Properties>
|
||||
<CoordinateFrame name="C0">
|
||||
<X>0</X>
|
||||
<Y>0.5</Y>
|
||||
<Z>0</Z>
|
||||
<R00>1</R00>
|
||||
<R01>0</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0</R10>
|
||||
<R11>1</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>1</R22>
|
||||
</CoordinateFrame>
|
||||
<CoordinateFrame name="C1">
|
||||
<X>0</X>
|
||||
<Y>-0.200000003</Y>
|
||||
<Z>0.150000006</Z>
|
||||
<R00>1</R00>
|
||||
<R01>0</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0</R10>
|
||||
<R11>1</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>1</R22>
|
||||
</CoordinateFrame>
|
||||
<string name="Name">HeadWeld</string>
|
||||
<Ref name="Part0">RBX1</Ref>
|
||||
<Ref name="Part1">null</Ref>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
<Item class="Part" referent="RBX6">
|
||||
<Properties>
|
||||
<bool name="Anchored">false</bool>
|
||||
<float name="BackParamA">-0.5</float>
|
||||
<float name="BackParamB">0.5</float>
|
||||
<token name="BackSurface">0</token>
|
||||
<token name="BackSurfaceInput">0</token>
|
||||
<float name="BottomParamA">-0.5</float>
|
||||
<float name="BottomParamB">0.5</float>
|
||||
<token name="BottomSurface">4</token>
|
||||
<token name="BottomSurfaceInput">0</token>
|
||||
<int name="BrickColor">23</int>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>0</X>
|
||||
<Y>3</Y>
|
||||
<Z>-0.5</Z>
|
||||
<R00>-1</R00>
|
||||
<R01>0</R01>
|
||||
<R02>-0</R02>
|
||||
<R10>-0</R10>
|
||||
<R11>1</R11>
|
||||
<R12>-0</R12>
|
||||
<R20>-0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>-1</R22>
|
||||
</CoordinateFrame>
|
||||
<bool name="CanCollide">true</bool>
|
||||
<token name="Controller">0</token>
|
||||
<bool name="ControllerFlagShown">true</bool>
|
||||
<bool name="DraggingV1">false</bool>
|
||||
<float name="Elasticity">0.5</float>
|
||||
<token name="FormFactor">0</token>
|
||||
<float name="Friction">0.300000012</float>
|
||||
<float name="FrontParamA">-0.5</float>
|
||||
<float name="FrontParamB">0.5</float>
|
||||
<token name="FrontSurface">0</token>
|
||||
<token name="FrontSurfaceInput">0</token>
|
||||
<float name="LeftParamA">0</float>
|
||||
<float name="LeftParamB">0</float>
|
||||
<token name="LeftSurface">2</token>
|
||||
<token name="LeftSurfaceInput">0</token>
|
||||
<bool name="Locked">true</bool>
|
||||
<string name="Name">Torso</string>
|
||||
<float name="Reflectance">0</float>
|
||||
<float name="RightParamA">0</float>
|
||||
<float name="RightParamB">0</float>
|
||||
<token name="RightSurface">2</token>
|
||||
<token name="RightSurfaceInput">0</token>
|
||||
<Vector3 name="RotVelocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<float name="TopParamA">-0.5</float>
|
||||
<float name="TopParamB">0.5</float>
|
||||
<token name="TopSurface">3</token>
|
||||
<token name="TopSurfaceInput">0</token>
|
||||
<float name="Transparency">0</float>
|
||||
<Vector3 name="Velocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<bool name="archivable">true</bool>
|
||||
<token name="shape">1</token>
|
||||
<Vector3 name="size">
|
||||
<X>2</X>
|
||||
<Y>2</Y>
|
||||
<Z>1</Z>
|
||||
</Vector3>
|
||||
</Properties>
|
||||
<Item class="Decal" referent="RBX7">
|
||||
<Properties>
|
||||
<token name="Face">5</token>
|
||||
<string name="Name">roblox</string>
|
||||
<float name="Shiny">20</float>
|
||||
<float name="Specular">0</float>
|
||||
<Content name="Texture"><null></null></Content>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
<Item class="Part" referent="RBX8">
|
||||
<Properties>
|
||||
<bool name="Anchored">false</bool>
|
||||
<float name="BackParamA">-0.5</float>
|
||||
<float name="BackParamB">0.5</float>
|
||||
<token name="BackSurface">0</token>
|
||||
<token name="BackSurfaceInput">0</token>
|
||||
<float name="BottomParamA">-0.5</float>
|
||||
<float name="BottomParamB">0.5</float>
|
||||
<token name="BottomSurface">4</token>
|
||||
<token name="BottomSurfaceInput">0</token>
|
||||
<int name="BrickColor">24</int>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>1.5</X>
|
||||
<Y>3</Y>
|
||||
<Z>-0.5</Z>
|
||||
<R00>-1</R00>
|
||||
<R01>0</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0</R10>
|
||||
<R11>1</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>-1</R22>
|
||||
</CoordinateFrame>
|
||||
<bool name="CanCollide">true</bool>
|
||||
<token name="Controller">0</token>
|
||||
<bool name="ControllerFlagShown">true</bool>
|
||||
<bool name="DraggingV1">false</bool>
|
||||
<float name="Elasticity">0.5</float>
|
||||
<token name="FormFactor">0</token>
|
||||
<float name="Friction">0.300000012</float>
|
||||
<float name="FrontParamA">-0.5</float>
|
||||
<float name="FrontParamB">0.5</float>
|
||||
<token name="FrontSurface">0</token>
|
||||
<token name="FrontSurfaceInput">0</token>
|
||||
<float name="LeftParamA">-0.5</float>
|
||||
<float name="LeftParamB">0.5</float>
|
||||
<token name="LeftSurface">0</token>
|
||||
<token name="LeftSurfaceInput">0</token>
|
||||
<bool name="Locked">true</bool>
|
||||
<string name="Name">Left Arm</string>
|
||||
<float name="Reflectance">0</float>
|
||||
<float name="RightParamA">-0.5</float>
|
||||
<float name="RightParamB">0.5</float>
|
||||
<token name="RightSurface">0</token>
|
||||
<token name="RightSurfaceInput">0</token>
|
||||
<Vector3 name="RotVelocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<float name="TopParamA">-0.5</float>
|
||||
<float name="TopParamB">0.5</float>
|
||||
<token name="TopSurface">3</token>
|
||||
<token name="TopSurfaceInput">0</token>
|
||||
<float name="Transparency">0</float>
|
||||
<Vector3 name="Velocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<bool name="archivable">true</bool>
|
||||
<token name="shape">1</token>
|
||||
<Vector3 name="size">
|
||||
<X>1</X>
|
||||
<Y>2</Y>
|
||||
<Z>1</Z>
|
||||
</Vector3>
|
||||
</Properties>
|
||||
<Item class="Script" referent="RBX9">
|
||||
<Properties>
|
||||
<bool name="Disabled">false</bool>
|
||||
<Content name="LinkedSource"><null></null></Content>
|
||||
<string name="Name">Script</string>
|
||||
<string name="Source">while true do--while its told its true it will happen
|
||||
script.Parent.CanCollide=true--script.Parent.(whatever) meens that its talking about the script effecting the
|
||||
--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is
|
||||
--setting the setting to something else useing whatever unit it uses.
|
||||
wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it.
|
||||
script.Parent.CanCollide = false
|
||||
end</string>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
<Item class="Part" referent="RBX10">
|
||||
<Properties>
|
||||
<bool name="Anchored">false</bool>
|
||||
<float name="BackParamA">-0.5</float>
|
||||
<float name="BackParamB">0.5</float>
|
||||
<token name="BackSurface">0</token>
|
||||
<token name="BackSurfaceInput">0</token>
|
||||
<float name="BottomParamA">-0.5</float>
|
||||
<float name="BottomParamB">0.5</float>
|
||||
<token name="BottomSurface">4</token>
|
||||
<token name="BottomSurfaceInput">0</token>
|
||||
<int name="BrickColor">24</int>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>-1.5</X>
|
||||
<Y>3</Y>
|
||||
<Z>-0.5</Z>
|
||||
<R00>-1</R00>
|
||||
<R01>0</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0</R10>
|
||||
<R11>1</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>-1</R22>
|
||||
</CoordinateFrame>
|
||||
<bool name="CanCollide">true</bool>
|
||||
<token name="Controller">0</token>
|
||||
<bool name="ControllerFlagShown">true</bool>
|
||||
<bool name="DraggingV1">false</bool>
|
||||
<float name="Elasticity">0.5</float>
|
||||
<token name="FormFactor">0</token>
|
||||
<float name="Friction">0.300000012</float>
|
||||
<float name="FrontParamA">-0.5</float>
|
||||
<float name="FrontParamB">0.5</float>
|
||||
<token name="FrontSurface">0</token>
|
||||
<token name="FrontSurfaceInput">0</token>
|
||||
<float name="LeftParamA">-0.5</float>
|
||||
<float name="LeftParamB">0.5</float>
|
||||
<token name="LeftSurface">0</token>
|
||||
<token name="LeftSurfaceInput">0</token>
|
||||
<bool name="Locked">true</bool>
|
||||
<string name="Name">Right Arm</string>
|
||||
<float name="Reflectance">0</float>
|
||||
<float name="RightParamA">-0.5</float>
|
||||
<float name="RightParamB">0.5</float>
|
||||
<token name="RightSurface">0</token>
|
||||
<token name="RightSurfaceInput">0</token>
|
||||
<Vector3 name="RotVelocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<float name="TopParamA">-0.5</float>
|
||||
<float name="TopParamB">0.5</float>
|
||||
<token name="TopSurface">3</token>
|
||||
<token name="TopSurfaceInput">0</token>
|
||||
<float name="Transparency">0</float>
|
||||
<Vector3 name="Velocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<bool name="archivable">true</bool>
|
||||
<token name="shape">1</token>
|
||||
<Vector3 name="size">
|
||||
<X>1</X>
|
||||
<Y>2</Y>
|
||||
<Z>1</Z>
|
||||
</Vector3>
|
||||
</Properties>
|
||||
<Item class="Script" referent="RBX11">
|
||||
<Properties>
|
||||
<bool name="Disabled">false</bool>
|
||||
<Content name="LinkedSource"><null></null></Content>
|
||||
<string name="Name">Script</string>
|
||||
<string name="Source">while true do--while its told its true it will happen
|
||||
script.Parent.CanCollide=true--script.Parent.(whatever) meens that its talking about the script effecting the
|
||||
--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is
|
||||
--setting the setting to something else useing whatever unit it uses.
|
||||
wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it.
|
||||
script.Parent.CanCollide = false
|
||||
end</string>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
<Item class="Part" referent="RBX12">
|
||||
<Properties>
|
||||
<bool name="Anchored">false</bool>
|
||||
<float name="BackParamA">-0.5</float>
|
||||
<float name="BackParamB">0.5</float>
|
||||
<token name="BackSurface">0</token>
|
||||
<token name="BackSurfaceInput">0</token>
|
||||
<float name="BottomParamA">-0.5</float>
|
||||
<float name="BottomParamB">0.5</float>
|
||||
<token name="BottomSurface">0</token>
|
||||
<token name="BottomSurfaceInput">0</token>
|
||||
<int name="BrickColor">119</int>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>0.5</X>
|
||||
<Y>1</Y>
|
||||
<Z>-0.5</Z>
|
||||
<R00>-1</R00>
|
||||
<R01>0</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0</R10>
|
||||
<R11>1</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>-1</R22>
|
||||
</CoordinateFrame>
|
||||
<bool name="CanCollide">false</bool>
|
||||
<token name="Controller">0</token>
|
||||
<bool name="ControllerFlagShown">true</bool>
|
||||
<bool name="DraggingV1">false</bool>
|
||||
<float name="Elasticity">0.5</float>
|
||||
<token name="FormFactor">0</token>
|
||||
<float name="Friction">0.300000012</float>
|
||||
<float name="FrontParamA">-0.5</float>
|
||||
<float name="FrontParamB">0.5</float>
|
||||
<token name="FrontSurface">0</token>
|
||||
<token name="FrontSurfaceInput">0</token>
|
||||
<float name="LeftParamA">-0.5</float>
|
||||
<float name="LeftParamB">0.5</float>
|
||||
<token name="LeftSurface">0</token>
|
||||
<token name="LeftSurfaceInput">0</token>
|
||||
<bool name="Locked">true</bool>
|
||||
<string name="Name">Left Leg</string>
|
||||
<float name="Reflectance">0</float>
|
||||
<float name="RightParamA">-0.5</float>
|
||||
<float name="RightParamB">0.5</float>
|
||||
<token name="RightSurface">0</token>
|
||||
<token name="RightSurfaceInput">0</token>
|
||||
<Vector3 name="RotVelocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<float name="TopParamA">-0.5</float>
|
||||
<float name="TopParamB">0.5</float>
|
||||
<token name="TopSurface">3</token>
|
||||
<token name="TopSurfaceInput">0</token>
|
||||
<float name="Transparency">0</float>
|
||||
<Vector3 name="Velocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<bool name="archivable">true</bool>
|
||||
<token name="shape">1</token>
|
||||
<Vector3 name="size">
|
||||
<X>1</X>
|
||||
<Y>2</Y>
|
||||
<Z>1</Z>
|
||||
</Vector3>
|
||||
</Properties>
|
||||
<Item class="Script" referent="RBX13">
|
||||
<Properties>
|
||||
<bool name="Disabled">false</bool>
|
||||
<Content name="LinkedSource"><null></null></Content>
|
||||
<string name="Name">Script</string>
|
||||
<string name="Source">while true do--while its told its true it will happen
|
||||
script.Parent.CanCollide=true--script.Parent.(whatever) meens that its talking about the script effecting the
|
||||
--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is
|
||||
--setting the setting to something else useing whatever unit it uses .
|
||||
wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it.
|
||||
script.Parent.CanCollide=false--script.Parent.(whatever) meens that its talking about the script effecting the
|
||||
--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is
|
||||
--setting the setting to something else useing whatever unit it uses.
|
||||
wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it.
|
||||
end
|
||||
while true do--while its told its true it will happen
|
||||
script.Parent.CanCollide=true--script.Parent.(whatever) meens that its talking about the script effecting the
|
||||
--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is
|
||||
--setting the setting to something else useing whatever unit it uses .
|
||||
wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it.
|
||||
script.Parent.CanCollide=false--script.Parent.(whatever) meens that its talking about the script effecting the
|
||||
--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is
|
||||
--setting the setting to something else useing whatever unit it uses.
|
||||
wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it.
|
||||
end
|
||||
|
||||
</string>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
<Item class="Part" referent="RBX14">
|
||||
<Properties>
|
||||
<bool name="Anchored">false</bool>
|
||||
<float name="BackParamA">-0.5</float>
|
||||
<float name="BackParamB">0.5</float>
|
||||
<token name="BackSurface">0</token>
|
||||
<token name="BackSurfaceInput">0</token>
|
||||
<float name="BottomParamA">-0.5</float>
|
||||
<float name="BottomParamB">0.5</float>
|
||||
<token name="BottomSurface">0</token>
|
||||
<token name="BottomSurfaceInput">0</token>
|
||||
<int name="BrickColor">119</int>
|
||||
<CoordinateFrame name="CFrame">
|
||||
<X>-0.5</X>
|
||||
<Y>1</Y>
|
||||
<Z>-0.5</Z>
|
||||
<R00>-1</R00>
|
||||
<R01>0</R01>
|
||||
<R02>0</R02>
|
||||
<R10>0</R10>
|
||||
<R11>1</R11>
|
||||
<R12>0</R12>
|
||||
<R20>0</R20>
|
||||
<R21>0</R21>
|
||||
<R22>-1</R22>
|
||||
</CoordinateFrame>
|
||||
<bool name="CanCollide">false</bool>
|
||||
<token name="Controller">0</token>
|
||||
<bool name="ControllerFlagShown">true</bool>
|
||||
<bool name="DraggingV1">false</bool>
|
||||
<float name="Elasticity">0.5</float>
|
||||
<token name="FormFactor">0</token>
|
||||
<float name="Friction">0.300000012</float>
|
||||
<float name="FrontParamA">-0.5</float>
|
||||
<float name="FrontParamB">0.5</float>
|
||||
<token name="FrontSurface">0</token>
|
||||
<token name="FrontSurfaceInput">0</token>
|
||||
<float name="LeftParamA">-0.5</float>
|
||||
<float name="LeftParamB">0.5</float>
|
||||
<token name="LeftSurface">0</token>
|
||||
<token name="LeftSurfaceInput">0</token>
|
||||
<bool name="Locked">true</bool>
|
||||
<string name="Name">Right Leg</string>
|
||||
<float name="Reflectance">0</float>
|
||||
<float name="RightParamA">-0.5</float>
|
||||
<float name="RightParamB">0.5</float>
|
||||
<token name="RightSurface">0</token>
|
||||
<token name="RightSurfaceInput">0</token>
|
||||
<Vector3 name="RotVelocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<float name="TopParamA">-0.5</float>
|
||||
<float name="TopParamB">0.5</float>
|
||||
<token name="TopSurface">3</token>
|
||||
<token name="TopSurfaceInput">0</token>
|
||||
<float name="Transparency">0</float>
|
||||
<Vector3 name="Velocity">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<bool name="archivable">true</bool>
|
||||
<token name="shape">1</token>
|
||||
<Vector3 name="size">
|
||||
<X>1</X>
|
||||
<Y>2</Y>
|
||||
<Z>1</Z>
|
||||
</Vector3>
|
||||
</Properties>
|
||||
<Item class="Script" referent="RBX15">
|
||||
<Properties>
|
||||
<bool name="Disabled">false</bool>
|
||||
<Content name="LinkedSource"><null></null></Content>
|
||||
<string name="Name">Script</string>
|
||||
<string name="Source">while true do--while its told its true it will happen
|
||||
script.Parent.CanCollide=true--script.Parent.(whatever) meens that its talking about the script effecting the
|
||||
--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is
|
||||
--setting the setting to something else useing whatever unit it uses .
|
||||
wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it.
|
||||
script.Parent.CanCollide=false--script.Parent.(whatever) meens that its talking about the script effecting the
|
||||
--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is
|
||||
--setting the setting to something else useing whatever unit it uses.
|
||||
wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it.
|
||||
end
|
||||
while true do--while its told its true it will happen
|
||||
script.Parent.CanCollide=true--script.Parent.(whatever) meens that its talking about the script effecting the
|
||||
--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is
|
||||
--setting the setting to something else useing whatever unit it uses .
|
||||
wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it.
|
||||
script.Parent.CanCollide=false--script.Parent.(whatever) meens that its talking about the script effecting the
|
||||
--parent, which is the brick, changing whatever setting in the brick its told too change. and the true/false is
|
||||
--setting the setting to something else useing whatever unit it uses.
|
||||
wait(0)--this is how long it will wait until going to the next piece of the script below it or will restart it.
|
||||
end
|
||||
|
||||
</string>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
<Item class="Humanoid" referent="RBX16">
|
||||
<Properties>
|
||||
<float name="Health">100</float>
|
||||
<bool name="Jump">false</bool>
|
||||
<float name="MaxHealth">100</float>
|
||||
<string name="Name">Humanoid</string>
|
||||
<bool name="Sit">false</bool>
|
||||
<bool name="Strafe">false</bool>
|
||||
<Vector3 name="TargetPoint">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<Vector3 name="WalkDirection">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<float name="WalkRotationalVelocity">0</float>
|
||||
<Ref name="WalkToPart">null</Ref>
|
||||
<Vector3 name="WalkToPoint">
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
<Z>0</Z>
|
||||
</Vector3>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
</Item>
|
||||
</roblox>
|
||||
|
|
@ -1,285 +0,0 @@
|
|||
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.roblox.com/roblox.xsd" version="4">
|
||||
<External>null</External>
|
||||
<External>nil</External>
|
||||
<Item class="Script" referent="RBX0">
|
||||
<Properties>
|
||||
<bool name="Disabled">false</bool>
|
||||
<Content name="LinkedSource"><null></null></Content>
|
||||
<string name="Name">Animate</string>
|
||||
<string name="Source">-- Now with exciting TeamColors HACK!
|
||||
|
||||
function waitForChild(parent, childName)
|
||||
local child = parent:findFirstChild(childName)
|
||||
if child then return child end
|
||||
while true do
|
||||
child = parent.ChildAdded:wait()
|
||||
if child.Name==childName then return child end
|
||||
end
|
||||
end
|
||||
|
||||
----------------------------- TEAM COLORS
|
||||
|
||||
|
||||
function onTeamChanged(player)
|
||||
|
||||
wait(1)
|
||||
|
||||
local char = player.Character
|
||||
if char == nil then return end
|
||||
|
||||
if player.Neutral then
|
||||
-- Replacing the current BodyColor object will force a reset
|
||||
local old = char:findFirstChild("Body Colors")
|
||||
if not old then return end
|
||||
old:clone().Parent = char
|
||||
old.Parent = nil
|
||||
else
|
||||
local head = char:findFirstChild("Head")
|
||||
local torso = char:findFirstChild("Torso")
|
||||
local left_arm = char:findFirstChild("Left Arm")
|
||||
local right_arm = char:findFirstChild("Right Arm")
|
||||
local left_leg = char:findFirstChild("Left Leg")
|
||||
local right_leg = char:findFirstChild("Right Leg")
|
||||
|
||||
if head then head.BrickColor = BrickColor.new(24) end
|
||||
if torso then torso.BrickColor = player.TeamColor end
|
||||
if left_arm then left_arm.BrickColor = BrickColor.new(26) end
|
||||
if right_arm then right_arm.BrickColor = BrickColor.new(26) end
|
||||
if left_leg then left_leg.BrickColor = BrickColor.new(26) end
|
||||
if right_leg then right_leg.BrickColor = BrickColor.new(26) end
|
||||
end
|
||||
end
|
||||
|
||||
function onPlayerPropChanged(property, player)
|
||||
if property == "Character" then
|
||||
onTeamChanged(player)
|
||||
end
|
||||
if property== "TeamColor" or property == "Neutral" then
|
||||
onTeamChanged(player)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
local cPlayer = game.Players:GetPlayerFromCharacter(script.Parent)
|
||||
cPlayer.Changed:connect(function(property) onPlayerPropChanged(property, cPlayer) end )
|
||||
onTeamChanged(cPlayer)
|
||||
|
||||
|
||||
----------------------------- ANIMATION
|
||||
|
||||
-- declarations
|
||||
|
||||
local Figure = script.Parent
|
||||
local Torso = waitForChild(Figure, "Torso")
|
||||
local RightShoulder = waitForChild(Torso, "Right Shoulder")
|
||||
local LeftShoulder = waitForChild(Torso, "Left Shoulder")
|
||||
local RightHip = waitForChild(Torso, "Right Hip")
|
||||
local LeftHip = waitForChild(Torso, "Left Hip")
|
||||
local Neck = waitForChild(Torso, "Neck")
|
||||
local Humanoid = waitForChild(Figure, "Humanoid")
|
||||
local pose = "Standing"
|
||||
|
||||
local toolAnim = "None"
|
||||
local toolAnimTime = 0
|
||||
|
||||
local isSeated = false
|
||||
|
||||
-- functions
|
||||
|
||||
function onRunning(speed)
|
||||
if isSeated then return end
|
||||
|
||||
if speed>0 then
|
||||
pose = "Running"
|
||||
else
|
||||
pose = "Standing"
|
||||
end
|
||||
end
|
||||
|
||||
function onDied()
|
||||
pose = "Dead"
|
||||
end
|
||||
|
||||
function onJumping()
|
||||
isSeated = false
|
||||
pose = "Jumping"
|
||||
end
|
||||
|
||||
function onClimbing()
|
||||
pose = "Climbing"
|
||||
end
|
||||
|
||||
function onGettingUp()
|
||||
pose = "GettingUp"
|
||||
end
|
||||
|
||||
function onFreeFall()
|
||||
pose = "FreeFall"
|
||||
end
|
||||
|
||||
function onSeated()
|
||||
isSeated = true
|
||||
pose = "Seated"
|
||||
end
|
||||
|
||||
function moveJump()
|
||||
RightShoulder.MaxVelocity = 0.6
|
||||
LeftShoulder.MaxVelocity = 0.6
|
||||
RightShoulder.DesiredAngle = 3.14
|
||||
LeftShoulder.DesiredAngle = -3.14
|
||||
RightHip.DesiredAngle = 0
|
||||
LeftHip.DesiredAngle = 0
|
||||
wait(0.1)
|
||||
RightShoulder.MaxVelocity = 0.15
|
||||
LeftShoulder.MaxVelocity = 0.15
|
||||
RightShoulder.DesiredAngle = 3.14
|
||||
LeftShoulder.DesiredAngle = -3.14
|
||||
RightHip.DesiredAngle = 0
|
||||
LeftHip.DesiredAngle = 0
|
||||
end
|
||||
|
||||
|
||||
-- same as jump for now
|
||||
|
||||
function moveSit()
|
||||
RightShoulder.MaxVelocity = 0.15
|
||||
LeftShoulder.MaxVelocity = 0.15
|
||||
RightShoulder.DesiredAngle = 3.14 /2
|
||||
LeftShoulder.DesiredAngle = -3.14 /2
|
||||
RightHip.DesiredAngle = 3.14 /2
|
||||
LeftHip.DesiredAngle = -3.14 /2
|
||||
end
|
||||
|
||||
function getTool()
|
||||
for _, kid in ipairs(Figure:GetChildren()) do
|
||||
if kid.className == "Tool" then return kid end
|
||||
end
|
||||
return nil
|
||||
end
|
||||
|
||||
function getToolAnim(tool)
|
||||
for _, c in ipairs(tool:GetChildren()) do
|
||||
if c.Name == "toolanim" and c.className == "StringValue" then
|
||||
return c
|
||||
end
|
||||
end
|
||||
return nil
|
||||
end
|
||||
|
||||
function animateTool()
|
||||
|
||||
if (toolAnim == "None") then
|
||||
RightShoulder.DesiredAngle = 1.57
|
||||
return
|
||||
end
|
||||
|
||||
if (toolAnim == "Slash") then
|
||||
RightShoulder.MaxVelocity = 0.5
|
||||
RightShoulder.DesiredAngle = 0
|
||||
return
|
||||
end
|
||||
|
||||
if (toolAnim == "Lunge") then
|
||||
RightShoulder.MaxVelocity = 0.5
|
||||
LeftShoulder.MaxVelocity = 0.5
|
||||
RightHip.MaxVelocity = 0.5
|
||||
LeftHip.MaxVelocity = 0.5
|
||||
RightShoulder.DesiredAngle = 1.57
|
||||
LeftShoulder.DesiredAngle = 1.0
|
||||
RightHip.DesiredAngle = 1.57
|
||||
LeftHip.DesiredAngle = 1.0
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
function move(time)
|
||||
local amplitude
|
||||
local frequency
|
||||
|
||||
if (pose == "Jumping") then
|
||||
moveJump()
|
||||
return
|
||||
end
|
||||
|
||||
if (pose == "Seated") then
|
||||
moveSit()
|
||||
return
|
||||
end
|
||||
|
||||
local climbFudge = 0
|
||||
|
||||
if (pose == "Running") then
|
||||
RightShoulder.MaxVelocity = 0.15
|
||||
LeftShoulder.MaxVelocity = 0.15
|
||||
amplitude = 1
|
||||
frequency = 9
|
||||
elseif (pose == "Climbing") then
|
||||
RightShoulder.MaxVelocity = 0.5
|
||||
LeftShoulder.MaxVelocity = 0.5
|
||||
amplitude = 0
|
||||
frequency = 0
|
||||
climbFudge = -3.14
|
||||
else
|
||||
amplitude = 0.1
|
||||
frequency = 1
|
||||
end
|
||||
|
||||
desiredAngle = amplitude * math.sin(time*frequency)
|
||||
|
||||
RightShoulder.DesiredAngle = desiredAngle + climbFudge
|
||||
LeftShoulder.DesiredAngle = desiredAngle - climbFudge
|
||||
RightHip.DesiredAngle = -desiredAngle
|
||||
LeftHip.DesiredAngle = -desiredAngle
|
||||
|
||||
|
||||
local tool = getTool()
|
||||
|
||||
if tool then
|
||||
|
||||
animStringValueObject = getToolAnim(tool)
|
||||
|
||||
if animStringValueObject then
|
||||
toolAnim = animStringValueObject.Value
|
||||
-- message recieved, delete StringValue
|
||||
animStringValueObject.Parent = nil
|
||||
toolAnimTime = time + .3
|
||||
end
|
||||
|
||||
if time > toolAnimTime then
|
||||
toolAnimTime = 0
|
||||
toolAnim = "None"
|
||||
end
|
||||
|
||||
animateTool()
|
||||
|
||||
|
||||
else
|
||||
toolAnim = "None"
|
||||
toolAnimTime = 0
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- connect events
|
||||
|
||||
Humanoid.Died:connect(onDied)
|
||||
Humanoid.Running:connect(onRunning)
|
||||
Humanoid.Jumping:connect(onJumping)
|
||||
Humanoid.Climbing:connect(onClimbing)
|
||||
Humanoid.GettingUp:connect(onGettingUp)
|
||||
Humanoid.FallingDown:connect(onFallingDown)
|
||||
Humanoid.Seated:connect(onSeated)
|
||||
|
||||
-- main program
|
||||
|
||||
local runService = game:service("RunService");
|
||||
|
||||
while Figure.Parent~=nil do
|
||||
local _, time = wait(0.1)
|
||||
move(time)
|
||||
end
|
||||
</string>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
</roblox>
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.roblox.com/roblox.xsd" version="4">
|
||||
<External>null</External>
|
||||
<External>nil</External>
|
||||
<Item class="Script" referent="RBX0">
|
||||
<Properties>
|
||||
<bool name="Disabled">false</bool>
|
||||
<Content name="LinkedSource"><null></null></Content>
|
||||
<string name="Name">ResetCommand</string>
|
||||
<ProtectedString name="Source">function onChatted(msg, speaker)
|
||||
|
||||
source = string.lower(speaker.Name)
|
||||
msg = string.lower(msg)
|
||||
-- Note: This one is NOT caps sensitive
|
||||
|
||||
if msg == "!!!reset" then
|
||||
speaker.Character.Humanoid.Health = 0
|
||||
end
|
||||
end
|
||||
|
||||
function onPlayerEntered(newPlayer)
|
||||
newPlayer.Chatted:connect(function(msg) onChatted(msg, newPlayer) end)
|
||||
end
|
||||
|
||||
game.Players.ChildAdded:connect(onPlayerEntered)</ProtectedString>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
</roblox>
|
||||
|
|
@ -1,420 +0,0 @@
|
|||
settings().Rendering.frameRateManager = 2
|
||||
settings().Rendering.graphicsMode = 2
|
||||
settings().Network.MaxSendBuffer = 1000000
|
||||
settings().Network.PhysicsReplicationUpdateRate = 1000000
|
||||
settings().Network.SendRate = 1000000
|
||||
settings().Network.PhysicsSend = 1 -- 1==RoundRobin
|
||||
|
||||
--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,RemoveTeapotTurret)
|
||||
local charparts = {[1] = newWaitForChild(newChar,"Head"),[2] = newWaitForChild(newChar,"Torso"),[3] = newWaitForChild(newChar,"Left Arm"),[4] = newWaitForChild(newChar,"Right Arm"),[5] = newWaitForChild(newChar,"Left Leg"),[6] = newWaitForChild(newChar,"Right Leg")}
|
||||
for _,newVal in pairs(playerApp:GetChildren()) do
|
||||
local customtype = newVal.CustomizationType.Value
|
||||
if (customtype == 1) then
|
||||
pcall(function()
|
||||
charparts[newVal.ColorIndex.Value].BrickColor = newVal.Value
|
||||
end)
|
||||
elseif (customtype == 2) then
|
||||
pcall(function()
|
||||
local newHat = game.Workspace:InsertContent("rbxasset://../../../charcustom/hats/"..newVal.Value)
|
||||
if newHat[1] then
|
||||
if newHat[1].className == "Hat" then
|
||||
if (RemoveTeapotTurret == true) then
|
||||
if (newHat[1].Name ~= "TeapotTurret.rbxm") then
|
||||
newHat[1].Parent = newChar
|
||||
else
|
||||
newHat[1]:remove()
|
||||
end
|
||||
else
|
||||
newHat[1].Parent = newChar
|
||||
end
|
||||
else
|
||||
newHat[1]:remove()
|
||||
end
|
||||
end
|
||||
end)
|
||||
elseif (customtype == 3) then
|
||||
pcall(function()
|
||||
local newTShirt = game.Workspace:InsertContent("rbxasset://../../../charcustom/tshirts/"..newVal.Value)
|
||||
if newTShirt[1] then
|
||||
if newTShirt[1].className == "ShirtGraphic" then
|
||||
newTShirt[1].Parent = newChar
|
||||
else
|
||||
newTShirt[1]:remove()
|
||||
end
|
||||
end
|
||||
end)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID)
|
||||
local newCharApp = Instance.new("IntValue",Player)
|
||||
newCharApp.Name = "Appearance"
|
||||
--BODY COLORS
|
||||
for i=1,6,1 do
|
||||
local BodyColor = Instance.new("BrickColorValue",newCharApp)
|
||||
if (i == 1) then
|
||||
if (HeadColorID ~= nil) then
|
||||
BodyColor.Value = BrickColor.new(HeadColorID)
|
||||
else
|
||||
BodyColor.Value = BrickColor.new(1)
|
||||
end
|
||||
BodyColor.Name = "HeadColor"
|
||||
elseif (i == 2) then
|
||||
if (TorsoColorID ~= nil) then
|
||||
BodyColor.Value = BrickColor.new(TorsoColorID)
|
||||
else
|
||||
BodyColor.Value = BrickColor.new(1)
|
||||
end
|
||||
BodyColor.Name = "TorsoColor"
|
||||
elseif (i == 3) then
|
||||
if (LeftArmColorID ~= nil) then
|
||||
BodyColor.Value = BrickColor.new(LeftArmColorID)
|
||||
else
|
||||
BodyColor.Value = BrickColor.new(1)
|
||||
end
|
||||
BodyColor.Name = "LeftArmColor"
|
||||
elseif (i == 4) then
|
||||
if (RightArmColorID ~= nil) then
|
||||
BodyColor.Value = BrickColor.new(RightArmColorID)
|
||||
else
|
||||
BodyColor.Value = BrickColor.new(1)
|
||||
end
|
||||
BodyColor.Name = "RightArmColor"
|
||||
elseif (i == 5) then
|
||||
if (LeftLegColorID ~= nil) then
|
||||
BodyColor.Value = BrickColor.new(LeftLegColorID)
|
||||
else
|
||||
BodyColor.Value = BrickColor.new(1)
|
||||
end
|
||||
BodyColor.Name = "LeftLegColor"
|
||||
elseif (i == 6) then
|
||||
if (RightLegColorID ~= nil) then
|
||||
BodyColor.Value = BrickColor.new(RightLegColorID)
|
||||
else
|
||||
BodyColor.Value = BrickColor.new(1)
|
||||
end
|
||||
BodyColor.Name = "RightLegColor"
|
||||
end
|
||||
local indexValue = Instance.new("NumberValue")
|
||||
indexValue.Name = "ColorIndex"
|
||||
indexValue.Parent = BodyColor
|
||||
indexValue.Value = i
|
||||
local typeValue = Instance.new("NumberValue")
|
||||
typeValue.Name = "CustomizationType"
|
||||
typeValue.Parent = BodyColor
|
||||
typeValue.Value = 1
|
||||
end
|
||||
--HATS
|
||||
for i=1,3,1 do
|
||||
local newHat = Instance.new("StringValue",newCharApp)
|
||||
if (i == 1) then
|
||||
if (RightLegColorID ~= nil) then
|
||||
newHat.Value = Hat1ID
|
||||
newHat.Name = Hat1ID
|
||||
else
|
||||
newHat.Value = "NoHat.rbxm"
|
||||
newHat.Name = "NoHat.rbxm"
|
||||
end
|
||||
elseif (i == 2) then
|
||||
if (RightLegColorID ~= nil) then
|
||||
newHat.Value = Hat2ID
|
||||
newHat.Name = Hat2ID
|
||||
else
|
||||
newHat.Value = "NoHat.rbxm"
|
||||
newHat.Name = "NoHat.rbxm"
|
||||
end
|
||||
elseif (i == 3) then
|
||||
if (RightLegColorID ~= nil) then
|
||||
newHat.Value = Hat3ID
|
||||
newHat.Name = Hat3ID
|
||||
else
|
||||
newHat.Value = "NoHat.rbxm"
|
||||
newHat.Name = "NoHat.rbxm"
|
||||
end
|
||||
end
|
||||
local typeValue = Instance.new("NumberValue")
|
||||
typeValue.Name = "CustomizationType"
|
||||
typeValue.Parent = newHat
|
||||
typeValue.Value = 2
|
||||
end
|
||||
--T-SHIRT
|
||||
local newTShirt = Instance.new("StringValue",newCharApp)
|
||||
if (TShirtID ~= nil) then
|
||||
newTShirt.Value = TShirtID
|
||||
newTShirt.Name = TShirtID
|
||||
else
|
||||
newTShirt.Value = "NoTShirt.rbxm"
|
||||
newTShirt.Name = "NoTShirt.rbxm"
|
||||
end
|
||||
local typeValue = Instance.new("NumberValue")
|
||||
typeValue.Name = "CustomizationType"
|
||||
typeValue.Parent = newTShirt
|
||||
typeValue.Value = 3
|
||||
end
|
||||
|
||||
function LoadSecurity(playerApp,Player,ServerSecurityLocation)
|
||||
if (playerApp==nil) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
else
|
||||
if ((playerApp:GetChildren() ~= 0) or (playerApp:GetChildren() ~= nil)) then
|
||||
for _,newVal in pairs(playerApp:GetChildren()) do
|
||||
if (playerApp:FindFirstChild("ClientEXEMD5")) then
|
||||
if ((newVal.Name == "ClientEXEMD5")) then
|
||||
if ((newVal.Value ~= ServerSecurityLocation.Security.ClientEXEMD5.Value) or (newVal.Value == nil) or (newVal.Value == "")) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
end
|
||||
end
|
||||
else
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
end
|
||||
|
||||
if (playerApp:FindFirstChild("LauncherMD5")) then
|
||||
if ((newVal.Name == "LauncherMD5")) then
|
||||
if ((newVal.Value ~= ServerSecurityLocation.Security.LauncherMD5.Value) or (newVal.Value == nil) or (newVal.Value == "")) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
end
|
||||
end
|
||||
else
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
end
|
||||
|
||||
if (playerApp:FindFirstChild("ClientScriptMD5")) then
|
||||
if ((newVal.Name == "ClientScriptMD5")) then
|
||||
if ((newVal.Value ~= ServerSecurityLocation.Security.ClientScriptMD5.Value) or (newVal.Value == nil) or (newVal.Value == "")) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
end
|
||||
end
|
||||
else
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
end
|
||||
end
|
||||
else
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function InitalizeSecurityValues(Location,ClientEXEMD5,LauncherMD5,ClientScriptMD5)
|
||||
local newCharApp = Instance.new("IntValue",Location)
|
||||
newCharApp.Name = "Security"
|
||||
local newClientMD5 = Instance.new("StringValue",newCharApp)
|
||||
if (ClientEXEMD5 ~= nil) then
|
||||
newClientMD5.Value = ClientEXEMD5
|
||||
else
|
||||
newClientMD5.Value = ""
|
||||
end
|
||||
newClientMD5.Name = "ClientEXEMD5"
|
||||
local newLauncherMD5 = Instance.new("StringValue",newCharApp)
|
||||
if (LauncherMD5 ~= nil) then
|
||||
newLauncherMD5.Value = LauncherMD5
|
||||
else
|
||||
newLauncherMD5.Value = ""
|
||||
end
|
||||
newLauncherMD5.Name = "LauncherMD5"
|
||||
local newClientScriptMD5 = Instance.new("StringValue",newCharApp)
|
||||
if (ClientScriptMD5 ~= nil) then
|
||||
newClientScriptMD5.Value = ClientScriptMD5
|
||||
else
|
||||
newClientScriptMD5.Value = ""
|
||||
end
|
||||
newClientScriptMD5.Name = "ClientScriptMD5"
|
||||
end
|
||||
|
||||
rbxversion = version()
|
||||
print("ROBLOX Client version '" .. rbxversion .. "' loaded.")
|
||||
|
||||
function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,RemoveTeapotTurret)
|
||||
Server = game:GetService("NetworkServer")
|
||||
RunService = game:GetService("RunService")
|
||||
Server:start(Port, 20)
|
||||
RunService:run()
|
||||
game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm")
|
||||
game:GetService("Players").MaxPlayers = PlayerLimit
|
||||
game:GetService("Players").PlayerAdded:connect(function(Player)
|
||||
if (game:GetService("Players").NumPlayers > game:GetService("Players").MaxPlayers) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Too many players on server."
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Too many players on server.")
|
||||
else
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' added")
|
||||
Player:LoadCharacter()
|
||||
LoadSecurity(newWaitForChild(Player,"Security"),Player,game.Lighting)
|
||||
if (Player.Character ~= nil) then
|
||||
LoadCharacterNew(newWaitForChild(Player,"Appearance"),Player.Character,RemoveTeapotTurret)
|
||||
end
|
||||
end
|
||||
while true do
|
||||
wait(0.001)
|
||||
if (Player.Character ~= nil) then
|
||||
if (Player.Character.Humanoid.Health == 0) then
|
||||
wait(5)
|
||||
Player:LoadCharacter()
|
||||
LoadCharacterNew(newWaitForChild(Player,"Appearance"),Player.Character,RemoveTeapotTurret)
|
||||
elseif (Player.Character.Parent == nil) then
|
||||
wait(5)
|
||||
Player:LoadCharacter() -- to make sure nobody is deleted.
|
||||
LoadCharacterNew(newWaitForChild(Player,"Appearance"),Player.Character,RemoveTeapotTurret)
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
game:GetService("Players").PlayerRemoving:connect(function(Player)
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' leaving")
|
||||
end)
|
||||
game:GetService("RunService"):Run()
|
||||
pcall(function() game.Close:connect(function() Server:Stop() end) end)
|
||||
InitalizeSecurityValues(game.Lighting,LauncherMD5,ClientEXEMD5,ClientScriptMD5)
|
||||
Server.IncommingConnection:connect(IncommingConnection)
|
||||
end
|
||||
|
||||
function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Ticket)
|
||||
local suc, err = pcall(function()
|
||||
client = game:GetService("NetworkClient")
|
||||
player = game:GetService("Players"):CreateLocalPlayer(UserID)
|
||||
player:SetSuperSafeChat(false)
|
||||
pcall(function() player:SetUnder13(false) end)
|
||||
pcall(function() player:SetMembershipType(Enum.MembershipType.BuildersClub) end)
|
||||
pcall(function() player:SetAccountAge(365) end)
|
||||
player.CharacterAppearance=0
|
||||
pcall(function() player.Name=PlayerName or "" end)
|
||||
game:GetService("Visit")
|
||||
InitalizeClientAppearance(player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID)
|
||||
InitalizeSecurityValues(player,LauncherMD5,ClientEXEMD5,ClientScriptMD5)
|
||||
end)
|
||||
|
||||
local function dieerror(errmsg)
|
||||
game:SetMessage(errmsg)
|
||||
wait(math.huge)
|
||||
end
|
||||
|
||||
if not suc then
|
||||
dieerror(err)
|
||||
end
|
||||
|
||||
local function disconnect(peer,lostconnection)
|
||||
game:SetMessage("You have lost connection to the game")
|
||||
end
|
||||
|
||||
local function connected(url, replicator)
|
||||
replicator.Disconnection:connect(disconnect)
|
||||
local marker = nil
|
||||
local suc, err = pcall(function()
|
||||
game:SetMessageBrickCount()
|
||||
marker = replicator:SendMarker()
|
||||
end)
|
||||
if not suc then
|
||||
dieerror(err)
|
||||
end
|
||||
marker.Received:connect(function()
|
||||
local suc, err = pcall(function()
|
||||
game:ClearMessage()
|
||||
end)
|
||||
if not suc then
|
||||
dieerror(err)
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
local function rejected()
|
||||
dieerror("Failed to connect to the Game. (Connection rejected)")
|
||||
end
|
||||
|
||||
local function failed(peer, errcode, why)
|
||||
dieerror("Failed to connect to the Game. (ID="..errcode.." ["..why.."])")
|
||||
end
|
||||
|
||||
local suc, err = pcall(function()
|
||||
game:SetMessage("Connecting to server...")
|
||||
client.ConnectionAccepted:connect(connected)
|
||||
client.ConnectionRejected:connect(rejected)
|
||||
client.ConnectionFailed:connect(failed)
|
||||
client:Connect(ServerIP,ServerPort, 0, 20)
|
||||
game.GuiRoot.RightPalette.ReportAbuse:Remove()
|
||||
game.GuiRoot.ChatMenuPanel:Remove()
|
||||
end)
|
||||
|
||||
if not suc then
|
||||
local x = Instance.new("Message")
|
||||
x.Text = err
|
||||
x.Parent = workspace
|
||||
wait(math.huge)
|
||||
end
|
||||
end
|
||||
|
||||
function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType)
|
||||
local plr = game.Players:CreateLocalPlayer(UserID)
|
||||
game:GetService("RunService"):run()
|
||||
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)
|
||||
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
|
||||
game:GetService("Visit")
|
||||
while true do wait()
|
||||
if (plr.Character.Humanoid.Health == 0) then
|
||||
wait(5)
|
||||
plr:LoadCharacter()
|
||||
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
_G.CSServer=CSServer
|
||||
_G.CSConnect=CSConnect
|
||||
_G.CSSolo=CSSolo
|
||||
|
|
@ -17,6 +17,24 @@ function newWaitForChild(newParent,name)
|
|||
end
|
||||
|
||||
function LoadCharacterNew(playerApp,newChar,RemoveTeapotTurret)
|
||||
if (playerApp==nil) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
else
|
||||
if ((playerApp:GetChildren() == 0) or (playerApp:GetChildren() == nil)) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
end
|
||||
end
|
||||
|
||||
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
|
||||
|
|
|
|||
|
|
@ -14,6 +14,24 @@ function newWaitForChild(newParent,name)
|
|||
end
|
||||
|
||||
function LoadCharacterNew(playerApp,newChar,RemoveTeapotTurret)
|
||||
if (playerApp==nil) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
else
|
||||
if ((playerApp:GetChildren() == 0) or (playerApp:GetChildren() == nil)) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
end
|
||||
end
|
||||
|
||||
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
|
||||
|
|
|
|||
|
|
@ -1,28 +0,0 @@
|
|||
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.roblox.com/roblox.xsd" version="4">
|
||||
<External>null</External>
|
||||
<External>nil</External>
|
||||
<Item class="Script" referent="RBX0">
|
||||
<Properties>
|
||||
<bool name="Disabled">false</bool>
|
||||
<Content name="LinkedSource"><null></null></Content>
|
||||
<string name="Name">ResetCommand</string>
|
||||
<ProtectedString name="Source">function onChatted(msg, speaker)
|
||||
|
||||
source = string.lower(speaker.Name)
|
||||
msg = string.lower(msg)
|
||||
-- Note: This one is NOT caps sensitive
|
||||
|
||||
if msg == "!!!reset" then
|
||||
speaker.Character.Humanoid.Health = 0
|
||||
end
|
||||
end
|
||||
|
||||
function onPlayerEntered(newPlayer)
|
||||
newPlayer.Chatted:connect(function(msg) onChatted(msg, newPlayer) end)
|
||||
end
|
||||
|
||||
game.Players.ChildAdded:connect(onPlayerEntered)</ProtectedString>
|
||||
<bool name="archivable">true</bool>
|
||||
</Properties>
|
||||
</Item>
|
||||
</roblox>
|
||||
|
|
@ -1,545 +0,0 @@
|
|||
settings().Rendering.FrameRateManager = 2
|
||||
settings().Network.DataSendRate = 30
|
||||
settings().Network.PhysicsSendRate = 20
|
||||
settings().Network.ReceiveRate = 60
|
||||
|
||||
--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,RemoveTeapotTurret)
|
||||
local charparts = {[1] = newWaitForChild(newChar,"Head"),[2] = newWaitForChild(newChar,"Torso"),[3] = newWaitForChild(newChar,"Left Arm"),[4] = newWaitForChild(newChar,"Right Arm"),[5] = newWaitForChild(newChar,"Left Leg"),[6] = newWaitForChild(newChar,"Right Leg")}
|
||||
for _,newVal in pairs(playerApp:GetChildren()) do
|
||||
local customtype = newVal.CustomizationType.Value
|
||||
if (customtype == 1) then
|
||||
pcall(function()
|
||||
charparts[newVal.ColorIndex.Value].BrickColor = newVal.Value
|
||||
end)
|
||||
elseif (customtype == 2) then
|
||||
pcall(function()
|
||||
local newHat = game.Workspace:InsertContent("rbxasset://../../../charcustom/hats/"..newVal.Value)
|
||||
if newHat[1] then
|
||||
if newHat[1].className == "Hat" then
|
||||
if (RemoveTeapotTurret == true) then
|
||||
if (newHat[1].Name ~= "TeapotTurret.rbxm") then
|
||||
newHat[1].Parent = newChar
|
||||
else
|
||||
newHat[1]:remove()
|
||||
end
|
||||
else
|
||||
newHat[1].Parent = newChar
|
||||
end
|
||||
else
|
||||
newHat[1]:remove()
|
||||
end
|
||||
end
|
||||
end)
|
||||
elseif (customtype == 3) then
|
||||
pcall(function()
|
||||
local newTShirt = game.Workspace:InsertContent("rbxasset://../../../charcustom/tshirts/"..newVal.Value)
|
||||
if newTShirt[1] then
|
||||
if newTShirt[1].className == "ShirtGraphic" then
|
||||
newTShirt[1].Parent = newChar
|
||||
else
|
||||
newTShirt[1]:remove()
|
||||
end
|
||||
end
|
||||
end)
|
||||
elseif (customtype == 4) then
|
||||
pcall(function()
|
||||
local newShirt = game.Workspace:InsertContent("rbxasset://../../../charcustom/shirts/"..newVal.Value)
|
||||
if newShirt[1] then
|
||||
if newShirt[1].className == "Shirt" then
|
||||
newShirt[1].Parent = newChar
|
||||
else
|
||||
newShirt[1]:remove()
|
||||
end
|
||||
end
|
||||
end)
|
||||
elseif (customtype == 5) then
|
||||
pcall(function()
|
||||
local newPants = game.Workspace:InsertContent("rbxasset://../../../charcustom/pants/"..newVal.Value)
|
||||
if newPants[1] then
|
||||
if newPants[1].className == "Pants" then
|
||||
newPants[1].Parent = newChar
|
||||
else
|
||||
newPants[1]:remove()
|
||||
end
|
||||
end
|
||||
end)
|
||||
elseif (customtype == 6) then
|
||||
pcall(function()
|
||||
local newFace = game.Workspace:InsertContent("rbxasset://../../../charcustom/faces/"..newVal.Value)
|
||||
if newFace[1] then
|
||||
if newFace[1].className == "Decal" then
|
||||
newWaitForChild(charparts[1],"face"):remove()
|
||||
newFace[1].Parent = charparts[1]
|
||||
newFace[1].Face = "Front"
|
||||
else
|
||||
newFace[1]:remove()
|
||||
end
|
||||
end
|
||||
end)
|
||||
elseif (customtype == 7) then
|
||||
pcall(function()
|
||||
local newPart = game.Workspace:InsertContent("rbxasset://../../../charcustom/heads/"..newVal.Value)
|
||||
if newPart[1] then
|
||||
if newPart[1].className == "SpecialMesh" or newPart[1].className == "CylinderMesh" or newPart[1].className == "BlockMesh" then
|
||||
newWaitForChild(charparts[1],"Mesh"):remove()
|
||||
newPart[1].Parent = charparts[1]
|
||||
else
|
||||
newPart[1]:remove()
|
||||
end
|
||||
end
|
||||
end)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID)
|
||||
local newCharApp = Instance.new("IntValue",Player)
|
||||
newCharApp.Name = "Appearance"
|
||||
--BODY COLORS
|
||||
for i=1,6,1 do
|
||||
local BodyColor = Instance.new("BrickColorValue",newCharApp)
|
||||
if (i == 1) then
|
||||
if (HeadColorID ~= nil) then
|
||||
BodyColor.Value = BrickColor.new(HeadColorID)
|
||||
else
|
||||
BodyColor.Value = BrickColor.new(1)
|
||||
end
|
||||
BodyColor.Name = "HeadColor"
|
||||
elseif (i == 2) then
|
||||
if (TorsoColorID ~= nil) then
|
||||
BodyColor.Value = BrickColor.new(TorsoColorID)
|
||||
else
|
||||
BodyColor.Value = BrickColor.new(1)
|
||||
end
|
||||
BodyColor.Name = "TorsoColor"
|
||||
elseif (i == 3) then
|
||||
if (LeftArmColorID ~= nil) then
|
||||
BodyColor.Value = BrickColor.new(LeftArmColorID)
|
||||
else
|
||||
BodyColor.Value = BrickColor.new(1)
|
||||
end
|
||||
BodyColor.Name = "LeftArmColor"
|
||||
elseif (i == 4) then
|
||||
if (RightArmColorID ~= nil) then
|
||||
BodyColor.Value = BrickColor.new(RightArmColorID)
|
||||
else
|
||||
BodyColor.Value = BrickColor.new(1)
|
||||
end
|
||||
BodyColor.Name = "RightArmColor"
|
||||
elseif (i == 5) then
|
||||
if (LeftLegColorID ~= nil) then
|
||||
BodyColor.Value = BrickColor.new(LeftLegColorID)
|
||||
else
|
||||
BodyColor.Value = BrickColor.new(1)
|
||||
end
|
||||
BodyColor.Name = "LeftLegColor"
|
||||
elseif (i == 6) then
|
||||
if (RightLegColorID ~= nil) then
|
||||
BodyColor.Value = BrickColor.new(RightLegColorID)
|
||||
else
|
||||
BodyColor.Value = BrickColor.new(1)
|
||||
end
|
||||
BodyColor.Name = "RightLegColor"
|
||||
end
|
||||
local indexValue = Instance.new("NumberValue")
|
||||
indexValue.Name = "ColorIndex"
|
||||
indexValue.Parent = BodyColor
|
||||
indexValue.Value = i
|
||||
local typeValue = Instance.new("NumberValue")
|
||||
typeValue.Name = "CustomizationType"
|
||||
typeValue.Parent = BodyColor
|
||||
typeValue.Value = 1
|
||||
end
|
||||
--HATS
|
||||
for i=1,3,1 do
|
||||
local newHat = Instance.new("StringValue",newCharApp)
|
||||
if (i == 1) then
|
||||
if (RightLegColorID ~= nil) then
|
||||
newHat.Value = Hat1ID
|
||||
newHat.Name = Hat1ID
|
||||
else
|
||||
newHat.Value = "NoHat.rbxm"
|
||||
newHat.Name = "NoHat.rbxm"
|
||||
end
|
||||
elseif (i == 2) then
|
||||
if (RightLegColorID ~= nil) then
|
||||
newHat.Value = Hat2ID
|
||||
newHat.Name = Hat2ID
|
||||
else
|
||||
newHat.Value = "NoHat.rbxm"
|
||||
newHat.Name = "NoHat.rbxm"
|
||||
end
|
||||
elseif (i == 3) then
|
||||
if (RightLegColorID ~= nil) then
|
||||
newHat.Value = Hat3ID
|
||||
newHat.Name = Hat3ID
|
||||
else
|
||||
newHat.Value = "NoHat.rbxm"
|
||||
newHat.Name = "NoHat.rbxm"
|
||||
end
|
||||
end
|
||||
local typeValue = Instance.new("NumberValue")
|
||||
typeValue.Name = "CustomizationType"
|
||||
typeValue.Parent = newHat
|
||||
typeValue.Value = 2
|
||||
end
|
||||
--T-SHIRT
|
||||
local newTShirt = Instance.new("StringValue",newCharApp)
|
||||
if (TShirtID ~= nil) then
|
||||
newTShirt.Value = TShirtID
|
||||
newTShirt.Name = TShirtID
|
||||
else
|
||||
newTShirt.Value = "NoTShirt.rbxm"
|
||||
newTShirt.Name = "NoTShirt.rbxm"
|
||||
end
|
||||
local typeValue = Instance.new("NumberValue")
|
||||
typeValue.Name = "CustomizationType"
|
||||
typeValue.Parent = newTShirt
|
||||
typeValue.Value = 3
|
||||
--SHIRT
|
||||
local newShirt = Instance.new("StringValue",newCharApp)
|
||||
if (ShirtID ~= nil) then
|
||||
newShirt.Value = ShirtID
|
||||
newShirt.Name = ShirtID
|
||||
else
|
||||
newShirt.Value = "NoShirt.rbxm"
|
||||
newShirt.Name = "NoShirt.rbxm"
|
||||
end
|
||||
local typeValue = Instance.new("NumberValue")
|
||||
typeValue.Name = "CustomizationType"
|
||||
typeValue.Parent = newShirt
|
||||
typeValue.Value = 4
|
||||
--PANTS
|
||||
local newPants = Instance.new("StringValue",newCharApp)
|
||||
if (PantsID ~= nil) then
|
||||
newPants.Value = PantsID
|
||||
newPants.Name = PantsID
|
||||
else
|
||||
newPants.Value = "NoPants.rbxm"
|
||||
newPants.Name = "NoPants.rbxm"
|
||||
end
|
||||
local typeValue = Instance.new("NumberValue")
|
||||
typeValue.Name = "CustomizationType"
|
||||
typeValue.Parent = newPants
|
||||
typeValue.Value = 5
|
||||
--FACE
|
||||
local newFace = Instance.new("StringValue",newCharApp)
|
||||
if (FaceID ~= nil) then
|
||||
newFace.Value = FaceID
|
||||
newFace.Name = FaceID
|
||||
else
|
||||
newFace.Value = "DefaultFace.rbxm"
|
||||
newFace.Name = "DefaultFace.rbxm"
|
||||
end
|
||||
local typeValue = Instance.new("NumberValue")
|
||||
typeValue.Name = "CustomizationType"
|
||||
typeValue.Parent = newFace
|
||||
typeValue.Value = 6
|
||||
--HEADS
|
||||
local newHead = Instance.new("StringValue",newCharApp)
|
||||
if (HeadID ~= nil) then
|
||||
newHead.Value = HeadID
|
||||
newHead.Name = HeadID
|
||||
else
|
||||
newHead.Value = "DefaultHead.rbxm"
|
||||
newHead.Name = "DefaultHead.rbxm"
|
||||
end
|
||||
local typeValue = Instance.new("NumberValue")
|
||||
typeValue.Name = "CustomizationType"
|
||||
typeValue.Parent = newHead
|
||||
typeValue.Value = 7
|
||||
end
|
||||
|
||||
function LoadSecurity(playerApp,Player,ServerSecurityLocation)
|
||||
if (playerApp==nil) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
else
|
||||
if ((playerApp:GetChildren() ~= 0) or (playerApp:GetChildren() ~= nil)) then
|
||||
for _,newVal in pairs(playerApp:GetChildren()) do
|
||||
if (playerApp:FindFirstChild("ClientEXEMD5")) then
|
||||
if ((newVal.Name == "ClientEXEMD5")) then
|
||||
if ((newVal.Value ~= ServerSecurityLocation.Security.ClientEXEMD5.Value) or (newVal.Value == nil) or (newVal.Value == "")) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
end
|
||||
end
|
||||
else
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
end
|
||||
|
||||
if (playerApp:FindFirstChild("LauncherMD5")) then
|
||||
if ((newVal.Name == "LauncherMD5")) then
|
||||
if ((newVal.Value ~= ServerSecurityLocation.Security.LauncherMD5.Value) or (newVal.Value == nil) or (newVal.Value == "")) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
end
|
||||
end
|
||||
else
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
end
|
||||
|
||||
if (playerApp:FindFirstChild("ClientScriptMD5")) then
|
||||
if ((newVal.Name == "ClientScriptMD5")) then
|
||||
if ((newVal.Value ~= ServerSecurityLocation.Security.ClientScriptMD5.Value) or (newVal.Value == nil) or (newVal.Value == "")) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
end
|
||||
end
|
||||
else
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
end
|
||||
end
|
||||
else
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function InitalizeSecurityValues(Location,ClientEXEMD5,LauncherMD5,ClientScriptMD5)
|
||||
local newCharApp = Instance.new("IntValue",Location)
|
||||
newCharApp.Name = "Security"
|
||||
local newClientMD5 = Instance.new("StringValue",newCharApp)
|
||||
if (ClientEXEMD5 ~= nil) then
|
||||
newClientMD5.Value = ClientEXEMD5
|
||||
else
|
||||
newClientMD5.Value = ""
|
||||
end
|
||||
newClientMD5.Name = "ClientEXEMD5"
|
||||
local newLauncherMD5 = Instance.new("StringValue",newCharApp)
|
||||
if (LauncherMD5 ~= nil) then
|
||||
newLauncherMD5.Value = LauncherMD5
|
||||
else
|
||||
newLauncherMD5.Value = ""
|
||||
end
|
||||
newLauncherMD5.Name = "LauncherMD5"
|
||||
local newClientScriptMD5 = Instance.new("StringValue",newCharApp)
|
||||
if (ClientScriptMD5 ~= nil) then
|
||||
newClientScriptMD5.Value = ClientScriptMD5
|
||||
else
|
||||
newClientScriptMD5.Value = ""
|
||||
end
|
||||
newClientScriptMD5.Name = "ClientScriptMD5"
|
||||
end
|
||||
|
||||
rbxversion = version()
|
||||
print("ROBLOX Client version '" .. rbxversion .. "' loaded.")
|
||||
|
||||
function CSServer(Port,PlayerLimit,ClientEXEMD5,LauncherMD5,ClientScriptMD5,RemoveTeapotTurret)
|
||||
assert((type(Port)~="number" or tonumber(Port)~=nil or Port==nil),"CSRun Error: Port must be nil or a number.")
|
||||
local NetworkServer=game:GetService("NetworkServer")
|
||||
pcall(NetworkServer.Stop,NetworkServer)
|
||||
NetworkServer:Start(Port)
|
||||
game:GetService("Players").MaxPlayers = PlayerLimit
|
||||
game:GetService("Players").PlayerAdded:connect(function(Player)
|
||||
if (game:GetService("Players").NumPlayers > game:GetService("Players").MaxPlayers) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Too many players on server."
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Too many players on server.")
|
||||
else
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' added")
|
||||
Player:LoadCharacter()
|
||||
end
|
||||
Player.CharacterAdded:connect(function(char)
|
||||
LoadSecurity(newWaitForChild(Player,"Security"),Player,game.Lighting)
|
||||
if (Player.Character ~= nil) then
|
||||
LoadCharacterNew(newWaitForChild(Player,"Appearance"),Player.Character,RemoveTeapotTurret)
|
||||
end
|
||||
end)
|
||||
Player.Changed:connect(function(Property)
|
||||
if (Property=="Character") and (Player.Character~=nil) then
|
||||
local Character=Player.Character
|
||||
local Humanoid=Character:FindFirstChild("Humanoid")
|
||||
if (Humanoid~=nil) then
|
||||
Humanoid.Died:connect(function() delay(5,function() Player:LoadCharacter() LoadCharacterNew(newWaitForChild(Player,"Appearance"),Player.Character,RemoveTeapotTurret) end) end)
|
||||
end
|
||||
end
|
||||
end)
|
||||
end)
|
||||
game:GetService("Players").PlayerRemoving:connect(function(Player)
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' leaving")
|
||||
end)
|
||||
game:GetService("RunService"):Run()
|
||||
game.Workspace:InsertContent("rbxasset://Fonts//libraries.rbxm")
|
||||
InitalizeSecurityValues(game.Lighting,LauncherMD5,ClientEXEMD5,ClientScriptMD5)
|
||||
pcall(function() game.Close:connect(function() NetworkServer:Stop() end) end)
|
||||
NetworkServer.IncommingConnection:connect(IncommingConnection)
|
||||
end
|
||||
|
||||
function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType,ClientEXEMD5,LauncherMD5,ClientScriptMD5,Ticket)
|
||||
pcall(function() game:SetPlaceID(-1, false) end)
|
||||
pcall(function() game:GetService("Players"):SetChatStyle(Enum.ChatStyle.ClassicAndBubble) end)
|
||||
|
||||
pcall(function()
|
||||
game:GetService("GuiService").Changed:connect(function()
|
||||
pcall(function() game:GetService("GuiService").ShowLegacyPlayerList=true end)
|
||||
pcall(function() game.CoreGui.RobloxGui.PlayerListScript:Remove() end)
|
||||
pcall(function() game.CoreGui.RobloxGui.PlayerListTopRightFrame:Remove() end)
|
||||
pcall(function() game.CoreGui.RobloxGui.BigPlayerListWindowImposter:Remove() end)
|
||||
pcall(function() game.CoreGui.RobloxGui.BigPlayerlist:Remove() end)
|
||||
end)
|
||||
end)
|
||||
game:GetService("RunService"):Run()
|
||||
assert((ServerIP~=nil and ServerPort~=nil),"CSConnect Error: ServerIP and ServerPort must be defined.")
|
||||
local function SetMessage(Message) game:SetMessage(Message) end
|
||||
local Visit,NetworkClient,PlayerSuccess,Player,ConnectionFailedHook=game:GetService("Visit"),game:GetService("NetworkClient")
|
||||
|
||||
local function GetClassCount(Class,Parent)
|
||||
local Objects=Parent:GetChildren()
|
||||
local Number=0
|
||||
for Index,Object in pairs(Objects) do
|
||||
if (Object.className==Class) then
|
||||
Number=Number+1
|
||||
end
|
||||
Number=Number+GetClassCount(Class,Object)
|
||||
end
|
||||
return Number
|
||||
end
|
||||
|
||||
local function RequestCharacter(Replicator)
|
||||
local Connection
|
||||
Connection=Player.Changed:connect(function(Property)
|
||||
if (Property=="Character") then
|
||||
game:ClearMessage()
|
||||
end
|
||||
end)
|
||||
SetMessage("Requesting character...")
|
||||
Replicator:RequestCharacter()
|
||||
SetMessage("Waiting for character...")
|
||||
end
|
||||
|
||||
local function Disconnection(Peer,LostConnection)
|
||||
SetMessage("You have lost connection to the game")
|
||||
end
|
||||
|
||||
local function ConnectionAccepted(Peer,Replicator)
|
||||
Replicator.Disconnection:connect(Disconnection)
|
||||
local RequestingMarker=true
|
||||
game:SetMessageBrickCount()
|
||||
local Marker=Replicator:SendMarker()
|
||||
Marker.Received:connect(function()
|
||||
RequestingMarker=false
|
||||
RequestCharacter(Replicator)
|
||||
end)
|
||||
while RequestingMarker do
|
||||
Workspace:ZoomToExtents()
|
||||
wait(0.5)
|
||||
end
|
||||
end
|
||||
|
||||
local function ConnectionFailed(Peer, Code, why)
|
||||
SetMessage("Failed to connect to the Game. (ID="..Code.." ["..why.."])")
|
||||
end
|
||||
|
||||
pcall(function() settings().Diagnostics:LegacyScriptMode() end)
|
||||
pcall(function() game:SetRemoteBuildMode(true) end)
|
||||
SetMessage("Connecting to server...")
|
||||
NetworkClient.ConnectionAccepted:connect(ConnectionAccepted)
|
||||
ConnectionFailedHook=NetworkClient.ConnectionFailed:connect(ConnectionFailed)
|
||||
NetworkClient.ConnectionRejected:connect(function()
|
||||
pcall(function() ConnectionFailedHook:disconnect() end)
|
||||
SetMessage("Failed to connect to the Game. (Connection rejected)")
|
||||
end)
|
||||
|
||||
pcall(function() NetworkClient.Ticket=Ticket or "" end) -- 2008 client has no ticket :O
|
||||
PlayerSuccess,Player=pcall(function() return NetworkClient:PlayerConnect(UserID,ServerIP,ServerPort) end)
|
||||
|
||||
if (not PlayerSuccess) then
|
||||
SetMessage("Failed to connect to the Game. (Invalid IP Address)")
|
||||
NetworkClient:Disconnect()
|
||||
end
|
||||
|
||||
if (not PlayerSuccess) then
|
||||
local Error,Message=pcall(function()
|
||||
Player=game:GetService("Players"):CreateLocalPlayer(UserID)
|
||||
NetworkClient:Connect(ServerIP,ServerPort)
|
||||
end)
|
||||
if (not Error) then
|
||||
SetMessage("Failed to connect to the Game.")
|
||||
end
|
||||
end
|
||||
|
||||
InitalizeClientAppearance(Player,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID)
|
||||
InitalizeSecurityValues(Player,LauncherMD5,ClientEXEMD5,ClientScriptMD5)
|
||||
pcall(function() Player:SetUnder13(false) end)
|
||||
pcall(function() Player:SetMembershipType(Enum.MembershipType.BuildersClub) end)
|
||||
pcall(function() Player:SetAccountAge(365) end)
|
||||
Player:SetSuperSafeChat(false)
|
||||
Player.CharacterAppearance=0
|
||||
pcall(function() Player.Name=PlayerName or "" end)
|
||||
pcall(function() Visit:SetUploadUrl("") end)
|
||||
game:GetService("Visit")
|
||||
end
|
||||
|
||||
function CSSolo(UserID,PlayerName,Hat1ID,Hat2ID,Hat3ID,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,TShirtID,ShirtID,PantsID,FaceID,HeadID,IconType)
|
||||
local plr = game.Players:CreateLocalPlayer(UserID)
|
||||
game:GetService("RunService"):run()
|
||||
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)
|
||||
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
|
||||
game:GetService("Visit")
|
||||
while true do wait()
|
||||
if (plr.Character.Humanoid.Health == 0) then
|
||||
wait(5)
|
||||
plr:LoadCharacter()
|
||||
LoadCharacterNew(newWaitForChild(plr,"Appearance"),plr.Character,false)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
_G.CSServer=CSServer
|
||||
_G.CSConnect=CSConnect
|
||||
_G.CSSolo=CSSolo
|
||||
|
|
@ -16,6 +16,24 @@ function newWaitForChild(newParent,name)
|
|||
end
|
||||
|
||||
function LoadCharacterNew(playerApp,newChar,RemoveTeapotTurret)
|
||||
if (playerApp==nil) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
else
|
||||
if ((playerApp:GetChildren() == 0) or (playerApp:GetChildren() == nil)) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
end
|
||||
end
|
||||
|
||||
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
|
||||
|
|
|
|||
|
|
@ -31,6 +31,24 @@ function newWaitForChild(newParent,name)
|
|||
end
|
||||
|
||||
function LoadCharacterNew(playerApp,newChar,RemoveTeapotTurret)
|
||||
if (playerApp==nil) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
else
|
||||
if ((playerApp:GetChildren() == 0) or (playerApp:GetChildren() == nil)) then
|
||||
local message = Instance.new("Message")
|
||||
message.Text = "You were kicked. Reason: Modified Client"
|
||||
message.Parent = Player
|
||||
wait(2)
|
||||
Player:remove()
|
||||
print("Player '" .. Player.Name .. "' with ID '" .. Player.userId .. "' kicked. Reason: Modified Client")
|
||||
end
|
||||
end
|
||||
|
||||
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
|
||||
|
|
@ -525,6 +543,7 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
|
|||
end
|
||||
end
|
||||
pcall(function() Player:SetUnder13(false) end)
|
||||
game.GuiRoot.ScoreHud:Remove()
|
||||
if (IconType == "BC") then
|
||||
Player:SetMembershipType(Enum.MembershipType.BuildersClub)
|
||||
elseif (IconType == "TBC") then
|
||||
|
|
@ -534,8 +553,6 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
|
|||
elseif (IconType == "NBC") then
|
||||
Player:SetMembershipType(Enum.MembershipType.None)
|
||||
end
|
||||
game.GuiRoot.ScoreHud:Remove()
|
||||
pcall(function() Player:SetMembershipType(Enum.MembershipType.BuildersClub) end)
|
||||
pcall(function() Player:SetAccountAge(365) end)
|
||||
Player:SetSuperSafeChat(false)
|
||||
Player.CharacterAppearance=0
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 144 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 167 KiB |
|
After Width: | Height: | Size: 167 KiB |
|
After Width: | Height: | Size: 167 KiB |
|
After Width: | Height: | Size: 282 KiB |
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 118 KiB |
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 98 KiB |
|
Before Width: | Height: | Size: 111 KiB After Width: | Height: | Size: 111 KiB |
|
Before Width: | Height: | Size: 123 KiB After Width: | Height: | Size: 123 KiB |
|
Before Width: | Height: | Size: 146 KiB After Width: | Height: | Size: 146 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 208 KiB After Width: | Height: | Size: 208 KiB |
|
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 199 KiB After Width: | Height: | Size: 199 KiB |
|
Before Width: | Height: | Size: 214 KiB After Width: | Height: | Size: 214 KiB |
|
Before Width: | Height: | Size: 173 KiB After Width: | Height: | Size: 173 KiB |
|
Before Width: | Height: | Size: 314 KiB After Width: | Height: | Size: 314 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 7.6 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 59 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 59 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 436 KiB |
|
After Width: | Height: | Size: 105 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 70 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 108 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 99 B |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 267 B |
|
After Width: | Height: | Size: 108 KiB |
|
After Width: | Height: | Size: 111 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 343 KiB |
|
After Width: | Height: | Size: 638 KiB |