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 - Cleoss

Pages: [1] 2 3 ... 18
1
Опять пресловутая привязка) Юзерам как мёдо намазано, летят и липнут на привязку. А чуть спросишь, знаком ли с ней, читал ли справку, читал ли форум — прячутся. Не понятно только, откуда они примеры берут такие, с привязкой, и кто им постоянно прививает эту привычку ей пользоваться. Видимо, все хотят, чтоб в фоне работало и без фокуса.

shot00000000.png

Это MS Spy такое дерево показывает? Никогда не юзал его, использую обычный встроенный au3info или как там его.

2
А сам интерпретатор пусть сравнивает и если не совпадает - стоп с сообщением.
imho лучше не стоп, а просто пропуск команд, чтоб можно было для одной версии выполнять одни команды, для другой — другие. То есть сделать по типу Селекта/Свитча.

Вот, порылся, посморел размеры файлов разных версий экзешников КЛМНа, но вышло так, что даже файлы одинакового размера имеют разные несколько версий, налицо упаковка.  Табличка приведена в csv, но очевидно нужно сделать такую же с хешами файлов вместо их размеров, тогда и версию определять будет точно. Сначала в таблице идёт размер exe-файла в байтах, после размера через ";" идёт версия/версии с таким размером файла. Также пытался брать версии из самих экзешников, но не везде они указаны правильно (в бетах 4,14 указываются версии 4,13 например).

Code: [Select]
231424;1.2y2009
242176;1.3y2009
256000;2.0y2009
312832;2.1y2009
401408;3.1(y2010?)
403456;3.2rc1y2010
458172;4.6.002y2012
458240;4.3.001y2010
464896;4.4.001y2011
515386;4.5.000y2011
1126400;4.11build000-001-002y2014-003y2015,4.11.000rk1-2-3
1130496;4.12.001y2016,4.12.000
1159168;4.7se.000y2012
1163264;4.8beta1-2(y?);4.7se.002y2013-003y2013
1167360;4.9alpha,4.9build001-002y2014-003;4.8;4.8beta3;4.9build000
1171456;4.9build004-005y2014,4.10.001y2014-003y2014,4.11.7?,4.11alpha1-2
1761280;4.13b2x32y2016,4.13b3x32y2016
1773568;4.13.014y2018x32,4.13.004bx32y2017,4.13.005bx32y2017,4.13.006bx32y2017,4.13.007bx32y2017
1777664;4.13.011bx32y2018
1794048;4.14.000bx32y2018
2444288;4.13.014bx64y2018
2778624;4.14.001bx32y2019
2896896;4.14.002bx32y2019
4171264;4.13b2x64y2016
4172288;4.13b3x64y2016,(4.12x64)?
4528640;4.2.001y2010(warez?)
8133891;4.5install

Обозначения: y2012 = сборка 12-ого года, x64 = 64-разрядная версия

А сам контрол с версией на форме (окне) Кликерманна почему-то не виден, то бишь текст с форм не читается, видимо сделано для защиты и выложено в форме картинки или через ДиректИкс или ещё как. Выкладывал тут старые версии (которых на диске уже нет) ещё в 2016, так Яндех их ещё хранит, скачал у себя же))

ПС. Ах да, чтот не нашёл размера х64-версии для моего любимого stable билда 4,12. Или мож там и не было 64-битки, не знаю когда начались сборки х64.  Если ещё так пару часиков повтыкать, то можно и консольную утилитку под это дело сваять) Такую, чтоб разными методами определяла (из ехе, по хешу/размеру, а может прям из гуи)).

4
Привет, у нас в Танках Онлайн сейчас наблюдаются массовые лаги из-за нечищенного кеша, а разработчики почему-то уже много месяцев не шевелятся. В общем, делал эту прогу я для себя ещё несколько месяцев назад, и ситуация не исправляется, видимо инструмент нужный. Так вот тогда же, когда я написал программку, заодно почистил и кеш вместе с системным диском C, и о чудо, мой урон тогда перестал пропадать, я сам не верил этому, до этого момента бывали такие битвы, в которых урон прилетал нулевой, а стало норм. Не знаю, как будет у вас, в кеше ли у вас проблема или оборудовании, в интернете. В общем, выкладываю тему с чистилкой в паблик, юзайте, отписывайтесь.


