1 (изменено: Remix55556, 2018-05-08 18:11:59)

Тема: Помогите пожалуйста со скриптом

Здравствуйте! Я плохо понимаю в AHK, знаю очень поверхностно, нужен скрипт, а макросами такое не сделаешь. Суть вот в чём, нужен скрипт для игры cs 1.6 который бы при зажиме левой кнопки мыши делал бы прицел большим и удобным для стрельбы спреем на любое время, тоесть пока зажата левая кнопка мыши, а при отпускании левой кнопки мыши снова маленьким, удобным для стрельбы по 1 пульке. В идеале, надо что бы при зажиме прицел не сразу становился большим, а примерно через 45 мили-секунд, что больше одного клика, это нужно для того что бы при стрельбе по 1 пульке прицел не дёргался - большой\маленький. Что бы упростить задачу увеличения и уменьшения прицела, я забиндил в самой игре эти команды на клавиши: k - большой, l - маленький. Соответственно нужно просто сделать скрипт который бы при нажатии левой кнопки мышки нажимал k, а при её отпускании нажимал бы l. Так как задержку перед нажатием k я делать не умею, пытался без неё, вот мои варианты, но всё чего я добился это то что при одиночном клике левой кнопки мыши всёё работает, тоесть прицелл становится большим, а после клика сразу маленьким, а вот при зажиме прицел ведёт себя не корректно, в основном остаётся маленьким иногда становясь большим, кароче хаотично дёргается, подскажите пожалуйста как исправить:
вариант 1
*F8::
Suspend Toggle
~LButton::
send, {vk4b down}
sleep, 10
send, {vk4b up}
Loop
      {
         Click (by itself)
         Sleep, 28
         If GetKeyState("LButton", "P") = 0
            Break
      }
   send, {vk4c down}
   sleep, 10
   send, {vk4c up}
   Return


вариант 2
*F8::
Suspend Toggle
~LButton::
Loop
      {
         send, {vk4b down}
         Click (by itself)
         Sleep, 28
         If GetKeyState("LButton", "P") = 0
            Break
      }
   sleep, 10
   send, {vk4b up}
   sleep, 10
   send, {vk4c down}
   sleep, 10
   send, {vk4c up}
   Return


вариант 3
*F8::
Suspend Toggle
~LButton::
Loop
      {
         send, {vk4b down}
         send, {vk4c up}
         Click (by itself)
         Sleep, 7
         If GetKeyState("LButton", "P") = 0
            Break
      }
   sleep, 10
   send, {vk4b up}
   sleep, 10
   send, {vk4c down}
   Return


вариант 4
*F8::
Suspend Toggle
~LButton::
send, {LButton Down}
Loop
      {
         send, {vk4b down}
         Click (by itself)
         Sleep, 7
         If GetKeyState("LButton", "P") = 0
            Break
      }
   Return
send, {LButton up}
   sleep, 10
   send, {vk4b up}
   sleep, 10
   send, {vk4c down}
   sleep, 10
   send, {vk4c up}

вариант 5
*F8::
Suspend Toggle
~LButton::
         send, {vk4b down}
         send, {Lbutton down}
Return
         send, {vk4b up}
         send, {Lbutton up} 
         sleep, 10
         send, {vk4b up}
         sleep, 10
         send, {vk4c down}
         sleep, 10
         send, {vk4c up}
Return

При этом я использовал click вместо lbutton или send для мышки, чтобы корректно срабатывала команда в игре.

2

Re: Помогите пожалуйста со скриптом

stealzy я сказал не много не правду в первом посте когда написал что поверхностно зная программу, я её вообще не знаю =\. Попробовал сделать то что вы писали, читал про blind, попытался исправить, вышла полная ерунда, теперь почему то ещё и прыгает в игре... а работаь так и не начало.

*F8::
Suspend Toggle
~LButton::
Send {Blind} {vk4b down}
sleep, 10
Send {Blind} {vk4b up}
Loop
      {
         Click (by itself)
         Sleep, 28
         If GetKeyState("LButton", "P") = 0
            Break
      }
~LButton Up::
   Send {Blind} {vk4c down}
   sleep, 10
   Send {Blind} {vk4c up}
   Return





*F8::
Suspend Toggle
~LButton::
Loop
      {
         Send {Blind}{vk4b down}
         Click (by itself)
         Sleep, 7
         If GetKeyState("LButton", "P") = 0
            Break
      }
   sleep, 10
   Send {Blind}{vk4b up}
   sleep, 10
   Send {Blind}{vk4c down}
   sleep, 10
   Send {Blind}{vk4c up}
   Return

3

Re: Помогите пожалуйста со скриптом

В блокноте работает, в игре не тестил

#NoEnv
#MaxHotkeysPerInterval 255
#Warn All, Off
#Persistent
#KeyHistory, 0
#HotKeyInterval, 0
#SingleInstance, Force
DetectHiddenWindows, On
SetControlDelay, -1
SetWinDelay, -1
SetBatchLines, -1
ListLines, Off
SetKeyDelay, -1, -1, -1
SetDefaultMouseSpeed, 0
SetTitleMatchMode fast
SetMouseDelay, -1
SendMode, Input

time:= 100 ; задержка
key = *~$LButton
Hotkey, %key%, a, UseErrorLevel
stringreplace, key, key, *~$	

a:
a:=A_TickCount
While GetKeyState(key,"P")
{
	b:=A_TickCount-a
	if (b>time) and (c!=1)
	{
	     Send {Blind}{K}
	     c:=1
	}
}
Send {Blind}{L}
c:=0
return

4

Re: Помогите пожалуйста со скриптом

powercat
Спасибо огромное! вроде бы работает)))