Author Topic: Первый скрипт комом...  (Read 12830 times)

0 Members and 2 Guests are viewing this topic.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Первый скрипт комом...
« Reply #15 on: August 13, 2014, 04:28:54 PM »
LCLICK($arr1[$schetchik1],$arr2[$schet4ik1])
Всё работает.
Ты сознательно сделал разные счётчики (кстати зачем)?

Вот насчёт коллизий не понял. Откуда они там. Ты что-то путаешь.
Опять же про какие пустые элементы речь? Разве их не будет в 2-х мерном массиве?

Выложи только там где используется массив.



Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Первый скрипт комом...
« Reply #16 on: August 13, 2014, 04:39:05 PM »
про пустоту понял... ты просто взял тот пример... Он упрощён для лёгкого использования с небольшими массивами.
Делай так:
массив 10х2
$r = 9  // строк  0-9
$c = 1  // колонок 0-1

обращение к ячейке [колонка,строка]
$varx[$c*n+$r]

инициализация
Code: (clickermann) [Select]
$varx[2*0+0]=616
$varx[2*0+1]=736
$varx[2*1+0]=722
$varx[2*1+1]=779
$varx[2*2+0]=880
$varx[2*2+1]=775
$varx[2*3+0]=810
$varx[2*3+1]=710
$varx[2*4+0]=716
$varx[2*4+1]=663
$varx[2*5+0]=656
$varx[2*5+1]=586
$varx[2*6+0]=572
$varx[2*6+1]=544
$varx[2*7+0]=698
$varx[2*7+1]=499
$varx[2*8+0]=747
$varx[2*8+1]=588
$varx[2*9+0]=838
$varx[2*9+1]=614

достаём пятую пару координат
$X = $varx[2*4+0]
$Y = $varx[2*4+1]

P.S. Пока писал перепутал местами :)
« Last Edit: August 13, 2014, 04:47:24 PM by Vint »


Dampil

  • Освоившийся
  • **
  • Posts: 45
    • View Profile
    • @pump_upp - best crypto pumps on telegram !
Re: Первый скрипт комом...
« Reply #17 on: August 13, 2014, 04:58:18 PM »
LCLICK($arr1[$schetchik1],$arr2[$schet4ik1])
Всё работает.
Ты сознательно сделал разные счётчики (кстати зачем)?

Счётчик один) Просто старые навыки транслита не дали написАть одинаково :)

выкладываю полностью, места обращений выделены:

$x[0]=616;
$y[0]=736;
$x[1]=722;
$y[1]=779;
$x[2]=880;
$y[2]=775;
$x/[3]=810;
$y[3]=710;
$x[4]=716;
$y[4]=663;
$x[5]=656;
$y[5]=586;
$x[6]=572;
$y[6]=544;
$x[7]=698;
$y[7]=499;
$x[8]=747;
$y[8]=588;
$x[9]=838;
$y[9]=614;
//массивы заданы

for($i,$i<10)
  move($x[$i],$y[$i]);
  lclick($x[$i],$y[$i]);
  waitms(120);
end_cyc


Dampil

  • Освоившийся
  • **
  • Posts: 45
    • View Profile
    • @pump_upp - best crypto pumps on telegram !
Re: Первый скрипт комом...
« Reply #18 on: August 13, 2014, 05:01:21 PM »
обращение к ячейке [колонка,строка]
$varx[$c*n+$r]


Всё, понял, чего не осознал до этого) Множитель - пара, второе слагаемое - i-тый и (i+1)-ый элемент. Вот про слагаемое как раз и забыл, сократив формулу индекса до умножения :)

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Первый скрипт комом...
« Reply #19 on: August 13, 2014, 05:07:04 PM »
Ну да. К прошлой инициализации
Code: (clickermann) [Select]
for($i,$i<10)
   move($varx[2*$i+0],$varx[2*$i+1])
   lclick($varx[2*$i+0],$varx[2*$i+1])
   waitms(120)
end_cyc

