Пользовательский интерфейс скриптов: |
ASM позволяет скриптам взаимодействовать с пользователями с помощью диалоговых окон.
Интерфейсные окна обладают единым дизайном и всегда однообразно реагируют на действия пользователя. Они выполняются в модальном режиме поверх всех окон, что не позволят пользователь их игнорировать (случайно или умышленно). Нажатие на Enter в интерфейсном окне означает подтверждение ввода или выбора. Esc означает уклонение от ответа. Для работы с интерфейсным окном не нужна мышь, оно целиком управляется с клавиатуры. После его закрытия фокус возвращается окну, которое было активным до появления интерфейсного окна. Эти особенности позволяют использовать интерфейсные окна в скриптах на ПвП / ПвМ. string asmInputString(string Request[, string PreValue]) Функция выводит на экран диалоговое окно ввода строки. Параметр Request это тот вопрос, на который пользователь должен ответить. Результатом функции является ответ пользователя. Функция вернет пустую строку если пользователь уклонился от ответа. Если задан необязательный параметр PreValue, то его значение окажется в поле ввода строки. В противном случае поле ввода строки будет пустым и пользователю придется самостоятельно его заполнить. number asmInputList(string Request, string Values[, number PreValue]) Функция выводит на экран диалоговое окно выбора строки из простого списка. Параметр Request это тот вопрос, на который пользователь должен ответить. Варианты выбора передаются параметром Value. Варианты должны быть заключены в одиночные кавычки " ' " и разделены точкой с запятой " ; ". Результатом функции является номер ответа пользователя. Функция вернет 0 если пользователь уклонился от ответа. Если задан необязательный параметр PreValue, то по умолчанию в списке будет выбран элемент с номером PreValue. В противном случае будет выбран первый элемент. number asmInputCombo(string Request, string Values[, number PreValue]) Функция выводит на экран диалоговое окно выбора строки из выпадающего списка. Параметр Request это тот вопрос, на который пользователь должен ответить. Варианты выбора передаются параметром Value. Варианты должны быть заключены в одиночные кавычки " ' " и разделены точкой с запятой " ; ". Результатом функции является номер ответа пользователя. Функция вернет 0 если пользователь уклонился от ответа. Если задан необязательный параметр PreValue, то по умолчанию в списке будет выбран элемент с номером PreValue. В противном случае будет выбран первый элемент. asmMessageBox(string Caption, string Text) Функция выводит на экран интерфесное окно с заголовком Caption и тектом Text. Пример:
sub main()
UO.Print(UO.asmInputString("Сколько предметов переместить?","15")) UO.Print(STR(UO.asmInputList("Из какого металла производить броню?","'Silver';'Gold';'Rose';'Agapite'",2))) UO.Print(STR(UO.asmInputCombo("Какой силы зелье произвеcти?","'Слабое';'Нормальное';'Сильное';'Убойное'",4))) UO.asmMessageBox("Информация:","Ситуация находится под контролем! :)") end sub |