Прежде, чем запустишь и начнёшь использовать этот чистильщик кеша для Танков Онлайн, хочу пару слов о нём рассказать. Эта программа сама по себе без интерфейса (не имеет окна), поэтому если запустил её и ничего не увидел — не значит, что она не работает. У программы отображается иконка в трее (в системном лотке внизу справа, рядом с часами), при клике на иконку можно открыть меню, из которого программу можно закрыть. Если иконка появилась, значит, программа запустилась. При наведении курсора мыши на иконку программы над той всплывает информация о текущей папке танкового кеша и об используемых хоткеях (комбинациях кнопок на клавиатуре), с помощью которых можно почистить кеш или открыть папку с ним. Настройки программы хранятся в ini-файле, который находится в архиве с программой. После извлечения из архива ини-файлик настроек можно редактировать по своему вкусу (там можно установить другие хоткеи вместо используемых по умолчанию). Формат указания хоткеев приведён в самом конфигурационном ини-файле. Перед использованием программы нужно извлечь всё содержимое архива в одну папку, сам архив извлечь просто, поскольку это обычный зип-файл, сделать извлечение можно и с помощью встроенных средств Виндовс 10. Программа не требует админских привилегий и по идее должна работать и под учётной записью гостя, на предмет блокировки Каспером или другим антивирусом программа не тестировалась, равно как и с гостевыми правами доступа, если всё же не работает — можно попробовать запустить чистильщик из-под админа, у меня все программы в системе запускаются под админом и поэтому действуют безотказно, у вас мне не известно, запустится или нет и с какими ограничениями — нужно тестировать, отпишитесь если всё нормально удаляет.

Для начала работы с программой (после распаковки архива) необходимо запустить её, и когда программа запустится (её значёк будет помещён в трей), можно нажать комбинацию клавиш для запуска очистки (стандартно, если не указано другое в настройках, то нужно нажать Ctrl-Shift-F7, все клавиши жмутся одновременно). Сразу после нажатия клиент игры будет закрыт и начнётся очистка папки, по завершении которой клиент с игрой будет запущен снова. Файлик конфигурации править нужно до запуска программы, настройки из него читаются один раз при включении чистилки. Пути к папке и к клиенту в настройках, скорее всего, не нужно редактировать, если у вас только не старая Винда (ХР и ниже). У меня по умолчанию хоткей установлен слишком длинный ("^+{F7}" из целых трёх клавиш), потому что у меня в системе многие хоткеи заняты, ты же можешь назначить очистке более простой хоткей, например просто одноклавишный "{F7}" (если он не занят у тебя какой-то программой), его будет проще нажимать. Если же хоткей занят и не действует, укажи в настройках другой свободный. После распаковки программой можно сразу начинать пользоваться, она не требует установки и её можно копировать вместе с папкой на флешку или на другие компьютеры. Программа в автозагрузку не прописывается, поэтому после перезагрузки компьютера программу нужно запускать снова. Можно добавить ярлык на программу в папку автозагрузки (Win-R, C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup), чтобы программа каждый раз вместе с запуском системы открывалась сама. Программа не жрёт ресурсы процессора, поэтому работает без проблем в фоне даже на 2-ядерном слабом системнике или ноуте. Единственная нагрузка происходит в момент нажатия хоткея (когда начинает очищаться папка) и при наведении мышью на трей, также маловероятно, что сама программа будет вам мешать, поскольку никаких окошек у проги не выскакивает. Поскольку папка с кешем не маленькая и содержит много мелких файлов (ориентировочный размер: 200 МБ — 1+ ГБ), удаление всей папки может занять много секунд (зависит от силы компьютера и его загруженности), обычно пары секунд хватает. Очистка происходит только после нажатия клавиатурной комбинации, всё остальное время программка ничего не делает и ждёт вашей команды.

