Чем может быть полезна эта статья?
Вы можете создать сценарий, который, по сути, может выполнять последовательность внутриигровых действий (например, нажатия клавиш, щелчки мышью, задержки и т. д.), которые запускаются определенной клавишей, которую вы можете назначить при ее создании.
Используя сценарий, вы можете дополнительно улучшить существующие ключевые элементы управления. Это мощная функция для улучшения вашего игрового процесса, с помощью которой вы можете определить любую последовательность действий по своему усмотрению и активировать ее с помощью собственной специальной клавиши.
Нажмите на ссылки ниже, чтобы узнать больше о том, как эффективно использовать скрипты.
Команды для запуска скриптов в BlueStacks
Скрипты — это заранее записанная последовательность действий (нажатия клавиш, кликов мыши, задержек и др.), которую можно запустить с помощью одной назначенной кнопки. Это мощный инструмент, позволяющий расширить возможности игрового управления.
Список команд, доступных для скриптов в BlueStacks:
| Команда |
Синтаксис |
Описание |
| # |
# это комментарий |
Комментарий начинается с символа #. Все до конца строки является комментарием и не учитывается.
Комментарий может размещаться в отдельной строке или в конце строки, содержащей команду.
|
| keyDown |
keyDown клавиша
например: keyDown TAB |
Клавиша зажата и не будет отпущена, пока не будет выполнена команда keyUp для этой же клавиши.
Действие будет выполнено, если оно было назначено для клавиши, иначе команда (keyDown) будет направлена на Android. |
| keyDown2 |
keyDown2 клавиша
например: keyDown2 TAB |
Клавиша зажата и не будет отпущена, пока не будет выполнена команда keyUp для этой же клавиши.
Действие будет выполнено, если оно было назначено для клавиши, иначе команда (keyDown) будет направлена на Android. |
| keyUp |
keyUp клавиша
например keyup TAB |
Клавиша отпущена. Действие будет выполнено, если оно было назначено для клавиши, иначе команда (keyUp) будет направлена на Android. |
| keyUp2 |
keyup2 клавиша
например: keyup2 TAB |
Клавиша отпущена. Действие будет выполнено, если оно было назначено для клавиши, иначе команда (keyUp) будет направлена на Android. |
| mouseDown |
mouseDown x y
например: mouseDown 44.0 55.5 |
Левая кнопка мыши зажата в координатах x, y. Один и тот же скрипт работает корректно при разных разрешениях экрана. |
| mouseUp |
mouseUp |
Левая кнопка мыши отпущена. Координаты не требуются. |
| mouseMove |
mouseMove x y
например: mouseMove 4.56 5.67 |
Курсор мыши перемещается на новые координаты x, y. |
| touch |
touch x1 y1 x2 y2 x3 y3
например: # 3 fingers touch 4 5 6 7 8 9
# 3rd finger lifted touch 4 5 6 7
# fingers 1 and 2 move touch 5 6 7 8
# fingers 1 and 2 lifted touch |
Касание с помощью серий точек касаний. Команды из серии касаний могут быть использованы для создания произвольных множественных касаний.
Возможно назначить до 16 касаний. Учтите, что точки касаний других контроллеров суммируются до отправки на Android. |
| text |
text “ваш текст” text backspace 2 например: text “hello world” |
Отправка текста на Android. Действие возможно на любом языке в формате utf8. |
| mouseWheel |
mouseWheel x y d mouseWheel 44.0 55.5 1 mouseWheel 44.0 55.5 -1 |
Отправка события колеса мыши, которое конвертируется в масштабирование или прокрутку (скролл). |
| wait |
wait msecs
например wait 24 |
Ожидание заданного количества времени в миллисекундах перед выполнением следующей команды. |
Примитивы высшего уровня:
| Команда |
Синтаксис |
Описание |
| onMouseMove |
onMouseMove |
Команда обеспечивает более точный контроль выполнения скрипта. Можно выполнить различные наборы команд при перемещении курсора мыши.
Команды, следующие за командой onMouseMove, выполняются тогда, когда зажата кнопка-триггер и перемещается курсор мыши.
|
| abort |
abort |
Прерывание использования скрипта
|
|
onRelease
|
onRelease
|
Команда обеспечивает лучший контроль во время выполнения скрипта. Можно задать различный набор команд для выполнения при нажатии или отпускании клавиши-триггера.
Когда зажата клавиша-триггер, выполняются все команды скрипта, с самого начала и до команды onRelease. Команды, следующие за командой onRelease, будут выполнены после того, как будет отпущена клавиша-триггер.
|
|
dTouch
|
onMouseMove
dTouch x+a y+b x+c y+d… x+u x+v
# take two touch points x+3 y x-3 y
dTouch x+3 y x-3 y
onRelease
abort
|
Команда dTouch действует применительно к движень мыши. Следовательно в начале скрипта необходимо использовать команду onMouseMove.
dTouch можно использовать для создания сенсорного жеста на экране со смещением относительно текущего положения мыши x y. Для создания точки касания можно указать несколько точек.
, b, c, d — смещения точек касания от текущего местоположения мыши x y.
Команда onRelease abort останавливает скрипт, как только будет отпущена клавиша-триггер.
|
| tap |
tap x1 y1 x2 y2 … xn yn delay |
Это тап. Может быть единичным или множественным. Действие выполняется с заданным значением задержки. Если задержка не была определена, то по умолчанию задается значение в 50 миллисекунд.
Задержка указывается в миллисекундах. Это количество времени, которое требуется на выполнение свайпа.
Возможно назначить до 16 тапов. Учтите, что точки касаний других контроллеров суммируются до отправки на Android.
|
| swipe |
swipe x1 y1 x2 y2 … xn yn delay
например # swipe 4,5 to 40,45 # take 100msecs swipe 4 5 40 45 100 |
Это свайп. Можно назначить множество точек, через которые пройдет свайп.
Задержка определяется в миллисекундах. Это количество времени, за которое осуществляется свайп. |
| loop / loopEnd |
loop n . . loopEnd
onRelease
abort
|
Цикл команд, выполняемых за n-ое количество времени, пока цикл не завершится командой loopEnd.
Если значение n не определено, то цикл будет продолжаться бесконечно, или пока не будет отпущена клавиша-триггер.
Команда onRelease abort останавливает скрипт, как только будет отпущена клавиша-триггер.
|
| enterShoot |
enterShoot |
Вход в режим стрельбы используется в играх FPS. Если в текущей схеме управления отсутствует контроллер обзора, команда не учитывается. Если режим стрельбы уже включен, команда не даст эффекта. |
| exitShoot |
exitShoot |
Выход из режима стрельбы. Если в текущей схеме управления отсутствует контроллер обзора, команда не учитывается. Если режим стрельбы уже выключен, команда не даст эффекта. |
| toggleShoot |
toggleShoot |
Переключение режима стрельбы. Если в текущей схеме управления отсутствует контроллер обзора, команда не учитывается. |
Как создать скрипт?
1. Запустите игру на BlueStacks, для которой вы хотите создать скрипт.

