// ==UserScript== // @name twitchplaysdark // @namespace https://greasyfork.org/en/scripts/13027-twitchplaysdark // @version 0.50 // @description twitchplaysdark controller // @author You // @match http://www.twitch.tv/twitchplaysdark // @match https://www.twitch.tv/twitchplaysdark // @grant GM_getValue // @grant GM_setValue // @grant GM_addStyle // @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js // @require http://code.jquery.com/ui/1.9.2/jquery-ui.js // @run-at document-end // @downloadURL https://update.greasyfork.org/scripts/13027/twitchplaysdark.user.js // @updateURL https://update.greasyfork.org/scripts/13027/twitchplaysdark.meta.js // ==/UserScript== GM_addStyle ( "\ .tpdb {\ cursor:pointer;\ position:absolute;\ background: #999999;\ background-image: -webkit-linear-gradient(top, #999999, #404040);\ background-image: -moz-linear-gradient(top, #999999, #404040);\ background-image: -ms-linear-gradient(top, #999999, #404040);\ background-image: -o-linear-gradient(top, #999999, #404040);\ background-image: linear-gradient(to bottom, #999999, #404040);\ -webkit-border-radius: 10;\ -moz-border-radius: 10;\ border-radius: 10px;\ font-family: Arial;\ color: #ffffff;\ font-size: 20px;\ padding: 4px 2px 2px 2px;\ text-decoration: none;\ text-align:center;\ height:30px;\ width:30px;\ }\ .tpdb_v {\ -webkit-transform: rotate(-90deg);\ -moz-transform: rotate(-90deg);\ -ms-transform: rotate(-90deg);\ -o-transform: rotate(-90deg);\ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\ }\ .tpdb_u {\ -webkit-transform: rotate(-180deg);\ -moz-transform: rotate(-180deg);\ -ms-transform: rotate(-180deg);\ -o-transform: rotate(-180deg);\ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\ }\ \ .tpdb:hover {\ background: #bfbfbf;\ background-image: -webkit-linear-gradient(top, #bfbfbf, #969696);\ background-image: -moz-linear-gradient(top, #bfbfbf, #969696);\ background-image: -ms-linear-gradient(top, #bfbfbf, #969696);\ background-image: -o-linear-gradient(top, #bfbfbf, #969696);\ background-image: linear-gradient(to bottom, #bfbfbf, #969696);\ text-decoration: none;\ }\ #TPD {\ -moz-user-select: -moz-none;\ -khtml-user-select: none;\ -webkit-user-select: none;\ -ms-user-select: none;\ user-select: none;\ position:absolute;\ z-index:1000;\ background:black;\ border:1px solid #333;\ -webkit-border-radius: 10;\ -moz-border-radius: 10;\ border-radius: 10px;\ height:260px;\ width:400px;\ color:white;\ }\ .tpd_option{\ cursor:pointer;\ }\ #selectable .ui-selecting { background: #FECA40; }\ #selectable .ui-selected { background: #F39814; color: white; }\ #selectable { list-style-type: none; margin: 0; padding: 0;width: 40px;}\ #selectable li { height: 20px; width:20px; cursor:pointer; \ padding: 0px 2px 2px 2px;\ text-decoration: none;\ text-align:center;\ -webkit-border-radius: 10;\ -moz-border-radius: 10;\ border-radius: 10px;\ border:1px solid #FFF;\ float: left;\ margin: 2px;\ }\ #tpd_multi{\ position:absolute;\ right:10px;\ top:55px;\ -webkit-border-radius: 10;\ -moz-border-radius: 10;\ border-radius: 10px;\ }\ " ); window.setTimeout(jqueryLoaded, 10000); function jqueryLoaded() { TPDNS = { sendCommand: function(cmd) { document.getElementsByClassName("chat_text_input")[0].focus(); var val = $( cmd ).attr('id').replace('c_',''); if(!$( "#tpd_target" ).prop('readonly')) if($( "#tpd_target" ).attr('checked')) val = 't' + val; else val = 'n' + val; var multi = $( '.ui-selected' ).first().attr('id'); if(multi != 'x1') val = val + multi; console.log("cmd:" + val); $( '.chat_text_input' ).val($( '.chat_text_input' ).val()+val); if($( "#tpd_two" ).attr('checked')){ if(this.first){ this.first = false; $( '.chat_text_input' ).val($( '.chat_text_input' ).val()+'+'); return; }else this.first = true; } try{ document.getElementsByClassName("chat_text_input")[0].focus(); TPDNS.eventFire(document.getElementsByClassName("chat_text_input")[0],'change'); TPDNS.eventFire(document.getElementsByClassName("send-chat-button")[0],'click'); //this.eventFire(a,'click'); }catch(err){console.log(err);} }, ts: function (cb) { if (cb.readOnly) cb.checked=cb.readOnly=false; else if (!cb.checked) cb.readOnly=cb.indeterminate=true; }, first:true, val:'', eventFire :function(el, etype){ if (el.fireEvent) { el.fireEvent('on' + etype); } else { var evObj = document.createEvent('Events'); evObj.initEvent(etype, true, false); el.dispatchEvent(evObj); } } } unsafeWindow.TPDNS = cloneInto(TPDNS, unsafeWindow,{cloneFunctions: true}); $('body').append('
'); $( "#TPD" ).css("top",GM_getValue("top",0)); $( "#TPD" ).css("left",GM_getValue("left",0)); $( "#TPD" ).draggable(); $( "#TPD" ).draggable('disable'); $( '#TPD' ).mouseup(function() { var divOffset = $("#TPD").offset(); GM_setValue("left", divOffset.left); GM_setValue("top", divOffset.top); console.log(divOffset.top + " , " + divOffset.left); }); //checkboxes $( '#TPD' ).append(''); $( '#tpd_drag' ).click(function() { if($( "#tpd_drag" ).attr('checked')) $( "#TPD" ).draggable('enable'); else $( "#TPD" ).draggable('disable'); }); $( '#TPD' ).append(''); $( '#tpd_target' ).prop("indeterminate", true); $( '#TPD' ).append(''); //directions $( '#TPD' ).append('