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

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

Рекомендуемые сообщения

И снова я. Знаю что маленько достал. Но я любознательный. За предыдущие разы огромное спасибо. Работает на ура.

Так вот. Как можно сделать так, чтобы скрипт ловил ник в чате? Если чат не ванильный. Вот примерWtYHr8Q.png

Изменено пользователем Madesto

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

29 минут назад, Madesto сказал:

И снова я. Знаю что маленько достал. Но я любознательный. За предыдущие разы огромное спасибо. Работает на ура.

Так вот. Как можно сделать так, чтобы скрипт ловил ник в чате? Если чат не ванильный. Вот примерWtYHr8Q.png

IFMATCHES("%CHATCLEAN%","^\[.+?\] \w+? ([A-Za-z0-9_]{1,32} ");
	MATCH("%CHATCLEAN%","^\[.+?\] \w+? ([A-Za-z0-9_]{1,32}) ",{&nickname});
ENDIF;

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

7 минут назад, OcelotJungle сказал:

IFMATCHES("%CHATCLEAN%","^\[.+?\] \w+? ([A-Za-z0-9_]{1,32} "); MATCH("%CHATCLEAN%","^\[.+?\] \w+? ([A-Za-z0-9_]{1,32}) ",{&nickname}); ENDIF;

Тут \w почему-то на русские буквы не смотрит:
https://regexr.com/41g9n

Я обычно пишу .+?

Ну и в первой строчке опечатался на одну скобочку)

  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

13 часов назад, OcelotJungle сказал:

IFMATCHES("%CHATCLEAN%","^\[.+?\] \w+? ([A-Za-z0-9_]{1,32} ");
	MATCH("%CHATCLEAN%","^\[.+?\] \w+? ([A-Za-z0-9_]{1,32}) ",{&nickname});
ENDIF;

 

Эт снова я. Так вот. Немного не понял. С ошибкой разобрался, скобка одна была лишней, но вот другая проблема. Как в этот код засунуть такую штуку, чтобы когда игрок писал:

Герой Alex Титул -> Madesto привет

Оно реагировало именно на "Madesto привет", и словив ник в переменную, отвечало такой строчкой:

 ECHO("!Привет %&nickname%")

Такое же можно сюда засунуть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Благодаря всем Вам, я уже и сам научился что-то делать. Даже сейчас, я понял как сделать то, чего хочу. Вот что у меня получилось:

#d = 10
#e = %TIMESTAMP% - #h
IFMATCHES("%CHATCLEAN%","([Пп]ривет|[Кк]у|[Qq][Qq]|[Qq]) ([Mm]adesto|[Мм][ао]десто)","^\[.+?\] "); 
MATCH("%CHATCLEAN%","^\[.+?\] .+? ([A-Za-z0-9_]{1,16})" ,{&nickname}); 
if(#e > #d)
        #h = %TIMESTAMP%
ECHO(!Привет %&nickname%) 
endif
ENDIF; 

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 21.10.2018 в 19:55, Madesto сказал:

|[Qq][Qq]|[Qq])

[Qq]{1,2}

 

В 21.10.2018 в 19:55, Madesto сказал:

 

"Привет, Мадесто!". Всё, сломалось.

Изменено пользователем OcelotJungle
  • Хаха 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

Здравствуйте,а как сделать например чтобы предмет доходил до определённой прочности а потом сам чинился командой /repair

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, rinzou сказал:

Здравствуйте,а как сделать например чтобы предмет доходил до определённой прочности а потом сам чинился командой /repair

В событии onArmourDurabilityChange проверяешь переменные

HELMDURABILITY, CHESTPLATEDURABILITY, LEGGINGSDURABILITY, BOOTSDURABILITY

Например:

if(%HELMDURABILITY% < 15); echo("/repair"); endif;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

2 минуты назад, LastLife сказал:

В событии onArmourDurabilityChange проверяешь переменные

HELMDURABILITY, CHESTPLATEDURABILITY, LEGGINGSDURABILITY, BOOTSDURABILITY

Например:

if(%HELMDURABILITY% < 15); echo("/repair"); endif;

а если меч надо?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 часов назад, rinzou сказал:

а если меч надо?

Событие - onItemDurabilityChange

Переменная - DURABILITY

Смотрит на вещь, которая сейчас в руке

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

Вот вверху макрос на ники с чатов. А если на сервере постоянно разные "ранги", а еще бывает их совсем нету. Что делать в таком случае? А ещё не всегда есть клан или префикс

yPfQ0xq.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

20 часов назад, sarumaki сказал:

