Что нового

Скрипт для игры Point Blank

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
69.gif
Благодарности на этом форуме принято выражать нажатием кнопочки снизу
V
70.gif
 

Viktor217

Осваивающий
Сообщения
233
Репутация
31
А как сделать чтобы после n-ого выполнения действий нажималась клавиша R?
Вот в этой версии скрипта:
Код:
#include <Misc.au3>

$dll = DllOpen("user32.dll")

While 1
    Sleep ( 100 )
    If _IsPressed("04", $dll) Then
        sleep(50)
        MouseClick("left")
        sleep(50)
        Send("q")
        sleep(50)
        Send("q")
        ;ExitLoop
    EndIf
WEnd
DllClose($dll)


Вот лично мои(Собранные из чужих скриптов) наработки, правда работает не всегда...
Код:
#include <Misc.au3>
global $start=0
;Горячие клавиши
HotKeySet("{[}", "start") ;Старт
HotKeySet("{]}", "stop") ;Стоп
;Тело
Opt("SendKeyDownDelay", 50)
$dll=DllOpen("user32.dll")
While 1
	Sleep (100)
	If _IsPressed("01", $dll) Then
	Call("olo")
	EndIf
WEnd
DllClose($dll)
;Функции
Func start() ;Включение
    $start=1
EndFunc

Func stop() ;Выключение
    $start=0
EndFunc

Func olo() ;функция olo
    If $start=1 then
		Sleep(100)
		Send("3")
        sleep(100)
        Send("1")
		Sleep(20)
	EndIf
EndFunc
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Viktor217 [?]
чтобы после n-ого выполнения действий нажималась клавиша R
Так:
Код:
#include <Misc.au3>

$n = 10
$i = 0
$dll = DllOpen("user32.dll")

While 1
	Sleep(100)
	If _IsPressed("04", $dll) Then
		Sleep(50)
		MouseClick("left")
		Sleep(50)
		Send("q")
		Sleep(50)
		Send("q")
		$i += 1
		If $i = $n Then
			Send("R")
			$i = 0
		EndIf
	EndIf
WEnd
DllClose($dll)
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Люди уже даже в экшены играть и просто ткнуть зарядку не могут по человечаче
90.gif
 

Viktor217