Посторонние папки и файлы программа не удаляет, а удаляется только та папка, которая указана в настройках и все файлы в ней. Менять в настройках эту папку вам навряд ли нужно, всё работает сразу из коробки. Если вдруг случилось так, что у вас на компе нестандартные настройки, допустим клиент игры установлен в другую папку или не на системный диск С, на этот случай и предусмотрено указание путей в настройках, в противном же случае всё должно заработать и так. Чтобы убедиться, что программа не только запустилась (есть значёк в лотке иконок, где есть уже запущенные проги), но и функционирует как надо, можно в первый раз открыть папку с кешем после очистки — желательно открывать не саму папку C:\Users\%username%\AppData\Roaming\tankionline\Cache\, а папку tankionline, которая на уровень выше папки с кешем, чтоб случайно Проводник не заблокировал читаемую папку на запись (для этого папку лучше не открывать ДО очистки, иначе может потребоваться перезагрузка), то есть в саму папку с кешем лучше не входить, а посмотреть в её свойствах занимаемый на диске размер и количество файлов в ней. Программу можно остановить из контекстного меню в трее (тогда иконка начинает моргать красным), чтобы возобновить прогу, снимите галочку в меню на пункте "Script paused". Возможно, штампану для прожки пару обнов позже (чистка общего кеша, проверки, таймер, настройки). Также обращаю внимание, что у тех, кому давал старую версию программы, некоторые новые пункты настроек в ини не работают, сам ини обновлён, добавлена объяснялка — перекачайте весь дистр.

Пишите в теме форума, помогла ли программа, всё ли работает как ожидается. Если что-то идёт не так, указывайте в комментариях версию Винды и номер билда, разрядность системы и пути к папкам. Чистим кэш в танках быстро, одним нажатием, и кайфуем!


App download link:
Скачать программу: http://gg.gg/txCacheCleaner | mirror
Эту ссылку можно кидать друзьям в личку внутри Танков Онлайн:
Code: [Select]
http*://*gg.*gg/*tankiCacheCleaner (все лишние * нужно удалить, pls delete asterisks)
+++


Hey! Before u can use this cache cleaning tool for TankiOnline I wanna give u a little description. This app has no GUI (so u won't see its win), it has a tray icon only. If you can see its tray icon then that means the app is running and is ready to use. If you point a mouse cursor to the tray zone you can see a path to the Tanki cache folder and applied hotkeys which you can use to delete the cache directory and to show the cache containing folder. Those hotkeys can be adjusted from the .ini file u can get out from the archieve, all files from it should be kept in the same folder. The format for hotkeys is given inside this .ini cofig file (default value is Ctrl-Shift-F7 for cleaning). All the settings are read whilst app start, so u should edit your config before u run it. The application shouldn't be elevated upto admin right, but  I haven't tested it neither with guest privileges, nor with avir. The program ain't written to the Startup section, so if u reboot your computer you also need to relaunch the app, or u can make a shortcut to it in ur Startup folder. It doesn't drain your CPU until u want to do a cleaning of a cache. The cleaning is only made when you press the hotkey. After u do it, the program closes the game client window and starts a clearing process that can have duration of few seconds (depends on your machine), then the client is openning again. If u don't use an old Windows system (XP or below) u shouldn't specify the pathes to cache and client, u can just set a more easy and short hotkey. The only folder (with files in it) is deleted during the cache cleaning is one that's set in .ini configs. On the first run u can test if the app acts properly and deletes files completely, u can use a folder opening hotkey for that aim. If you experience any troubles with it you can feel free to comment or submit a report below (then tell me Win ver, build, architechture, pathes). The app needs no install, is portable and standalone, can be placed on usb stick or copied to another comp. You can pause execution from tray context menu (tray icon becomes flashing with red) and then click un'Pause script' (uncheck) to restore it.

Code: [Select]
Global $ini='tankiCacheCleaner.ini', $g='General'
Global $d = IniRead($ini,$g,'FolderPath','C:\Users\%username%\AppData\Roaming\tankionline\Cache\')
;~ ini=IniRead($ini,$g,$|'',$'')
$d = StringReplace($d,'%username%',@UserName)
Global $hk = IniRead($ini,$g,'ClearingHotKey','^+{f7}')
HotKeySet($hk,'dlt')
TraySetToolTip(@ScriptName&@CRLF&$d&@CRLF&$hk)

Func dlt()
ProcessClose('Tanki Online.exe')
Sleep(1*1000)
;~ Global $hk = IniRead($ini,$g,'ClearingHotKey','^+{f7}')
;~ Global $d = IniRead($ini,$g,'FolderPath','C:\Users\%username%\AppData\Roaming\tankionline\Cache\')
;~ Global $d='C:\Users\%username%\AppData\Roaming\tankionline\'
;~ Global $d='C:\Users\%username%\AppData\Roaming\tankionline\111'
;~ Global $d='C:\Users\%username%\AppData\Roaming\tankionline\111\'
;~ Global $d='C:\Users\'&@UserName&'\AppData\Roaming\tankionline\111\'
;~ Global $d='C:\Users\'&@UserName&'\AppData\Roaming\tankionline\Cache\'
;~ Global $d='C:\Users\%username%\AppData\Roaming\tankionline\Cache\'
;~ $d = StringReplace($d,'%username%',@UserName)
;~ DirCreate($d)
FileDelete($d)
EndFunc

While 1
Sleep(1*1000)
WEnd

5
К такому полному тутору по привязке можно добавить только, что шрифты сглаживаются как по настройкам браузеров, так и по системным настройкам, это в тему отрисовки. Сглаживание можно отключать, прикол в нём такой, что его можно не замечать, но пиксели выходят чуточку другие, другого цвета, на глаз не отличимо.

6
Ещё есть кажись побочка у БлокИнпута, сколько-то месяцев назад встречал, что программа с заблокированным вводом виснет, если нажать ктрл-альт-дель, то есть там видимо нужны ещё дополнительные проверки мудрить, и не помню уже в каких условиях она у меня подвисла, такое ощущение, как будто в бесконечный луп вошла: и делать ничего не делает, проц не нагружает, но и выходить не выходит, а в этой же вчерашней проге при быстрых тестах такого не обнаружил, но там и проверок никаких на ошибки нету, так что всё зависит от пользовательского ввода, а пользователи от незнания подчас в агументах такую путаницу ввести) Но дефайны, это файно, легче теперь с подменами и созданием переменных и функций. Кстати да, во время чистки компа тож можно запускать, не подумал) Была б прога, а сценарии найдутся. В хорошее время живём, платформы развиваются, конкурируют, свои блага предлагают, даст бог Майкрософту не загнуться) Хотя АРМы у него уже рынок конкретно оттяпали, но предложение всё равно инертно, так и нету ботов, пишущих за человека софт либо хотя бы настраивающего систему.

