Alex Loony
Новичок
- Сообщения
- 6
- Репутация
- 0
Написал простенького бота для онлайн игры.
Бот выделяет моба и бьёт его что меня очень порадовало, работает на ура..
Тут у меня возник вопрос.
Смотрим функцию:
1. Моб выделяеться. (Клавиша TAB)
2. Атака моба. (Цыфра 1)
3. На 3-ем действии хочу зделать баф чара. (Цыфра 2)
На 3-ем действии у меня ничего не получаеться.
Вот сам скрипт:
Как я понимаю функция Sleep останавливает скрипт. 3 раза перечитал русский хелп и ничего не нашёл.
Жду вашей помощи..
Бот выделяет моба и бьёт его что меня очень порадовало, работает на ура..
Тут у меня возник вопрос.
Смотрим функцию:
1. Моб выделяеться. (Клавиша TAB)
2. Атака моба. (Цыфра 1)
3. На 3-ем действии хочу зделать баф чара. (Цыфра 2)
На 3-ем действии у меня ничего не получаеться.
Вот сам скрипт:
;;; Пауза, выключения бота.
Global $Paused
HotKeySet("{ESC}", "TogglePause")
HotKeySet("{F1}", "Terminate")
Func TogglePause()
$Paused = NOT $Paused
While $Paused
sleep(100)
ToolTip('Бот остановлен!',0,0)
WEnd
ToolTip("")
EndFunc
Func Terminate()
Exit 0
EndFunc
;;; Основа бота.
$VAR=0
$HWND1=_PROCESSGETWINDOW("1234.exe") ;;;Название процесса игры.
WHILE 1
CONTROLSEND($HWND1,"","","{TAB}") ;;; Клавиша выделения моба.
$RANDOM=RANDOM(-100,100,0)
SLEEP(200+$RANDOM)
CONTROLSEND($HWND1,"","","{1}") ;;; Атака выделенного моба.
$RANDOM=RANDOM(-100,100,0)
SLEEP(1000+$RANDOM)
SEND("{2}") Тут у меня что то не сходиться. Что не могу понять.
SLEEP(5000)
WEND
FUNC _PROCESSGETWINDOW($IPID,$IRET=1)
LOCAL $AWINLIST=WINLIST()
LOCAL $ARET[2]
IF ISSTRING($IPID)THEN
$IPID=PROCESSEXISTS($IPID)
ENDIF
FOR $I=1 TO UBOUND($AWINLIST)-1
IF WINGETPROCESS($AWINLIST[$I][1])=$IPID THEN
$ARET[0]=$AWINLIST[$I][0]
$ARET[1]=$AWINLIST[$I][1]
IF $IRET=0 THEN
RETURN $ARET[0]
ENDIF
IF $IRET=1 THEN
RETURN $ARET[1]
ENDIF
RETURN $ARET
ENDIF
NEXT
RETURN SETERROR(1,0,$ARET)
ENDFUNC
FUNC PAUSEFUNC()
IF $VAR=0 THEN
$VAR=1
PAUSEFUNC2()
ELSE
$VAR=2
ENDIF
ENDFUNC
FUNC PAUSEFUNC2()
WHILE 1
IF $VAR=2 THEN
$VAR=0
EXITLOOP
ENDIF
SLEEP(500)
WEND
ENDFUNC
Global $Paused
HotKeySet("{ESC}", "TogglePause")
HotKeySet("{F1}", "Terminate")
Func TogglePause()
$Paused = NOT $Paused
While $Paused
sleep(100)
ToolTip('Бот остановлен!',0,0)
WEnd
ToolTip("")
EndFunc
Func Terminate()
Exit 0
EndFunc
;;; Основа бота.
$VAR=0
$HWND1=_PROCESSGETWINDOW("1234.exe") ;;;Название процесса игры.
WHILE 1
CONTROLSEND($HWND1,"","","{TAB}") ;;; Клавиша выделения моба.
$RANDOM=RANDOM(-100,100,0)
SLEEP(200+$RANDOM)
CONTROLSEND($HWND1,"","","{1}") ;;; Атака выделенного моба.
$RANDOM=RANDOM(-100,100,0)
SLEEP(1000+$RANDOM)
SEND("{2}") Тут у меня что то не сходиться. Что не могу понять.
SLEEP(5000)
WEND
FUNC _PROCESSGETWINDOW($IPID,$IRET=1)
LOCAL $AWINLIST=WINLIST()
LOCAL $ARET[2]
IF ISSTRING($IPID)THEN
$IPID=PROCESSEXISTS($IPID)
ENDIF
FOR $I=1 TO UBOUND($AWINLIST)-1
IF WINGETPROCESS($AWINLIST[$I][1])=$IPID THEN
$ARET[0]=$AWINLIST[$I][0]
$ARET[1]=$AWINLIST[$I][1]
IF $IRET=0 THEN
RETURN $ARET[0]
ENDIF
IF $IRET=1 THEN
RETURN $ARET[1]
ENDIF
RETURN $ARET
ENDIF
NEXT
RETURN SETERROR(1,0,$ARET)
ENDFUNC
FUNC PAUSEFUNC()
IF $VAR=0 THEN
$VAR=1
PAUSEFUNC2()
ELSE
$VAR=2
ENDIF
ENDFUNC
FUNC PAUSEFUNC2()
WHILE 1
IF $VAR=2 THEN
$VAR=0
EXITLOOP
ENDIF
SLEEP(500)
WEND
ENDFUNC
Как я понимаю функция Sleep останавливает скрипт. 3 раза перечитал русский хелп и ничего не нашёл.
Жду вашей помощи..