Вот вверху макрос на ники с чатов. А если на сервере постоянно разные "ранги", а еще бывает их совсем нету. Что делать в таком случае? А ещё не всегда есть клан или префикс

Господи, как админы любят извращаться с этим чатом 😞

Думаю, это подходящая регулярка:

^.+ (.+?) » (.*)$

https://regexr.com/41vo8

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

21 час назад, sarumaki сказал:

Что делать в таком случае?

Предложить администрации перестать пользоваться такой уродливой системой. А вообще, вся эта мишура не имеет значения, нужно просто вытащить ник из первого вхождения "([A-Za-z0-9_]+?) »".

Изменено пользователем OcelotJungle
  • Плюс 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

В 23.10.2018 в 11:21, OcelotJungle сказал:

"Привет, Мадесто!". Всё, сломалось.

Игроки не часто используют знаки препинания 😁

4 часа назад, LastLife сказал:

Господи, как админы любят извращаться с этим чатом 😞

Думаю, это подходящая регулярка:

^.+ (.+?) » (.*)$

https://regexr.com/41vo8

Этот метод отлично работает, но когда в чате обычный игрок с кланом ([G] [IronPVP]Nickname>>Привет) то в переменную сохраняется клан тоже 😛 А так, спасибо огромное)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

IFMATCHES("%CHATCLEAN%","^.+[ |\]]([A-Za-z0-9_]+?) » (.*)$");
MATCH("%CHATCLEAN%","^.+[ |\]]([A-Za-z0-9_]+?) » .*(кря|бря|мя).*$",{@&nickname});
setlabel(NICK,"&fМатершинник: &c%@&nickname%");
ENDIF;

Как сделать так чтобы слова из (1|2|3|) работали только на точное совпадение? Например я хочу чтобы в метку выводился ник если чувак пишет в чат "кря","бря","мя", но скрипт срабатывает даже на слово "крякать","брякать","мяукать". Что делать? Спасибо за помощь
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, sarumaki сказал:

Что делать? Спасибо за помощь

мб обнести \s ?

^.+[ |\]]([A-Za-z0-9_]+?) ».*\s(кря|бря|мя)\s

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

7 часов назад, LastLife сказал:

мб обнести \s ?

^.+[ |\]]([A-Za-z0-9_]+?) ».*\s(кря|бря|мя)\s

А может лучше "\b"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

1 час назад, OcelotJungle сказал:

А может лучше "\b"?

На regexr.com \b не считает кириллицу за буквы, хз как в mkb

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

Привет LastLife)

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

В общем мне нужен скрипт который будет снимать с меня броню выводить её в некоторые слоты (любые) и чинить каждую.

Ещё было-бы хорошо переделать этот скрипт https://mkb.gorlem.ml/scripts/541f030538101.

В автокрафт простых тортов из майнкрафта.

P.S Скрипт на автофид из 17 страници работает, на том сервере где я играл убрано взаимодействие с любыми скриптами.

P.S.S Minecraft 1.7.10

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 часов назад, BlackJackIQ сказал:

В общем мне нужен скрипт который будет снимать с меня броню выводить её в некоторые слоты (любые) и чинить каждую.

Скрипты, работающие с инвентарём, можно посмотреть тут:

Либо по поиску на форуме https://forum.bbyaworld.com/index.php?/search/&amp;q=slotclick&amp;type=forums_topic&amp;item=31


7 часов назад, BlackJackIQ сказал:

Ещё было-бы хорошо переделать этот скрипт https://mkb.gorlem.ml/scripts/541f030538101.

В автокрафт простых тортов из майнкрафта

Могу лишь посочувствовать и сказать, что mkb на 1.7.10 слишком уж древний, чтоб я мог помнить разницу между текущим и старым. В последних версиях, насколько мне известно, автокрафт работает всего лишь одной командой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

IFMATCHES("%CHATCLEAN%","^.+[ |\]]([A-Za-z0-9_]+?) » (.*)$"); 
MATCH("%CHATCLEAN%","^.+[ |\]]([A-Za-z0-9_]+?) » .*(мат|другоймат|ещёмат).*$",{&nickname}); 
nick("/tmute %&nickname% 15m 1.1.5");
ENDIF;

Вот скрипт. Собрал всего по немногу так сказать 😄 Вопрос. Как сделать так чтобы после сообщения с матом сробатывала команда "/tmute Ник 15m 1.1.1"? В текущем раскладе он повторяет команду после каждого сообщения в чате, даже если мата нету. Ник остается тот, в котором в последний раз был мат. Помогите

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

41 минуту назад, sarumaki сказал:

