1 (изменено: artur_dr, 2017-06-30 20:10:57)

Тема: Samp: скрипт который быстро будет нажимать кнопку N в игре.

Драсьте, хочу написать скрипт, который будет при нажати альт+1, или другой комбинации очень быстро флудить кнопкой N ( быстро нажимать ). Пытался сам, но скрипт работал медленно, с задержками и перерывами.

!1::
loop
{
SendInput, {vk4E Down}
sleep 1
SendInput, {vk4E up}
sleep 1
SendInput, {vk4E Down}
sleep 1
SendInput, {vk4E up}
sleep 1
SendInput, {vk4E Down}
sleep 1
SendInput, {vk4E up}
sleep 1
SendInput, {vk4E Down}
sleep 1
SendInput, {vk4E up}
retutn 

2

Re: Samp: скрипт который быстро будет нажимать кнопку N в игре.

Оформление, конечно, м-да.

!1::
loop
{
SendInput, {vk4E}
}

Так чем не подходит?

ууу

3

Re: Samp: скрипт который быстро будет нажимать кнопку N в игре.

Drygok, ну вот если не нравится, то сначала потребуйте от пользователя нормального оформления. Отвечая в этой теме, вы соглашаетесь с тем, что оформление вас устраивает.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

4

Re: Samp: скрипт который быстро будет нажимать кнопку N в игре.

Drygok
Не работает в игре. Будто не видит такие нажатия.

5

Re: Samp: скрипт который быстро будет нажимать кнопку N в игре.

stealzy тоже не работает, спасибо что пытались помочь!)

6

Re: Samp: скрипт который быстро будет нажимать кнопку N в игре.

stealzy Простите за оформление, исправлюсь.

7

Re: Samp: скрипт который быстро будет нажимать кнопку N в игре.

stealzy , Спасибо! Скрипт начал работать более стабильно, но скорости не прибавилось.

8

Re: Samp: скрипт который быстро будет нажимать кнопку N в игре.

SetBatchLines -1
SetKeyDelay -1, -1

F1::
	KeyWait F1
	включен := Not включен
	If включен
		While !GetKeyState("F1")
		{
			Send {vk4E Down}
			pSleep.do(3)
			Send {vk4E Up}
		}
Return


class pSleep
{
	static F:=pSleep.getQPF()
	do(t) {
		DllCall("QueryPerformanceCounter", "Int64P", sT1)
		crit:=A_IsCritical
		Critical On
		res:=pSleep.getTimerResolution(),dt:=0
		if (t>res) ; Do regular sleep before qpc loop, if t is long enough.
			(DllCall("Sleep", "Int", t-res), DllCall("QueryPerformanceCounter", "Int64P", sT2), dt:=(sT2-sT1)*1000/pSleep.F)
		t-=dt, DllCall("QueryPerformanceCounter", "Int64P", loopStart), loopTic:=loopStart
		while (loopTic-loopStart<t*pSleep.F/1000)
			DllCall("QueryPerformanceCounter", "Int64P", loopTic)
		Critical % crit
		return
	}
	getTimerResolution() {
		DllCall("ntdll.dll\NtQueryTimerResolution", "UPtr*", MinimumResolution, "UPtr*", MaximumResolution, "UPtr*", CurrentResolution)
		return Ceil(CurrentResolution/10000) ; Resolutions are reported as 100-nanoseconds
	}
	getQPF() {
		DllCall("QueryPerformanceFrequency", "Int64P", F)
		return F
	}
}