CCTA Adds a Map Navigator pop-up, Shortcut ALT+N
// ==UserScript==
// @name C&C Tiberium Alliances Navigate To Coords
// @namespace https://prodgame*.alliances.commandandconquer.com/*/index.aspx*
// @include https://prodgame*.alliances.commandandconquer.com/*/index.aspx*
// @version 1.1
// @date 2013-01-01
// @author Elda1990
// @description CCTA Adds a Map Navigator pop-up, Shortcut ALT+N
// @require https://greasyfork.org/scripts/1829-c-c-ta-dev-addonmainmenu/code/CC:TA%20Dev%20AddonMainMenu.user.js
// @copyright 2012+, Elda1990
// ==/UserScript==
(function (){
var nav_load_main = function() {
var navBox = null;
var navBox_x = null;
var navBox_y = null;
function log_it(e){
if (typeof console != 'undefined') console.log('[NAV] '+e);
else if (window.opera) opera.postError('[NAV] '+e);
else GM_log('[NAV] '+e);
}
function closeNavigate(){
navBox.close();
}
function doNavigate(){
var x = navBox_x.getValue();
var y = navBox_y.getValue();
log_it(x+':'+y);
try
{
ClientLib.Vis.VisMain.GetInstance().CenterGridPosition(x,y);
}
catch (ex)
{
log_it('ERROR: '+ex);
}
closeNavigate();
}
function initialize() {
console.log("Navigate Loaded...");
var addonmenu = Addons.AddonMainMenu.getInstance();
addonmenu.AddMainMenu("Navigate",function(){ navBox.open(); },"ALT+N");
navBox = new qx.ui.window.Window("Map Navi");
navBox.setPadding(1);
navBox.setLayout(new qx.ui.layout.Grow());
// this.navBox.setLayout(new qx.ui.layout.VBox());
var layout = new qx.ui.layout.Grid();
layout.setSpacing(5);
layout.setColumnAlign(1,"left", "center");
layout.setColumnAlign(0,"left", "bottom");
navBox.setLayout(layout);
navBox.setShowMaximize(false);
navBox.setShowMinimize(false);
navBox.moveTo(600, 100);
navBox.setHeight(150);
navBox.setWidth(110);
navBox.setMinWidth(10);
navBox.setMinHeight(10);
// TextField
navBox_x = new qx.ui.form.Spinner();
navBox_y = new qx.ui.form.Spinner();
navBox_x.setMinimum(0);
navBox_x.setMaximum(1000);
navBox_y.setMinimum(0);
navBox_y.setMaximum(1000);
navBox_x.setValue(500);
navBox_y.setValue(500);
navBox_x.addListener("keyup", function(e) {
if(e.getKeyCode() == 13) {
doNavigate();
}
}, this);
navBox_y.addListener("keyup", function(e) {
if(e.getKeyCode() == 13) {
doNavigate();
}
}, this);
var makeLbl = function(name) {
var lbl = new qx.ui.basic.Label(name);
lbl.setTextColor("white");
return lbl;
}
navBox.add(makeLbl("X:"), {row:0, column:0});
navBox.add(navBox_x, {row:0, column:1});
navBox.add(makeLbl("Y:"), {row:1, column:0});
navBox.add(navBox_y, {row:1, column:1});
var bt = new qx.ui.form.Button("Navigate");
bt.set({
appearance : "button-text-small",
toolTipText : "Navigate to"
});
bt.addListener("click", function() { doNavigate(); }, this);
navBox.add(bt,{row:2,column:1});
}
function nav_checkIfLoaded() {
try {
if (typeof qx != 'undefined' && typeof Addons != 'undefined') {
a = qx.core.Init.getApplication(); // application
mb = qx.core.Init.getApplication().getMenuBar();
addonmenu = Addons.AddonMainMenu.getInstance();
if (a && mb && addonmenu) {
initialize();
} else
window.setTimeout(nav_checkIfLoaded, 1000);
} else {
window.setTimeout(nav_checkIfLoaded, 1000);
}
} catch (e) {
log_it(e);
}
}
if (/commandandconquer\.com/i.test(document.domain)) {
window.setTimeout(nav_checkIfLoaded, 1000);
}
}
// injecting, because there seem to be problems when creating game interface with unsafeWindow
var navScript = document.createElement("script");
navScript.innerHTML = "(" + nav_load_main.toString() + ")();";
navScript.type = "text/javascript";
if (/commandandconquer\.com/i.test(document.domain)) {
document.getElementsByTagName("head")[0].appendChild(navScript);
}
})();