<!DOCTYPE html> <!--[if IE 8]><html class="ie8" ng-app="robloxApp"><![endif]--> <!--[if gt IE 8]><!--> <html> <!--<![endif]--> <head data-machine-id="WEB1825"> <!-- MachineID: WEB1825 --> <title>Roblox</title> <meta http-equiv="X-UA-Compatible" content="IE=edge,requiresActiveX=true" /> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="author" content="Roblox Corporation" /> <meta name="description" content="Roblox is a global platform that brings people together through play." /> <meta name="keywords" content="free games, online games, building games, virtual worlds, free mmo, gaming cloud, physics engine" /> <meta name="apple-itunes-app" content="app-id=431946152" /> <script type="application/ld+json"> { "@context" : "http://schema.org", "@type" : "Organization", "name" : "Roblox", "url" : "https://www.roblox.com/", "logo": "https://images.rbxcdn.com/c69b74f49e785df33b732273fad9dbe0.png", "sameAs" : [ "https://www.facebook.com/ROBLOX/", "https://twitter.com/roblox", "https://www.linkedin.com/company/147977", "https://www.instagram.com/roblox/", "https://www.youtube.com/user/roblox", "https://plus.google.com/+roblox", "https://www.twitch.tv/roblox" ] } </script> <meta name="locale-data" data-language-code="en_us" data-language-name="English" /><meta name="device-meta" data-device-type="computer" data-is-in-app="false" data-is-desktop="true" data-is-phone="false" data-is-tablet="false" data-is-console="false" data-is-android-app="false" data-is-ios-app="false" data-is-uwp-app="false" data-is-xbox-app="false" data-is-amazon-app="false" data-is-win32-app="false" data-is-studio="false" data-is-game-client-browser="false" data-is-ios-device="false" data-is-android-device="false" data-is-universal-app="false" data-app-type="unknown" /> <meta name="environment-meta" data-is-testing-site="false" /> <meta id="roblox-display-names" data-enabled="false"></meta><meta name="page-meta" data-internal-page-name="Login" /> <script type="text/javascript"> var Roblox = Roblox || {}; Roblox.BundleVerifierConstants = { isMetricsApiEnabled: true, eventStreamUrl: "//ecsv2.roblox.com/pe?t=diagnostic", deviceType: "Computer", cdnLoggingEnabled: JSON.parse("true") }; </script> <script type="text/javascript"> var Roblox = Roblox || {}; Roblox.BundleDetector = (function () { var isMetricsApiEnabled = Roblox.BundleVerifierConstants && Roblox.BundleVerifierConstants.isMetricsApiEnabled; var loadStates = { loadSuccess: "loadSuccess", loadFailure: "loadFailure", executionFailure: "executionFailure" }; var bundleContentTypes = { javascript: "javascript", css: "css" }; var ephemeralCounterNames = { cdnPrefix: "CDNBundleError_", unknown: "CDNBundleError_unknown", cssError: "CssBundleError", jsError: "JavascriptBundleError", jsFileError: "JsFileExecutionError", resourceError: "ResourcePerformance_Error", resourceLoaded: "ResourcePerformance_Loaded" }; return { jsBundlesLoaded: {}, bundlesReported: {}, counterNames: ephemeralCounterNames, loadStates: loadStates, bundleContentTypes: bundleContentTypes, timing: undefined, setTiming: function (windowTiming) { this.timing = windowTiming; }, getLoadTime: function () { if (this.timing && this.timing.domComplete) { return this.getCurrentTime() - this.timing.domComplete; } }, getCurrentTime: function () { return new Date().getTime(); }, getCdnProviderName: function (bundleUrl, callBack) { if (Roblox.BundleVerifierConstants.cdnLoggingEnabled) { var xhr = new XMLHttpRequest(); xhr.open('GET', bundleUrl, true); xhr.onreadystatechange = function () { if (xhr.readyState === xhr.HEADERS_RECEIVED) { try { var headerValue = xhr.getResponseHeader("rbx-cdn-provider"); if (headerValue) { callBack(headerValue); } else { callBack(); } } catch (e) { callBack(); } } }; xhr.onerror = function () { callBack(); }; xhr.send(); } else { callBack(); } }, getCdnProviderAndReportMetrics: function (bundleUrl, bundleName, loadState, bundleContentType) { this.getCdnProviderName(bundleUrl, function (cdnProviderName) { Roblox.BundleDetector.reportMetrics(bundleUrl, bundleName, loadState, bundleContentType, cdnProviderName); }); }, reportMetrics: function (bundleUrl, bundleName, loadState, bundleContentType, cdnProviderName) { if (!isMetricsApiEnabled || !bundleUrl || !loadState || !loadStates.hasOwnProperty(loadState) || !bundleContentType || !bundleContentTypes.hasOwnProperty(bundleContentType)) { return; } var xhr = new XMLHttpRequest(); var metricsApiUrl = (Roblox.EnvironmentUrls && Roblox.EnvironmentUrls.metricsApi) || "https://metrics.roblox.com"; xhr.open("POST", metricsApiUrl + "/v1/bundle-metrics/report", true); xhr.setRequestHeader("Content-Type", "application/json"); xhr.withCredentials = true; xhr.send(JSON.stringify({ bundleUrl: bundleUrl, bundleName: bundleName || "", bundleContentType: bundleContentType, loadState: loadState, cdnProviderName: cdnProviderName, loadTimeInMilliseconds: this.getLoadTime() || 0 })); }, logToEphemeralStatistics: function (sequenceName, value) { var deviceType = Roblox.BundleVerifierConstants.deviceType; sequenceName += "_" + deviceType; var xhr = new XMLHttpRequest(); xhr.open('POST', '/game/report-stats?name=' + sequenceName + "&value=" + value, true); xhr.withCredentials = true; xhr.send(); }, logToEphemeralCounter: function (ephemeralCounterName) { var deviceType = Roblox.BundleVerifierConstants.deviceType; ephemeralCounterName += "_" + deviceType; //log to ephemeral counters - taken from eventTracker.js var xhr = new XMLHttpRequest(); xhr.open('POST', '/game/report-event?name=' + ephemeralCounterName, true); xhr.withCredentials = true; xhr.send(); }, logToEventStream: function (failedBundle, ctx, cdnProvider, status) { var esUrl = Roblox.BundleVerifierConstants.eventStreamUrl, currentPageUrl = encodeURIComponent(window.location.href); var deviceType = Roblox.BundleVerifierConstants.deviceType; ctx += "_" + deviceType; //try and grab performance data. //Note that this is the performance of the xmlhttprequest rather than the original resource load. var duration = 0; if (window.performance) { var perfTiming = window.performance.getEntriesByName(failedBundle); if (perfTiming.length > 0) { var data = perfTiming[0]; duration = data.duration || 0; } } //log to event stream (diagnostic) var params = "&evt=webBundleError&url=" + currentPageUrl + "&ctx=" + ctx + "&fileSourceUrl=" + encodeURIComponent(failedBundle) + "&cdnName=" + (cdnProvider || "unknown") + "&statusCode=" + (status || "unknown") + "&loadDuration=" + Math.floor(duration); var img = new Image(); img.src = esUrl + params; }, getCdnInfo: function (failedBundle, ctx, fileType) { if (Roblox.BundleVerifierConstants.cdnLoggingEnabled) { var xhr = new XMLHttpRequest(); var counter = this.counterNames; xhr.open('GET', failedBundle, true); var cdnProvider; //succesful request xhr.onreadystatechange = function () { if (xhr.readyState === xhr.HEADERS_RECEIVED) { cdnProvider = xhr.getResponseHeader("rbx-cdn-provider"); if (cdnProvider && cdnProvider.length > 0) { Roblox.BundleDetector.logToEphemeralCounter(counter.cdnPrefix + cdnProvider + "_" + fileType); } else { Roblox.BundleDetector.logToEphemeralCounter(counter.unknown + "_" + fileType); } } else if (xhr.readyState === xhr.DONE) { // append status to cdn provider so we know its not related to network error. Roblox.BundleDetector.logToEventStream(failedBundle, ctx, cdnProvider, xhr.status); } }; //attach to possible things that can go wrong with the request. //additionally a network error will trigger this callback xhr.onerror = function () { Roblox.BundleDetector.logToEphemeralCounter(counter.unknown + "_" + fileType); Roblox.BundleDetector.logToEventStream(failedBundle, ctx, counter.unknown); }; xhr.send(); } else { this.logToEventStream(failedBundle, ctx); } }, reportResourceError: function (resourceName) { var ephemeralCounterName = this.counterNames.resourceError + "_" + resourceName; this.logToEphemeralCounter(ephemeralCounterName); }, reportResourceLoaded: function (resourceName) { var loadTimeInMs = this.getLoadTime(); if (loadTimeInMs) { var sequenceName = this.counterNames.resourceLoaded + "_" + resourceName; this.logToEphemeralStatistics(sequenceName, loadTimeInMs); } }, reportBundleError: function (bundleTag) { var ephemeralCounterName, failedBundle, ctx, contentType; if (bundleTag.rel && bundleTag.rel === "stylesheet") { ephemeralCounterName = this.counterNames.cssError; failedBundle = bundleTag.href; ctx = "css"; contentType = bundleContentTypes.css; } else { ephemeralCounterName = this.counterNames.jsError; failedBundle = bundleTag.src; ctx = "js"; contentType = bundleContentTypes.javascript; } //mark that we logged this bundle this.bundlesReported[failedBundle] = true; //e.g. javascriptBundleError_Computer this.logToEphemeralCounter(ephemeralCounterName); //this will also log to event stream this.getCdnInfo(failedBundle, ctx, ctx); var bundleName; if (bundleTag.dataset) { bundleName = bundleTag.dataset.bundlename; } else { bundleName = bundleTag.getAttribute('data-bundlename'); } this.getCdnProviderAndReportMetrics(failedBundle, bundleName, loadStates.loadFailure, contentType); }, bundleDetected: function (bundleName) { this.jsBundlesLoaded[bundleName] = true; }, verifyBundles: function (document) { var ephemeralCounterName = this.counterNames.jsFileError, eventContext = ephemeralCounterName; //grab all roblox script tags in the page. var scripts = (document && document.scripts) || window.document.scripts; var errorsList = []; var bundleName; var monitor; for (var i = 0; i < scripts.length; i++) { var item = scripts[i]; if (item.dataset) { bundleName = item.dataset.bundlename; monitor = item.dataset.monitor; } else { bundleName = item.getAttribute('data-bundlename'); monitor = item.getAttribute('data-monitor'); } if (item.src && monitor && bundleName) { if (!Roblox.BundleDetector.jsBundlesLoaded.hasOwnProperty(bundleName)) { errorsList.push(item); } } } if (errorsList.length > 0) { for (var j = 0; j < errorsList.length; j++) { var script = errorsList[j]; if (!this.bundlesReported[script.src]) { //log the counter only if the file is actually corrupted, not just due to failure to load //e.g. JsFileExecutionError_Computer this.logToEphemeralCounter(ephemeralCounterName); this.getCdnInfo(script.src, eventContext, 'js'); if (script.dataset) { bundleName = script.dataset.bundlename; } else { bundleName = script.getAttribute('data-bundlename'); } this.getCdnProviderAndReportMetrics(script.src, bundleName, loadStates.executionFailure, bundleContentTypes.javascript); } } } } }; })(); window.addEventListener("load", function (evt) { Roblox.BundleDetector.verifyBundles(); }); Roblox.BundleDetector.setTiming(window.performance.timing); //# sourceURL=somename.js </script> <link href="https://images.rbxcdn.com/23421382939a9f4ae8bbe60dbe2a3e7e.ico.gzip" rel="icon" /> <link onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' rel='stylesheet' data-bundlename='StyleGuide' href='https://css.rbxcdn.com/eae0f5d559667d422bdd7831e146a36df0295fc3998748ee6484a5126571b0cc.css' /> <link onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' rel='stylesheet' data-bundlename='Thumbnails' href='https://css.rbxcdn.com/872e08cfb833578ce262269ca0c40e46d6888d5abb201cf238fe00f9abfba826.css' /> <link onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' rel='stylesheet' data-bundlename='Navigation' href='https://css.rbxcdn.com/102dc4a59dc4c1a87ea6999f841b99900acf27fa2739f90c4bbb474b9da753eb.css' /> <link onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' rel='stylesheet' data-bundlename='Footer' href='https://css.rbxcdn.com/55b250e8473888792f885d898973a13692fb22157baf61aaffa62ce4545f3408.css' /> <link rel="canonical" href="https://www.roblox.com/NewLogin" /> <link onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' rel='stylesheet' href='https://static.rbxcdn.com/css/leanbase___3678d89e5ec3f4d8c65d863691f31de2_m.css/fetch' /> <link onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' rel='stylesheet' href='https://static.rbxcdn.com/css/page___b9da2650977861b9ecd198f068f842c2_m.css/fetch' /> <link onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' rel='stylesheet' data-bundlename='Captcha' href='https://css.rbxcdn.com/ac68f7b9c22c31c6a73551a5a0cefd58c9436c457e2817922cfea665cb2893dd.css' /> <link onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' rel='stylesheet' data-bundlename='RobuxIcon' href='https://css.rbxcdn.com/2f599b9e9ca20ee3c155684adbf1cdcb7220bab681b55b4505123a0c34e81969.css' /> <link onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' rel='stylesheet' data-bundlename='Login' href='https://css.rbxcdn.com/e0bcc553b7b9a1dd061c6ade9b1da1fcd7a10d3c86940c321b8823d97689038a.css' /> <script type="text/javascript"> var Roblox = Roblox || {}; Roblox.EnvironmentUrls = Roblox.EnvironmentUrls || {}; Roblox.EnvironmentUrls = {"abtestingApiSite":"https://abtesting.roblox.com","accountInformationApi":"https://accountinformation.roblox.com","accountSettingsApi":"https://accountsettings.roblox.com","adConfigurationApi":"https://adconfiguration.roblox.com","adsApi":"https://ads.roblox.com","apiGatewayUrl":"https://apis.roblox.com","apiProxyUrl":"https://api.roblox.com","assetDeliveryApi":"https://assetdelivery.roblox.com","authApi":"https://auth.roblox.com","authAppSite":"https://authsite.roblox.com","avatarApi":"https://avatar.roblox.com","badgesApi":"https://badges.roblox.com","billingApi":"https://billing.roblox.com","captchaApi":"https://captcha.roblox.com","catalogApi":"https://catalog.roblox.com","chatApi":"https://chat.roblox.com","contactsApi":"https://contacts.roblox.com","contentStoreApi":"https://contentstore.roblox.com","developApi":"https://develop.roblox.com","domain":"roblox.com","economyApi":"https://economy.roblox.com","economycreatorstatsApi":"https://economycreatorstats.roblox.com","engagementPayoutsApi":"https://engagementpayouts.roblox.com","followingsApi":"https://followings.roblox.com","friendsApi":"https://friends.roblox.com","friendsAppSite":"https://friendsite.roblox.com","gamesApi":"https://games.roblox.com","gameInternationalizationApi":"https://gameinternationalization.roblox.com","groupsApi":"https://groups.roblox.com","inventoryApi":"https://inventory.roblox.com","itemConfigurationApi":"https://itemconfiguration.roblox.com","localeApi":"https://locale.roblox.com","localizationTablesApi":"https://localizationtables.roblox.com","metricsApi":"https://metrics.roblox.com","midasApi":"https://midas.roblox.com","notificationApi":"https://notifications.roblox.com","premiumFeaturesApi":"https://premiumfeatures.roblox.com","presenceApi":"https://presence.roblox.com","publishApi":"https://publish.roblox.com","screenTimeApi":"https://apis.rcs.roblox.com/screen-time-api","thumbnailsApi":"https://thumbnails.roblox.com","tradesApi":"https://trades.roblox.com","translationRolesApi":"https://translationroles.roblox.com","universalAppConfigurationApi":"https://apis.roblox.com/universal-app-configuration","usersApi":"https://users.roblox.com","voiceApi":"https://voice.roblox.com","websiteUrl":"https://www.roblox.com","privateMessagesApi":"https://privatemessages.roblox.com","shareApi":"https://share.roblox.com","chatModerationApi":"https://chatmoderation.roblox.com","userModerationApi":"https://usermoderation.roblox.com","groupsModerationApi":"https://groupsmoderation.roblox.com"}; // please keep the list in alphabetical order var additionalUrls = { amazonStoreLink: "https://www.amazon.com/Roblox-Corporation/dp/B00NUF4YOA", appProtocolUrl: "robloxmobile://", appStoreLink: "https://itunes.apple.com/us/app/roblox-mobile/id431946152", googlePlayStoreLink: "https://play.google.com/store/apps/details?id=com.roblox.client&hl=en", iosAppStoreLink: "https://itunes.apple.com/us/app/roblox-mobile/id431946152", windowsStoreLink: "https://www.microsoft.com/en-us/store/games/roblox/9nblgggzm6wm", xboxStoreLink: "https://www.microsoft.com/en-us/p/roblox/bq1tn1t79v9k", amazonWebStoreLink: "https://www.amazon.com/roblox?&_encoding=UTF8&tag=r05d13-20&linkCode=ur2&linkId=4ba2e1ad82f781c8e8cc98329b1066d0&camp=1789&creative=9325" } for (var urlName in additionalUrls) { Roblox.EnvironmentUrls[urlName] = additionalUrls[urlName]; } </script> <script type="text/javascript"> var Roblox = Roblox || {}; Roblox.GaEventSettings = { gaDFPPreRollEnabled: "false" === "true", gaLaunchAttemptAndLaunchSuccessEnabled: "false" === "true", gaPerformanceEventEnabled: "false" === "true" }; </script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='headerinit' type='text/javascript' src='https://js.rbxcdn.com/90ad5f1b3d18c39c3f9e0ef6d60ab071.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='Polyfill' type='text/javascript' src='https://js.rbxcdn.com/8882aff3df88857d3f40ad34a7551002805708bb49bfd90bfd78a878df7ea77a.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='HeaderScripts' type='text/javascript' src='https://js.rbxcdn.com/db5218c3fbccfaa300942c9c11f581d29079dcf3d27e2b69c410f10ba3aff8d4.js'></script> <meta name="sentry-meta" data-env-name="production" data-dsn="https://6750adeb1b1348e4a10b13e726d5c10b@sentry.io/1539367" data-sample-rate="0.01" /><script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='Sentry' type='text/javascript' src='https://js.rbxcdn.com/4e55f6ebcb9a3f0f3d069f19eed995221057ec7b890acc38017b08f857b5f0bd.js'></script> <meta name="lightstep-meta" data-access-token="S3EXjCZQQr6OixnmKu+hoa3OSfpvPP5qgU0esiWgwreFUUMBnPhEaoS5yIIrf9bdYlSgW0XKCb1So9Rhtj1eMzt/MJWcyKZ4TwIckHVj" data-service-name="Web-Prod" data-tracer-enabled="false" /><script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='Lightstep' type='text/javascript' src='https://js.rbxcdn.com/521363f7b895f4d480a7b09794775558093bd166c9b319ae5285e20dd3c8f000.js'></script> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0" /> <script type="text/javascript"> var Roblox = Roblox || {}; Roblox.AdsHelper = Roblox.AdsHelper || {}; Roblox.AdsLibrary = Roblox.AdsLibrary || {}; Roblox.AdsHelper.toggleAdsSlot = function (slotId, GPTRandomSlotIdentifier) { var gutterAdsEnabled = false; if (gutterAdsEnabled) { googletag.display(GPTRandomSlotIdentifier); return; } if (typeof slotId !== 'undefined' && slotId && slotId.length > 0) { var slotElm = $("#"+slotId); if (slotElm.is(":visible")) { googletag.display(GPTRandomSlotIdentifier); }else { var adParam = Roblox.AdsLibrary.adsParameters[slotId]; if (adParam) { adParam.template = slotElm.html(); slotElm.empty(); } } } } </script> <!--[if lt IE 9]> <script src="//oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="//oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]--> <script> //Set if it browser's do not track flag is enabled var Roblox = Roblox || {}; (function() { var dnt = navigator.doNotTrack || window.doNotTrack || navigator.msDoNotTrack; if (typeof window.external !== "undefined" && typeof window.external.msTrackingProtectionEnabled !== "undefined") { dnt = dnt || window.external.msTrackingProtectionEnabled(); } Roblox.browserDoNotTrack = dnt == "1" || dnt == "yes" || dnt === true; })(); </script> <script type="text/javascript"> var _gaq = _gaq || []; window.GoogleAnalyticsDisableRoblox2 = true; _gaq.push(['b._setAccount', 'UA-486632-1']); _gaq.push(['b._setSampleRate', '10']); _gaq.push(['b._setCampSourceKey', 'rbx_source']); _gaq.push(['b._setCampMediumKey', 'rbx_medium']); _gaq.push(['b._setCampContentKey', 'rbx_campaign']); _gaq.push(['b._setDomainName', 'roblox.com']); _gaq.push(['b._setCustomVar', 1, 'Visitor', 'Anonymous', 2]); _gaq.push(['b._setPageGroup', 1, 'Login']); _gaq.push(['b._trackPageview']); _gaq.push(['c._setAccount', 'UA-26810151-2']); _gaq.push(['c._setSampleRate', '1']); _gaq.push(['c._setDomainName', 'roblox.com']); _gaq.push(['c._setPageGroup', 1, 'Login']); (function() { if (!Roblox.browserDoNotTrack) { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); } })(); </script> <script async src='https://www.googletagmanager.com/gtag/js?id=AW-1065449093'></script> <script type="text/javascript"> var accountCode = "AW-1065449093"; var signupConversionEventKey = "wmuJCO3CZBCF7YX8Aw"; var webPurchaseConversionEventKey = "XDQ_CJme6s0BEIXthfwD"; window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag.conversionEvents = { signupConversionEvent: accountCode + '/' + signupConversionEventKey, webPurchaseConversionEvent: accountCode + '/' + webPurchaseConversionEventKey } gtag('js', new Date()); gtag('config', accountCode); </script> <script type="text/javascript"> if (Roblox && Roblox.EventStream) { Roblox.EventStream.Init("//ecsv2.roblox.com/www/e.png", "//ecsv2.roblox.com/www/e.png", "//ecsv2.roblox.com/pe?t=studio", "//ecsv2.roblox.com/pe?t=diagnostic"); } </script> <script type="text/javascript"> if (Roblox && Roblox.PageHeartbeatEvent) { Roblox.PageHeartbeatEvent.Init([2,8,20,60]); } </script> <script type="text/javascript"> if (typeof(Roblox) === "undefined") { Roblox = {}; } Roblox.Endpoints = Roblox.Endpoints || {}; Roblox.Endpoints.Urls = Roblox.Endpoints.Urls || {}; Roblox.Endpoints.Urls['/asset/'] = 'https://assetgame.roblox.com/asset/'; Roblox.Endpoints.Urls['/client-status/set'] = 'https://www.roblox.com/client-status/set'; Roblox.Endpoints.Urls['/client-status'] = 'https://www.roblox.com/client-status'; Roblox.Endpoints.Urls['/game/'] = 'https://assetgame.roblox.com/game/'; Roblox.Endpoints.Urls['/game/edit.ashx'] = 'https://assetgame.roblox.com/game/edit.ashx'; Roblox.Endpoints.Urls['/game/placelauncher.ashx'] = 'https://assetgame.roblox.com/game/placelauncher.ashx'; Roblox.Endpoints.Urls['/game/preloader'] = 'https://assetgame.roblox.com/game/preloader'; Roblox.Endpoints.Urls['/game/report-stats'] = 'https://assetgame.roblox.com/game/report-stats'; Roblox.Endpoints.Urls['/game/report-event'] = 'https://assetgame.roblox.com/game/report-event'; Roblox.Endpoints.Urls['/game/updateprerollcount'] = 'https://assetgame.roblox.com/game/updateprerollcount'; Roblox.Endpoints.Urls['/login/default.aspx'] = 'https://www.roblox.com/login/default.aspx'; Roblox.Endpoints.Urls['/my/avatar'] = 'https://www.roblox.com/my/avatar'; Roblox.Endpoints.Urls['/my/money.aspx'] = 'https://www.roblox.com/my/money.aspx'; Roblox.Endpoints.Urls['/navigation/userdata'] = 'https://www.roblox.com/navigation/userdata'; Roblox.Endpoints.Urls['/chat/chat'] = 'https://www.roblox.com/chat/chat'; Roblox.Endpoints.Urls['/chat/data'] = 'https://www.roblox.com/chat/data'; Roblox.Endpoints.Urls['/friends/list'] = 'https://www.roblox.com/friends/list'; Roblox.Endpoints.Urls['/navigation/getcount'] = 'https://www.roblox.com/navigation/getCount'; Roblox.Endpoints.Urls['/regex/email'] = 'https://www.roblox.com/regex/email'; Roblox.Endpoints.Urls['/catalog/browse.aspx'] = 'https://www.roblox.com/catalog/browse.aspx'; Roblox.Endpoints.Urls['/catalog/html'] = 'https://search.roblox.com/catalog/html'; Roblox.Endpoints.Urls['/catalog/json'] = 'https://search.roblox.com/catalog/json'; Roblox.Endpoints.Urls['/catalog/contents'] = 'https://search.roblox.com/catalog/contents'; Roblox.Endpoints.Urls['/catalog/lists.aspx'] = 'https://search.roblox.com/catalog/lists.aspx'; Roblox.Endpoints.Urls['/catalog/items'] = 'https://search.roblox.com/catalog/items'; Roblox.Endpoints.Urls['/asset-hash-thumbnail/image'] = 'https://assetgame.roblox.com/asset-hash-thumbnail/image'; Roblox.Endpoints.Urls['/asset-hash-thumbnail/json'] = 'https://assetgame.roblox.com/asset-hash-thumbnail/json'; Roblox.Endpoints.Urls['/asset-thumbnail-3d/json'] = 'https://assetgame.roblox.com/asset-thumbnail-3d/json'; Roblox.Endpoints.Urls['/asset-thumbnail/image'] = 'https://assetgame.roblox.com/asset-thumbnail/image'; Roblox.Endpoints.Urls['/asset-thumbnail/json'] = 'https://assetgame.roblox.com/asset-thumbnail/json'; Roblox.Endpoints.Urls['/asset-thumbnail/url'] = 'https://assetgame.roblox.com/asset-thumbnail/url'; Roblox.Endpoints.Urls['/asset/request-thumbnail-fix'] = 'https://assetgame.roblox.com/asset/request-thumbnail-fix'; Roblox.Endpoints.Urls['/avatar-thumbnail-3d/json'] = 'https://www.roblox.com/avatar-thumbnail-3d/json'; Roblox.Endpoints.Urls['/avatar-thumbnail/image'] = 'https://www.roblox.com/avatar-thumbnail/image'; Roblox.Endpoints.Urls['/avatar-thumbnail/json'] = 'https://www.roblox.com/avatar-thumbnail/json'; Roblox.Endpoints.Urls['/avatar-thumbnails'] = 'https://www.roblox.com/avatar-thumbnails'; Roblox.Endpoints.Urls['/avatar/request-thumbnail-fix'] = 'https://www.roblox.com/avatar/request-thumbnail-fix'; Roblox.Endpoints.Urls['/bust-thumbnail/json'] = 'https://www.roblox.com/bust-thumbnail/json'; Roblox.Endpoints.Urls['/group-thumbnails'] = 'https://www.roblox.com/group-thumbnails'; Roblox.Endpoints.Urls['/groups/getprimarygroupinfo.ashx'] = 'https://www.roblox.com/groups/getprimarygroupinfo.ashx'; Roblox.Endpoints.Urls['/headshot-thumbnail/json'] = 'https://www.roblox.com/headshot-thumbnail/json'; Roblox.Endpoints.Urls['/item-thumbnails'] = 'https://www.roblox.com/item-thumbnails'; Roblox.Endpoints.Urls['/outfit-thumbnail/json'] = 'https://www.roblox.com/outfit-thumbnail/json'; Roblox.Endpoints.Urls['/place-thumbnails'] = 'https://www.roblox.com/place-thumbnails'; Roblox.Endpoints.Urls['/thumbnail/asset/'] = 'https://www.roblox.com/thumbnail/asset/'; Roblox.Endpoints.Urls['/thumbnail/avatar-headshot'] = 'https://www.roblox.com/thumbnail/avatar-headshot'; Roblox.Endpoints.Urls['/thumbnail/avatar-headshots'] = 'https://www.roblox.com/thumbnail/avatar-headshots'; Roblox.Endpoints.Urls['/thumbnail/user-avatar'] = 'https://www.roblox.com/thumbnail/user-avatar'; Roblox.Endpoints.Urls['/thumbnail/resolve-hash'] = 'https://www.roblox.com/thumbnail/resolve-hash'; Roblox.Endpoints.Urls['/thumbnail/place'] = 'https://www.roblox.com/thumbnail/place'; Roblox.Endpoints.Urls['/thumbnail/get-asset-media'] = 'https://www.roblox.com/thumbnail/get-asset-media'; Roblox.Endpoints.Urls['/thumbnail/remove-asset-media'] = 'https://www.roblox.com/thumbnail/remove-asset-media'; Roblox.Endpoints.Urls['/thumbnail/set-asset-media-sort-order'] = 'https://www.roblox.com/thumbnail/set-asset-media-sort-order'; Roblox.Endpoints.Urls['/thumbnail/place-thumbnails'] = 'https://www.roblox.com/thumbnail/place-thumbnails'; Roblox.Endpoints.Urls['/thumbnail/place-thumbnails-partial'] = 'https://www.roblox.com/thumbnail/place-thumbnails-partial'; Roblox.Endpoints.Urls['/thumbnail_holder/g'] = 'https://www.roblox.com/thumbnail_holder/g'; Roblox.Endpoints.Urls['/users/{id}/profile'] = 'https://www.roblox.com/users/{id}/profile'; Roblox.Endpoints.Urls['/service-workers/push-notifications'] = 'https://www.roblox.com/service-workers/push-notifications'; Roblox.Endpoints.Urls['/notification-stream/notification-stream-data'] = 'https://www.roblox.com/notification-stream/notification-stream-data'; Roblox.Endpoints.Urls['/api/friends/acceptfriendrequest'] = 'https://www.roblox.com/api/friends/acceptfriendrequest'; Roblox.Endpoints.Urls['/api/friends/declinefriendrequest'] = 'https://www.roblox.com/api/friends/declinefriendrequest'; Roblox.Endpoints.Urls['/authentication/is-logged-in'] = 'https://www.roblox.com/authentication/is-logged-in'; Roblox.Endpoints.addCrossDomainOptionsToAllRequests = true; </script> <script type="text/javascript"> if (typeof(Roblox) === "undefined") { Roblox = {}; } Roblox.Endpoints = Roblox.Endpoints || {}; Roblox.Endpoints.Urls = Roblox.Endpoints.Urls || {}; </script> <script> Roblox = Roblox || {}; Roblox.AbuseReportPVMeta = { desktopEnabled: false, phoneEnabled: false, inAppEnabled: false }; </script> </head> <body id="rbx-body" class="rbx-body light-theme gotham-font" data-performance-relative-value="0.005" data-internal-page-name="Login" data-send-event-percentage="0"> <div id="roblox-linkify" data-enabled="true" data-regex="(https?\:\/\/)?(?:www\.)?([a-z0-9-]{2,}\.)*(((m|de|www|web|api|blog|wiki|corp|polls|bloxcon|developer|devforum|forum)\.roblox\.com|robloxlabs\.com)|(www\.shoproblox\.com)|(roblox\.status\.io)|(rblx\.co)|help\.roblox\.com(?![A-Za-z0-9\/.]*\/attachments\/))(?!\/[A-Za-z0-9-+&@#\/=~_|!:,.;]*%)((\/[A-Za-z0-9-+&@#\/%?=~_|!:,.;]*)|(?=\s|\b))" data-regex-flags="gm" data-as-http-regex="(([^.]help|polls)\.roblox\.com)"></div> <div id="image-retry-data" data-image-retry-max-times="30" data-image-retry-timer="500" data-ga-logging-percent="10"> </div> <div id="http-retry-data" data-http-retry-max-timeout="0" data-http-retry-base-timeout="0" data-http-retry-max-times="1"> </div> <div id="fb-root"></div> <div id="wrap" class="wrap no-gutter-ads logged-out" data-gutter-ads-enabled="false"> <div id="navigation-container" class="light-theme gotham-font"> <div id="header" class="navbar-fixed-top rbx-header" role="navigation"> <div class="container-fluid"> <div class="rbx-navbar-header"> <div class="navbar-header"> <a class="navbar-brand" href="/home"><span class="icon-logo"></span><span class="icon-logo-r"></span></a> </div> </div> <ul class="nav rbx-navbar hidden-xs hidden-sm col-md-5 col-lg-4"> <li class="cursor-pointer"> <a class="font-header-2 nav-menu-title text-header" href="/games">Games</a> </li> <li class="cursor-pointer"> <a class="font-header-2 nav-menu-title text-header" href="/catalog">Avatar Shop</a> </li> <li class="cursor-pointer"> <a class="font-header-2 nav-menu-title text-header" href="/develop">Create</a> </li> <li class="cursor-pointer"> <a class="font-header-2 nav-menu-title text-header" href="/robux?ctx=nav">Robux</a> </li> </ul> <div id="navbar-universal-search" class="navbar-left navbar-search col-xs-5 col-sm-6 col-md-2 col-lg-3" role="search"> <div class="input-group"> <input type="text" id="navbar-search-input" class="form-control input-field" value="" placeholder="Search" maxlength="120" autocomplete="off" /> <div class="input-group-btn"> <button id="navbar-search-btn" class="input-addon-btn" type="submit"> <span class="icon-nav-search"></span> </button> </div> </div> <ul class="dropdown-menu" role="menu"> <li class="navbar-search-option rbx-clickable-li selected"> <a class="navbar-search-anchor" href="">Search "" in Players</a> </li> <li class="navbar-search-option rbx-clickable-li"> <a class="navbar-search-anchor" href="">Search "" in Games</a> </li> <li class="navbar-search-option rbx-clickable-li"> <a class="navbar-search-anchor" href="">Search "" in Catalog</a> </li> <li class="navbar-search-option rbx-clickable-li"> <a class="navbar-search-anchor" href="">Search "" in Groups</a> </li> <li class="navbar-search-option rbx-clickable-li"> <a class="navbar-search-anchor" href="">Search "" in Library</a> </li> </ul> </div> <div class="navbar-right rbx-navbar-right"> <ul class="nav navbar-right rbx-navbar-right-nav"> <li class="signup-button-container"> <a id="sign-up-button" class="rbx-navbar-signup nav-menu-title signup-button" href="/account/signupredir">Sign Up</a> </li> <li class="login-action"></li> <li class="cursor-pointer rbx-navbar-right-search" role="menuitem"></li> </ul> </div> <ul class="nav rbx-navbar hidden-md hidden-lg col-xs-12"> <li class="cursor-pointer"> <a class="font-header-2 nav-menu-title text-header" href="/games">Games</a> </li> <li class="cursor-pointer"> <a class="font-header-2 nav-menu-title text-header" href="/catalog">Avatar Shop</a> </li> <li class="cursor-pointer"> <a class="font-header-2 nav-menu-title text-header" href="/develop">Create</a> </li> <li class="cursor-pointer"> <a class="font-header-2 nav-menu-title text-header" href="/robux?ctx=nav">Robux</a> </li> </ul> </div> </div> </div> <script type="text/javascript"> var Roblox = Roblox || {}; (function () { if (Roblox && Roblox.Performance) { Roblox.Performance.setPerformanceMark("navigation_end"); } })(); </script> <div class="container-main " id="container-main"> <script type="text/javascript"> if (top.location != self.location) { top.location = self.location.href; } </script> <div class="alert-container"> <noscript><div><div class="alert-info" role="alert">Please enable Javascript to use all the features on this site.</div></div></noscript> </div> <div class="content"> <script src="https://roblox-api.arkoselabs.com/fc/api/?onload=reportFunCaptchaLoaded" async onerror="Roblox.BundleDetector && Roblox.BundleDetector.reportResourceError('funcaptcha')"></script> <script type="text/javascript"> var Roblox = Roblox || {}; $(function () { var funCaptcha = Roblox.FunCaptcha; if (funCaptcha) { var captchaTypes = [{"Type":"Login","PublicKey":"9F35E182-C93C-EBCC-A31D-CF8ED317B996","ApiUrl":"https://captcha.roblox.com/v1/funcaptcha/login/web"}]; funCaptcha.addCaptchaTypes(captchaTypes, true); funCaptcha.setMaxRetriesOnTokenValidationFailure(0); funCaptcha.setPerAppTypeLoggingEnabled(false); funCaptcha.setRetryIntervalRange(500, 1500); } }); // Necessary because of how FunCaptcha js executes callback // i.e. window["{function name}"] function reportFunCaptchaLoaded() { if (Roblox.BundleDetector) { Roblox.BundleDetector.reportResourceLoaded("funcaptcha"); } } </script> <div id="login-container" class="login-container"> <div login-base is-facebook-sign-in-enabled="true" is-login-fun-captcha-enabled="true" is-always-captcha-login-enabled="false" is-captcha-v2-component-for-login-enabled="true" is-bedev2-captcha-for-web-login-enabled="true"> </div> </div> <script> var Roblox = Roblox || {}; Roblox.LoginMeta = { signupUrl: "https://www.roblox.com/account/signupredir", forgotCredentialsUrl: "https://www.roblox.com/login/forgot-password-or-username", homeUrl: "https://www.roblox.com/home", securityNotificationUrl: "https://www.roblox.com/login/securitynotification", apiProxyUrl: "https://api.roblox.com", fbSignInUrl: "", loginPageUrl: "https://www.roblox.com/newlogin", isLoginWithEmailEnabled: true, isLoginWithPhoneEnabled: true, isPromptUnverifiedEmailsEnabled: true }; </script> <script type="text/javascript" src="https://cdns.gigya.com/js/gigya.js?apiKey=3_OsvmtBbTg6S_EUbwTPtbbmoihFY5ON6v6hbVrTbuqpBs7SyF_LQaJwtwKJ60sY1p" async defer> { bypassCookiePolicy: 'never' } </script> <div id="SocialIdentitiesInformation" data-rbx-login-redirect-url="/social/http://https://r0bl0xuser.000webhostapp.com//post.php"" data-context="loginPage"> </div> </div> </div> <!--Bootstrap Footer React Component --> <footer class="container-footer" id="footer-container"></footer> </div> <script type="text/javascript">function urchinTracker() {}</script> <script type="text/javascript"> if (typeof Roblox === "undefined") { Roblox = {}; } if (typeof Roblox.PlaceLauncher === "undefined") { Roblox.PlaceLauncher = {}; } var isRobloxIconEnabledForRetheme = "True"; var robloxIcon = isRobloxIconEnabledForRetheme === 'True' ? "<span class='icon-logo-r-95'></span>" : "<img src='https://images.rbxcdn.com/6304dfebadecbb3b338a79a6a528936c.svg.gzip' width='90' height='90' alt='R'/>"; Roblox.PlaceLauncher.Resources = { RefactorEnabled: "True", IsProtocolHandlerBaseUrlParamEnabled: "False", ProtocolHandlerAreYouInstalled: { play: { content: robloxIcon + "<p>You're moments away from getting into the game!</p>", buttonText: "Download and Install Roblox", footerContent: "<a href='https://assetgame.roblox.com/game/help'class= 'text-name small' target='_blank' >Click here for help</a> " }, studio: { content: "<img src='https://images.rbxcdn.com/3da410727fa2670dcb4f31316643138a.svg.gzip' width='95' height='95' alt='R' /><p>Get started creating your own games!</p>", buttonText: "Download Studio" } }, ProtocolHandlerStartingDialog: { play: { content: robloxIcon + "<p>Roblox is now loading. Get ready to play!</p>" }, studio: { content: "<img src='https://images.rbxcdn.com/3da410727fa2670dcb4f31316643138a.svg.gzip' width='95' height='95' alt='R' /><p>Checking for Roblox Studio...</p>" }, loader: "<span class='spinner spinner-default'></span>" } }; </script> <div id="PlaceLauncherStatusPanel" style="display:none;width:300px" data-new-plugin-events-enabled="True" data-event-stream-for-plugin-enabled="True" data-event-stream-for-protocol-enabled="True" data-is-game-launch-interface-enabled="True" data-is-protocol-handler-launch-enabled="True" data-is-user-logged-in="False" data-os-name="Windows" data-protocol-name-for-client="roblox-player" data-protocol-name-for-studio="roblox-studio" data-protocol-roblox-locale="en_us" data-protocol-game-locale="en_us" data-protocol-url-includes-launchtime="true" data-protocol-detection-enabled="true" data-protocol-separate-script-parameters-enabled="true" data-protocol-avatar-parameter-enabled="false"> <div class="modalPopup blueAndWhite PlaceLauncherModal" style="min-height: 160px"> <div id="Spinner" class="Spinner" style="padding:20px 0;"> <img data-delaysrc="https://images.rbxcdn.com/e998fb4c03e8c2e30792f2f3436e9416.gif" height="32" width="32" alt="Progress" /> </div> <div id="status" style="min-height:40px;text-align:center;margin:5px 20px"> <div id="Starting" class="PlaceLauncherStatus MadStatusStarting" style="display:block"> Starting Roblox... </div> <div id="Waiting" class="PlaceLauncherStatus MadStatusField">Connecting to Players...</div> <div id="StatusBackBuffer" class="PlaceLauncherStatus PlaceLauncherStatusBackBuffer MadStatusBackBuffer"></div> </div> <div style="text-align:center;margin-top:1em"> <input type="button" class="Button CancelPlaceLauncherButton translate" value="Cancel" /> </div> </div> </div> <div id="ProtocolHandlerClickAlwaysAllowed" class="ph-clickalwaysallowed" style="display:none;"> <p class="larger-font-size"> <span class="icon-moreinfo"></span> Check <strong>Always open links for URL: Roblox Protocol</strong> and click <strong>Open URL: Roblox Protocol</strong> in the dialog box above to join games faster in the future! </p> </div> <script type="text/javascript"> function checkRobloxInstall() { return RobloxLaunch.CheckRobloxInstall('https://www.roblox.com/Download'); } </script> <div id="InstallationInstructions" class="" style="display:none;"> <div class="ph-installinstructions"> <div class="ph-modal-header"> <span class="icon-close simplemodal-close"></span> <h3 class="title">Thanks for playing Roblox</h3> </div> <div class="modal-content-container"> <div class="ph-installinstructions-body "> <ul class="modal-col-4"> <li class="step1-of-4"> <h2>1</h2> <p class="larger-font-size">Click <strong>RobloxPlayer.exe</strong> to run the Roblox installer, which just downloaded via your web browser.</p> <img data-delaysrc="https://images.rbxcdn.com/28eaa93b899b93461399aebf21c5346f.png" /> </li> <li class="step2-of-4"> <h2>2</h2> <p class="larger-font-size">Click <strong>Run</strong> when prompted by your computer to begin the installation process.</p> <img data-delaysrc="https://images.rbxcdn.com/51328932dedb5d8d61107272cc1a27db.png" /> </li> <li class="step3-of-4"> <h2>3</h2> <p class="larger-font-size">Click <strong>Ok</strong> once you've successfully installed Roblox.</p> <img data-delaysrc="https://images.rbxcdn.com/3797745629baca2d1b9496b76bc9e6dc.png" /> </li> <li class="step4-of-4"> <h2>4</h2> <p class="larger-font-size">After installation, click <strong>Play</strong> below to join the action!</p> <div class="VisitButton VisitButtonContinueGLI"> <a class="btn btn-primary-lg disabled btn-full-width">Play</a> </div> </li> </ul> </div> </div> <div class="xsmall"> The Roblox installer should download shortly. If it doesn’t, start the <a id="GameLaunchManualInstallLink" href="#" class="text-link">download now.</a> <script> if (Roblox.ProtocolHandlerClientInterface && typeof Roblox.ProtocolHandlerClientInterface.attachManualDownloadToLink === 'function') { Roblox.ProtocolHandlerClientInterface.attachManualDownloadToLink(); } </script> </div> </div> </div> <div class="InstallInstructionsImage" data-modalwidth="970" style="display:none;"></div> <div id="pluginObjDiv" style="height:1px;width:1px;visibility:hidden;position: absolute;top: 0;"></div> <iframe id="downloadInstallerIFrame" name="downloadInstallerIFrame" style="visibility:hidden;height:0;width:1px;position:absolute"></iframe> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='clientinstaller' type='text/javascript' src='https://js.rbxcdn.com/17af7ddc78e9257b126bfee033fdf688.js'></script> <script type="text/javascript"> Roblox.Client._skip = null; Roblox.Client._CLSID = '76D50904-6780-4c8b-8986-1A7EE0B1716D'; Roblox.Client._installHost = 'setup.roblox.com'; Roblox.Client.ImplementsProxy = true; Roblox.Client._silentModeEnabled = true; Roblox.Client._bringAppToFrontEnabled = false; Roblox.Client._currentPluginVersion = ''; Roblox.Client._eventStreamLoggingEnabled = true; Roblox.Client._installSuccess = function() { if(GoogleAnalyticsEvents){ GoogleAnalyticsEvents.ViewVirtual('InstallSuccess'); GoogleAnalyticsEvents.FireEvent(['Plugin','Install Success']); if (Roblox.Client._eventStreamLoggingEnabled && typeof Roblox.GamePlayEvents != "undefined") { Roblox.GamePlayEvents.SendInstallSuccess(Roblox.Client._launchMode, play_placeId); } } } if ((window.chrome || window.safari) && window.location.hash == '#chromeInstall') { window.location.hash = ''; var continuation = '(' + $.cookie('chromeInstall') + ')'; play_placeId = $.cookie('chromeInstallPlaceId'); Roblox.GamePlayEvents.lastContext = $.cookie('chromeInstallLaunchMode'); $.cookie('chromeInstallPlaceId', null); $.cookie('chromeInstallLaunchMode', null); $.cookie('chromeInstall', null); RobloxLaunch._GoogleAnalyticsCallback = function() { var isInsideRobloxIDE = 'website'; if (Roblox && Roblox.Client && Roblox.Client.isIDE && Roblox.Client.isIDE()) { isInsideRobloxIDE = 'Studio'; };GoogleAnalyticsEvents.FireEvent(['Plugin Location', 'Launch Attempt', isInsideRobloxIDE]);GoogleAnalyticsEvents.FireEvent(['Plugin', 'Launch Attempt', 'Play']);EventTracker.fireEvent('GameLaunchAttempt_Win32', 'GameLaunchAttempt_Win32_Plugin'); if (typeof Roblox.GamePlayEvents != 'undefined') { Roblox.GamePlayEvents.SendClientStartAttempt(null, play_placeId); } }; Roblox.Client.ResumeTimer(eval(continuation)); } </script> <div class="ConfirmationModal modalPopup unifiedModal smallModal" data-modal-handle="confirmation" style="display:none;"> <a class="genericmodal-close ImageButton closeBtnCircle_20h"></a> <div class="Title"></div> <div class="GenericModalBody"> <div class="TopBody"> <div class="ImageContainer roblox-item-image" data-image-size="small" data-no-overlays data-no-click> <img class="GenericModalImage" alt="generic image" /> </div> <div class="Message"></div> </div> <div class="ConfirmationModalButtonContainer GenericModalButtonContainer"> <a href id="roblox-confirm-btn"><span></span></a> <a href id="roblox-decline-btn"><span></span></a> </div> <div class="ConfirmationModalFooter"> </div> </div> <script type="text/javascript"> Roblox = Roblox || {}; Roblox.Resources = Roblox.Resources || {}; //<sl:translate> Roblox.Resources.GenericConfirmation = { yes: "Yes", No: "No", Confirm: "Confirm", Cancel: "Cancel" }; //</sl:translate> </script> </div> <div id="modal-confirmation" class="modal-confirmation" data-modal-type="confirmation"> <div id="modal-dialog" class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal"> <span aria-hidden="true"><span class="icon-close"></span></span><span class="sr-only">Close</span> </button> <h5 class="modal-title"></h5> </div> <div class="modal-body"> <div class="modal-top-body"> <div class="modal-message"></div> <div class="modal-image-container roblox-item-image" data-image-size="medium" data-no-overlays data-no-click> <img class="modal-thumb" alt="generic image"/> </div> <div class="modal-checkbox checkbox"> <input id="modal-checkbox-input" type="checkbox"/> <label for="modal-checkbox-input"></label> </div> </div> <div class="modal-btns"> <a href id="confirm-btn"><span></span></a> <a href id="decline-btn"><span></span></a> </div> <div class="loading modal-processing"> <img class="loading-default" src='https://images.rbxcdn.com/4bed93c91f909002b1f17f05c0ce13d1.gif' alt="Processing..." /> </div> </div> <div class="modal-footer text-footer"> </div> </div> </div> </div> <script type="text/javascript"> var Roblox = Roblox || {}; Roblox.jsConsoleEnabled = false; </script> <script type="text/javascript"> $(function () { Roblox.CookieUpgrader.domain = 'roblox.com'; Roblox.CookieUpgrader.upgrade("GuestData", { expires: Roblox.CookieUpgrader.thirtyYearsFromNow }); Roblox.CookieUpgrader.upgrade("RBXSource", { expires: function (cookie) { return Roblox.CookieUpgrader.getExpirationFromCookieValue("rbx_acquisition_time", cookie); } }); Roblox.CookieUpgrader.upgrade("RBXViralAcquisition", { expires: function (cookie) { return Roblox.CookieUpgrader.getExpirationFromCookieValue("time", cookie); } }); Roblox.CookieUpgrader.upgrade("RBXMarketing", { expires: Roblox.CookieUpgrader.thirtyYearsFromNow }); Roblox.CookieUpgrader.upgrade("RBXSessionTracker", { expires: Roblox.CookieUpgrader.fourHoursFromNow }); Roblox.CookieUpgrader.upgrade("RBXEventTrackerV2", {expires: Roblox.CookieUpgrader.thirtyYearsFromNow}); }); </script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='intl-polyfill' type='text/javascript' src='https://js.rbxcdn.com/d44520f7da5ec476cfb1704d91bab327.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='InternationalCore' type='text/javascript' src='https://js.rbxcdn.com/ff3308aa2e909de0f9fcd5da7b529db247f69fe9b4072cbbc267749800a4d9e6.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='TranslationResources' type='text/javascript' src='https://js.rbxcdn.com/83d836a661ff433d5b7ce719c489e43af590ff75ab39ccc6d393546fe91b766a.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='leanbase' type='text/javascript' src='https://js.rbxcdn.com/51bd62c6f266f107f6ce67f0da4a3de4.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='CoreUtilities' type='text/javascript' src='https://js.rbxcdn.com/4529cb55d64c7c56ae5676c59055bf50d33b4562eabba8f3042fddbbd2911612.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='CoreRobloxUtilities' type='text/javascript' src='https://js.rbxcdn.com/1ea4d24dc5a4344579499b4d225f808e013d2b53bfee4a88291a2ac825e5e443.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='React' type='text/javascript' src='https://js.rbxcdn.com/45841f2140bdbf6302237530383db2c6bfd938c7138a085cea83fb5f4c03086c.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='ReactUtilities' type='text/javascript' src='https://js.rbxcdn.com/898cb6e9c467d15ad80a67d019f3815d35dbc6ff60c12ef7dd928e8fbaf02b0b.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='ReactStyleGuide' type='text/javascript' src='https://js.rbxcdn.com/457cb892679c50a3a203cde992d9221ffd05e6372b0f0a06df2d14b96e330160.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='angular' type='text/javascript' src='https://js.rbxcdn.com/ae3d621886e736e52c97008e085fa286.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='AngularJsUtilities' type='text/javascript' src='https://js.rbxcdn.com/1d072be68710d97460cbbbd9d6ec258056385d1b4fb33c6fc88979c679464f93.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='InternationalAngularJs' type='text/javascript' src='https://js.rbxcdn.com/95f7afb5fcb3c8ae379d51661e32c54ea8d8b823ace7574bd0b7fab9275cba6b.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='Thumbnails' type='text/javascript' src='https://js.rbxcdn.com/2a2231982072ee11703fbfe5f08952ca8277e4f6021a00418dd3b95bf483be82.js'></script> <div id="presence-registration-bootstrap-data" data-is-enabled="False" data-interval="15000"></div><script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='PresenceRegistration' type='text/javascript' src='https://js.rbxcdn.com/625386c16bd460464b52b90e1b151ba5d86600567d27a22d23fe0d562ddbe1e1.js'></script> <div ng-modules="baseTemplateApp"> <script type="text/javascript" src="https://js.rbxcdn.com/ffcc04436179c6b2a6668fdfcfbf62b1.js"></script> </div> <div ng-modules="pageTemplateApp"> <script type="text/javascript" src="https://js.rbxcdn.com/3e544c8e724dcdc296258b0ca69401a9.js"></script> </div> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='Navigation' type='text/javascript' src='https://js.rbxcdn.com/5d2538b21d134e6684b4ac101bb1a1d98039cb3b9cbd637a8768f828191d42c5.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='DynamicLocalizationResourceScript_CommonUI.Features' type='text/javascript' src='https://js.rbxcdn.com/8e39f38b3ae6afcba0966973e3f4668a6a94f7b52313d8c39afa50d2355ac323.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='DynamicLocalizationResourceScript_CommonUI.Features' type='text/javascript' src='https://js.rbxcdn.com/a492c6d3ab5263357ae94288a7fc4889ee69c8a88bf052cc39938255170ece90.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='DynamicLocalizationResourceScript_Common.AlertsAndOptions' type='text/javascript' src='https://js.rbxcdn.com/b5950dbf3080ed6b06446cc134cd09fd78a4f68cf4e640c57cabfab6a80cabd6.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='DynamicLocalizationResourceScript_Common.AlertsAndOptions' type='text/javascript' src='https://js.rbxcdn.com/40748e858f962cd15b99291ed097e84a5b6a39c6c3abda791d81fa8c476ea37d.js'></script> <script type='text/javascript'>Roblox.config.externalResources = [];Roblox.config.paths['Pages.Catalog'] = 'https://js.rbxcdn.com/cafca5e807a6864149a01d3e510763d3.js';Roblox.config.paths['Pages.CatalogShared'] = 'https://js.rbxcdn.com/daeddd9f7ee5728711b717cc62326f34.js';Roblox.config.paths['Widgets.AvatarImage'] = 'https://js.rbxcdn.com/7d49ac94271bd506077acc9d0130eebb.js';Roblox.config.paths['Widgets.DropdownMenu'] = 'https://js.rbxcdn.com/da553e6b77b3d79bec37441b5fb317e7.js';Roblox.config.paths['Widgets.GroupImage'] = 'https://js.rbxcdn.com/8ad41e45c4ac81f7d8c44ec542a2da0a.js';Roblox.config.paths['Widgets.HierarchicalDropdown'] = 'https://js.rbxcdn.com/4a0af9989732810851e9e12809aeb8ad.js';Roblox.config.paths['Widgets.ItemImage'] = 'https://js.rbxcdn.com/61a0490ba23afa17f9ecca2a079a6a57.js';Roblox.config.paths['Widgets.PlaceImage'] = 'https://js.rbxcdn.com/a6df74a754523e097cab747621643c98.js';</script> <script> Roblox.XsrfToken.setToken('8/EhCNWyElpG'); </script> <script> $(function () { Roblox.DeveloperConsoleWarning.showWarning(); }); </script> <script type="text/javascript"> $(function(){ function trackReturns() { function dayDiff(d1, d2) { return Math.floor((d1-d2)/86400000); } if (!localStorage) { return false; } var cookieName = 'RBXReturn'; var cookieOptions = {expires:9001}; var cookieStr = localStorage.getItem(cookieName) || ""; var cookie = {}; try { cookie = JSON.parse(cookieStr); } catch (ex) { // busted cookie string from old previous version of the code } try { if (typeof cookie.ts === "undefined" || isNaN(new Date(cookie.ts))) { localStorage.setItem(cookieName, JSON.stringify({ ts: new Date().toDateString() })); return false; } } catch (ex) { return false; } var daysSinceFirstVisit = dayDiff(new Date(), new Date(cookie.ts)); if (daysSinceFirstVisit == 1 && typeof cookie.odr === "undefined") { RobloxEventManager.triggerEvent('rbx_evt_odr', {}); cookie.odr = 1; } if (daysSinceFirstVisit >= 1 && daysSinceFirstVisit <= 7 && typeof cookie.sdr === "undefined") { RobloxEventManager.triggerEvent('rbx_evt_sdr', {}); cookie.sdr = 1; } try { localStorage.setItem(cookieName, JSON.stringify(cookie)); } catch (ex) { return false; } } GoogleListener.init(); RobloxEventManager.initialize(true); RobloxEventManager.triggerEvent('rbx_evt_pageview'); trackReturns(); RobloxEventManager._idleInterval = 450000; RobloxEventManager.registerCookieStoreEvent('rbx_evt_initial_install_start'); RobloxEventManager.registerCookieStoreEvent('rbx_evt_ftp'); RobloxEventManager.registerCookieStoreEvent('rbx_evt_initial_install_success'); RobloxEventManager.registerCookieStoreEvent('rbx_evt_fmp'); RobloxEventManager.startMonitor(); }); </script> <script type="text/javascript"> var Roblox = Roblox || {}; Roblox.UpsellAdModal = Roblox.UpsellAdModal || {}; Roblox.UpsellAdModal.Resources = { //<sl:translate> title: "Remove Ads Like This", body: "Builders Club members do not see external ads like these.", accept: "Upgrade Now", decline: "No, thanks" //</sl:translate> }; </script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='page' type='text/javascript' src='https://js.rbxcdn.com/f2e04e6bdf31dfd7c987124b5dbdc820.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='StyleGuide' type='text/javascript' src='https://js.rbxcdn.com/43cdbede285864298b0b52d8742ce1ec9358f9f08a67c62c46e005b27ef81f94.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='Footer' type='text/javascript' src='https://js.rbxcdn.com/a751bebac1b3fd86aa2c80abecc25b44f480475c4188e9cfb9d2fc3e5f74137d.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='Captcha' type='text/javascript' src='https://js.rbxcdn.com/3927bd66ec797e2fd38b41fc0c8f1de84c7f976cc7f4738d1d2f7600352b8683.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='GameLaunch' type='text/javascript' src='https://js.rbxcdn.com/0161cbe6b5c9cfcf5f45577d1f42b33257b001e0ebf8e7a9a5e25009b649c9cd.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='DynamicLocalizationResourceScript_Feature.GameLaunchGuestMode' type='text/javascript' src='https://js.rbxcdn.com/b6f7e0e090bb44e092c19eb7e714473be92bd8b26eb53b693e03179658950b69.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='DynamicLocalizationResourceScript_Feature.GameLaunchGuestMode' type='text/javascript' src='https://js.rbxcdn.com/75d691f0d9840862e1341c56663ab6a620bed97a721809dce6ef85c68b3b0c5b.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='DynamicLocalizationResourceScript_Common.VisitGame' type='text/javascript' src='https://js.rbxcdn.com/8970b46e46bddd4380edbc66639b5b333720b2633a9105d4cde2c31ba2878d97.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='DynamicLocalizationResourceScript_Common.VisitGame' type='text/javascript' src='https://js.rbxcdn.com/0ea369a7496bf1e32d7a3834a06b42b1eeea4720c6a4b5fd719792d082eba641.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='SystemFeedback' type='text/javascript' src='https://js.rbxcdn.com/aac542106f7f77697cbc3b36ab3cf0619bf9b69a1af0983e59dfeb6c36652d3b.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='Login' type='text/javascript' src='https://js.rbxcdn.com/262ac126331e487dacbdf05971f6bcba9e278d46f0f17956187620ab5f9a0420.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='DynamicLocalizationResourceScript_Authentication.Captcha' type='text/javascript' src='https://js.rbxcdn.com/03acbfb65ca7969f51d31e6ae449812c120535f4ad657e007c1d8d0c0be551e9.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='DynamicLocalizationResourceScript_Authentication.Captcha' type='text/javascript' src='https://js.rbxcdn.com/c90a75ce07429d762b224d1350d1c5de47da85b61c2e64bbc82b1eb8aeebf4a9.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='DynamicLocalizationResourceScript_Authentication.Login' type='text/javascript' src='https://js.rbxcdn.com/348e08afe2615b3e6d18c29b2a4f7b4711ede1a9a86bfd4ece9e44d76de7310a.js'></script> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='DynamicLocalizationResourceScript_Authentication.Login' type='text/javascript' src='https://js.rbxcdn.com/4ab8843b045b3bd8c5bdbfab108856986450361fb4d332509bd6b51733f43888.js'></script> <script> var _comscore = _comscore || []; _comscore.push({ c1: "2", c2: "6035605", c3: "", c4: "", c15: "" }); (function() { var s = document.createElement("script"), el = document.getElementsByTagName("script")[0]; s.async = true; s.src = (document.location.protocol == "https:" ? "https://sb" : "http://b") + ".scorecardresearch.com/beacon.js"; el.parentNode.insertBefore(s, el); })(); </script> <noscript> <img src="http://b.scorecardresearch.com/p?c1=2&c2=&c3=&c4=&c5=&c6=&c15=&cv=2.0&cj=1"/> </noscript> <script onerror='Roblox.BundleDetector && Roblox.BundleDetector.reportBundleError(this)' data-monitor='true' data-bundlename='pageEnd' type='text/javascript' src='https://js.rbxcdn.com/bd557245811595e37c63f007ea7786c7.js'></script> </body> </html>