...точно, не доглядел. Один конечно.
« Last Edit: August 15, 2014, 08:44:57 AM by Vint »


Dampil

  • Освоившийся
  • **
  • Posts: 45
    • View Profile
    • @pump_upp - best crypto pumps on telegram !
Re: Первый скрипт комом...
« Reply #20 on: August 13, 2014, 06:00:14 PM »
Ну да. К прошлой инициализации
Code: (clickermann) [Select]
for($i,$i<10)
   move($x[2*$i+0],$y[2*$i+1]);
   lclick($x[2*$i+0],$y[2*$i+1]);
   waitms(120);
end_cyc

так я и одним тогда обойдусь вместо двух :)

Dampil

  • Освоившийся
  • **
  • Posts: 45
    • View Profile
    • @pump_upp - best crypto pumps on telegram !
Re: Первый скрипт комом...
« Reply #21 on: August 13, 2014, 08:28:11 PM »
Впомнилось: "То ли лыжи не едут, то ли я чего-то не понимаю"

Вот теперь стена пробита головой... В скрипте не работает НИЧЕГО, кроме move, waitms и wait, хотя записанный за мной кликером аналог - фурыкает, собака такая; правда, в обоих случаях первый клик по зданию не срабатывает. Вот не поверю, что машина сильней человека тут оказалась. Замену Ldown+lup на lclick пробовал, результат тот же

Code: [Select]
$arr[0]=677
$arr[1]=729
$arr[2]=789
$arr[3]=785
$arr[4]=964
$arr[5]=789
$arr[6]=880
$arr[7]=715
$arr[8]=778
$arr[9]=673
$arr[10]=722
$arr[11]=617
$arr[12]=642
$arr[13]=544
$arr[14]=754
$arr[15]=512
$arr[16]=827
$arr[17]=568
$arr[18]=925
$arr[19]=617
for($i=0,$i<10)
$x=$arr[$i]
$y=$arr[$i+1]
move($x,$y)
waitms(1000+Rnd(-300,200))
ldown($x,$y)
waitms(80+rnd(50,200))
lup($x,$y)
waitms(1400+Rnd(-300,200))
ldown(747,614)
waitms(80+rnd(50,200))
lup(747,614)
waitms(400+rnd(-50,600))
ldown(1212,323)
waitms(80+rnd(50,200))
lup(1212,323)
waitms(1500+rnd(-240,380))
end_cyc
wait(1835)

Rnd - для эмуляции "человечности", никогда с точностью до миллисекунды не кликнешь.
Такое чувство, что название темы пророческое ;D
« Last Edit: August 13, 2014, 08:44:37 PM by Dampil »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Первый скрипт комом...
« Reply #22 on: August 14, 2014, 01:07:27 AM »
Лыжи не едут из за цикла FOR. Нужно наращивать две переменные независимо друг от друга

Code: (clickermann) [Select]
LOGCLEAR

$arr[0]=677
$arr[1]=729
$arr[2]=789
$arr[3]=785
$arr[4]=964
$arr[5]=789
$arr[6]=880
$arr[7]=715
$arr[8]=778
$arr[9]=673
$arr[10]=722
$arr[11]=617
$arr[12]=642
$arr[13]=544
$arr[14]=754
$arr[15]=512
$arr[16]=827
$arr[17]=568
$arr[18]=925
$arr[19]=617

$i=0
$count = 0
WHILE($count<10)
   $x=$arr[$i]
   INC($i,1)
   $y=$arr[$i]
   INC($i,1)
   INC($count,1)
   LOGWRITE ($x, " ", $y)
END_CYC

HALT

Кстати чтобы записать значения в массив используй ARRPUSH, не придется нумеровать ячейки.

ARRPUSH($arr, 677)
ARRPUSH($arr, 729)
// и тд.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Первый скрипт комом...
« Reply #23 on: August 14, 2014, 09:34:17 AM »
Лыжи не едут из за цикла FOR. Нужно наращивать две переменные независимо друг от друга
Первый вариант тоже правильный. Всё работает. Ну кроме самих кликов их не проверял.


