Примечание переводчика
Прежде, чем переходить к описанию инструмента, хочется рассказать о том, что же такое RegEx. Я расскажу максимально кратко и сжато, а те, кому интересно узнать побольше - смогут прочитать подробнее в этих ваших интернетах, ссылки я приведу.
RegEx - это регулярные выражения. Если очень упрощённо, то регулярное выражение - это строка-шаблон, которую можно использовать для поиска и замены текста. В эту строку могут входить так называемые метасимволы, навроде '?', означающего, что в этом месте может быть символ, или 'd' - когда надо найти цифру, и т.д. Поскольку текст программы - это всё равно текст, даже в Арме, то RegEx - это то, чего не хватает. Об этом и будет продолжение этого поста.
И, как и обещал, ссылки:
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Есть вещи, которых очень не хватает в Арме, и одна из них - это изначальная поддержка RegEx. Зная, насколько мощной и быстрой может быть функциональность RegEx, просто хочется встать и закричать: "БИСы, ё... вашу мать! сделайте это, ЩАС ЖЕ !!!111!!!" На этом хватит шуточек, КК попробовал кое-что на С++ и сделал эти два весьма маленьких расширения для Армы, которые используют включённые в C++ функции поддержки RegEx.
КК хотел сделать их быстрыми, поэтому тут нет проверки на ошибки, если вы передаёте неправильный RegEx в .dll, Арма крашнется. Не особо большая беда, и чтобы избежать этого в первую очередь КК сконструировал два эмулятора, поэтому вы можете сначала всё проверить, а уже потом включать это в .sqf. Чуть позже я переведу урок "ArmA Scripting Tutorials: regex_match и regex_replace - ЧТО ЭТО ТАКОЕ И С ЧЕМ ЕГО ЕДЯТ", который вы найдёте вот в этой теме. Где будет показано на примерах, как это использовать и что вы можете сделать, когда у вас есть всемогущая мощь RegEx'ов, и она управляется кончиками ваших пальцев (тут вы должны издать демонический смех).
Установка для Армы Третьей
Тестирование и настройка
- Запускайте Арму 3 и заходите в редактор
- Поместите бойца на карту и запустите Preview
- нажмите Esc и в отладочной консоли напечатайте для каждой .dll'ки вот что:
hint ("regex_match" callExtension "about");
hint ("regex_replace" callExtension "about");
Если вы видите в подсказке вот это: “v1.0
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
”,- то .dll установлена правильно
Чтобы проверить публичный ключ наберите вот это:
hint str (verifySignature "@RegEx\regex_match.dll");
hint str (verifySignature "@RegEx\regex_replace.dll");
Если в подсказке вы видите: "true",- ключи установились правильно
Инструменты эмуляции
Инструменты эмуляции вы найдёте на страничке автора. Ссылка в самом начале поста. Но я ещё раз приведу её здесь:
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Послесловие
Инструкция по использованию лежит вот тут. Называется ArmA Scripting Tutorials: regex_match и regex_replace - ЧТО ЭТО ТАКОЕ И С ЧЕМ ЕГО ЕДЯТ
Вам не нужно устанавливать обе .dll'ки в качестве мода, поскольку в данный момент нет механизма подписи .dll подобно .pbo. Вы можете подписать обе .dll'ки, но в мультиплеере это не распознается, вы можете просто брость обе .dll в корень Армы.
Ведите себя хорошо