7
Так #define давно же есть

Хаха, да! Точно, спасибо, вот ведь как, в простоте всегда кроются свои смыслы, под час не видимые. Помню, как-то даже думал сделать дефайны под все команды ReMouse/GhostMouse, чтоб беспроблемно старые файлы с рекордера конвертировать в кликерманновские, и возможно даже делал это, уже и не помню. Хотя Ремаус то всё же вчерашний день. Но точно так же и в рекордере с быстрым прототипированием кроется своя мнимая простота, которую ещё предстоит перепродумать. Да и char() уже несколько лет, как появился, там вот парная функция не сразу возникла. Смутно помнится, я даж на КЛМНе отображение таблицы Юникода лабал, как только функция появилась.

8
Так при привязке же по-моему берутся не абсолютные, а относительные координаты (либо вообще клиентская зона), то бишь начало координат смещается. Ты координаты проверял сначала, где́ именно ты делаешь снимок? Если он выходит чёрный, то либо ты скринишь область вне экрана, либо у кликера нет прав на доступ к окну приложения и нужен админский elev8, либо в приложении какаят защита стоит (сомневаюсь). А ваще тут кажись обсасывали уже тему, что привязкой лучше не пользоваться, а если пользуешься, то сперва изучать форум)

9
Общие вопросы / Re: время UNIX $_time_t
« on: June 02, 2021, 07:44:04 AM »
Конечно ето крутая тема, но искал немного другую похожую, про Юникс-время или точнее абсолютное время UTC, то которое без смещения и одинаковое для всех поясов (поиском не нашёл), и там в теме ктот из наших продвинутых форумчан (не помню, то ли Драмстер, то ли и0, а может и не они) жаловался, что скрипт несколько лет назад давал одно, правильное время, а сейчас стал давать неправильное, хотя ничего не поменялось. По-моему, там у автора была винда7 и он говорил, что ничего в винде не ставилось и не обновлялось. Но вот к слову вспомнилось, что в Windows 10 за последний год-два подвgихнули много чего в апдейтах: и линуксовые инструменты, и кажись поддержку линёвой FS, и чуть ли не сам minGW. А как там это всё обновляется, через .НЕТ или через общесистемные компоненты, не знаю, не проверял, просто доношу инфу, что что в виндовсе тож плавные и казалось бы неожиданные изменения происходят под капотом, чего стоит одна капитуляция с переходом IE на движок Chromium! Бывает, и у Джонни от этого образуется бомбит. В автоите вон тож к сожалению юникод не обрабатывается правильно, только символы до 2-х байт заходят (то бишь первые 65к символов юникодовской таблицы, а всего их уже больше 120к), понятно что больше 80% процентов там иероглифы, но всё равно не понятно отсутствие реализации поддержки многобайтной кодировки нативно.

10
Тема интересная, я конечно не спец по месседжам, но может там вейт вставлять мс так в 300 (или рандомно варьировать для антидетекта) между постМесседжами?

Мне сначала тоже резала, а потом дырочку нашел.
Да, а шо за дырочка такая?

11
@CR — а такое уже есть в Кликерманне? А кавычка и табуляция как пишутся?

12
И тишина, пропал наверно человек или что там у него стряслось? Заработало, не заработало? Клуб экстрасенсов.

13
Вот доработка идеи кода Винта из ссылки выше:
Code: [Select]
; wtd: drag up/dn wheel
;http://crapware.aidf.org/forum/index.php?topic=1860.msg11043#msg11043
;~ #include "Stringi.au3"
#RequireAdmin
#include <Array.au3>
If @Compiled Then
If $CmdLine[0] = 0 Then Exit(1)
BlockInput(1)
Select
;$CmdLine[]
Case $CmdLine[1] = 'click'
aNulled0($CmdLine,10)
Local $t = optMs1($CmdLine[7]), $t = optMs2($CmdLine[8]), $t = optMs3($CmdLine[9])
Click($CmdLine[2],$CmdLine[3],$CmdLine[4],$CmdLine[5],$CmdLine[6])
Case $CmdLine[1] = 'move'
aNulled0($CmdLine,6)
;~ pbox($CmdLine[5])
;~ ad($CmdLine)
Local $t = optMs3($CmdLine[5])
Move($CmdLine[2],$CmdLine[3],$CmdLine[4])
Case $CmdLine[1] = 'send'
aNulled0($CmdLine,8)
Local $t = optSnd1($CmdLine[4]), $t = optSnd2($CmdLine[5]), $t = optSnd3($CmdLine[6]), $t = optSnd4($CmdLine[7])
sendRaw($CmdLine[2],$CmdLine[3])
EndSelect
BlockInput(0)
EndIf

Func aNulled0( ByRef $array,$upto=0)
If $upto > UBound($array) Then
For $i = UBound($array)+1 To $upto; $[$i]
_ArrayAdd($array,'')
Next
EndIf
Return $array
EndFunc
#Region FNz; move($x=MouseGetPos(0),$y=MouseGetPos(1),$peed=1); click($btn='main',$x=MouseGetPos(0),$y=MouseGetPos(1),$clix=1,$peed=1); sendRaw($text='',$raw=0)
Func move($x=MouseGetPos(0),$y=MouseGetPos(1),$peed=1)
If StringLen($peed) = 0 Then $peed = 1
If StringLen($x) = 0 Then $x = MouseGetPos(0)
If StringLen($y) = 0 Then $y = MouseGetPos(1)
MouseMove($x,$y,$peed)
EndFunc
Func click($btn='main',$x=MouseGetPos(0),$y=MouseGetPos(1),$clix=1,$peed=1)
If StringLen($btn) = 0 Then $btn = 'main'
If StringLen($x) = 0 Then $x = MouseGetPos(0)
If StringLen($y) = 0 Then $y = MouseGetPos(1)
If StringLen($clix) = 0 Then $clix = 1
If StringLen($peed) = 0 Then $peed = 1
MouseClick($btn,$x,$y,$clix,$peed)
;~ If StringLen($x) <> 0 And StringLen($y) <> 0 Then MouseClick($btn,$x,$y,$clix,$peed)
EndFunc
Func sendRaw($text='',$raw=0)
If StringLen($raw) = 0 Then $raw = 0
If StringLen($text) <> 0 Then send($text,$raw)
EndFunc
#EndRegion
#Region - Options CmtdOut
;~ Opt('MouseClickDelay', 10) ; ? = 10 milliseconds by default.
;~ Opt('MouseClickDownDelay', 10) ; ? = 10 milliseconds by default.
;~ Opt('MouseCoordMode', 0) ; 1 = Absolute (default), 0 = Relative to active window, 2 = Relative to client area.
;+
;~ Opt('SendAttachMode', 1) ; 0 = Don't attach, 1 = Attach.
;~ Opt('SendCapslockMode', 0) ; 1 = Store and restore, 0 = Don't store / restore.
;~ Opt('SendKeyDelay', 5) ; ? = 5 milliseconds by default.
;~ Opt('SendKeyDownDelay', 1) ; ? = 1 millisecond by default.
#EndRegion
#Region OptFnz; MouseClickDownDelay MouseClickDelay MouseCoordMode; SendKeyDownDelay SendKeyDelay SendAttachMode SendCapslockMode
Func optMs1($val=10)
;~ If StringLen($val) = 0 Then $val = ;
;~ If StringLen($val) = 0 Then $val = 10
;~ If StringLen($val) <> 0 Then ;
If StringLen($val) <> 0 Then Opt('MouseClickDownDelay',$val)
EndFunc
Func optMs2($val=10)
If StringLen($val) <> 0 Then Opt('MouseClickDelay',$val)
EndFunc
Func optMs3($val=1)
If StringLen($val) <> 0 Then Opt('MouseCoordMode',$val)
EndFunc

