-
Notifications
You must be signed in to change notification settings - Fork 127
/
Copy pathVidMod.user.js
131 lines (130 loc) · 12.2 KB
/
VidMod.user.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
// ==UserScript==
// @name Agar Video Skin Script
// @namespace Agar Video Skin Script
// @version 1.1
// @description Use your videos as your skin in agar.io, mod made by Jimboy3100
// @author Jimboy3100
// @license PSL
// @match https://agar.io/*
// @grant none
// @run-at document-start
// ==/UserScript==
//Download a small video e.g http://techslides.com/demos/sample-videos/small.mp4
setTimeout(function() {
function inject(type, code) {
switch (type) {
case 'javascript':
var inject = document.createElement('script');
inject.type = 'text/javascript';
inject.appendChild(document.createTextNode(code));
break;
case 'stylesheet':
var inject = document.createElement('style');
inject.type = 'text/css';
inject.appendChild(document.createTextNode(code));
break;
}
(document.head || document.documentElement).appendChild(inject);
}
inject('stylesheet', '@-webkit-keyframes bounce-in-left{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}@-moz-keyframes bounce-in-left{60%,75%,90%,from,to{-moz-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-moz-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-moz-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-moz-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-moz-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-moz-transform:none;transform:none}}@keyframes bounce-in-left{60%,75%,90%,from,to{-moz-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-moz-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-moz-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-moz-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-moz-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-moz-transform:none;transform:none}}@-webkit-keyframes bounce-in-right{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}@-moz-keyframes bounce-in-right{60%,75%,90%,from,to{-moz-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-moz-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-moz-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-moz-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-moz-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-moz-transform:none;transform:none}}@keyframes bounce-in-right{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}#tcm-videoskin :focus{outline:0}#tcm-videoskin{position:relative;display:block;width:100%;margin:0 0 15px;overflow:hidden;background:#EEE;border:1px solid #DDD;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}#tcm-videoskin>#tcm-videoskin-options>button,#tcm-videoskin>button{position:relative;display:block;padding:8px;float:left;cursor:pointer;color:#FFF;font-size:13px;text-transform:capitalize;border:none;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;transition:background .2s ease-in-out;-webkit-transition:background .2s ease-in-out;-moz-transition:background .2s ease-in-out}#tcm-videoskin>button#tcm-video-load{width:96%;margin:2%;background:#43A047;border-bottom:3px solid #388E3C}#tcm-videoskin>button#tcm-video-load:hover{background:#66BB6A}#tcm-videoskin>#tcm-video-input{display:none}#tcm-videoskin>#tcm-videoskin-options{position:relative;display:none;width:100%;overflow:hidden}#tcm-videoskin>#tcm-videoskin-options>button#tcm-video-unload{width:57%;margin:0 1% 2% 2%;background:#E53935;border-bottom:3px solid #D32F2F;animation:1s both bounce-in-left;-webkit-animation:1s both bounce-in-left;-moz-animation:1s both bounce-in-left}#tcm-videoskin>#tcm-videoskin-options>button#tcm-video-mute{width:37%;margin:0 2% 2% 1%;background:#E53935;border-bottom:3px solid #D32F2F;animation:1s both bounce-in-right;-webkit-animation:1s both bounce-in-right;-moz-animation:1s both bounce-in-right}#tcm-videoskin>#tcm-videoskin-options>button#tcm-video-mute:hover,#tcm-videoskin>#tcm-videoskin-options>button#tcm-video-unload:hover{background:#EF5350}#tcm-videoskin>#tcm-videoskin-credits{position:relative;display:block;width:100%;margin:0 0 2%;overflow:hidden;font-size:13px;color:#666;text-align:center;cursor:default}#tcm-videoskin>#tcm-videoskin-credits>a{color:#43A047;cursor:pointer;text-decoration:none}#tcm-videoskin>#tcm-videoskin-credits>a:hover{text-decoration:underline}');
inject('javascript', ! function e(t) {
if ("undefined" != typeof t.MC && "undefined" != typeof t.core && document.getElementById("mainui-ads")) {
var a = document.getElementById("nick").value;
console.log("a=" + a);
var o = {
l: {
nickname: a,
placeholder: "http://i.imgur.com/rIko2gr.jpg",
color: "0xFFFFFF",
canvas: !1,
context: !1,
video: !1,
muted: !1,
prototypes: {
canvas: CanvasRenderingContext2D.prototype,
mc: Object.getPrototypeOf(t.MC),
old: {}
}
},
f: {
prototype_override: function(e, t, n, i) {
e in o.l.prototypes.old || (o.l.prototypes.old[e] = {}),
t in o.l.prototypes.old[e] || (o.l.prototypes.old[e][t] = o.l.prototypes[e][t]),
o.l.prototypes[e][t] = function() {
"before" == n && i(this, arguments),
o.l.prototypes.old[e][t].apply(this, arguments),
"after" == n && i(this, arguments)
}
},
load_video: function(e) {
var n = t.URL || t.webkitURL,
i = this.files[0];
o.l.video ? o.l.video.src = n.createObjectURL(i) : (o.l.canvas = document.createElement("canvas"),
o.l.canvas.width = o.l.canvas.height = 512,
o.l.context = o.l.canvas.getContext("2d"),
o.l.video = document.createElement("video"),
o.l.video.src = n.createObjectURL(i),
o.l.video.muted = o.l.muted,
o.l.video.loop = !0,
o.u.toggle_options(!0), o.u.populate_nickname(),
t.core.registerSkin(o.l.nickname, "%tcmvideo", o.l.placeholder, 3, o.l.color),
o.f.prototype_override("canvas", "drawImage", "before", function(e, t) {
"src" in t[0] && t[0].src == o.l.placeholder &&
(o.l.context.drawImage(o.l.video, 0, 0, o.l.video.videoWidth,
o.l.video.videoHeight,
-((o.l.canvas.width * (o.l.video.videoWidth / o.l.video.videoHeight) - o.l.canvas.width) / 2), 0,
o.l.canvas.width * (o.l.video.videoWidth / o.l.video.videoHeight), o.l.canvas.height),
t[0] = o.l.canvas)
}), o.f.prototype_override("mc", "onPlayerSpawn", "before", function(e, t) {
o.l.video.play()
}), o.f.prototype_override("mc", "onPlayerDeath", "before", function(e, t) {
o.l.video.pause()
}))
},
unload_video: function() {
o.l.video.src = "",
o.l.video = !1,
o.u.toggle_options(!1),
o.u.unpopulate_nickname(),
o.f.prototype_override("canvas", "drawImage", "before", function(e, t) {}),
o.f.prototype_override("mc", "onPlayerSpawn", "before", function(e, t) {}),
o.f.prototype_override("mc", "onPlayerDeath", "before", function(e, t) {})
}
},
u: {
populate_nickname: function() {
document.getElementById("nick").value = o.l.nickname, document.getElementById("nick").disabled = !0
},
unpopulate_nickname: function() {
document.getElementById("nick").value = "", document.getElementById("nick").disabled = !1
},
toggle_options: function(e) {
document.getElementById("tcm-videoskin-options").style.display = e ? "block" : "none",
document.getElementById("tcm-videoskin-credits").style.display = e ? "none" : "block"
},
html: function() {
var e = '<div id="tcm-videoskin">';
return e += '<button id="tcm-video-load">select video skin</button>',
e += '<input type="file" accept="video/*" id="tcm-video-input" />',
e += '<div id="tcm-videoskin-options">',
e += '<button id="tcm-video-unload">unselect video skin</button>',
e += '<button id="tcm-video-mute">mute audio</button>',
e += "</div>",
e += '<span id="tcm-videoskin-credits">Script made by <a href="http://www.jimboy3100.github.io" target="_blank">Jimboy3100</a>.</span>',
e += "</div>"
}
}
};
document.getElementById("mainui-ads").insertAdjacentHTML("beforeBegin", o.u.html()),
document.getElementById("tcm-video-load").addEventListener("click", function() {
document.getElementById("tcm-video-input").click()
}, !1), document.getElementById("tcm-video-input").addEventListener("change", o.f.load_video, !1),
document.getElementById("tcm-video-unload").addEventListener("click", o.f.unload_video, !1),
document.getElementById("tcm-video-mute").addEventListener("click", function() {
o.l.muted = o.l.muted ? !1 : !0, o.l.video.muted = o.l.muted, this.innerHTML = o.l.muted ? "unmute audio" : "mute audio"
}, !1)
} else t.setTimeout(function() {
e(t)
}, 100)
}(window));
}, 3600);