Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

UoKit.com Форумы _ UO Pilot _ Процедуры

Автор: Fors1k 30.11.2019, 21:17

  1. Ошибка

    Так конечно работает.
    Код
    log findwindow(Блокнот)
    end_script

    А в процедуре зависает и больше вообще не запускается. Только ребут пилота. И то только через диспетчер, на крестик он перестает реагировать.
    Код
    call qwe
    end_script

    proc qwe
        log findwindow(Блокнот)
    end_proc

  2. Ошибка
    Код
    call test 0qwe
    end_script

    proc test $a
        log $a
    end_proc

    Передали 0qwe , а в процедуру придет 0x0qwe.

  3. По идее тоже ошибка

    Как я понимаю, разделитель для передаваемых переменных - пробел. Если так, то в таком коде передаем privet1 asd 1,25 , а в процедуру придет privet1 1 asd 1.
    Код
    call qwe privet1 asd 1,25
    end_script

    proc qwe $a $b $c
        log $a $b $c
    end_proc

  4. Не совсем удобное расположение вкладки процедур

    Прикрепленное изображение
    Все время болтается с номером 99 посреди других вкладок. Предлагаю выделить ей номер 0 (вместо 99), что зафиксирует ее слева и не позволит ей все время гулять вправо/влево, а скриптам номера с 1 до 99 (вместо 0 - 98). Ну и для скриптов кстати удобнее будет: первый скрипт = первый номер.

  5. Не до конца понятны возможности обращения к массивам. Что-то работает, что-то нет

    Код
    load_array %a c:/2/test.txt
    call qwe

    end_script

    proc qwe
        set #cs current_script
        set %a.#cs[4] zxc                    // Тут успешно обращается
        set #res indexOf(%a.#cs noabs (asd)) // А тут нет. EAccessViolation Access violation at address 0054A64E in module 'uopilot.exe'. Read of address 00000100
    end_proc

  6. Функция

    Очень хочется, что бы появилась в пилоте не войд процедура.

    Например так могло бы это выглядеть:
    Код
    move 100, 200 + func( qwe(15 10) ) // курсор передвинется в координаты 100, 225

    end_script

    func qwe #a #b
        set #c #a + #b
        f_return #c
    end_func

    Код
    set $path c:/2/test.txt
    set #res indexOf(func( qwe($path) ) noabs (asd))
    log #res

    end_script

    func qwe $arrPath
        load_array %a $arrPath
        delete_array %a -1
        f_return %a
    end_func

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)