// ==UserScript== // @name OChat // @author Mertyr_u82 // @namespace http://ochat.crypt-msg.de/ // @version 0.12 // @description Ochat - An Ogame Ally Chat which gets displayed ingame // @include http://*.ogame.*/game/index.php?*page=* // @include http://*-*.ogame.gameforge.com/game/index.php?page=* // @grant GM_listValues // @grant GM_getValue // @grant GM_setValue // @grant GM_deleteValue // @grant GM_xmlhttpRequest // @copyright 2014+, Mertyr // @require http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js // @downloadURL none // ==/UserScript== var OJconfig; var mouseDragging = null; var lastAllyMsg = 0; var lastAllyMsgRead = 0; var allyChatTimer; var allyChatStatusTimer; var allyChatRate; var panelIsOpen = 0; var allyChatIsOpen = 0; var onlineListIsOpen = 0; var register = 0; var allyChatContinueLoading = 0; var OJVersion = "0.12"; var devTrigger = 0; var devAlert = 0; var OJIsBeta = 0; jQuery.fn.exists = function() {return this.length>0;}; jQuery.fn.slider = function() { $(this).children("h3").each(function(index, element){ $(element).css("font-weight", "600"); $(element).css("text-align", "center"); $(element).css("height", "20px"); $(element).css("line-height", "20px"); $(element).css("margin-bottom", "2px"); $(element).css("border", "1px solid #CCCCCC"); $(element).css("border-radius", "5px"); $(element).next().css("height", "auto"); $(element).next().css("line-height", "20px"); $(element).next().css("margin-bottom", "2px"); $(element).next().css("border", "1px solid #999999"); $(element).next().css("border-radius", "5px"); $(element).css("cursor", "pointer"); $(element).next().hide(); $(element).click(function(event) { $(this).next().toggle(); }); }); }; function OJgetCurrentUniverse() { var url = document.URL; url = url.replace("http://s", ""); url = url.replace(/\.ogame\.gameforge\.com\/.*/, ""); return url; } function api(action, func, data) //data starts with "&key=value&key2=....." { if(typeof data === 'undefined') { data = ""; } if(action == "login" || action == "register") { data = "action=" + action + data; } else { var uni = OJgetCurrentUniverse(); var name = OJconfig["userName_" + uni]; var passHash = OJconfig["password_" + uni]; var hashed = 0; if(typeof OJconfig["hashed_" + uni] !== 'undefined') { hashed = OJconfig["hashed_" + uni]; } data = "hashed=" + hashed + "&name=" + name + "&passHash=" + passHash + "&uni=" + uni + "&action=" + action + data; } var url = "http://ojobs.crypt-msg.de/api.php"; if(devTrigger == 1) { url = "http://localhost/ojobs/api.php"; } GM_xmlhttpRequest({ method: "POST", url: url, data:data, headers: { "Content-Type": "application/x-www-form-urlencoded" }, onabort: function(response) { alert("abort" + response.responseText); }, onerror: function(response) { alert("error" + response.responseText); }, ontimeout: function(response) { alert("timeout" + response.responseText); }, onload: function(response) { if(devAlert == 1) { //$("#OJobs_panel").append("" + response.responseText + "
\n"); dAlert(response.responseText); } func(response); var json = JSON.parse(response.responseText); return json; } }); } function OJReadMetas(uni) { if(typeof uni === 'undefined') { uni = OJgetCurrentUniverse(); } var metas = document.getElementsByTagName('meta'); var result = new Array(); for (i=0; i