Created
June 18, 2015 17:25
-
-
Save arfie/23e6d8bba7754d47e093 to your computer and use it in GitHub Desktop.
TagPro group overview on joiner
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name TagPro group information in joiner | |
// @namespace http://www.arfie.nl | |
// @version 0.1.3 | |
// @description something useful | |
// @author Ruud Verbeek | |
// @include http://tagpro-*.koalabeast.com/games/find | |
// @include http://tangent.jukejuice.com/games/find | |
// @include http://*.newcompte.fr/games/find | |
// @grant GM_setValue | |
// @grant GM_getValue | |
// ==/UserScript== | |
var done = false; | |
var update = function() { | |
if(!done) { | |
done = true; | |
$('#message').after('<div id="groupOverview">'); | |
var g = tagpro.group, o = $('#groupOverview'); | |
$('body').append('<style type="text/css">#groupOverview h4{text-align:center;font-size:150%;margin:8px;}#groupOverview table{margin:0 auto;border-collapse:collapse;}td#redTeam{background-color:rgba(255,0,0,0.2);}td#blueTeam{background-color:rgba(0,0,255,0.2);}#groupOverview td{vertical-align:top;min-width:192px;text-align:center;padding:24px 0;cursor:default;}#groupOverview td b{font-size: 150%;}#groupOverview td ul{list-style:none;padding:0;margin:12px 0 0 0;}div#groupChat{border:1px solid rgba(255,255,255,0.20);overflow-y:auto;padding:10px;color:#E5E5E5;width:60%;height:240px;margin:12px auto 0 auto;}input#groupChatInput{border:1px solid rgba(255,255,255,0.40);background-color:rgba(255,255,255,0.20);margin:16px auto;display:block;padding:3px 0 3px 3px;color:white;width:60%;}ul#groupMembers{list-style:none;border:1px solid rgba(255,255,255,0.20);padding:10px;color:#E5E5E5;min-width:192px;margin:0 auto;display:table;text-align:center;}'); | |
if(g.members.length > 4 || document.URL.search('newcompte') >= 0) { // Private game | |
o.html('<h4>Private Game</h4><table><tbody><tr><td id="redTeam"><b>Red</b><ul></ul></td><td id="blueTeam"><b>Blue</b><ul></ul></td></tr></tbody></table>'); | |
setInterval(function() { | |
$('#groupOverview li').remove(); | |
for(var player in g.members) { | |
g.members[player].team > 0 && $('<li>').text(g.members[player].name).appendTo(g.members[player].team === 1 ? '#redTeam ul' : '#blueTeam ul'); | |
} | |
}, 1000); | |
} else { // Public game | |
o.html('<h4>Public game</h4><ul id="groupMembers"></ul></h4>'); | |
setInterval(function() { | |
$('#groupOverview li').remove(); | |
for(var player in g.members) { | |
$('<li>').text(g.members[player].name).appendTo('#groupMembers'); | |
} | |
}, 1000); | |
} | |
$('#groupOverview').append('<div id="groupChat"></div><input type="text" id="groupChatInput"></div>'); | |
$('#groupChatInput').keydown(function(e) { | |
if(e.which === 13) { | |
tagpro.group.socket.emit("chat", $(this).val()); | |
$(this).val(""); | |
} | |
}); | |
tagpro.group.socket.on("chat", function(e) { | |
var t = e.from ? (e.from + ": " + e.message) : e.message; | |
$("<div></div>").text(t).appendTo($("#groupChat")); | |
$("#groupChat").scrollTop($("#groupChat").get(0).scrollHeight); | |
}); | |
} | |
} | |
if(tagpro.group) | |
tagpro.group.afterUpdateCallbacks.push(update); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment