Что нового

[Мышь, клавиатура] Курсор мыши перемещается.

jufas222

Знающий
Сообщения
93
Репутация
5
Код:
HotKeySet("{F1}", "_Pause") ;Пауза
HotKeySet("{F2}", "_NotPause") ;Продолжить
Global $Paused
Func _Pause()
    $Paused = True
    While $Paused
        Sleep(100)
    WEnd
EndFunc
Func _NotPause()
    $Paused = False
EndFunc

While 1
    $aWinList = WinList('Counter-Strike')
    $pid = WinGetProcess("Counter-Strike")
    For $i = 1 To $aWinList[0][0] Step +1
        If WinGetProcess($aWinList[$i][1]) = $Pid Then
            Sleep (2000)
            ControlSend($aWinList[$i][1], '', '', '{Space}')
            Sleep (2000)
            ControlSend($aWinList[$i][1], '', '', '{5}')
            Sleep (2000)
            ControlSend($aWinList[$i][1], '', '', '{5}')
            Sleep (2000)
            ControlSend($aWinList[$i][1], '', '', '{1}')
            Sleep(1000)
            ControlSend($aWinList[$i][1], '', '', '{9}')
            Sleep (1000)
            ControlSend($aWinList[$i][1], '', '', '{0}')
            ControlSend($aWinList[$i][1], '', '', '{0}')
            ControlSend($aWinList[$i][1], '', '', '{0}')
            ControlSend($aWinList[$i][1], '', '', '{0}')
            ControlSend($aWinList[$i][1], '', '', '{0}')
            ControlSend($aWinList[$i][1], '', '', '{0}')
            ControlSend($aWinList[$i][1], '', '', '{0}')
            ControlSend($aWinList[$i][1], '', '', '{0}')
            ExitLoop
        EndIf
     Next
 WEnd



Всем доброго времени суток, у меня возникла проблема при запускании скрипта курсор мыши, через какое то время перепрыгивает в левый верхний угол экрана.
 

Ganibal95

GreenBytes
Сообщения
877
Репутация
240
В окне играешь?
И у игры свои показатели мыши. Обычно мышка в центре окна игры... Может какую кнопку нужно перестроить в *.cfg?
 

running-frag

why me?
Сообщения
441
Репутация
60
jufas222 [?]
перепрыгивает в левый верхний угол экрана
Это координаты x=0, y=0. Значит у тебя где то "продают координаты для MouseClick()". Но это конечно имхо, т.к. у тебя не идёт вызова (ниодного) перемещения мыши, ты весь код выложил?
 
Автор
J

jufas222

Знающий
Сообщения
93
Репутация
5
Код:
HotKeySet("{F1}", "_Pause") ;Пауза
HotKeySet("{F2}", "_NotPause") ;Продолжить
Global $Paused
Func _Pause()
    $Paused = True
    While $Paused
        Sleep(100)
    WEnd
EndFunc
Func _NotPause()
    $Paused = False
EndFunc

While 1
    $aWinList = WinList('Counter-Strike')
    $pid = WinGetProcess("Counter-Strike")
    For $i = 1 To $aWinList[0][0] Step +1
        If WinGetProcess($aWinList[$i][1]) = $Pid Then
            Sleep (2000)
            ControlSend($aWinList[$i][1], '', '', '{Space}')
            Sleep (2000)
            ControlSend($aWinList[$i][1], '', '', '{5}')
            Sleep (2000)
            ControlSend($aWinList[$i][1], '', '', '{5}')
            Sleep (2000)
            ControlSend($aWinList[$i][1], '', '', '{1}')
            Sleep(1000)
            ControlSend($aWinList[$i][1], '', '', '{9}')
            Sleep (1000)
            ControlSend($aWinList[$i][1], '', '', "{F5 down}")
            Sleep(1000)
            ControlSend($aWinList[$i][1], '', '', "{F5 up}")
            ExitLoop
        EndIf
     Next
 WEnd


Да, это весь код, только чуть чуть теперь по другому....На форуме помогли сократить, но проблема так и осталась.

Ganibal95, я тебя не понял....у меня игра не в окне, а свернута, то есть она в виде значка игры где строка меню "пуск"
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
Есть предложение исходя из:
через какое то время перепрыгивает
каким-нибудь способом засечь - в какое именно время мышка там дергается, т.е. допусти в SciTE прописывать в консоль лог действий скрипта.

Скрипт выполнил:
Код:
ControlSend($aWinList[$i][1], '', '', '{Space}')

Значит в консоли пишем, что сработал {Space}
Возможно какая-то кнопка как раз и дергает это все...

Ну и так повторить несколько раз - убедиться, что именно дергается на одной кнопке, а не на разных... и далее уже думать.
 
Автор
J

jufas222

Знающий
Сообщения
93
Репутация
5
---Zak--- [?]
каким-нибудь способом засечь - в какое именно время мышка там дергается, т.е. допусти в SciTE прописывать в консоль лог действий скрипта.

Я в скриптах практически не чего не смыслю, и не понял что вы мне написали. Если не сложно объясните...
P.S. 1) Попробовал засечь через какой промежуток времени мышка "улетает" в угол экрана, но так и не выяснил, она может и через 10 секунд после запуска скрипта "дернутся", а может нечего не происходить спустя 5 минут....
2) Запустил скрипт и стал водить мышью по рабочему столу часто нажимая, как на пустую область экрана, так и на папки... первый раз мышка "прыгнула" на 2, 26, 34,79 секунде...по моему она "прыгает" не зависимо от пункта действия скрипта.
 

running-frag

why me?
Сообщения
441
Репутация
60
Попробуй отловить какой из
Код:
ControlSend ()

вызывает такие действия. Если даже без них будет мышь бегать, тогда это в клиенте (кс) что то вшито (типо защита или ещё чего).


Добавлено:
Сообщение автоматически объединено:

Насколько я помню при покупки оружия там "перерисовывается" мышь. Что может влиять на вашу проблему.
 
Автор
J

jufas222

Знающий
Сообщения
93
Репутация
5
running-frag [?]
Насколько я помню при покупки оружия

Но в моем случае он не покупает оружие.

Если я правильно понял "отловить" это убрать из скрипта клавиши Space, 5,2,0, а потом по очередно добавлять и так бы я смог понять на какой именно клавише у меня мышка прыгает, если так, то я это сделал и мышка все равно прыгала (случайным порядком) в угол экрана.

Если в КС вшита защита, то почему у меня на экране мышка "упрыгивает" а не в процессе игры?...
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
Запустить скрипт (см. подробнее) в SciTE Script Editor и в нижней части смотреть (будут появляться) надписи. Далее сидеть и отслеживать...скрипт выполнит:
Код:
ControlSend

И в SciTE Script Editor появится надпись:
Если мышка будет дергаться на одном и том же месте - допустим каждый раз, когда в консоли будет появляться:
То уже думать над этой клавишей...

А если будет появляться на разных клавишах, т.е. мышка дернулась и на "ControlSend - Space", и на "ControlSend - 1", и на "ControlSend - F5 up", то... (я даже не знаю)

Код:
HotKeySet("{F1}", "_Pause") ;Пауза
HotKeySet("{F2}", "_NotPause") ;Продолжить

Global $Paused

Func _Pause()
    $Paused = True
    While $Paused
        Sleep(100)
    WEnd
EndFunc

Func _NotPause()
    $Paused = False
EndFunc

While 1
   Sleep (2000)
   ControlSend('Counter-Strike', '', '', '{Space}')
	  ConsoleWrite('ControlSend - Space'&@CRLF)
   Sleep (2000)
   ControlSend('Counter-Strike', '', '', '{5}')
	  ConsoleWrite('ControlSend - 5'&@CRLF)
   Sleep (2000)
   ControlSend('Counter-Strike', '', '', '{5}')
	  ConsoleWrite('ControlSend - 5'&@CRLF)
   Sleep (2000)
   ControlSend('Counter-Strike', '', '', '{1}')
	  ConsoleWrite('ControlSend - 1'&@CRLF)
   Sleep(1000)
   ControlSend('Counter-Strike', '', '', '{9}')
	  ConsoleWrite('ControlSend - 9'&@CRLF)
   Sleep (1000)
   ControlSend('Counter-Strike', '', '', "{F5 down}")
	  ConsoleWrite('ControlSend - F5 down'&@CRLF)
   Sleep(1000)
   ControlSend('Counter-Strike', '', '', "{F5 up}")
	  ConsoleWrite('ControlSend - F5 up'&@CRLF)
 WEnd

PS: может мышка и дергается по удержанию F5 на 1 сек.
 
Автор
J

jufas222

Знающий
Сообщения
93
Репутация
5
Сделал как вы говорите, но дело в том что я уже пробовал засекать через какой промежуток времени она так делает, но ваш способ легче) я так и не узнал когда именно она "прыгает" потому что, она это делает случайно, не на какой то команде...Выходит дело в игре, и это не как не исправить?
 

running-frag

why me?
Сообщения
441
Репутация
60
а если окно не сворачивать? куда она наводится? ведь она куда то ж наводится
 
Автор
J

jufas222

Знающий
Сообщения
93
Репутация
5
Если окно не сворачивать, игра идет нормально, прицел будет всегда в центре, до того как я его мышкой сам не "подвину" (эта игра шутер от первого лица) , не считая того что персонаж иногда прыгает и покупает опыт (действия скрипта).
Если в игре мышка тоже "прыгала", я думаю это было бы заметно, так как мышка "прыгает" в угол и прицел в игре тоже бы "перепрыгивал" не зависимо от мышки.


Добавлено:
Сообщение автоматически объединено:

Я узнал с помощью знакомого, мышка "перескакивает" в угол экрана в двух случаях:
1) Когда раунд начинается заново.
2)Когда противник меня убивает.
Получается, проблема в игре, а не в скрипте?
 
Верх