IFMATCHES("%CHATCLEAN%","^.+[ |\]]([A-Za-z0-9_]+?) » (.*)$"); 
MATCH("%CHATCLEAN%","^.+[ |\]]([A-Za-z0-9_]+?) » .*(мат|другоймат|ещёмат).*$",{&nickname}); 
nick("/tmute %&nickname% 15m 1.1.5");
ENDIF;

Вот скрипт. Собрал всего по немногу так сказать 😄 Вопрос. Как сделать так чтобы после сообщения с матом сробатывала команда "/tmute Ник 15m 1.1.1"? В текущем раскладе он повторяет команду после каждого сообщения в чате, даже если мата нету. Ник остается тот, в котором в последний раз был мат. Помогите

Ну так да, у тебя в проверке ifmatches стоит просто поиск сообщения, и команды внутри него в любом случае выполнятся. Тут из вариантов:

 - Если тебе этот ifmatches нужен только для мата, то скопировать регулярку из match в ifmathces.

 - Если ты его собираешься ещё для чего-то использовать, то тогда оберни match и echo ещё одним ifmatches, типа так

IFMATCHES("%CHATCLEAN%","^.+[ |\]]([A-Za-z0-9_]+?) » (.*)$");

    IFMATCHES("%CHATCLEAN%","^.+[ |\]]([A-Za-z0-9_]+?) » .*(мат|другоймат|ещёмат).*$");

        MATCH("%CHATCLEAN%","^.+[ |\]]([A-Za-z0-9_]+?) » .*(мат|другоймат|ещёмат).*$",{&nickname});

        nick("/tmute %&nickname% 15m 1.1.5");

    ENDIF;

ENDIF;

 


 

Проверил, \b в mkb работает нормально на кириллице, так что, если прям по красоте делать, то выйдет примерно так:

ifmatches(%CHATCLEAN%,"^.+[ |\]]([A-Za-z0-9_]+?) » (.*)$");
    match(%CHATCLEAN%,"^.+[ |\]]([A-Za-z0-9_]+?) » (.*)$",{&nickname,&message})
    ifmatches(%&message%,"\b(мат|другоймат|ещёмат)\b");
        echo("/tmute %&nickname% 15m 1.1.5");
    endif
endif

Ну а в чём мод точно не дружит с кириллицей, так это с регистрами и получится что мат≠мАт

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

19 часов назад, LastLife сказал:

Ну так да, у тебя в проверке ifmatches стоит просто поиск сообщения, и команды внутри него в любом случае выполнятся. Тут из вариантов:

 - Если тебе этот ifmatches нужен только для мата, то скопировать регулярку из match в ifmathces.

 - Если ты его собираешься ещё для чего-то использовать, то тогда оберни match и echo ещё одним ifmatches, типа так

IFMATCHES("%CHATCLEAN%","^.+[ |\]]([A-Za-z0-9_]+?) » (.*)$");

    IFMATCHES("%CHATCLEAN%","^.+[ |\]]([A-Za-z0-9_]+?) » .*(мат|другоймат|ещёмат).*$");

        MATCH("%CHATCLEAN%","^.+[ |\]]([A-Za-z0-9_]+?) » .*(мат|другоймат|ещёмат).*$",{&nickname});

        nick("/tmute %&nickname% 15m 1.1.5");

    ENDIF;

ENDIF;

 


 

Проверил, \b в mkb работает нормально на кириллице, так что, если прям по красоте делать, то выйдет примерно так:

ifmatches(%CHATCLEAN%,"^.+[ |\]]([A-Za-z0-9_]+?) » (.*)$");
    match(%CHATCLEAN%,"^.+[ |\]]([A-Za-z0-9_]+?) » (.*)$",{&nickname,&message})
    ifmatches(%&message%,"\b(мат|другоймат|ещёмат)\b");
        echo("/tmute %&nickname% 15m 1.1.5");
    endif
endif

Ну а в чём мод точно не дружит с кириллицей, так это с регистрами и получится что мат≠мАт

 

 

А можно както добавить эти слова в файл и проверять на их наличие с файла? 

 

Как сделать регулярное выражение для антикапса?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как сделать регулярное выражение для антикапса?

 

IFMATCHES("%CHATCLEAN%","^.+[ |\]]([A-Za-z0-9_]+?) » .*([A-ZА-Я]?)+$");
 MATCH("%CHATCLEAN%","^.+[ |\]]([A-Za-z0-9_]+?) » .*([A-ZА-Я]?)+$",{@&capsname});
 setlabel(CAPS,"&fПоследний капсер: &c%@&capsname%");
 log("/tmute %@&capsname% 5m 1.1.3 (AntiCapsMacros v.1.0)");
 ENDIF;

