Перейти к содержанию

Поиск сообщества

Показаны результаты для 'slotclick' в контент опубликовано в Гайд По Моду Macro/keybind.


Не нашли то, что искали? Попробуйте поискать в:


Другие варианты поиска

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Самое важное
    • BBya World: метавселенная майнкрафт 1.19.3
    • Геймплей
    • Торговля и услуги игроков
    • Тех. поддержка
    • F.A.Q. / ЧаВо
  • Разговорчики
    • Скриншоты и видео
    • Флуд

Категории

  • Статьи
    • Электростанции
    • Выборы народного депутата

Поиск результатов в...

Поиск результатов, которые содержат...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


Город


Клан


Skype


Вконтакте


Сайт


Дискорд


Мой дом


Мульт


Гильдия и бонусы


Хранилище

Найдено: 15 результатов

  1. Скрипты, работающие с инвентарём, можно посмотреть тут: Либо по поиску на форуме https://forum.bbyaworld.com/index.php?/search/&q=slotclick&type=forums_topic&item=31 Могу лишь посочувствовать и сказать, что mkb на 1.7.10 слишком уж древний, чтоб я мог помнить разницу между текущим и старым. В последних версиях, насколько мне известно, автокрафт работает всего лишь одной командой.
  2. Приветствую. Есть у меня скрипт, который покупает изумруды в магазине и кладет их в чест. Мне надо его переделать, чтобы он открывал чест, набирал инвентарь блоков, далее открывал магазин, кликал 1 раз на 52 слот (переход из режима покупки в режим продажи), далее кликал 36 раз на 13 слот (продажа инвентаря блоков). Мне этот скрипт помогли написать, а мне мозгов не хватает переделать, второй день парюсь, ни как мне эти for(#va,89,89,54) и slotclick(%#va%,1,true) не даются. $${ if(@click); popupmessage(Стоп); unset(@click); stop; else; popupmessage(Покупка изумрудов); set(@click); do(); echo(/cc open different); wait(500ms); do(36); slotclick(15,1,true); wait(250ms); loop(); PRESS(ESCAPE); wait(500ms); key(use); wait(300ms); for(#va,89,89,54) slotclick(%#va%,1,true); wait(50ms); next; while(@click); endif; }$$
  3. Потому что клавиша пробел уже занята игрой. В майне по умолчанию достаточно неплохо стоит бег на ctrl, перед прыжком можно просто зажать ctrl и прыгать gui(inventory); #i = 9; unsafe; do; getslotitem(%#i%,&id,,#data); if((%&id% == "cobblestone") || ((%&id% == "stone") && (%#data% == 1)) || ((%&id% == "stone") && (%#data% == 3)) || ((%&id% == "stone") && (%#data% == 5))); slotclick(%#i%,left); slotclick(-999,left); endif; inc(#i); while(#i < 45); endunsafe; gui;
  4. льзя foreach(players); if(%PLAYERNAME% != "LastLife"); wait(250ms); echo("/tell %PLAYERNAME% Привет %PLAYERNAME%, держи свою порцию спама"); endif; next; LastLife меняешь на свой ник, чтоб не спамить самому себе. gui(inventory); #i = 9; unsafe; do; getslotitem(%#i%,&id); if(%&id% == "cobblestone"); slotclick(%#i%,left); slotclick(-999,left); endif; inc(#i); while(#i < 45); endunsafe; gui;
  5. понял, спасибо Я написал но нужно довести до ума: $${ &it=diamond; #count=10; key(use); wait(1); do(%#count%); getslot(%&it%,#sl,0); slotclick(%#sl%,left,true); loop(); }$$
  6. Спасибо, можешь подсказать за что отвечает - inc(#i)? И как лучше всего выбирать предмет для поиска, как вносить значения в переменную - %@&item%? key(use); #i = 0; wait(300ms); if(%CONTAINERSLOTS% == 90); #count = 54; endif; if(%CONTAINERSLOTS% == 63); #count = 27; endif; unsafe; do; getslotitem(%#i%,&id); if(%&id% == %@&item%); slotclick(%#i%,left, True); endif; inc(#i); while(#i < #count); endunsafe; press(escape); На счет параметра "l" в slotclick сокращение от left, но может быть это так не работает, честно говоря я не проверял.
  7. А это - разве не то, что тебе нужно? Раз: Два 1. Подправить синтаксис(Расставить переносы строк, либо правильно расставить ";") и должно сработать. Только хз насчёт параметра "l" в slotclick 2. Да 3. Ты сам их описал 4. Да, об одном слоте. В теории, третий параметр getslot принимает номер слота, откуда он стартует поиск, т.е. если грамотно организовать цикл с указанием диапазона необходимых слотов и каждый новый цикл выставлять стартовый слот предыдущего нахождения +1 (Например на первом проходе цикла нашёлся алмаз в слоте 5, а в следующем начать поиск уже со слота 6), то можно было бы охватить сразу несколько слотов. На практике, я проверил у себя на версии 0.15.4, и либо я неправильно написал, либо параметр startfromslotid игнорируется/не работает.
  8. Скрипт будет искать в сундуке предметы и перекидывать их в инвентарь. Думаю реализовать за счет следующих команд: SLOTCLICK(<slot>,[button],[shift]); KEY(<bind>); GETSLOT(<item[:damage]>,<#idvar>,[startfromslotid]); IF(<condition>) или IIF(<condition>,<truetext>,[falsetext]). key(use); wait(1); getslot(diamond, #idvar); IF(#idvar=-1), press(E), ELSE slotclick(#idvar,l,true); ENDIF; У меня несколько размытое представление о том как использовать: GETSLOT(<item[:damage]>,<#idvar>,[startfromslotid]) ищет предмет по его названию например - diamond_axe и возвращает ID слота в котором находится данный предмет, либо возвращает -1 если искомого предмета не обнаружено. GETSLOTITEM(<slotid>,<#idvar>,[#stacksizevar],[#datavar]) смотрит в определенный слот и возвращает ID предмета в этом слоте. Будет ли работать мой код? Правильно ли я понимаю работу данных команд? Можете подробно разъяснить работу данных команд? Например GETSLOT данная команда сохраняет информацию только об одном ID слоте или может хранить информацию о нескольких ID слотах? http://www.minecraft-moscow.com/threads/Гайд-по-macro-keybind-mod-или-как-привязать-команды-к-кнопкам-в-майнкрафте.2580/page-2 много интересных скриптов http://ftserv.at.ua/forum/14-35-1 тут тоже есть полезные вещи http://forum.breezeme.su/topic/5697 тут хорошо рассмотрен slotclick https://www.planetminecraft.com/forums/minecraft/mods/macro-keybind-scripts-279370/ тоже есть немного
  9. Начало выполнения тела цикла ограничено началом тика. Т.е., грубо говоря, один цикл выполняется один тик. Чтобы обойти это ограничение, нужно обводить циклы, которые нужно выполнять быстрее, скобками unsafe. Разницу сундуков можно отследить переменной CONTAINERSLOTS. В итоге получится что-то типа такого: key(use); #i = 0; wait(300ms); if(%CONTAINERSLOTS% == 90); #count = 54; endif; if(%CONTAINERSLOTS% == 63); #count = 27; endif; unsafe; do; getslotitem(%#i%,&id); if(%&id% == %@&item%); slotclick(%#i%,left, True); endif; inc(#i); while(#i < #count); endunsafe; press(escape); В какой-то из старых версий команда craft работала неадекватно, либо вообще не работала. В 1.12.2 craft("snow",1) отработала правильно. Писать регулярку для разделения и записи ника и сообщения в переменные. Пример в моём скрипте. Для разных серверов, которые ставят разные плагины на разные стили чата, регулярные выражения будут разные. Далее уже как ты хочешь с этими переменными так и поступай. 3 сообщения - не всегда флуд, если они отправляются с допустимыми интервалами по времени. Кикать игрока просто за 3 сообщения думаю неправильно. Так что тут нужно скорей всего запускать таймеры. + сообщения могут мешаться в кучу с другими игроками, т.е. написал один, потом написал другой. Вести базу всех игроков с последними сообщениями геморное занятие, особенно через macro keybind. Как ты понял, я веду к тому, что этот скрипт если и можно написать, то он будет либо сомнительной справедливости, либо очень большой и с кучей условий
  10. В моде есть промпты, $$i $$t $$w итд. нужно получать с них значения в макрос, как это можно организовать? А все разобрался. В макросе это выглядит типа &item = $$i; Запилил вот такой скрипт: $${ KEY(use); #i = 0; WAIT(300ms); DO; GETSLOTITEM(%#i%,&id); IF(%&id% == %@&item%) SLOTCLICK(%#i%,left, True); ENDIF; INC(#i); WHILE(#i < 54); PRESS(escape); }$$ его смысл искать и брать нужную вещь в сундуке но работает он оч медленно, умереть можно. К тому же если сундук маленький - проверяет часть инвентаря и закидывает вещи в сундук обратно. Это как-то можно исправить и оптимизировать или не? Решил заменить do while на for, работает чутка быстрее но все же хотелось бы большего) Пытаюсь скрфтить снег, использую вот это: CRAFT("snow",1); уверен что снежков хватает но макрос отвечает иначе. Что я делаю не так?
  11. OcelotJungle

    Гайд По Моду Macro/keybind

    Это не команды. FOR, GETSLOTITEM, SLOTCLICK.
  12. Если нужно выбрасывать при открытом инвентаре, то можно через slotclick(). В скобках указывается номер слота, по этому слоту производится клик. Затем нужно кликнуть за пределами слотов, точно не помню, но это какое-то из этих значений: -1, -999 или 999
  13. Подскажите как использовать команду SLOTCLICK у меня не получается её использовать.
  14. да тяжка не понимая что он делает: // тут еда понятно if((%HUNGER%!=20) && (%HUNGER%!=19)); slot(9); do(); key(use); if((%HUNGER%=20) || (%HUNGER%=19)); #endn=1; endif; while(#endn!=1); wait(300ms); endif; @#wcwoodcutted=@#wcwoodcutted+1; //ок переменая slot(1); //тут у нас тапор look(north); // пошли по деоганали look(-45,+0); keydown(forward); wait(3000ms); keyup(forward); look(south); look(south); look(-25,+20) wait(300ms); key(use); // тапором (зачем) тут какойто раздатчик или сундук? wait(300ms); getslot(sapling,#sap); if(%#sap%!=55); slotclick(%#sap%); wait(300ms); slotclick(55); wait(300ms); slotclick(%#sap%); endif; wait(300ms); gui(); wait(300ms) look(south); look(+0,+20); wait(300ms); key(use); // а тут что? сундук с мукой wait(300ms); getslot(dye,#dye); if(%#dye%!=56); slotclick(%#dye%); wait(300ms); slotclick(56); wait(300ms); slotclick(%#dye%); endif; wait(300ms); gui(); wait(300ms); look(east); wait(300ms); do(%@#woodcount%); // Вот это тоже не понял pick(log); key(drop); wait(10ms); loop();
  15. Он сказал, что можно сделать только клик по ЛКМ. В твоём случае нужно ещё зажать его. Выше я привёл способ как это сделать. do() #testtimer=%TIMESTAMP%+930; timer=true do() slotclick(2) wait(64ms) key(use) wait(64ms) slotclick(1) wait(64ms) do(4) key(attack) loop if(%#testtimer%<%TIMESTAMP%) timer=false endif #timeleft=%#testtimer%-%TIMESTAMP% // Удалить, если не нужно видеть таймер logto(timeleft,%#timeleft%) // Удалить, если не нужно видеть таймер while(timer) look(90,65) slotclick(3) do(4) key(attack) loop loop Установил цикл на 930с(15м30с). Если нужно смотреть сколько секунд осталось до того, как произойдёт переключение на кирку, создай в любом gui область текста с id "timeleft". Если не надо, удали помеченные в коде строчки. Присваиваешь кнопке этот код с помощью текстового редактора. При нажатии на кнопку запускается бесконечно зацикленный скрипт. Чтобы его остановить, вызывай меню мода, по умолчанию на кнопку "~". Там будет информация о запущенном скрипте.. При нажатии на крестик, скрипт останавливается. Должно работать всё, как ты и описал. Если возникнут проблемы, отписывайся. Например, не знаю как на твоём сервере, но у меня ножницы за 15 минут точно сломаются, либо закончится листва, т.к. при сносе она разлетается и не попадает в инвентарь

×