Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - NStra

Pages: 1 2 [3]
31
Quote
1. $y1 = $_return2
    DEFINE($y2, $y1)
$y1 и $y2 - разные переменные.
DEFINE($y2, $y1) Объявляет переменную $y2, и присваивает ей значение переменной $y1.
Quote
уменьшил WAITMS до 10, но все равно очень часто не срабатывает
Чем меньше значение задержки, тем быстрее работает скрипт.

32
Общие вопросы / Ошибка в функции ARRPUSH
« on: March 26, 2015, 08:20:52 AM »
Функция ARRPUSH добавляет в массив неверное число, если нужное превышает 16 символов.
Код:
Code: [Select]
ARRPUSH($ARRY,12345678901234567)
PRINT($ARRY[0])
HALT
Лог:
Code: [Select]
15:19:34 12345678901234568
Windows 7 Ultimate x32
Clickermann v4.11 (Последняя версия)

33
Попробуй.
Code: [Select]
WHILE($n=0)
GETSCREEN
$n=PXLXOR(0,0,$_xmax,$_ymax)//Вставь свои координаты
END_CYC
PRINT("На экране не только черный")
HALT

34
Предложения / Вместо INPUTBOX
« on: March 24, 2015, 11:40:23 AM »
Здравствуйте! Бывают случаи, когда диалоговое окно, или окно для ввода строки, не совсем к месту. Предлагаю реализовать выпадающую строку.

35
Нужно указывать координаты в зависимости от экрана.
Если хочешь использовать поиск пикселя, или картинки,
то нужно указывать "96x96", а не "1x1".
Размер буфера определяется разрешением твоего экрана, а не областью сканирования.

А если тебе нужна первая точка твоего квадрата, то 95x95.

Code: [Select]
Getscreen(95,95,100,100)
Screenshot
Getscreen(95,95,101,101)
Screenshot
Скрины в папке "Clickermann v4.11\screens".
Заметь что размер картинки на 1 меньше.
Т.е. не 5x5, а 4х4.
Другими словами, нужно указывать в Getscreen область поиска на 1 больше вправо и вниз.

36
Опечатку исправил. Все работает. Спасибо вам большое.

37
Vint. Я не знаю почему, но в скрипте не выполняется условие...
$f12=1
IF($f12=1)
PRINT("Условие выполнено")
//КОД
END_IF

38
Спасибо dramster. Это то, что мне нужно. Отдельное спасибо за хорошую ссылку, так как я нуждался в переключателе.  Спасибо  Oraven-у за подробное объяснение...

39
А такую строку можно сократить?
В примере  1/4 всей строки...Смысл-выполнять условие если все переменные равны 0.
IF(($f1=0)&($f12=0)&($f13=0)&($f2=0)&($f22=0)&($f23=0)&($f222=0)&($f223=0))

40
Действительно, скобочек многовато...Спасибо.

41
Здравствуйте. Я составил скрипт, но он получился слишком большим. Помогите мне пожалуйста его сократить...
Описание:
1 Скрипт считывает нужные строки в файле.
2 Скрипт перезаписывает первые 3-и записи.
Код:
Code: [Select]
IF($12=1)
 if((iskeydown(#ALT)=1)and(iskeydown(#0)=1))
 waitms(500)
 $f12=0
 $f2=1
 a1()
 End_if
 If(((TFCOUNT("system/LandP.txt"))>3)
 if((iskeydown(#ALT)=1)and(iskeydown(#1)=1))
 waitms(500)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 4),1)
TFDELETE("system/LandP.txt", 2)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 5),2)
TFDELETE("system/LandP.txt", 3)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 6),3)
TFDELETE("system/LandP.txt", 4)
 $f12=0
 $f1=1
 a1()
End_if
 End_if
 If(((TFCOUNT("system/LandP.txt"))>6)
 if((iskeydown(#ALT)=1)and(iskeydown(#2)=1))
 waitms(500)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 7),1)
TFDELETE("system/LandP.txt", 2)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 8),2)
TFDELETE("system/LandP.txt", 3)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 9),3)
TFDELETE("system/LandP.txt", 4)
 $f12=0
 $f1=1
 a1()