Ну вот допустим типа того сделал, срабатывает на сообщение, в котором все символы заглавные. Но мне надо сделать так чтобы реагировало на более чем 3 символа

То есть если в чате пишут чтонибудь типа "ТП","C:" и  тд

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От newoldmax
      Зачем мы здесь сегодня собрались?   Уже неоднократно на форуме звучала просьба выложить шейдеры, чтобы наслаждаться картинками вроде этой:     Так вот, протестированная на нескольких людях готовая сборка показала, что не все так гладко, как хотелось бы. У вас могут быть проблемы, если:  - установлены старые драйвера на видеокарту;  - видеокарта сама по себе не новая и не умеет всякие фишечки, используемые в шейдерах;  - игре не хватает оперативной памяти;  - просто слабый компьютер и увы;  - иные специфические проблемы.   Наиболее часто проблемы возникают у владельцев видеокарт торговой марки Radeon, а также пользователей не-windows систем (в них работа вообще не гарантируется).   Основная инструкция (версия 1.6.2)    
      Файлы для 1.7.2    
      Файлы для 1.7.10    
      История версий шейдеров    
      Инструкция для версии 1.8  
        Инструкция для версии 1.9.2
       
      Инструкция для версии 1.10
        Инструкция для версии 1.11
       
      Инструкция для версии 1.12
       
      Инструкция для версии 1.12.2
       
      Инструкция для версии 1.14.4
         
      Инструкция для версии 1.16.1
    • От Lunomi
      Здравствуйте,
      сегодня мы разберемся с темой порталов в ад, а именно с их «Соединением».
       
      Вот вы – новый игрок на сервере, немного поиграли, накопали ресурсов, и нашли себе свой «райский уголок», но до спауна добираться пешком очень долго и далеко. И вы решили построить портал в ад, а для полного счастья и чтобы не появиться на территории соседа, (и что еще хуже не попасть оттуда в тюрьму) на обратном пути нужно «Соединить» их. С этим сейчас и разберемся.
       
       
      Например, мы находимся в обычном мире. При переходе в нижний мир игра делит наши текущие координаты на 8, а если наоборот – то
       
      умножает.

       
      Допустим, координаты портала в обычном мире:
       
      X:-166
      Z: -833
      Что произойдёт после входа в портал?
      Игра поделит координаты на 8 и получится:

      X: -20
      Z: -104
      И так, чтобы соединить порталы, нужно построить портал в обычном мире, поделить его координаты на 8 и найти их в аду. А после этого построить портал там.
       
      Всё! Теперь зайдя в портал в аду мы окажемся в обычном мире, в том портале, через который заходили.
       

       
      =================================================================================
       
    • От LastLife
      Одна из самых важных особенностей мультиплеера - общение игроков в чате. Но т.к. мне очень уж не нравится тот вариант чата, что предлагает ванильный майнкрафт, пришлось менять его самому с помощью модификаций, о которых и пойдёт речь в этом посте.
       
       
      ChatFlow
      Мод с простым интерфейсом, способный находить и изменять/фильтровать сообщения по заданным регулярным выражениям. Также может найденные сообщения перекидывать в область actionbar. Легко реализовываются такие вещи, как выделение ключевых слов цветом, игнор(мут) игроков и прочие необходимые мелочи. Из недостатков стоит отметить то, что в отформатированных сообщениях пропадает функции кликабельности. Т.е. если вам скинут ссылку, открыть по клику не получится.
      Лёгкость освоения: 5/5
      Скрины:
       
       
      TabbyChat 2
      Мод, который может:
      Менять цвет и прозрачность чата и его рамки Менять размер и местоположение чата Создавать отдельные каналы чата по фильтрам Делать звуковые оповещения по найденным словам Сохранять историю чата Писать сообщения длиной 768 символов (против 256 в майне 1.11). При отправке такого сообщения, оно разделится на несколько сообщений и отправится последовательно с коротким промежутком времени и др. Мод не может редактировать сообщения (хотя в давнишних версиях мог)
      Лёгкость освоения: 5/5
      Скрины:
       
       
        MKB
      Мод, с помощью которого можно менять содержимое чата, не ограничивая себя практически ни в чём.
      Для хорошего понимания этого мода рекомендуется к прочтению мой гайд и комментарии темы
      Как он может преобразить чат?
      Изменение и преобразования любых кусков сообщений, приходящих в чат Звуковые и визуальные оповещения при необходимых событиях(упоминания, лс, вход в игру друзей и т.п.) Игнор(мут) нежелательных игроков При сильной заморочке можно также делать ссылки в изменённых сообщениях кликабельными Не забываем глянуть мою версию чата для данного мода
      Лёгкость освоения: 2/5
      Скрин создания чат-фильтра:
       
       
       
      EnhancedChat
      Для игры на сервере не совсем подходит
      Позволяет редактировать сообщения чата согласно регулярным выражениям. 
      Добавляет возможность включить оповещение при упоминании игрока с использованием @, например @LastLife. Не сказал бы, что функция хороша, т.к. информирование происходит через команду /title, в итоге при упоминании пол экрана перекрывается текстом о том, что вас упомянули.
      Походу сносит все исходные форматирования текста, т.е. ни ссылок ни цветного текста не будет. (Цветным только тот, что был отредактирован регулярными выражениями с кодами форматирования)
      Позволяет изменить кол-во сообщений в истории чата.
       
      Всё можно настроить либо в ESC > Настройки модов > EnhancedChat > Config, либо в файле конфига мода %ПапкаМайнкрафта%/config/EnhancedChat.cfg . Настройка через конфиг рекомендуется, т.к. только там можно настроить изменения чата с кодами форматирования (цветной текст, жирный, курсивный и т.п.). Изменение чата настраивается в пункте substitutions. В одну строку вводится строка поиска регулярным выражением, а в следующую - замена/изменение найденых совпадений. Для создания других фильтров нужно сделать пропуск строки и далее также, как и предыдущий пример. Звучит ужасно, примеры в скринах.
      Лёгкость освоения: 4/5
      Скрины:
       
       
      Можно упомянуть:
      Chat Bubbles - Чат не редактирует, но добавляет вслпывающие облачка над игроками, как в некоторых mmorpg и комиксах
    • От FoxSus
      Лаунчер MultiMc со встроенным Forge и LiteLoader.
       
      Minecraft Forge под 1.12.2 - 14.23.0.2491 Всем известный LiteLoader под 1.12.2 - мод-загрузчик для других модификаций Карта VoxelMap под 1.12.2 - для тех кто не может играть без карты Сетка для WorldEdit WorldEditCUI для 1.12.2 - для тех кто знает что такое WorldEdit Macro / Keybind Mod Скрипты бинды и многое другое ) OptiFine — модификация, значительно увеличивающая производительность игры и добавляющая поддержку HD ресурс/текстур-паков, а также сглаживание, анизотропную фильтрацию, динамическое освещение и прочее. PS После скачивание требуется инсталляция. Как только что то будет выходить свеженькое или интересное буду добавлять суда )
    • От stosoten
      В этой теме развивается каталог ссылок, помогающий новичкам.
      - - - - - - -
      Здравствуй странник! Мир BBya приветствует тебя 
       
      Эта тема поможет тебе адаптироваться и быстрее влиться в игровой процесс.
      - - - - - - -
      Начало игры:
      Сейчас твой ник зачеркнут, на персонаже висят отрицательные эффекты и ты не можешь ударять других/ломать блоки.
       
      Не нужно беспокоиться - это нормально. Так мы встречаем всех новичков 
      На сервер заходит много людей: мы защищаемся от проделок тех, кто сразу же уйдет.
       
      Так вот, чтобы начать играть полноценно - нужно подать заявку.
       
      Это делается в теме BBya World | Информация о сервере и правила игры.
       
      Вскоре, заявка будет обработана и ты сможешь полноценно играть.
      - - - - - - -
      Самые нужные ссылки:
      Прямо скажем, наш сервер весьма необычен. Здесь легально воровство, но и весьма развиты охранные системы.
       
      От попадания в тюрьму спасет прочтение правил.
       
      Карта сервера поможет сориентироваться на местности и выбрать место для дома - <<карта>>
      - - - - - - -
      Территория:
      На нашем сервере нет приватов, однако, закрепить за собой опредеденную территорию - можно.
       
      Делается это в теме Геополитика №3. Достаточно отослать туда скриншот карты, где ваш участок будет выделен, и, если все будет в порядке - администратор закрепит его за вами.
       
      Позже, когда вы станете гражданином, можно будет (за отдельную плату), выделить территорию на карте.
      Это делается в теме Разметка территории на карте, а здесь даны рекомендации по разметке.
      - - - - - - - 
      Заработать изумруды:
      Изумруды - это наша основная валюта. Заработать их можно торгуя с другими игроками, сдавая шлак или выполняя гос. заказы.
      - - - - - - - 
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×