Dampil

  • Освоившийся
  • **
  • Posts: 45
    • View Profile
    • @pump_upp - best crypto pumps on telegram !
Re: Первый скрипт комом...
« Reply #24 on: August 14, 2014, 05:00:02 PM »
Лыжи не едут из за цикла FOR. Нужно наращивать две переменные независимо друг от друга
Первый вариант тоже правильный. Всё работает. Ну кроме самих кликов их не проверял.

так дело как раз в том, что клики не работают

Dampil

  • Освоившийся
  • **
  • Posts: 45
    • View Profile
    • @pump_upp - best crypto pumps on telegram !
Re: Первый скрипт комом...
« Reply #25 on: August 14, 2014, 05:04:01 PM »
Лыжи не едут из за цикла FOR. Нужно наращивать две переменные независимо друг от друга
Не совсем понял смысл кода. Параметр цикла нельзя использовать дважды? И почему именно цикл без параметра взят?
« Last Edit: August 14, 2014, 05:06:39 PM by Dampil »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Первый скрипт комом...
« Reply #26 on: August 14, 2014, 06:19:04 PM »
Лыжи не едут из за цикла FOR. Нужно наращивать две переменные независимо друг от друга
Не совсем понял смысл кода. Параметр цикла нельзя использовать дважды? И почему именно цикл без параметра взят?

Смысл в том что $i надо увеличивать в 2а рвза (для X Y) а сам цикл $count на один. С одной переменной правильно не получится.
Можно и с FOR написать только обязательно использовать внутри наращиваемую переменную.

Dampil

  • Освоившийся
  • **
  • Posts: 45
    • View Profile
    • @pump_upp - best crypto pumps on telegram !
Re: Первый скрипт комом...
« Reply #27 on: August 14, 2014, 06:30:24 PM »
Смысл в том что $i надо увеличивать в 2а рвза (для X Y) а сам цикл $count на один. С одной переменной правильно не получится.
Можно и с FOR написать только обязательно использовать внутри наращиваемую переменную.

Просто не совсем понимаю, почему. Тут почти полное копирование поста про "псевдомногомерный" массив... Хор. Если с учётом используемого цикла я внутри добавлю ещё одну переменную, которой присвою $i*2+1? прокатить, по идее, должно?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Первый скрипт комом...
« Reply #28 on: August 15, 2014, 08:50:49 AM »
Смысл в том что $i надо увеличивать в 2а рвза (для X Y) а сам цикл $count на один. С одной переменной правильно не получится.
Можно и с FOR написать только обязательно использовать внутри наращиваемую переменную.

Ну почему же не получится. У нас массив из 20 элементов. 10 пар XY.
В цикле мы идём по 10 парам
Code: (clickermann) [Select]
for($i,$i<10)
Чтобы получить элементы мы умножаем на размерность, в данном случае пара, т.е. 2
Code: (clickermann) [Select]
   $X = $varx[2*$i]получается мы двигаемся по чётным элементам массива
0,1,2,3,4,5,6,7,8...18,19
А Y получаем беря следующую за X ячейку

Code: (clickermann) [Select]
for($i,$i<10)
   $X = $varx[2*$i]
   $Y = $varx[2*$i+1])
end_cyc

Что и было сделано.
« Last Edit: August 15, 2014, 08:54:17 AM by Vint »


Dampil

  • Освоившийся
  • **
  • Posts: 45
    • View Profile
    • @pump_upp - best crypto pumps on telegram !
Re: Первый скрипт комом...
« Reply #29 on: September 13, 2014, 11:43:19 PM »
"О, Великая Стена, прими голову моё и содержимое её"

Блин. Простите, что забиваю мозг читающим. Сделал аналогичный функционал "записью за мышкой"(автогенерацией скрипта). В итоге: работает всё, НО клик по первым координатам проходит впустую. Есть ли какой-нибудь способ первым действием назначить "вход в окно"(передачу фокуса)?