2. Кликните левой кнопкой мыши по иконке клавиатуры на боковой панели инструментов и выберите опцию «Открыть редактор управления».

3. Чтобы создать скрипт, перенесите его на игровое поле. В качестве примера мы перенесли контроллер скрипта на кнопку с рюкзаком, которая находится в левом нижнем углу игрового поля.

4. Назначьте клавишу, например, TAB для вызова скрипта в дальнейшем.

5. Нажмите на значок «<\>», чтобы добавить команды в скрипт.

4. Откроется редактор скриптов, а возле курсора мыши будут показаны его координаты. Если вы кликните по координате на игровом поле, ее числовое значение будет отображено в редакторе.

5. Вы можете добавлять команды рядом с координатами, как показано на изображении ниже.
- Команда tap перед координатами означает, что при нажатии клавиши TAB, будет выполнен тап по иконке рюкзака, то есть рюкзак будет открыт.
- Команда exitShoot означает, что при нажатии клавиши TAB, вы выйдете из режима стрельбы.

6. После добавления всех команд нажмите на кнопку «Готово».

7. Перед закрытием редактора игрового управления нажмите на кнопку «Сохранить».

8. Теперь можно проверить, как скрипт будет работать на практике.
На скриншоте ниже игрок находится в режиме стрельбы. Нажав на клавишу TAB, игрок открыл рюкзак и вышел из режима стрельбы. Это значит, что скрипт работает корректно.

Мы ценим, что вы с нами. Надеемся, вам нравится опыт использования BlueStacks. По любым вопросам пишите на support@bluestacks.com. Большое спасибо и успешной игры!