Func optSnd1($val=1)
If StringLen($val) <> 0 Then Opt('SendKeyDownDelay',$val)
EndFunc
Func optSnd2($val=5)
If StringLen($val) <> 0 Then Opt('SendKeyDelay',$val)
EndFunc
Func optSnd3($val=1)
If StringLen($val) <> 0 Then Opt('SendAttachMode',$val)
EndFunc
Func optSnd4($val=0)
If StringLen($val) <> 0 Then Opt('SendCapslockMode',$val)
EndFunc
#EndRegion


К вложенному архиву с программой прилагается батник с закомментированными примерами аргументов для запуска программы (собиралось в версии 3,3,14,2). В общем, синтаксис сводится к трём основным командам (move/click/send), которые вполне соответствуют АвтоИтовскому формату:
Code: [Select]
blockedInput.exe move x y speed MouseCoordMode
blockedInput.exe click button x y clicks speed MouseClickDownDelay MouseClickDelay MouseCoordMode
blockedInput.exe send string raw SendKeyDownDelay SendKeyDelay SendAttachMode SendCapslockMode

move = перемещение мыши (если координата не задана и используется пустой параметр "", то используется текущая координата мыши)
click = для нажатия левой или правой кнопкой мыши (параметр button равен "main" или "menu" соответственно)
send = отсылка нажатий клавиш или хоткеев с клавиатуры (!=alt +=shift ^=ctrl #=win, сама кнопка заключается фигурно: например, "{up}" значит Вверх, "^+3"=ctrl-shift-3, а "^{ins}"=ctrl-insert)

Коды остальных клавиш можно найти в справке по AutoIt, гуглите, там всё просто/линейно/ожидаемо, без особых сюрпризов. Для нажатия и отпускание шифта шлём "{shiftdown}{shiftup}". Различаются также и левые/правые модификаторы в хоткеях. Саму клавишу лучше писать строчной буквой (напр., "^f", а не "^F" для отсылки хоткея Ctrl-F). Иногда с хоткеями возникают трудности при наборе латинских букв в русской раскладке (тогда на замену нужно использовать функциональные клавиши: "^{f4}"). Для нажатия таба три раза шлём "{tab 3}", для нажатия ABCD -- "ABCD" (только для букв, в отличие от небуквенных кнопок типа "{del}", опять же, следите за раскладкой). Вводимые названия кнопок в фигурных скобках регистронезависимы.

Все аргументы/параметры запуска программы, кроме этих трёх основных параметров move/click/send, являются факультативными (их можно пропускать, заменяя пустым текстом "").

Значения остальных параметров:

x, y - координаты мыши (по умолчанию, если другое не указано или параметр опущен, то это текущие координаты курсора мыши. Можно, к примеру, заменить одну координату пустым текстом, то есть дефолтным значением, тогда перемещение будет только по одной оси, по прямой, а не по диагонали)
speed - скорость перемещения от 0 до 100
clicks - нужное количество кликов (дефолтно равно 1)

Для мыши также:
MouseClickDownDelay - задержка между нажатием и отпускание кнопки мыши (мс)
MouseClickDelay - задержка между кликами (в миллисекундах)
MouseCoordMode - система координат (дефолтно 1 = абсолютная, 0 = относительно текущего окна, 2 = относительно клиентских координат)

Для клавы:
SendKeyDownDelay - задержка внутри нажатия одной клавиши клавиатуры
SendKeyDelay - задержка (мс) между нажатиями отдельных клавиш (кнопок)
SendAttachMode - режим привязки (0=откл дефолтно, 1=вкл)
SendCapslockMode - отслеживание капса (0 дефолт/1)

Таким образом, чтобы запустить данную программу из Кликерманна, нужно ввести:
Code: (clickermann) [Select]
EXECUTE("blockedInput.exe", "move 0 0")  // перемещаем курсор мыши в точку (0;0), тем самым пряча курсор на границе экрана (мгновенно)
EXECUTE("blockedInput.exe", "move 100 200 40")  // перемещаем курсор мыши в точку (100;200) со скоростью 40
EXECUTE("blockedInput.exe", "click main 1800 63")  // кликаем основной кнопкой мыши в точку (1800;63) со скоростью 1 (мгновенно)
EXECUTE("blockedInput.exe", "click menu 1800 63 1 40")  // кликаем второй кнопкой мыши (менюшкой) в точку (1800;63) со скоростью 40 (плавно), делая 1 клик
EXECUTE("blockedInput.exe", "send #{down}")  // шлём с клавиатуры нажатие Win+Вниз (сворачиваем окно) (send -- аналог KeyPress в клмн)
EXECUTE("blockedInput.exe", "send #{up}")  // шлём с клавиатуры нажатие Win+СтрелкаВверх (разворачиваем окно)
// etc
halt

В качестве лайфхака можно добавить, что если при ввода параметра вам понадобится кавычка (а такая необходимость не редка в Клмн), то её вы можете предварительно прочитать в переменную из специально созданного файла с единственным символом кавычки.

PS. К сожалению, не разбираюсь в WinAPi и поэтому не знаю, как точно написать эту прогу через SendMessage (не знаю нужных значений кнопок для low/high word), но также понимаю, что данная программа будет не полностью эффективна в случае экстремальных нагрузок, поскольку она не будет сидеть в памяти, а лишь запускаться непосредственно во время вызова (а само время вызова тоже не нулевое, что будет вызывать дополнительную задержку при чтении программы с диска и допустимо не во всех сценариях применения).

ППС. Напоминаю, что на время нажатия программа блокирует ввод, таким образом, если при вводе CLI параметров вы ошиблись с указанием переменных, то программа заблокирует ввод  данных с клавиатуры/мыши и вы не сможете ничего нажать. Чтобы этого избежать (разблокировать закрытый ввод), нажмите Ctrl-Alt-Del (надеюсь, у вас не WinXP )). 

