AHK Помогите с AHK

Тема в разделе "Другое", создана пользователем domin4041, 6 дек 2017.

  1. domin4041

    domin4041 Пользователь

    Регистрация:
    30.05.2017
    Сообщения:
    10
    Симпатии:
    0
    Репутация:
    0
    Где ошибка?

    if chatInput contains /дежурный
    {
        RegExMatch(chatInput, "/Дежурный (.*) (.*)", dez)
        If (dez1 > 1) and (dez1 < 5) and (dez2 > 500) and (dez2 < 3600000)
        {
            SendChat("/r [Дежурcтво] Докладывает " Nameplauer ". Заступаю на дежурство в палату " dez1 "")
            Loop
            {
                sleep " dez2 "*60000
                SendChat("/r [Дежурcтво] Докладывает " Nameplauer " | Палата №'" dez1 "'.")
            }
        }
        Else
        {
            addChatMessage(Color_Norm  "[AHK]:Используйте: /дежурный ''Палата'' ''Задержка''")
        }
    }

    В чате пишу /дежурный ( № пататы от 1 до 5 _ ) ( Задержка от 500 до 3600000 ) и мне выдаёт [AHK]:Используйте: /дежурный ''Палата'' ''Задержка ''
     
    #1 domin4041, 6 дек 2017
    Последнее редактирование: 6 дек 2017
  2. asdzxcjqwe

    Проверенный

    Регистрация:
    13.02.2017
    Сообщения:
    234
    Симпатии:
    87
    Репутация:
    43
    1) наверное потому что в contains написано /дежурный, а в regexmatch - /Дежурный
    следи за регистром, особенно когда работаешь не с латиницей

    2) отсутствует экранирование символа /
    \/дежурный

    3) и вообще, на твоем месте я бы использовал регулярку немного иначе
    RegExMatch(chatInput, "\/дежурный (\d+) (\d+)", dez)
    4) сайт для проверки регулярок - Regex101 - online regex editor and debugger(https://regex101.com/)
     
    #2 asdzxcjqwe, 6 дек 2017
    Последнее редактирование: 8 дек 2017
    domin4041 нравится это.
  3. domin4041

    domin4041 Пользователь

    Регистрация:
    30.05.2017
    Сообщения:
    10
    Симпатии:
    0
    Репутация:
    0
    Спасибо большое:good:
     
  4. domin4041

    domin4041 Пользователь

    Регистрация:
    30.05.2017
    Сообщения:
    10
    Симпатии:
    0
    Репутация:
    0
    Как сделать что бы " dez2 " умножалось на 60000?
     
  5. Don_Homka

    Don_Homka Известный пользователь

    Регистрация:
    08.11.2017
    Сообщения:
    105
    Симпатии:
    15
    Репутация:
    6
    CMD от tumkin`a проще юзать. Не используй АХК для написания супер-кул прог. АХК это максимум биндер, макрос. Lua для скриптов можно.
     
    domin4041 нравится это.
  6. asdzxcjqwe

    Проверенный

    Регистрация:
    13.02.2017
    Сообщения:
    234
    Симпатии:
    87
    Репутация:
    43
    sleep % (dez2 * 60000)
     
    domin4041 нравится это.
  7. domin4041

    domin4041 Пользователь

    Регистрация:
    30.05.2017
    Сообщения:
    10
    Симпатии:
    0
    Репутация:
    0
    Я только учусь на первое время сойдёт;)
    Спасибо большое очень помог:good:
     
  8. domin4041

    domin4041 Пользователь

    Регистрация:
    30.05.2017
    Сообщения:
    10
    Симпатии:
    0
    Репутация:
    0
    Перетащил на другой компьютер со старого удалили и тут такое;(
    Всё решил была не установлена библиотека с++
    [​IMG]
     
    #8 domin4041, 7 дек 2017
    Последнее редактирование: 8 дек 2017