Skip to content

Commit 6967b37

Browse files
committed
xmas update v2
1 parent a806c5d commit 6967b37

File tree

3 files changed

+41
-76
lines changed

3 files changed

+41
-76
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ A simple autoclicker for blum drop mini-game on python (autoclicker collects **$
44

55
### Christmas mode:
66
- run `main.py --xmas` to enable christmas mode
7+
- Unfortunately after the last update of christmas event (bombs were added) I faced performance troubles. Some stuff may not be collected, but neither should bombs.
78

89
## Usage
910
- Start tg app, then `main.py` and press play

constants.py

Lines changed: 25 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
HALLOWEEN_MODE = '--halloween' in sys.argv
88
ELECTIONS_MODE = '--elections' in sys.argv
99
FOOTBALL_MODE = '--football' in sys.argv
10-
DOGS_DROP_TOGGLE = '--disable-dogs' not in sys.argv
10+
DOGS_DROP_TOGGLE = '--enable-dogs' in sys.argv
1111

1212
CLICK_LIMIT = 1.0
1313
for arg in sys.argv:
@@ -24,7 +24,7 @@
2424
"blue":{"min":5, "max":55}}
2525
APPLICATION_TRIGGER = {"color":(234, 212, 12), "positions":[(60/402, 112/712), (43/402, 110/712),
2626
(102/402, 113/712), (61/402, 106/712)]}
27-
PIXELS_PER_ITERATION = 10
27+
PIXELS_PER_ITERATION = 10 + 5*CHRISTMAS_MODE
2828

2929
NEW_GAME_TRIGGER_POS = (210/402, 615/712)
3030
AVG_GAME_DURATION = 30 + 6*HALLOWEEN_MODE # seconds
@@ -33,30 +33,6 @@
3333
#Dogs drop
3434
DOGS_WHITE_COLOR_RANGE = (238, 256)
3535

36-
# Halloween
37-
HALLOWEEN_COLOR_TRIGGER = {
38-
"red":{"min":220, "max":240},
39-
"green":{"min":95, "max":130},
40-
"blue":{"min":35, "max":55}}
41-
BOMB_COLOR_TRIGGER = {
42-
"red":{"min":125, "max":140},
43-
"green":{"min":125, "max":135},
44-
"blue":{"min":125, "max":135}}
45-
46-
#Election
47-
ELECTIONS_COLOR_TRIGGERS = [
48-
{
49-
"red":{"min":250, "max":255},
50-
"green":{"min":130, "max":140},
51-
"blue":{"min":90, "max":105}
52-
},
53-
{
54-
"red":{"min":220, "max":230},
55-
"green":{"min":160, "max":175},
56-
"blue":{"min":125, "max":135}
57-
}
58-
]
59-
6036
# X-mas update
6137
CHRISTMAS_COLOR_TRIGGERS = [
6238
{
@@ -65,27 +41,39 @@
6541
"blue":{"min":120, "max":200}
6642
},
6743
{
68-
"red":{"min":50, "max":120},
69-
"green":{"min":100, "max":210},
70-
"blue":{"min":5, "max":40}
71-
},
72-
{
7344
"red":{"min":130, "max":180},
7445
"green":{"min":50, "max":80},
7546
"blue":{"min":0, "max":20}
7647
},
7748
{
78-
"red":{"min":250, "max":255},
79-
"green":{"min":150, "max":190},
80-
"blue":{"min":0, "max":20}
81-
},
82-
{
8349
"red":{"min":230, "max":240},
8450
"green":{"min":85, "max":160},
8551
"blue":{"min":70, "max":140}
52+
},
53+
{
54+
"red":{"min":90, "max":120},
55+
"green":{"min":35, "max":50},
56+
"blue":{"min":0, "max":5}
8657
}
58+
# ,
59+
# {
60+
# "red":{"min":250, "max":255},
61+
# "green":{"min":130, "max":150},
62+
# "blue":{"min":0, "max":5}
63+
# },
64+
# {
65+
# "red":{"min":50, "max":120},
66+
# "green":{"min":100, "max":210},
67+
# "blue":{"min":5, "max":40}
68+
# },
8769
]
8870

71+
BOMB_COLOR_TRIGGER = {
72+
"red":{"min":240, "max":255},
73+
"green":{"min":170, "max":200},
74+
"blue":{"min":20, "max":80}
75+
}
76+
8977

