По идее, при запуске программы, через 5 сек начнет нажиматься 1000 раз клавиша w. Все работает. Но когда я запускаю код и перехожу в Minecraft, никакого движения не происходит. Почему так? Как заставить персонаж двигаться?
Отслеживать
51.3k 194 194 золотых знака 56 56 серебряных знаков 232 232 бронзовых знака
задан 29 авг 2020 в 11:33
user388846 user388846
возможно у вас переполняется буфер клавиатуры. попробуйте делать паузы межды нажатиями.
29 авг 2020 в 11:54
– user388846
29 авг 2020 в 12:02
А вы выбираете в pyAutoGUI окно, в котором вы хотите нажимать на кнопки?
29 авг 2020 в 12:05
– user388846
29 авг 2020 в 12:08
Многие игры блочат имитацию клавиатуры.
29 авг 2020 в 12:12
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Сначала нужно активировать то окно, в котором вы собираетесь нажимать клавиши.
Вот рабочий пример, который печатает 10 символов ‘w’ в предварительно открытое окно (Command Prompt):
from pyautogui import press, getWindowsWithTitle, getAllTitles, sleep r = getWindowsWithTitle(‘Command Prompt’) if r: w = r[0] w.activate() for _ in range(10): sleep(0.05) press(«w»)
Данный пример был протестирован на Windows 10.
что делать если не нажимается кнопка закрыть в майнкрафте
PS не уверен, что Minecraft разрешит вам напрямую работать с буфером клавиатуры.
Источник: ru.stackoverflow.com
[Решено] Игрок жмёт кнопку
Снова здрасти
Подскажите, пожалуйста, как проверить, что определённый EntityPlayer нажимает нужную кнопку (ту, что среди Minecraft.getMinecraft().gameSettings.keyBind)? Вроде даже можно на клиенте проверять.
timaxa007
Модератор
5,831 409 672
Отсылая на сервер, что игрок нажал ту или иную кнопку. И проверяется из клиента, какая кнопка нажата, а не от игрока.
Можно KeyBinding.keybindArray (keybindArray приватная переменная) проверяя циклом на getIsKeyPressed(), т.е. нажата-ли клавиша. И отправляй что надо, не забывая что на одну кнопку может стоять два бинда.
Ну, как-то так. Я тоже могу ошибаться. Я пишу на 1.7.10.
AlexSoсol
1,976 68 219
А как понять, какой из игроков её нажал? В каком классе этот метод или что?
Dahaka
2,505 80 397
Внутри пакета игрок есть.
Дайте тазик, кровь из глаз
AlexSoсol
1,976 68 219
Можешь, пожалуйста, пример привести
timaxa007
Модератор
5,831 409 672
Я же писал. Если не понял, то постараюсь более понятно объяснить. KeyBinding и Keyboard это клиентские классы.
Нужно отправлять пакеты, о том какую кнопку нажал, как-бы клиентский игрок. Потом обрабатываешь пакет, из пакета достаешь серверного игрока.
Ну а дальше сам решай, что будешь делать с этой обработкой.
[merge_posts_bbcode]Добавлено: 02.07.2016 15:19:17[/merge_posts_bbcode]
Об этих горячих клавишах ты не знал! Все Горячие клавиши в Майнкрафт!
[merge_posts_bbcode]Добавлено: 02.07.2016 15:21:21[/merge_posts_bbcode]
Я не знаю каким кассами для отправки и приёма пакетов ты будешь пользоваться, но пример показал.
Ну, как-то так. Я тоже могу ошибаться. Я пишу на 1.7.10.
AlexSoсol
1,976 68 219
[merge_posts_bbcode]Добавлено: 02.07.2016 15:33:58[/merge_posts_bbcode]
Есть ли хоть где-то нормальный туториал по этим пакетам? Что, где, как, куда и зачем.
Потому что из кода выше я понял только извлечение игрока. А кнопка где? И что за переменные? И зачем они нужны? И как вообще эти пакеты отправлять, принимать и где это делать? Искал я, искал, все говорят «Отправь пакет.» А что за пакет, как создать, что туда засунуть итп — никто не пишет. И как другим понять, если знающие полностью не описывают?
Dahaka
2,505 80 397
Только не говори, что ты до сих пор не умеешь отправлять пакеты.
[merge_posts_bbcode]Добавлено: 02.07.2016 16:44:01[/merge_posts_bbcode]
Тем жи миллион было
Дайте тазик, кровь из глаз
timaxa007
Модератор
5,831 409 672
timaxa007 написал(а):
Я пользуюсь вторым способом.
Я не знаю для чего именно тебе нужно отправлять нажатую кнопку. Я не знаю нужно-ли тебе отправлять значения от KeyBinding, или лучше надо Keyboard, или надо просто отправлять значение от Keyboard по имеющийся клавиш в KeyBinding.
Каждый может по своему сделать, цели могут быть разные.
Ну, как-то так. Я тоже могу ошибаться. Я пишу на 1.7.10.
XuPuPG
с пакетами все просто если IMessage. это просто действие на стороне сервера.
AlexSoсol
1,976 68 219
Я сижу в танке. Я жму кнопку, на которую привязано обычное движение вперёд (W) — модификатор скорости танка (моя переменная, не motionX/Y/Z!) увеличивается.
Я жму назад — модификатор уменьшается.
Я удерживаю кнопку атаки — танк заряжается и стреляет.
Вот что мне нужно.
[merge_posts_bbcode]Добавлено: 02.07.2016 16:05:19[/merge_posts_bbcode]
За ссылки спасибо, сейчас посмотрю.
[merge_posts_bbcode]Добавлено: 02.07.2016 16:06:36[/merge_posts_bbcode]
Dahaka написал(а):
Только не говори, что ты до сих пор не умеешь отправлять пакеты.
Не было нужды. Единственная отправка — из NBT тайлэнтити на SkyProvider моего мира (сервер — клиент). И код без объяснений мне дал Wilah. Так что сделать-то я сделал, но уметь — не умею.
Источник: forum.mcmodding.ru
#1 НЕ НАЖИМАЙ НА ЭТУ КНОПКУ В МАЙНКРАФТ ТРОЛЛИНГ МАЙНКРАФТ ИСПЫТАНИЯ ПОИСК КНОПКИ
НУБ И ПРО НАЖИМАЮТ НА КНОПКИ В МАЙНКРАФТ у меня любимый режим в Майнкрафте это творческие потому что я очень сильно люблю строить А в режиме выживания мне будет мешать зомби и другие вредители
Дата: 2020-04-29
Рейтинг: 4.6 из 5 Голоса: 3
1. гл глаз ледоглаз
А просто режим в майнкрафте /gamemode 19 советую посмотреть режим вы сможете летать в выживании
2. Давид Акопян
А вам зобавно с нубиком снимать и как вы всиретелись зделайте токой ролик пажааааайлуста
3. Миша Фёдоров
Ля, я токо сейчас понял что когда-то Ярик с нубиком говорили хз, а оно переводится х знает
4. Барти
Интересно получилось Я вот сегодня смог затроллить жителя на бед варсе, вроде вышло круто: D
5. mans0000 Amanzhol
Лаки блок батл защита кравати Одиночное бой с сундуками и выживание на одном блоке
Источник: kids-tube.ru