Здравствуйте! Прошу Вашей помощи в доработке сценария.
Скрипт используется в игре Counter-Strike 1.6, в его задачу входит мгновенная остановка персонажа при движении. В реальности это выглядит так: зажимаем кнопки W+A и двигаемся по диагонали влево, что бы мгновенно остановить движения персонажа нужно нажать противоположную комбинацию клавиш S+D, тоже самое условие справедливо и для движения по диагонали вправо, а так же для движения в назад.
Суть проблемы:
Скрипт корректно срабатывает, если мы отжимаем первую клавишу D или A, но если первой отжимается W то скрипт не срабатывает.
if ((iskeydown(#w)=0))
$x = 0
$key_pressed = 0
END_IF
if ((iskeydown(#w)=1))
if ((iskeydown(#a)=1))
$x = a
END_IF
if ((iskeydown(#a)=0))
if($x = a)
$key_pressed = 1
END_IF
END_IF
if ((iskeydown(#d)=1))
$x = d
END_IF
if ((iskeydown(#d)=0))
if($x = d)
$key_pressed = 1
END_IF
END_IF
END_IF
if($key_pressed = 1)
if(($x = a))
KEYDOWN(#s)
KEYDOWN(#d)
wait(0.13)
KEYUP(#s)
KEYUP(#d)
$key_pressed = 0
$x = 0
END_IF
if(($x = d))
print("w and a presed")
//KEYUP(#w)
KEYDOWN(0x53)
KEYDOWN(0x41)
wait(0.13)
KEYUP(0x53)
KEYUP(0x41)
$key_pressed = 0
$x = 0
END_IF
END_IF
END_IF
wait(0.005)