Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: Tochka on March 08, 2017, 08:41:19 AM

Title: Первичное выполнение начальной части кода
Post by: Tochka on March 08, 2017, 08:41:19 AM
Я где-то читала, что использование меток - это моветон. Подскажите, пожалуйста, как сделать без метки, чтобы после первичного выполнения начальной части кода, она в последующем больше не рассматривалась (не выполнялось заново). До остановки скрипта должен прокручиваться последующий код (серия подпрограмм) с учетом того, что задано, найдено и определено в начальной части.
Title: Re: Re: нужна помощь
Post by: Oraven on March 08, 2017, 09:04:37 AM
Я где-то читала, что использование меток - это моветон. Подскажите, пожалуйста, как сделать без метки, чтобы после первичного выполнения начальной части кода, она в последующем больше не рассматривалась. До остановки скрипта должен прокручиваться последующий код (серия подпрограмм) с учетом того, что задано, найдено и определено в начальной части.

Code: (clickermann) [Select]
IF($first = 0)
   $first = 1
   
   // условие выполнится 1 раз
   
END_IF

// Последующий код
Title: Re: Re: нужна помощь
Post by: Tochka on March 08, 2017, 09:20:22 AM
Я наверное ступлю сейчас.
Перед этим условием мне опять же надо будет указать, что $first = 0 ?
Title: Re: Re: нужна помощь
Post by: open_78 on March 08, 2017, 09:27:53 AM
Перед этим условием мне опять же надо будет указать, что $first = 0 ?
С праздником весны! 8)
Ни в коем случае. При запуске скрипта переменная и так равна 0.Её не нужно объявлять.
Title: Re: Re: нужна помощь
Post by: Tochka on March 08, 2017, 09:48:11 AM
Oraven, open_78, спасибо за помощь. И правда протупила я.
Раз такое дело,
Quote
При первом запуске скрипта переменная и так равна 0
то дополнительное условие мне не понадобится. У меня в старте сброс переменных лишний просто.

open_78,
Quote
С праздником весны! 8)
Спасибо  ;D
Title: Re: Re: нужна помощь
Post by: open_78 on March 08, 2017, 09:53:37 AM
Это не относится к системным переменным.
Title: Re: Re: нужна помощь
Post by: Tochka on March 08, 2017, 10:03:56 AM
open_78, было так:
Code: (clickermann) [Select]
// __________ 1.Старт ____________________
$map=1 // 0-карта отключена
// переменные с уловиями, для текущего местоположения
$start_X=0
$start_Y=0
...

// __________ 2.Карта ____________________
// Поиск картинки, определение $start_X и $start_Y, от них определение координат локаций в зависимости от местоположения, назначение локаций.

// __________ 3.Основное _________________
// рандомный выбор локаций, с которыми будет взаимодействие; действия внутри локаций и т.д.

// мне надо, чтобы п.1-2 (обнуление стартовых и выполнение простыни кода с назначением локаций) были в пропуске после первичного исполнения
После беседы на форуме внесла поправку:
Code: (clickermann) [Select]
// __________ 1.Старт ____________________
$map=1 // 0-карта отключена
// переменные с уловиями, для текущего местоположения
...

// __________ 2.Карта ____________________
IF(($start_X=0) & ($start_Y=0))
    // Поиск картинки, определение $start_X и $start_Y, от них определение координат локаций в зависимости от местоположения, назначение локаций.
END_IF
Правильно я поняла?  :)
Title: Re: Re: нужна помощь
Post by: open_78 on March 08, 2017, 10:13:54 AM
Совершенно верно. Объявлять их нужно только если хотим изначально придать им значение не равное 0. И в условии их значение нужно поменять.
Code: (clickermann) [Select]
// __________ 2.Карта ____________________
IF(($start_X=0) & ($start_Y=0))
   IF_...
    // Поиск картинки, определение $start_X и $start_Y, от них определение координат локаций в зависимости от местоположения, назначение локаций.
   $start_X=$_return1
   $start_Y=$_return2
   END_IF
END_IF
Title: Re: Re: нужна помощь
Post by: Tochka on March 08, 2017, 10:26:25 AM
Совершенно верно. Объявлять их нужно только если хотим изначально придать им значение не равное 0. И в условии их значение нужно поменять.
Code: (clickermann) [Select]
// __________ 2.Карта ____________________
IF(($start_X=0) & ($start_Y=0))
   IF_...
    // Поиск картинки, определение $start_X и $start_Y, от них определение координат локаций в зависимости от местоположения, назначение локаций.
   $start_X=$_return1
   $start_Y=$_return2
   END_IF
END_IF
Да, далее у меня всё именно так и идёт:
Code: (clickermann) [Select]
IF(($start_X=0) & ($start_Y=0))
    GETSCREEN
    COLORMODE(6)
    IF_PICTURE_IN(0,0, $_xmax,$_ymax, "Start_coord.bmp", -1, 100)
        $start_X=$_return1
        $start_Y=$_return2
            IF($log=1)
                LOGWRITE ("Start_coord: X=",$start_X," Y=",$start_Y)
            END_IF
        WAITMS(100)
    ELSE
        IF($log=1)
            LOGWRITE ("Start_coord не назначены.")
        END_IF
    HALT
    END_IF
ELSE
    IF($log=1)
        LOGWRITE ("Start_coord определены ранее.")
    END_IF
END_IF
Наверное мне надо было сразу к вопросу пример прикрепить. Спасибо!  :)