View difference between Paste ID: MD0EAEbK and wRTrgdvF
SHOW: | | - or go back to the newest paste.
1
/*
2
* Football Ultimate Cup Keyboards (FUCK)
3-
* v 0.8
3+
* v 0.9
4
* Особенности:
5
* - золотой гол считается за один, даже если это квадрипл, ибо нехуй
6
* - кликайте по табло, чтобы менять его положение
7
* - поддержка архивача
8
*/
9
$(function(){
10
	try { clearInterval(window.fuck_updater) } catch(e){}
11
12-
	,	config_lines = $('.oppost-wrapper .post-message').html().split('<br>').filter(function(a){ return a.substr(0, 1) === '%' })
12+
13
	,	platform = location.hostname === 'arhivach.org' ? 'arhivach' : '2ch'
14
	,	config_lines = (platform === 'arhivach' ? $('.post').eq(0).find('.post_comment_body') : $('.oppost-wrapper .post-message')).html().split('<br>').filter(function(a){ return a.substr(0, 1) === '%' })
15
	,	config = config_lines.length === 0 ? undefined : config_lines[0].substr(1)
16
	,	config_team_names = config
17
	,	team_names = undefined === config ? [ '#1', '#2' ] : config_team_names.split('|').map(function(a){ return a.trim() })
18
19
	if(undefined === config){
20
		return false
21
	}
22
23
	$('body')
24-
		.html('.fuck-message{color:green;}.fuck-scoreboard{position:fixed;width:270px;height:130px;border:1px solid #ccc;padding:10px 5px;background-color:#ddd;text-align:center;}.fuck-scoreboard[data-pos="0"]{bottom:0px;left:0px;}.fuck-scoreboard[data-pos="1"]{top:0px;left:0px;}.fuck-scoreboard[data-pos="2"]{top:0px;right:0px;}.fuck-scoreboard-one{float:left;width:125px;height:100%;}.fuck-scoreboard-one-score{height:90px;font-size:45px;font-weight:bold;line-height:90px;}.fuck-scoreboard-one-team{height:20px;color:#888;font-size:14px;line-height:20px;}')
24+
25
		$('<style>')
26
		.html('.fuck-message{color:green;}.fuck-scoreboard{box-sizing:border-box;position:fixed;width:270px;height:130px;border:1px solid #ccc;padding:10px 5px;background-color:#ddd;text-align:center;}.fuck-scoreboard[data-pos="0"]{bottom:0px;left:0px;}.fuck-scoreboard[data-pos="1"]{top:0px;left:0px;}.fuck-scoreboard[data-pos="2"]{top:0px;right:0px;}.fuck-scoreboard-one{float:left;width:125px;height:100%;}.fuck-scoreboard-one-score{height:90px;font-size:45px;font-weight:bold;line-height:90px;}.fuck-scoreboard-one-team{height:20px;color:#888;font-size:14px;line-height:20px;}')
27
	)
28
	.append(
29
		$('<div>')
30
		.addClass('fuck-scoreboard')
31
		.attr('data-pos', '0')
32
		.on('click', function(){
33
			$(this).attr('data-pos', (parseInt( $(this).attr('data-pos') ) + 1) % 3)
34
		})
35
		.append(
36
			$('<div>')
37
			.addClass('fuck-scoreboard-one')
38
			.append(
39
				$('<div>')
40
				.addClass('fuck-scoreboard-one-score')
41
				.html('0')
42
			)
43
			.append(
44
				$('<div>')
45
				.addClass('fuck-scoreboard-one-team')
46
				.html(team_names[0])
47
			)
48
		)
49
		.append(
50
			$('<div>')
51
			.addClass('fuck-scoreboard-one')
52
			.append(
53
				$('<div>')
54
				.addClass('fuck-scoreboard-one-score')
55
				.html('0')
56
			)
57
			.append(
58
				$('<div>')
59
				.addClass('fuck-scoreboard-one-team')
60
				.html(team_names[1])
61
			)
62
		)
63
	)
64
65
	window.fuck_updater = setInterval(function(){
66-
		,	ended = false
66+
67
		,	penalty = false
68-
		$('.post-wrapper').each(function(n, el){
68+
		,	ended = false;
69
70
		(platform === 'arhivach' ? $('.post') : $('.oppost-wrapper, .post-wrapper')).each(function(n, el){
71
			n++
72
			el = $(el)
73
74
			var time_now = false
75
			if(n <= 150){
76
				time_now = 1
77
			} else if(n > 200 && n <= 350){
78
				time_now = 2
79
			} else if(!ended && n > 350 && score[0] === score[1]){
80
				// до золотого гола
81
				time_now = 3
82
			}
83
84
			var post_num = el.attr('id').replace(/[^0-9]/g, '')
85
			,	el_post_message = el.find(platform === 'arhivach' ? '.post_comment_body' : '.post-message')
86
			,	last_digit = parseInt( post_num.substr(-1) )
87
			,	is_double = post_num.substr(-1, 1) === post_num.substr(-2, 1)
88
			,	is_triple = is_double && ( post_num.substr(-1, 1) === post_num.substr(-3, 1) )
89-
			el.find('.postbtn-reply-href').html(post_num)
89+
90-
			el.find('.post-message > span.fuck-message').remove()
90+
91
92
			if(platform === '2ch'){
93
				el.find('.postbtn-reply-href').html(post_num)
94
			}
95
96
			el_post_message.find('span.fuck-message').remove()
97-
					el.find('.post-message').append(
97+
98
			if(false !== time_now){
99
				// игра идёт
100
				if(true === penalty){
101
					// забит пенальти
102
					score[team_now]++
103
					el_post_message.append(
104
						$('<span>')
105
						.addClass('fuck-message')
106
						.append('<br><br>')
107
						.append('Гол! Пенальти забивает команда ' + team_names[team_now] + '. Счёт ' + team_names[0] + ' <strong>' + score[0] + ':' + score[1] + '</strong> ' + team_names[1] + '.')
108
					)
109-
					el.find('.post-message').append(
109+
110
					penalty = false
111
					if(n > 350){ ended = true }
112
				} else if(is_triple && !is_quad){
113
					// назначен пенальти
114
					penalty = true
115
					el_post_message.append(
116
						$('<span>')
117
						.addClass('fuck-message')
118-
					el.find('.post-message').append(
118+
119
						.append('Назначается пенальти!')
120
					)
121
				} else if(is_double || is_quad){
122
					// гол немедленно
123
					score[team_now] += is_quad && time_now !== 3 ? 2 : 1
124
					el_post_message.append(
125
						$('<span>')
126
						.addClass('fuck-message')
127
						.append('<br><br>')
128-
			if(el.find('.post-message').text().replace(/[^0-9a-zа-я\ ]/gi, '').match(/спасибо скрипткун/i)){
128+
129-
				el.find('.post-message').append(
129+
130
					if(n > 350){ ended = true }
131
				}
132
			}
133
134
			if(el_post_message.text().replace(/[^0-9a-zа-я\ ]/gi, '').match(/спасибо скрипткун/i)){
135
				el_post_message.append(
136
					$('<span>')
137
					.addClass('fuck-message')
138
					.css('font-style', 'italic')
139
					.append('<br><br>Скрипт-кун благословил этот пост.')
140
				)
141
			}
142
		})
143
144
		$('.fuck-scoreboard-one').each(function(n, el){
145
			$(el).find('.fuck-scoreboard-one-score').html(score[n])
146
		})
147
148
	}, 1000)
149
})