NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Tiberium Alliances Coords Button (RU version) // @namespace CNCTACoordsButton // @description Copy & Paste selected base's coords to chat message // @include https://prodgame*.alliances.commandandconquer.com/*/index.aspx* // @version 1.0.1 // ==/UserScript== (function () { var CNCTACoordsButton_main = function () { try { function createCoordsButton() { console.log('C&C:Tiberium Alliances Coords Button loaded.'); /* $a = qx.core.Init.getApplication(); // Application $c = $a.getChat(); // ChatWindow $w = $c.getChatWidget(); // ChatWidget $i = $cw.getEditable(); // Input $d = $i.getContentElement().getDomElement(); // Input DOM Element */ var coordsButton = { selectedBase: null, pasteCoords: function(){ var $i = qx.core.Init.getApplication().getChat().getChatWidget().getEditable(); // Input var $d = $i.getContentElement().getDomElement(); // Input DOM Element var result = new Array(); result.push($d.value.substring(0,$d.selectionStart)); // start result.push('[coords]' + coordsButton.selectedBase.get_RawX() + ':' + coordsButton.selectedBase.get_RawY() + '[/coords]'); result.push($d.value.substring($d.selectionEnd, $d.value.length)); // end $i.setValue(result.join(' ')); } }; if (!webfrontend.gui.region.RegionCityMenu.prototype.__coordsButton_showMenu) { webfrontend.gui.region.RegionCityMenu.prototype.__coordsButton_showMenu = webfrontend.gui.region.RegionCityMenu.prototype.showMenu; webfrontend.gui.region.RegionCityMenu.prototype.showMenu = function (selectedVisObject) { coordsButton.selectedBase = selectedVisObject; if (this.__coordsButton_initialized != 1) { this.__coordsButton_initialized = 1; for(i in this) { if(this[i] && this[i].basename == "Composite") { var button = new qx.ui.form.Button("Координаты", "http://s020.radikal.ru/i713/1406/c0/8643e415c28e.png"); button.addListener("execute", function () { coordsButton.pasteCoords(); }); this[i].add(button); } } } this.__coordsButton_showMenu(selectedVisObject); } } } } catch (e) { console.log("createCoordsButton: ", e); } function CNCTACoordsButton_checkIfLoaded() { try { if (typeof qx !== 'undefined') { createCoordsButton(); } else { window.setTimeout(CNCTACoordsButton_checkIfLoaded, 1000); } } catch (e) { console.log("CNCTACoordsButton_checkIfLoaded: ", e); } } window.setTimeout(CNCTACoordsButton_checkIfLoaded, 1000); }; try { var CNCTACoordsButton = document.createElement("script"); CNCTACoordsButton.innerHTML = "(" + CNCTACoordsButton_main.toString() + ")();"; CNCTACoordsButton.type = "text/javascript"; document.getElementsByTagName("head")[0].appendChild(CNCTACoordsButton); } catch (e) { console.log("CNCTACoordsButton: init error: ", e); } })();