Осваивающий
Сообщения
233
Репутация
31
Belfigor сказал(а):
Люди уже даже в экшены играть и просто ткнуть зарядку не могут по человечаче
90.gif
Я новичок играть с профи на равне никак не могу, по сетевой игре использую скрипт, а в игре с ботами учусь делать это самостоятельно(=
madmasles, спасибо(=
 

CaHbka

Новичок
Сообщения
20
Репутация
0
Здраствуйте.
Взял скрипт с предыдущей страницы и немного переделал под себя, но теперь скрипт не работает((
Собственно сам скрипт
Код:
#include <Misc.au3>

Opt("SendKeyDownDelay", 50)

$dll = DllOpen("user32.dll")

While 1
	Sleep(50)
    If _IsPressed($01, $dll= 'user32.dll' ) Then
		Sleep( 50 )
        Send("q")
        sleep( 50 )
        Send("q")
    EndIf
WEnd
DllClose($dll)

Думал в результате получится следующее - нажимаю левую кнопку мыши(происходит выстрел) и затем два раза нажимается клавиша Q
Играл не в окне. Может быть в этом причина не работоспособности скрипта? Если дело не в этом, подскажите пожалуйста решение для работоспособности скрипта.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
CaHbka
У Вас в функции
Код:
_IsPressed($01, $dll= 'user32.dll' )
две ошибки. Должно быть (для левой кнопки мыши):
Код:
_IsPressed('01', $dll)
 

CaHbka

Новичок
Сообщения
20
Репутация
0
madmasles
Тогда скрипт выглядит так
Код:
#include <Misc.au3>

Opt("SendKeyDownDelay", 50)

$dll = DllOpen("user32.dll")

While 1
	Sleep(50)
    If _IsPressed('01', $dll) Then
		Sleep( 50 )
        Send("q")
        sleep( 50 )
        Send("q")
    EndIf
WEnd
DllClose($dll)

Но появляется ошибка
dde0145bfb0e.png

А какой разделить и где конкретно отсутствует не могу понять.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
CaHbka
Ваш скрипт у меня работает без проблем. У Вас какая версия AutoIt? Если не 3.3.6.1, то советую Вам ее обновить.

PS
Кажется, я понял Вашу проблему. Скрипт при работе вставляет в SciTE две буквы q в первую строку, если Вы там мышкой кликнули. Посмотрите на первую, и не только первую строку, и уберите лишние буквы q.
 

CaHbka

Новичок
Сообщения
20
Репутация
0
madmasles
У меня AutoIt v3.3.6.1
Действительно в самой первой строке были две буквы q ;)
Тестил в блокноте. Работает вроде, но когда первый раз нажимаю ЛКМ, то 2 буквы q печатается, через секунду жму опять ЛКМ, но печатается 1 буква q. Опять нажимаю ЛКМ и опять 1 буква q. Нажимаю еще раз ЛКМ и уже 2 буквы q печатается :wacko: Это особенность языка?
 

Viktor217

Осваивающий
Сообщения
233
Репутация
31
CaHbka сказал(а):
madmasles
У меня AutoIt v3.3.6.1
Действительно в самой первой строке были две буквы q ;)
Тестил в блокноте. Работает вроде, но когда первый раз нажимаю ЛКМ, то 2 буквы q печатается, через секунду жму опять ЛКМ, но печатается 1 буква q. Опять нажимаю ЛКМ и опять 1 буква q. Нажимаю еще раз ЛКМ и уже 2 буквы q печатается :wacko: Это особенность языка?
Нет, это загруженность компьютера(=
Поэкспериментируй с задержками...
П.С. Так в игре переключение будет быстрей:
Код:
#include <Misc.au3>
Opt("SendKeyDownDelay", 50)
$dll = DllOpen("user32.dll")
While 1
        Sleep(50)
    If _IsPressed('01', $dll) Then
        Sleep(50)
        Send("3")
        Sleep(50)
        Send("1")
    EndIf
WEnd
 

svigelf

Знающий
Сообщения
61
Репутация
17
:smile:попробуй вот такой вариант)

Код:
#include <Misc.au3>
$dll = DllOpen("user32.dll")

HotKeySet("{Enter}", "_off")

While 1
	If _IsPressed('04', $dll) Then
		$i = 1
		sleep (20)
		AdlibRegister ("_key")
	Endif
WEnd

Func _key()
While $i = 1
	If _IsPressed('32', $dll) Then
		_sleep()
	ElseIf _IsPressed('33', $dll) Then
		_sleep()
	ElseIf _IsPressed('34', $dll) Then
		_sleep()
	ElseIf _IsPressed('01', $dll) Then
		Sleep (50)
		Opt("SendKeyDownDelay", 200)
		Send("3")
		Opt("SendKeyDownDelay", 550)
		Send("1")
		Opt("SendKeyDownDelay", 5)
	EndIf
WEnd
EndFunc

func _sleep()
While $i = 1
	AdlibUnRegister ("_key")
	If _IsPressed('31', $dll) Then
		AdlibRegister ("_key")
		ExitLoop
	EndIf
WEnd
EndFunc

Func _off()
	$i = 0
EndFunc

надеюсь без подсказок разберешся?? :D
 

Утя

Новичок
Сообщения
9
Репутация
0
а можете написать макрос шоб было так: прицел->выстрел->3->1 оч прошу
 

Viktor217

Осваивающий
Сообщения
233
Репутация
31
Утя сказал(а):
а можете написать макрос шоб было так: прицел->выстрел->3->1 оч прошу
Вот попробуй, задержки сам расставишь?)
Код:
#include <Misc.au3>
Opt("SendKeyDownDelay", 50)
$dll = DllOpen("user32.dll")
While 1
        Sleep(50)
    If _IsPressed('04', $dll) Then
		MouseClick("Right")
        Sleep(50)
		MouseClick("Left")
		Sleep(50)
        Send("3")
        Sleep(50)
        Send("1")
    EndIf
WEnd
 

Утя

Новичок
Сообщения
9
Репутация
0
спс,примного благодарен,а на какую кнопку он работает??
 

Viktor217

Осваивающий
Сообщения
233
Репутация
31
Утя сказал(а):
спс,примного благодарен,а на какую кнопку он работает??
Вот вырезка из справки, у тебя там 04, это средняя кнопка мыши, вот остальное:
Код:
Замечания
  01 Left mouse button
  02 Right mouse button
  04 Middle mouse button (three-button mouse)
  05 Windows 2000/XP: X1 mouse button
  06 Windows 2000/XP: X2 mouse button
  08 BACKSPACE key
  09 TAB key
  0C CLEAR key
  0D ENTER key
  10 SHIFT key
  11 CTRL key
  12 ALT key
  13 PAUSE key
  14 CAPS LOCK key
  1B ESC key
  20 SPACEBAR
  21 PAGE UP key
  22 PAGE DOWN key
  23 END key
  24 HOME key
  25 LEFT ARROW key
  26 UP ARROW key
  27 RIGHT ARROW key
  28 DOWN ARROW key
  29 SELECT key
  2A PRINT key
  2B EXECUTE key
  2C PRINT SCREEN key
  2D INS key
  2E DEL key
  30 0 key
  31 1 key
  32 2 key
  33 3 key
  34 4 key
  35 5 key
  36 6 key
  37 7 key
  38 8 key
  39 9 key
  41 A key
  42 B key
  43 C key
  44 D key
  45 E key
  46 F key
  47 G key
  48 H key
  49 I key
  4A J key
  4B K key
  4C L key
  4D M key
  4E N key
  4F O key
  50 P key
  51 Q key
  52 R key
  53 S key
  54 T key
  55 U key
  56 V key
  57 W key
  58 X key
  59 Y key
  5A Z key
  5B Left Windows key
  5C Right Windows key
  60 Numeric keypad 0 key
  61 Numeric keypad 1 key
  62 Numeric keypad 2 key
  63 Numeric keypad 3 key
  64 Numeric keypad 4 key
  65 Numeric keypad 5 key
  66 Numeric keypad 6 key
  67 Numeric keypad 7 key
  68 Numeric keypad 8 key
  69 Numeric keypad 9 key
  6A Multiply key
  6B Add key
  6C Separator key
  6D Subtract key
  6E Decimal key
  6F Divide key
  70 F1 key
  71 F2 key
  72 F3 key
  73 F4 key
  74 F5 key
  75 F6 key
  76 F7 key
  77 F8 key
  78 F9 key
  79 F10 key
  7A F11 key
  7B F12 key
  7C-7F F13 key - F16 key
  80H-87H F17 key - F24 key
  90 NUM LOCK key
  91 SCROLL LOCK key
  A0 Left SHIFT key
  A1 Right SHIFT key
  A2 Left CONTROL key
  A3 Right CONTROL key
  A4 Left MENU key
  A5 Right MENU key
 
Верх