Также добавлю в постскриптум, что еле получилось добавить архив во вложения для этого пришлось удалять большинство своих вложений (а именно картинки с иллюстрациями багов/скриншотов, коих набралось с десяток размером около полуметра). Выходит, суммарный максимальный объём вложений всех вложений во всех темах на участника -- 1 мегабайт?

Во вложении ниже имеется исходник программы и сам запускающийся, исполнимый файл [Compiled.exe] под WinX32, архив запакован свежей версией 7z/zip:

14
Тоже возник такой вопрос. Я имею ввиду, мне непонятно применение.

Я понимаю возможное применение сабжу, да и сам изредка блокирую ввод с клавиатуры/мыши в скриптах. Это нужно, в случае когда нужно на время кликов нужно попасть точно в определённую координату, без отклонений и разночтений, которые могут быть внесены случайными движениями мышки. А в качестве мыши я покупаю всегда самую дешманскую китайскую оптику, за 80 рэ, ей каюк настаёт за полгода-год, и чем характерно её поведение, так это тем что она может произвольно двигаться, когда ей вздумается (связано такое поведение отчасти и с перегибом провода, идущего к десктопу, который стоит под столом). И с программами-розыгрышами и приколами это отнюдь не связано. Второй сценарий поведения заключается в проведении множества кликов, когда опять же нужно исключить шевелёнку от физического устройства.

ПС. Прошу прощения за некропостинг. Заодно вот в ссылающейся теме выложу программку blockedInput.exe для борьбы с подобным хаотичным поведением мыши.

15
Отсюда возникает вопрос: какова максимальная величина переменной int в 64-разрядной версии Кликерманна, не 232-1 ли?

Степени двойки и максимальное возвращаемое целое число для 64bit (не в нотации):
Code: [Select]
// 25.09.2020
#name "Powers"
logclear
$a=1
$b=1
while($b<64)
$a=$a*2
print("2 ^ ",$b," = ",$a,", ",strlen($a))
inc($b)
//wait(0.2)
end_cyc
halt

Pages: [1] 2 3 ... 18