Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: NStra on March 22, 2015, 02:26:27 PM
-
Здравствуйте. Я составил скрипт, но он получился слишком большим. Помогите мне пожалуйста его сократить...
Описание:
1 Скрипт считывает нужные строки в файле.
2 Скрипт перезаписывает первые 3-и записи.
Код:
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
-
А не слишком ли там где TFCOUNT много скобок у тебя?! Уж точно есть лишние.
Верный код.
IF($12=1)
if((iskeydown(#ALT)=1)&(iskeydown(#0)=1))
waitms(500)
$f12=0
$f2=1
a1()
End_if
If(TFCOUNT("system/LandP.txt")>3)
if((iskeydown(#ALT)=1)&(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)&(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)&(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)&(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)&(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)&(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)&(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)&(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)&(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
А нужно ли сокращать? Куски вроде бы повторяются но у тебя там еще и клавиши анализируются, а это осложняет дело. Проще оставить в таком виде.
-
Действительно, скобочек многовато...Спасибо.
-
А такую строку можно сократить?
В примере 1/4 всей строки...Смысл-выполнять условие если все переменные равны 0.
IF(($f1=0)&($f12=0)&($f13=0)&($f2=0)&($f22=0)&($f23=0)&($f222=0)&($f223=0))
-
судя по примеру отсюда http://crapware.aidf.org/forum/index.php?topic=1134.msg6742#msg6742 , то можно
IF(($f1&$f2&$f4&$f6&$f5&$f9)=0) , и вроде работает как надо. да и простейше даже не зная этого можно IF(($f1+$f2+$f4+$f6+$f5+$f9)=0)
я читал пару раз про эти битовые операции , так ниче и не понял, а хотелось бы чтоб в такомже духе работало IF(($f1|$f2|$f4|$f6|$f5|$f9)=0). но, фига мне в ответ.......
-
судя по примеру отсюда http://crapware.aidf.org/forum/index.php?topic=1134.msg6742#msg6742 , то можно
IF(($f1&$f2&$f4&$f6&$f5&$f9)=0) , и вроде работает как надо. да и простейше даже не зная этого можно IF(($f1+$f2+$f4+$f6+$f5+$f9)=0)
я читал пару раз про эти битовые операции , так ниче и не понял, а хотелось бы чтоб в такомже духе работало IF(($f1|$f2|$f4|$f6|$f5|$f9)=0). но, фига мне в ответ.......
С плюсованием будет правильно. В битовых операциях сравниваются числа в бинарном виде.
LOGCLEAR
$f1 = 0
$f2 = 3
$f3 = 0
$f4 = 0
$f5 = 0
$f6 = 0
$bit = $f1&$f2&$f3&$f4&$f5&$f6
LOGWRITE ($bit)
IF(($f1&$f2&$f3&$f4&$f5&$f6)=0)
LOGWRITE ("Верно 1")
ELSE
LOGWRITE ("Не верно 1")
END_IF
IF(($f1+$f2+$f3+$f4+$f5+$f6)=0)
LOGWRITE ("Верно 2")
ELSE
LOGWRITE ("Не верно 2")
END_IF
HALT
-
Спасибо dramster. Это то, что мне нужно. Отдельное спасибо за хорошую ссылку, так как я нуждался в переключателе. Спасибо Oraven-у за подробное объяснение...
-
Здравствуйте. Я составил скрипт, но он получился слишком большим. Помогите мне пожалуйста его сократить...
Описание:
1 Скрипт считывает нужные строки в файле.
2 Скрипт перезаписывает первые 3-и записи.
...
По первому посту
IF($12=1)
If((iskeydown(#ALT)=1)and(iskeydown(#0)=1))
waitms(500)
$f12=0
$f2=1
a1()
End_if
FOR($n=1, $n < 10)
If((TFCOUNT("system/LandP.txt")) > $n*3)
if((iskeydown(#ALT)=1)and(iskeydown($n+48)=1))
waitms(500)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", $n*3 + 1),1)
TFDELETE("system/LandP.txt", 2)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", $n*3 + 2),2)
TFDELETE("system/LandP.txt", 3)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", $n*3 + 3),3)
TFDELETE("system/LandP.txt", 4)
$f12=0
$f1=1
a1()
End_if
End_if
END_CYC
END_IF
-
Vint. Я не знаю почему, но в скрипте не выполняется условие...
$f12=1
IF($f12=1)
PRINT("Условие выполнено")
//КОД
END_IF
-
Всё выполняется. См. скриншот.
По поводу имён, у меня нет опечатки, такие имена переменных были в скрипте из сообщения №1. Хотя такие имена и неправильно делать, ошибку не выбивает, поэтому не трогал, думал это другая переменная... Это же часть скрипта, не?
Если бы этот код был оформлен как цикл, я бы обратил внимание. А простое условие вырванное из контекста большого скрипта. ХЗ что там может быть.
-
Опечатку исправил. Все работает. Спасибо вам большое.