9078
HELP_STRING = \
9179
"""
@@ -94,10 +82,7 @@
9482
Options:
9583
--help - show this string
9684
--xmas - enable christmas mode
97-
--halloween - enable halloween mode
98-
--football - enable football mode
99-
--elections - enable elections mode
100-
--disable-dogs - don't collect dogs
85+
--enable-dogs - collect dogs
10186
--click-limit=n - limit clicks (Example: --click-limit=0.05, only 5% of clicks)
10287
10388
Keybidings:

main.py

Lines changed: 15 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,7 @@
1515
from constants import (
1616
CLICK_LIMIT,
1717
HELP_STRING,
18-
FOOTBALL_MODE,
19-
ELECTIONS_MODE,
2018
CHRISTMAS_MODE,
21-
HALLOWEEN_MODE,
2219
DOGS_DROP_TOGGLE,
2320
AVG_GAME_DURATION,
2421
BOMB_COLOR_TRIGGER,
@@ -27,9 +24,7 @@
2724
PIXELS_PER_ITERATION,
2825
DEFAULT_COLOR_TRIGGER,
2926
DOGS_WHITE_COLOR_RANGE,
30-
HALLOWEEN_COLOR_TRIGGER,
3127
CHRISTMAS_COLOR_TRIGGERS,
32-
ELECTIONS_COLOR_TRIGGERS,
3328
)
3429

3530

@@ -58,47 +53,31 @@ def check_running(frame, application_bbox) -> bool:
5853
def check_object(frame, x:int, y:int) -> bool:
5954
""" Finding dropping objects by color """
6055

61-
def _check_color_trigger(color_trigger, limit:bool=True):
56+
def _check_color_trigger(color_trigger, check_x=x, check_y=y, limit:bool=True):
6257
if limit and random.random() > CLICK_LIMIT:
6358
return False
6459

65-
if color_trigger['red']['min'] <= frame[y][x][0] <= color_trigger['red']['max']:
66-
if color_trigger['green']['min'] <= frame[y][x][1] <= color_trigger['green']['max']:
67-
# print(frame[y][x])
68-
if color_trigger['blue']['min'] <= frame[y][x][2] <= color_trigger['blue']['max']:
60+
if color_trigger['red']['min'] <= frame[check_y][check_x][0] <= color_trigger['red']['max']:
61+
if color_trigger['green']['min'] <= frame[check_y][check_x][1] <= color_trigger['green']['max']:
62+
# print(frame[check_y][check_x])
63+
if color_trigger['blue']['min'] <= frame[check_y][check_x][2] <= color_trigger['blue']['max']:
6964
return True
7065
return False
7166

72-
if HALLOWEEN_MODE:
73-
if _check_color_trigger(HALLOWEEN_COLOR_TRIGGER) or _check_color_trigger(BOMB_COLOR_TRIGGER):
74-
return True
75-
elif CHRISTMAS_MODE:
76-
for trigger in CHRISTMAS_COLOR_TRIGGERS:
67+
if CHRISTMAS_MODE:
68+
for i in range(len(CHRISTMAS_COLOR_TRIGGERS)):
69+
trigger = CHRISTMAS_COLOR_TRIGGERS[i]
7770
if _check_color_trigger(trigger):
71+
for lc_x in range(-45, 50, 3):
72+
for lc_y in range(-50, 25, 3):
73+
if _check_color_trigger(BOMB_COLOR_TRIGGER, x + lc_x, y + lc_y, limit=False):
74+
return False
7875
return True
7976
return False
8077
else:
8178
if _check_color_trigger(DEFAULT_COLOR_TRIGGER):
8279
return True
8380

84-
if ELECTIONS_MODE:
85-
for color_trigger in ELECTIONS_COLOR_TRIGGERS:
86-
if _check_color_trigger(color_trigger, False):
87-
return True
88-
89-
if FOOTBALL_MODE:
90-
if frame[y][x][0] == frame[y][x][1] == frame[y][x][2] == 255:
91-
for i in range(-10, 10):
92-
if 0 > (x + i) >= len(frame[0]):
93-
continue
94-
95-
for j in range(-10, 10):
96-
if 0 > (y + j) >= len(frame):
97-
continue
98-
99-
if frame[y + j][x + i][0] < 40 and (frame[y + j][x + i][0] == frame[y + j][x + i][1] == frame[y + j][x + i][1]):
100-
return True
101-
10281
#DOGS DROP
10382
if DOGS_DROP_TOGGLE:
10483
if frame[y][x][0] == frame[y][x][1] == frame[y][x][2] and DOGS_WHITE_COLOR_RANGE[0] <= frame[y][x][0] <= DOGS_WHITE_COLOR_RANGE[1]:
@@ -147,8 +126,8 @@ def main():
147126
# time.sleep(2)
148127

149128
x_shift = 20
150-
y_shift_top = 150
151-
y_shift_bot = 250 + 150*FOOTBALL_MODE
129+
y_shift_top = 150 + 50*CHRISTMAS_MODE
130+
y_shift_bot = 250
152131

153132
game_counter = 0
154133

@@ -172,7 +151,7 @@ def main():
172151
mouse.move(x, y, absolute=True)
173152
mouse.click(button='left')
174153

175-
time.sleep(0.28)
154+
time.sleep(0.28 - .1*CHRISTMAS_MODE)
176155
frame = camera.get_latest_frame()
177156
else:
178157
print('Finished')

0 commit comments

Comments
 (0)