Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: Дядя_Витя on April 07, 2017, 11:37:30 PM
-
Помогите разобратся вот в чом. Задача. Есть строковой масив. $val="213,234,12,233,152,43" где запятая выполняет функцию разделителя. Поскажите как теперь превратить эту строку в
Val(1)=213
Val(2)=234
И.т.д.
-
Справка, строки и файлы:
STRSEPARATE
Синтаксис:
STRSEPARATE ("str", "substr", $arr) - разбивает строку на подстроки, которые помещаются в массив
Параметры:
str - входная строка
substr - строка-разделитель
$arr - выходной массив
Пример:
$val="213,234,12,233,152,43"
strseparate($val, ",", $arr)
FOR($i=0,$i<ARRSIZE ($arr))
print($arr[$i])
END_CYC
halt
-
Огромное спасибо.
-
Спасибо за подсказку. Вобщемто все хорошо работает. Но возникла проблема в другом. И я не пойму что не так. Почему не идет по метке а продолжает выполнение скрипта после if
//==x,y 5,213 size 786x548 ==
//==Kordinat hand==
$val="214,280,210,287,313,187,312,190,263,260,449,240,403,192,403,192,415,190,467,238,520,193,518,186"
//==Kordinat move==
$val_move="214,242,214,370,315,169,310,405,310,235,600,244,380,246,495,262,689,266,419,259,514,244,515,121"
strseparate($val,",",$arr)
for($i=0,$i<arrsize($arr))
end_cyc
strseparate($val_move,",",$arr_move)
for($i=0,$i<arrsize($arr_move))
end_cyc
skip:go
$cyc=0
for($cyc=1, $cyc<9)
for($x=0,$x<23,2)
$y=$x+1
lclick($arr_move[$x],$arr_move[$y])
wait(3)
lclick($arr[$x],$arr[$y])
wait(9)
keypress(#Enter)
wait(1)
end_cyc
//==Sell==
if($cyc>1)
lclick(177,72)
wait(8)
lclick(257,182)
wait(5)
keypress(#Enter)
wait(3)
keypress(#right)
waitms(500)
keypress(#down)
waitms(500)
keypress(#down)
waitms(500)
for($n=0, $n<24)
keypress(#F2)
waitms(500)
end_cyc
keypress(#F1)
waitms(250)
lclick(21,373)
goto(go)
else
end_if
//=============================================
LCLICK(58,229)
WAIT(5)
LCLICK(136,108)
WAIT(5)
LCLICK(215,288)
wait(5)
LCLICK(214,300)
wait(100)
end_cyc
-
Чорт возьми))) Я наивно полагал что скип это команда)) Спасибо
-
Это временные сроки. Чтото вроди трасировки на случий какихто не совпадений, чтобы выводить в лог список переменных в массиве)
-
А что если внутри условия закрыть общий цикл end_cyc? И уже потом выходить по метке?
-
if($cyc>1)
lclick(177,72)
wait(8)
lclick(257,182)
wait(5)
keypress(#Enter)
wait(3)
keypress(#right)
waitms(500)
keypress(#down)
waitms(500)
keypress(#down)
waitms(500)
for($n=0, $n<24)
keypress(#F2)
waitms(500)
end_cyc
keypress(#F1)
waitms(250)
lclick(21,373)
goto(go)
else
end_if
примерно так.
?
-
Но приэтом меня волнует вопрос. Когда мы уходим по метке, общий цикл остается открытым. И будетли от коректно выполнятся при следующем входе в него. Или может дать сбой в последующих итерациях)
-
примерно, как я написал выше из условий по метке переходить можно.
$val="214,280,210,287,313,187,312,190,263,260,449,240,403,192,403,192,415,190,467,238,520,193,518,186"
//==Kordinat move==
$val_move="214,242,214,370,315,169,310,405,310,235,600,244,380,246,495,262,689,266,419,259,514,244,515,121"
for($x=0,$x<23,2)
$y=$x+1
lclick($arr_move[$x],$arr_move[$y])
wait(3)
lclick($arr[$x],$arr[$y])
wait(9)
keypress(#Enter)
wait(1)
end_cyc
Чем так сложно и долго задавать координаты кликов, можно быстро записать свои действия и вставить записанный скрипт в основной.
Оптимизация) Хорошие манеры требуют сокращать код) Записывая последывательность попроще размер кода увеличется в разы) Также это как правело сильно ухудшает читабельность)
-
Логично ;)