// ==UserScript==
// @name CnC TA: Crucial Pack All in One by DebitoSphere
// @description Contains every crucial script that is fully functional and updated constantly.
// @version 1.0.81
// @author DebitoSphere
// @homepage https://www.allyourbasesbelong2us.com
// @namespace AllYourBasesbelong2UsCrucialPackAllinOne
// @include http*://*alliances*.com/*
// @include https://prodgame*.alliances.commandandconquer.com/*/index.aspx*
// @include https://www.allyourbasesbelong2us.com/CrucialScripts/Crucial.Pack.All.in.One/Settings*
// @include https://www.ea.com/games/command-and-conquer/command-and-conquer-tiberium-alliances*
// @include http*://*.cncopt.com/*
// @include http*://cncopt.com/*
// @grant GM_log
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_openInTab
// @grant GM_registerMenuCommand
// @grant GM_xmlhttpRequest
// @grant GM_updatingEnabled
// @grant unsafeWindow
// @require https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// This Pack includes all crucial scripts needed to play the game. They are in the correct order to ensure the least amount of script errors.
// ==/UserScript==
var CrucialScriptVersion = "1.0.81";
var GM_SuperValue = new function () {
var JSON_MarkerStr = 'json_val: ';
var FunctionMarker = 'function_code: ';
function ReportError (msg) {
if (console && console.error)
console.log (msg);
else
throw new Error (msg);
}
//--- Check that the environment is proper.
if (typeof GM_setValue != "function")
ReportError ('This library requires Greasemonkey! GM_setValue is missing.');
if (typeof GM_getValue != "function")
ReportError ('This library requires Greasemonkey! GM_getValue is missing.');
/*--- set ()
GM_setValue (http://wiki.greasespot.net/GM_setValue) only stores:
strings, booleans, and integers (a limitation of using Firefox
preferences for storage).
This function extends that to allow storing any data type.
Parameters:
varName
String: The unique (within this script) name for this value.
Should be restricted to valid Javascript identifier characters.
varValue
Any valid javascript value. Just note that it is not advisable to
store too much data in the Firefox preferences.
Returns:
undefined
*/
this.set = function (varName, varValue) {
if ( ! varName) {
ReportError ('Illegal varName sent to GM_SuperValue.set().');
return;
}
if (/[^\w _-]/.test (varName) ) {
ReportError ('Suspect, probably illegal, varName sent to GM_SuperValue.set().');
}
switch (typeof varValue) {
case 'undefined':
ReportError ('Illegal varValue sent to GM_SuperValue.set().');
break;
case 'boolean':
case 'string':
//--- These 2 types are safe to store, as is.
GM_setValue (varName, varValue);
break;
case 'number':
/*--- Numbers are ONLY safe if they are integers.
Note that hex numbers, EG 0xA9, get converted
and stored as decimals, EG 169, automatically.
That's a feature of JavaScript.
Also, only a 32-bit, signed integer is allowed.
So we only process +/-2147483647 here.
*/
if (varValue === parseInt (varValue) && Math.abs (varValue) < 2147483647)
{
GM_setValue (varName, varValue);
break;
}
case 'object':
/*--- For all other cases (but functions), and for
unsafe numbers, store the value as a JSON string.
*/
var safeStr = JSON_MarkerStr + JSON.stringify (varValue);
GM_setValue (varName, safeStr);
break;
case 'function':
/*--- Functions need special handling.
*/
var safeStr = FunctionMarker + varValue.toString ();
GM_setValue (varName, safeStr);
break;
default:
ReportError ('Unknown type in GM_SuperValue.set()!');
break;
}
}//-- End of set()
/*--- get ()
GM_getValue (http://wiki.greasespot.net/GM_getValue) only retieves:
strings, booleans, and integers (a limitation of using Firefox
preferences for storage).
This function extends that to allow retrieving any data type -- as
long as it was stored with GM_SuperValue.set().
Parameters:
varName
String: The property name to get. See GM_SuperValue.set for details.
defaultValue
Optional. Any value to be returned, when no value has previously
been set.
Returns:
When this name has been set...
The variable or function value as previously set.
When this name has not been set, and a default is provided...
The value passed in as a default
When this name has not been set, and default is not provided...
undefined
*/
this.get = function (varName, defaultValue) {
if ( ! varName) {
ReportError ('Illegal varName sent to GM_SuperValue.get().');
return;
}
if (/[^\w _-]/.test (varName) ) {
ReportError ('Suspect, probably illegal, varName sent to GM_SuperValue.get().');
}
//--- Attempt to get the value from storage.
var varValue = GM_getValue (varName);
if (!varValue)
return defaultValue;
//--- We got a value from storage. Now unencode it, if necessary.
if (typeof varValue == "string") {
//--- Is it a JSON value?
var regxp = new RegExp ('^' + JSON_MarkerStr + '(.+)$');
var m = varValue.match (regxp);
if (m && m.length > 1) {
varValue = JSON.parse ( m[1] );
return varValue;
}
//--- Is it a function?
var regxp = new RegExp ('^' + FunctionMarker + '((?:.|\n|\r)+)$');
var m = varValue.match (regxp);
if (m && m.length > 1) {
varValue = eval ('(' + m[1] + ')');
return varValue;
}
}
return varValue;
}//-- End of get()
/*--- runTestCases ()
Tests storage and retrieval every every knid of value.
Note: makes extensive use of the console.
Parameters:
bUseConsole
Boolean: If this is true, uses the console environment to store
the data. Useful for dev test.
Returns:
true, if pass. false, otherwise.
*/
this.runTestCases = function (bUseConsole) {
if (bUseConsole) {
//--- Set up the environment to use local JS, and not the GM environment.
this.testStorage = {};
var context = this;
this.oldSetFunc = (typeof GM_setValue == "function") ? GM_setValue : null;
this.oldGetFunc = (typeof GM_getValue == "function") ? GM_getValue : null;
GM_setValue = function (varName, varValue) {
console.log ('Storing: ', varName, ' as: ', varValue);
context.testStorage[varName] = varValue;
}
GM_getValue = function (varName, defaultValue) {
var varValue = context.testStorage[varName];
if (!varValue)
varValue = defaultValue;
console.log ('Retrieving: ', varName, '. Got: ', varValue);
return varValue;
}
}
var dataBefore = [null, true, 1, 1.1, -1.0, 2.0E9, 2.77E9, 2.0E-9, 0xA9, 'string',
[1,2,3], {a:1, B:2}, function () {a=7; console.log ("Neat! Ain't it?"); }
];
for (var J = 0; J <= dataBefore.length; J++)
{
var X = dataBefore[J];
console.log (J, ': ', typeof X, X);
this.set ('Test item ' + J, X);
console.log ('\n');
}
console.log ('\n***********************\n***********************\n\n');
var dataAfter = [];
for (var J = 0; J < dataBefore.length; J++)
{
var X = this.get ('Test item ' + J);
dataAfter.push (X);
console.log ('\n');
}
console.log (dataBefore);
console.log (dataAfter);
dataAfter[12]();
//--- Now test for pass/fail. The objects won't be identical but contenets are.
var bPass;
if (dataBefore.toString() == dataAfter.toString() ) {
var pfStr = 'PASS!';
bPass = true;
} else {
var pfStr = 'FAIL!';
bPass = false;
}
console.log ( "\n*************************** \
\n*************************** \
\n*************************** \
\n***** " + pfStr + " ***** \
\n*************************** \
\n*************************** \
\n***************************\n");
if (bUseConsole) {
//--- Restore the GM functions.
GM_setValue = this.oldSetFunc;
GM_getValue = this.oldGetFunc;
}
else {
//--- Clean up the FF storage!
for (var J = 0; J < dataBefore.length; J++)
{
GM_deleteValue ('Test item ' + J);
}
}
return bPass;
}//-- End of runTestCases()
};
//GM_SuperValue.runTestCases (true);
//--- EOF
var url = window.location.href;
var CCNoScripts = GM_SuperValue.get("CCNoScripts", CCNoScripts);
var CCFirstSave = GM_SuperValue.get("CCFirstSave", CCFirstSave);
var CCChosenSimulator = GM_SuperValue.get("CCChosenSimulator", CCChosenSimulator);
var CCScript01 = GM_SuperValue.get("CCScript01", CCScript01);
var CCScript02 = GM_SuperValue.get("CCScript02", CCScript02);
var CCScript03 = GM_SuperValue.get("CCScript03", CCScript03);
var CCScript04 = GM_SuperValue.get("CCScript04", CCScript04);
var CCScript05 = GM_SuperValue.get("CCScript05", CCScript05);
var CCScript06 = GM_SuperValue.get("CCScript06", CCScript06);
var CCScript07 = GM_SuperValue.get("CCScript07", CCScript07);
var CCScript08 = GM_SuperValue.get("CCScript08", CCScript08);
var CCScript09 = GM_SuperValue.get("CCScript09", CCScript09);
var CCScript10 = GM_SuperValue.get("CCScript10", CCScript10);
var CCScript11 = GM_SuperValue.get("CCScript11", CCScript11);
var CCScript12 = GM_SuperValue.get("CCScript12", CCScript12);
var CCScript13 = GM_SuperValue.get("CCScript13", CCScript13);
var CCScript14 = GM_SuperValue.get("CCScript14", CCScript14);
var CCScript15 = GM_SuperValue.get("CCScript15", CCScript15);
var CCScript16 = GM_SuperValue.get("CCScript16", CCScript16);
var CCScript17 = GM_SuperValue.get("CCScript17", CCScript17);
var CCScript18 = GM_SuperValue.get("CCScript18", CCScript18);
var CCScript19 = GM_SuperValue.get("CCScript19", CCScript19);
var CCScript20 = GM_SuperValue.get("CCScript20", CCScript20);
var CCScript21 = GM_SuperValue.get("CCScript21", CCScript21);
var CCScript22 = GM_SuperValue.get("CCScript22", CCScript22);
var CCScript23 = GM_SuperValue.get("CCScript23", CCScript23);
var CCScript24 = GM_SuperValue.get("CCScript24", CCScript24);
var CCScript25 = GM_SuperValue.get("CCScript25", CCScript25);
var CCScript26 = GM_SuperValue.get("CCScript26", CCScript26);
var CCScript27 = GM_SuperValue.get("CCScript27", CCScript27);
//var CCScript28 = JSON.parse(localStorage.Disable_V2_Sim_CV);
var CCScript28b = GM_SuperValue.get("CCScript28", CCScript28);
var CCScript28 = GM_SuperValue.get("CCScript28", CCScript28);
var CCScript29 = GM_SuperValue.get("CCScript29", CCScript29);
var CCScript30 = GM_SuperValue.get("CCScript30", CCScript30);
var CCScript31 = GM_SuperValue.get("CCScript31", CCScript31);
var ScriptName;
var ScriptDescription;
var ScriptAuthors;
var NoScripts;
var ChosenSimulator;
var Script01;
var ScriptName01 = "MultiSession and AutoLogin - Disabled for now";
var ScriptDescription01 = "Allows the player to save login details for multiple accounts on a handy selection window that can be used to automatically log in each account by clicking on the new session button";
var ScriptAuthors01 = "jerbri";
var Script02;
var ScriptName02 = "Maelstrom Tools MOD with Debitosphere's MCV Timer Update";
var ScriptDescription02 = "Just a set of statistics and summaries about repair time and base resources. Mainly for internal use, but you are free to test and comment it. Modified to include Resource Points in MCV Timer";
var ScriptAuthors02 = "Maelstrom HuffyLuf KRS_L Krisan Debitosphere";
var Script03;
var ScriptName03 = "Maelstrom Tools ADDON - BaseScanner with All Layouts Mod";
var ScriptDescription03 = "Base Scanner integrates into Maelstrom Tools to help search for layouts. Now includes *All Layouts* view option";
var ScriptAuthors03 = "BlinDManX Sp1der";
var Script04;
var ScriptName04 = "Maelstrom Tools ADDON - City Online Status Colorer";
var ScriptDescription04 = "Change the color of cities according to online state of the player. Changed updating interval so it's less server intensive. Orange = Offline Yellow = Away Green = Online";
var ScriptAuthors04 = "White X Dragon Der_Flake";
var Script05;
var ScriptName05 = "TA POI Real Gain";
var ScriptDescription05 = "Displays actual gain/loss for POIs by taking rank multiplier properly into account";
var ScriptAuthors05 = "petui AlkalyneD4";
var Script06;
var ScriptName06 = "TA Enemy Info";
var ScriptDescription06 = "Displays an Enemy's Offense and Defense Level when in range of your selected base.";
var ScriptAuthors06 = "";
var Script07;
var ScriptName07 = "CnCopt Link Button";
var ScriptDescription07 = "Creates a *CNCOpt* button when selecting a base in Command & Conquer: Tiberium Alliances. The share button takes you to http://cncopt.com/ and fills in the selected base information so you can analyze or share the base.";
var ScriptAuthors07 = "PythEch jerbri";
var Script08;
var ScriptName08 = "TA New Resource Trade Window";
var ScriptDescription08 = "Implements a new TradeOverlay class, allowing you to select individual, multiple or all bases to transfer resources from.";
var ScriptAuthors08 = "Chiantii";
var Script09;
var ScriptName09 = "MH Tools Loot Info";
var ScriptDescription09 = "CROSS SERVERS Loot and troops and bases and distance info.";
var ScriptAuthors09 = "MrHIDEn Yaeger Panavia";
var Script10;
var ScriptName10 = "TA Share Replay";
var ScriptDescription10 = "Share combat reports with your friends in other alliances and worlds. Copy and Paste link directly into chat window and click the active link to play back report. Player clicking on link must also have this script installed and running to work.";
var ScriptAuthors10 = "petui";
var Script11;
var ScriptName11 = "WarChiefs - Tiberium Alliances Sector HUD";
var ScriptDescription11 = "Displays a tiny HUD with the Sector you are viewing.";
var ScriptAuthors11 = "Eistee";
var Script12;
var ScriptName12 = "Tiberium Alliances Tunnel Info";
var ScriptDescription12 = "Helps you to better position your bases in order to activate Tunnel Exits as well as to avoid blocking any you are not yet ready to activate";
var ScriptAuthors12 = "KRS_L";
var Script13;
var ScriptName13 = "Moveable Compass with Fixed Needle";
var ScriptDescription13 = "Creates compass poiting to the currently selected base (compass points from itself) with a moveable Distance Calculator and a fixed Compass Needle";
var ScriptAuthors13 = "Caine BlinDManX Debitosphere";
var Script14;
var ScriptName14 = "Paste Forgotten Base Count";
var ScriptDescription14 = "Display the number of forgotten bases in range of selected world object and paste it to chat message.";
var ScriptAuthors14 = "";
var Script15;
var ScriptName15 = "Wavy Forgotten Wave Count";
var ScriptDescription15 = "Displays details about forgotten attack wave zones.";
var ScriptAuthors15 = "petui";
var Script16;
var ScriptName16 = "xTr1m Resource Overlay";
var ScriptDescription16 = "Provides an overlay over the base of the gain/cost relationship of building upgrades by holding the Alt key";
var ScriptAuthors16 = "xTr1m Debitosphere";
var Script17;
var ScriptName17 = "WarChiefs Base/Defense/Offense Advanced Upgrades";
var ScriptDescription17 = "Upgrade your Base,Defense Army to a specific Level.";
var ScriptAuthors17 = "Eistee";
var Script18;
var ScriptName18 = "TA Formation Saver";
var ScriptDescription18 = "Allows you to save attack formations";
var ScriptAuthors18 = "Panavia KRS_L";
var Script19;
var ScriptName19 = "TA PvP/PvE Ranking, POI Holding and split base kill score";
var ScriptDescription19 = "Shows PvP/PvE Ranking of the players alliance in the PlayerWindow, also adds POIs the Player holds and splits pve/pvp score.";
var ScriptAuthors19 = "ViolentVin KRS_L YiannisS";
var Script20;
var ScriptName20 = "TA Chat Helper Enhanced";
var ScriptDescription20 = "Automates the use of chat and message BB-Codes: [coords][url][player][alliance][b][i][s][u] - Contact list for whispering - Type /chelp in chat for help.";
var ScriptAuthors20 = "";
var Script21;
var ScriptName21 = "New Fluniks Tools Auto Upgrade Awesome 1.33";
var ScriptDescription21 = "Upgrades Offense or Defense or Buildings but not RT CY CC DEFFac or DefHQ.";
var ScriptAuthors21 = "RobertT Flunik dbendure KRS_L";
var Script22;
var ScriptName22 = "TA Info Sticker";
var ScriptDescription22 = "Based on Maelstrom Dev Tools. Modified MCV timer, repair time label, resource labels.";
var ScriptAuthors22 = "unicode";
var Script23;
var ScriptName23 = "TA POI Analyser";
var ScriptDescription23 = "Display alliance POIs scores and next tier requirements.";
var ScriptAuthors23 = "zdoom Debitosphere leo7044";
var Script24;
var ScriptName24 = "Green Cross Tools";
var ScriptDescription24 = "Tools to help the player manage their gameplay more efficiently and effectively. A non-wrapper take of Maelstrom tools with some original touch.";
var ScriptAuthors24 = "Peluski17";
var Script25;
var ScriptName25 = "TA Report Stats";
var ScriptDescription25 = "Calculates combined RT and CP costs and loot of multiple combat reports.";
var ScriptAuthors25 = "petui";
var Script26;
var ScriptName26 = "TA The Movement & Influence Meter";
var ScriptDescription26 = "Strategical territory simulator. Allows the player to simulate territory growth/loss showing the influence gains and losses if bases were made ruins by alliance/enemy or ruins disappear. The Influence Meter Calculates the influence bases have over POIs";
var ScriptAuthors26 = "petui";
var Script27;
var ScriptName27 = "TA Repair Time Of Death";
var ScriptDescription27 = "Displays how much offense repair time a dead base had at the time of death when you click on the dead base";
var ScriptAuthors27 = "petui";
var Script28;
var ScriptName28 = "TABS / V2 Simulator - No Victory Report";
var ScriptDescription28 = "Disables the Victory Report from showing after each attack when using the TABS / V2 Simulator";
var ScriptAuthors28 = "Debitosphere";
var Script29;
var ScriptName29 = "TA Auto Repair";
var ScriptDescription29 = "Automatically repairs buildings when they get damaged. You can change the order of priority as well. By swfault it will repair ever 10 minutes";
var ScriptAuthors29 = "petui";
var Script30;
var ScriptName30 = "TA Supplies Mod";
var ScriptDescription30 = "Some modifications to make the *improved shop feature* in the April patch a little bit more bearable.";
var ScriptAuthors30 = "KRS_L";
var Script31;
var ScriptName31 = "TA Attack Range";
var ScriptDescription31 = "Helps to see what bases come in attack range when you select to move base. The bases in range will become highlighted... Forgotten bases in green colour and player bases in orange colour";
var ScriptAuthors31 = "Napali";
var SimName01 = "TABS / V2 Simulator";
var SimDescription01 = "Completely new simulator and stats calculation. It's 100 percent API no need to install any other Script. First simulator which calculates NOD upgrades correctly. ";
var SimAuthors01 = "Eistee TheStriker VisiG";
var SimName02 = "TACS Simulator";
var SimDescription02 = "Allows you to simulate combat before actually attacking.";
var SimAuthors02 = "WildKatana, CodeEcho, PythEch, Matthias Fuchs, Enceladus, KRS_L, TheLuminary, Panavia2, Da Xue, MrHIDEn, TheStriker, JDuarteDJ, null";
var SimName03 = "Use inbuilt EA Simulator (Disables 3rd Party Simulators)";
var SimName04 = "TACS MOD for 16.1 Update Only - Does not work on other worlds";
function SetDefaultSettings() {
CCNoScripts = "24";
CCFirstSave = true;
CCChosenSimulator = "TACS3Sim";
CCScript01 = true;
CCScript02 = true;
CCScript03 = true;
CCScript04 = false;
CCScript05 = true;
CCScript06 = true;
CCScript07 = true;
CCScript08 = true;
CCScript09 = false;
CCScript10 = true;
CCScript11 = true;
CCScript12 = false;
CCScript13 = true;
CCScript14 = false;
CCScript15 = true;
CCScript16 = true;
CCScript17 = true;
CCScript18 = true;
CCScript19 = true;
CCScript20 = true;
CCScript21 = false;
CCScript22 = false;
CCScript23 = false;
CCScript24 = false;
CCScript25 = true;
CCScript26 = false;
CCScript27 = true;
CCScript28 = false;
CCScript29 = false;
CCScript30 = false;
CCScript31 = false;
GM_SuperValue.set("CCNoScripts", CCNoScripts);
GM_SuperValue.set("CCFirstSave", CCFirstSave);
GM_SuperValue.set("CCChosenSimulator", CCChosenSimulator);
GM_SuperValue.set("CCScript01", CCScript01);
GM_SuperValue.set("CCScript02", CCScript02);
GM_SuperValue.set("CCScript03", CCScript03);
GM_SuperValue.set("CCScript04", CCScript04);
GM_SuperValue.set("CCScript05", CCScript05);
GM_SuperValue.set("CCScript06", CCScript06);
GM_SuperValue.set("CCScript07", CCScript07);
GM_SuperValue.set("CCScript08", CCScript08);
GM_SuperValue.set("CCScript09", CCScript09);
GM_SuperValue.set("CCScript10", CCScript10);
GM_SuperValue.set("CCScript11", CCScript11);
GM_SuperValue.set("CCScript12", CCScript12);
GM_SuperValue.set("CCScript13", CCScript13);
GM_SuperValue.set("CCScript14", CCScript14);
GM_SuperValue.set("CCScript15", CCScript15);
GM_SuperValue.set("CCScript16", CCScript16);
GM_SuperValue.set("CCScript17", CCScript17);
GM_SuperValue.set("CCScript18", CCScript18);
GM_SuperValue.set("CCScript19", CCScript19);
GM_SuperValue.set("CCScript20", CCScript20);
GM_SuperValue.set("CCScript21", CCScript21);
GM_SuperValue.set("CCScript22", CCScript22);
GM_SuperValue.set("CCScript23", CCScript23);
GM_SuperValue.set("CCScript24", CCScript24);
GM_SuperValue.set("CCScript25", CCScript25);
GM_SuperValue.set("CCScript26", CCScript26);
GM_SuperValue.set("CCScript27", CCScript27);
//localStorage.Disable_V2_Sim_CV = CCScript28;
GM_SuperValue.set("CCScript28", CCScript28);
GM_SuperValue.set("CCScript29", CCScript29);
GM_SuperValue.set("CCScript30", CCScript30);
GM_SuperValue.set("CCScript31", CCScript31);
console.log ("First Time Crucial Pack is Installed - Reseting to Full Script Settings");
window.location.href = url;
}
if (CCNoScripts === "24"){
} else {
SetDefaultSettings();
}
if (CCFirstSave === true){
} else {
SetDefaultSettings();
}
var Disable_V2_Sim;
var Disable_TACS3_Sim;
var Disable_TACS3MOD;
if (CCChosenSimulator == "DisableAll"){
Disable_V2_Sim = null;
Disable_TACS3_Sim = null;
Disable_TACS3MOD = null;
}
if (CCChosenSimulator == "V2Sim"){
Disable_V2_Sim = true;
Disable_TACS3_Sim = null;
Disable_TACS3MOD = null;
CCChosenSimulator == "V2Sim"
}
if (CCChosenSimulator == "TACS3Sim"){
Disable_V2_Sim = null;
Disable_TACS3_Sim = true;
Disable_TACS3MOD = null;
CCChosenSimulator = "TACS3Sim";
}
if (CCChosenSimulator == "TACS3MOD"){
Disable_V2_Sim = null;
Disable_TACS3_Sim = true;
Disable_TACS3MOD = null;
CCChosenSimulator = "TACS3Sim";
}
var Disable_AutoLoginScript = CCScript01;
var Disable_MaelstromTools = CCScript02;
var Disable_MaelstromTools_BaseScanner = CCScript03;
var Disable_Maelstrom_Status_Color = CCScript04;
var Disable_POI_RealGain = CCScript05;
var Disable_Enemy_Info = CCScript06;
var Disable_CNC_OPT = CCScript07;
var Disable_Resource_Transfer_Window = CCScript08;
var Disable_MHTools = CCScript09;
var Disable_ReplayShare = CCScript10;
var Disable_SectorHUD = CCScript11;
var Disable_Tunnel_Info = CCScript12;
var Disable_All_Compass = CCScript13;
var Disable_BaseCount = CCScript14;
var Disable_Wavy = CCScript15;
var Disable_xTr1m = CCScript16;
var Disable_Upgrade_BaseDefOff_Advanced = CCScript17;
var Disable_Formation_Saver = CCScript18;
var Disable_PvP_PvE_Info = CCScript19;
var Disable_Enhanced_ChatHelper = CCScript20;
var Disable_FluniksTools = CCScript21;
var Disable_InfoSticker = CCScript22;
var Disable_POI_Analyser = CCScript23;
var Disable_Green_Cross_Tools = CCScript24;
var Disable_Alliance_Report_Stats = CCScript25;
var Disable_The_Movement = CCScript26;
var Disable_RepairTimeofDeath = CCScript27;
var Disable_V2_Sim_CV = CCScript28b;
var Disable_TA_AutoRepair = CCScript29;
var Disable_TA_SuppliesMod = CCScript30;
var Disable_TA_AttackRange = CCScript31;
function Closer2() {
window.location.href = url;
}
function init2() {
var url = window.location.href;
/** if (url == "https://www.allyourbasesbelong2us.com/" || url == "https://www.allyourbasesbelong2us.com/") {
} else if (url.search("/CrucialScripts/Crucial.Pack.All.in.One/Settings") != -1) {
**/
if (url == "https://www.ea.com/" || url == "https://www.ea.com/") {
} else if (url.search("/games/command-and-conquer/command-and-conquer-tiberium-alliances") != -1) {
var width = $(window).width() / 2.5;
width = width - 100;
var height = $(window).height() / 3;
var selectionList2 = '