End_if
 End_if
 If(((TFCOUNT("system/LandP.txt"))>9)
 if((iskeydown(#ALT)=1)and(iskeydown(#3)=1))
 waitms(500)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 10),1)
TFDELETE("system/LandP.txt", 2)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 11),2)
TFDELETE("system/LandP.txt", 3)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 12),3)
TFDELETE("system/LandP.txt", 4)
 $f12=0
 $f1=1
 a1()
End_if
 End_if
 If(((TFCOUNT("system/LandP.txt"))>12)
 if((iskeydown(#ALT)=1)and(iskeydown(#4)=1))
 waitms(500)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 13),1)
TFDELETE("system/LandP.txt", 2)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 14),2)
TFDELETE("system/LandP.txt", 3)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 15),3)
TFDELETE("system/LandP.txt", 4)
 $f12=0
 $f1=1
 a1()
End_if
 End_if
 If(((TFCOUNT("system/LandP.txt"))>15)
 if((iskeydown(#ALT)=1)and(iskeydown(#5)=1))
 waitms(500)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 16),1)
TFDELETE("system/LandP.txt", 2)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 17),2)
TFDELETE("system/LandP.txt", 3)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 18),3)
TFDELETE("system/LandP.txt", 4)
 $f12=0
 $f1=1
 a1()
End_if
 End_if
 If(((TFCOUNT("system/LandP.txt"))>18)
 if((iskeydown(#ALT)=1)and(iskeydown(#6)=1))
 waitms(500)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 19),1)
TFDELETE("system/LandP.txt", 2)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 20),2)
TFDELETE("system/LandP.txt", 3)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 21),3)
TFDELETE("system/LandP.txt", 4)
 $f12=0
 $f1=1
 a1()
End_if
 End_if
 If(((TFCOUNT("system/LandP.txt"))>21)
 if((iskeydown(#ALT)=1)and(iskeydown(#7)=1))
 waitms(500)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 22),1)
TFDELETE("system/LandP.txt", 2)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 23),2)
TFDELETE("system/LandP.txt", 3)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 24),3)
TFDELETE("system/LandP.txt", 4)
 $f12=0
 $f1=1
 a1()
End_if
 End_if
 If(((TFCOUNT("system/LandP.txt"))>24)
 if((iskeydown(#ALT)=1)and(iskeydown(#8)=1))
 waitms(500)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 25),1)
TFDELETE("system/LandP.txt", 2)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 26),2)
TFDELETE("system/LandP.txt", 3)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 27),3)
TFDELETE("system/LandP.txt", 4)
 $f12=0
 $f1=1
 a1()
End_if
 End_if
 If(((TFCOUNT("system/LandP.txt"))>27)
 if((iskeydown(#ALT)=1)and(iskeydown(#9)=1))
 waitms(500)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 28),1)
TFDELETE("system/LandP.txt", 2)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 29),2)
TFDELETE("system/LandP.txt", 3)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 30),3)
TFDELETE("system/LandP.txt", 4)
 $f12=0
 $f1=1
 a1()
End_if
End_if
END_IF

42
Попробуй.
Code: [Select]
Define($String)   // Номер строки в файле
Define($Number)   // Искомое число
Define($Step)     // Шаг
Define($SubString)// Позиция пробела перед найденым числом


$String=INPUTBOX("Введите номер строки в файле. Нумерация идет от 0. Всего 15 строк.", "0",20)
$Number=INPUTBOX("Введите число от 0 до 500.", "0",20)
$Step  =INPUTBOX("Введите шаг.", "1",20)
Print("Начальная строка =",$String)
Print("Начальное число  =",$Number)
Print("Шаг              =",$Step)
$Number=$Number+0 //Без этой записи кликер принимает переменную за строку


