LINUX.ORG.RU

Dota 2 автоматическое нажатие кнопки принять.

 ,


0

2

Собственно сабж. Написал тут маленький скриптик на баше, но работает почему-то через раз.
У неё что, антибот протэкшн какой-то? Код прилагаю, может кто опробует в других wm, юзаю kwin. Может он что чудит.

#!/bin/bash

ICONIC="Iconic"
NORMAL="Normal"
PID_FILE="/var/run/user/$UID/dota2-clicker.pid"

# Координаты кнопки "Принять".
X=540
Y=360
#-----------------------------

Exit ()
{
	rm "$PID_FILE"
	exit 1
}

if [ -f "$PID_FILE" ]
	then
		pid=$(cat "$PID_FILE")
		kill -9 "$pid"
		Exit
	else
		echo $$ > "$PID_FILE"
fi

while true
do
	sleep 3
	state=$(xprop -name "DOTA 2 - OpenGL" 2>/dev/null | grep "window state" | cut -c17-)
	## Провереям, запущена ли Dota 2
	if [ ! "$state" ]
		then
			notify-send "Dota 2 not launched!"
			Exit
	fi
	## --------------------------------
	if [ "$state" = "$NORMAL" ]
		then
			xdotool mousemove $X $Y
			xdotool click 1
			sleep 0.3
			xdotool mousemove $(($X + $(($RANDOM % 50)))) $(($Y + $(($RANDOM % 10))))
			xdotool click 1
			sleep 0.3
			xdotool mousemove $X $Y
			xdotool click 1
	fi
done
p.s. или уж это слишком быдлокодно?

★★★★

но работает почему-то через раз.

Координаты кнопки «Принять».

Координаты

Может по этому!?

IIIypuk ★★★ ()

но работает почему-то через раз

Ну выведи дебаг, а то может тот же «$state» = .. не всегда проходит.

anonymous ()

Может попробовать несколько раз кликать? У меня и когда мышкой тыкаю часто не с первого раза получается

valner ()
Ответ на: комментарий от valner

Если внимательно посмотреть скрипт, то видно что мышка кликается 3 раза.

FIL ★★★★ ()

ну так как в итоге? если изменить sleep на 2 - работает?

если да, то благодарствую; автопринятия там очень не хватает =)

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.