For($a,$a<17)
   $String=$String+1
   If($String=17)
      $String=1
   End_if
   FOR ($Number,$Number<500,$Step)
      $SubString=STRPOS(TFREAD("ИсхНабор.txt",$String),STRCONCAT(" ",$Number," "))
      If($SubString>0)
         Print("Число найдено!")
         Print("Число  =",$Number)
         INC($String,-1)
         Print("Строка =",$String)
         HALT
      End_if
   End_cyc
   $Number=500-$Number
End_cyc
Print("Число не найдено.")
HALT
В файле после последнеи цифры в строках должен быть пробел
v скачать v

43
Общие вопросы / Re: про Thread
« on: March 21, 2015, 10:02:07 AM »
Попробуй...
Code: [Select]
WHILE(1)
GETSCREEN(617,670, 802,682)
IF_PIXEL_IN(618,671, 647,681, 566784)
        Switch($_time_s)
        case(60)
        ARRPUSH ($timen,3)
        case(59)
        ARRPUSH ($timen,2)
        case(58)
        ARRPUSH ($timen,1)
        case(57)
        ARRPUSH ($timen,0)
        default
        ARRPUSH ($timen,$_time_s+3)
        End_switch
        wait(1)
        End_if
        $timet=$timen[0]
        IF($_time_s=$timet)
        // Тут нужно извлечь 1 элемент из массива...сделай сам.
        KEYPRESS(#Q)
        End_if
END_CYC

44
Общие вопросы / Убрать время в логе.
« on: March 20, 2015, 05:40:20 PM »
Здравствуйте!
Подскажите, можно ли убрать вывод времени перед строкой в логе? Если да, то подскажите как это сделать...
Зачем?
1. На лог определено минимум места во время игры, часть лога приходиться прятать за экран.
2. Неприятный сдвиг:
    9:59:30 Hello, world!
    10:00:30 Hello, world!
Заранее спасибо за ответ.

45
Здравствуйте! Помогите составить алгоритм:
Программа: Навигатор
Описание:   Работает с координатной плоскостью. Некоторые клетки в плоскости - стены.
Цель:           Составить несколько маршрутов (в случае препятствий) и выбрать наикратчайший.
Принцип работы:
Для каждой клетки в файле прописаны  идентификатор (возможно динамический), координаты, варианты перехода (влево, вверх, вправо, вниз). Если в данном направлении можно пойти то это 1 иначе 0. Пример строки: "1845024  +2,-2 1011" (можно пойти влево, вправо и вниз).

Если конечная координата слева то нужно идти влево, или вправо если конечная координата справа (сравнивание по координате х до препятствия), если туда нельзя пойти то следует построение 2-х путей-попытка обойти сверху или снизу. Если вниз или вверх нельзя  пойти то 1-н из путей отдалится от конечной координаты на 1, если и вверх и вниз нельзя пойти то следует 1 путь - отдаление от конечной координаты.  !Программа не должна возвращаться на ту клетку где была ранее, иначе это будет бесконечный цикл! В этих 2-х путях продолжать построение вниз и вверх до тех пор пока нельзя будет пойти влево (или вправо если конечная координата справа). Когда препятствие удалось обойти, нужно продолжить сравнивание по координате х...Когда x текущая будет = х конечная - проделать сравнивание по y (тот же скрипт, только вместо x-y -> исполнитель обходит препятствия слева и справа). Когда сравнивание по Y будет завершено, начать сравнивание по x !Возвращаться назад нельзя! После чего опять сравнивание по Y. проделывать до тех пор, пока не будет (x текущее=х конечное) и (y текущее =y конечное)... В итоге сравниваются полученные пути, выбирается наикратчайший...если таких путей несколько, то выбрать тот в котором по y переходов больше. Если таких путей несколько то рандомом. После этого исполнить переход по конечному пути.

Суть проблемы: Я не знаю как мне это осуществить: потоки, массивы или запись путей в файл. В целом я не знаю как построить такой алгоритм (КОД). Я только могу описать как это должно работать...

Что требуется: Помогите пожалуйста построить код, под мое описание.
P.S. На картинке представлено 4 возможных пути. Правый нижний - самый короткий, в нем 13 переходов.

Pages: 1 2 [3]