Ru-Board.club
← Вернуться в раздел «Программы»

» AutoIT

Автор: hunter19
Дата сообщения: 03.12.2008 16:09
sproxy:

Цитата:
hunter19, так а чем эмуляция нажатий не подходит, чем не так?
а встроенный скрипт язык? можно же на одну клавищу куууучу команд
записать: покупка всего что угодно, настройки сервера и т.д.....пока
понять не могу смысла сложных действий с внедрением в консоль,
если встроенный язык может многое...

Просто я хочу сделать проигрыватель демок в контре. Есть конечно проигрыватели, но они мне не нравятся тем, что нужно закрывать контер перед тем, как проиграть следующую демку.
Пробовал эмуляцию нажатий клавиш, но иногда клавиши не успевают отправиться в приложение. Из-за этого демка не проигрывается. Также проблема с консолью, т.е. с определением: открыта она или нет. Еще бинды не работают вне игры.
Есть же читы на контер и они как-то взаимодействуют с ним. А вот нормального проигрывателя нету, в добавок они систему сильно грузят непонятно чем.
Автор: sproxy
Дата сообщения: 03.12.2008 19:15
читы в контре - это и есть консольные команды, т.е. это не из вне hl.exe
просто есть консольные команды, которые улучшаю, облегчают физику и т.д.
свойства игры, + прибавление денег и т.д. благ, скорее всего знаешь...

внешнее воздествие на hl.exe, на сколько видел - это текстуры, через которые видно
игроков, где бы они ни были на карте, но это уже не с консолью, а полное
внедрение в сам файл hl.exe который в памяти...


Цитата:

что нужно закрывать контер перед тем, как проиграть следующую демку.


)) скорее всего это именно потому, что авторы всех демка-плееров так же не
нашли способа как вклиниться в коносль контры ))) потому все делают
через запуск, передавая комманды в коммандной строке.. hl.exe -play demo


вот так, у меня, вполне нормально работает...

Код:
AutoItSetOption ("SendKeyDelay", 1)
AutoItSetOption ("TrayIconDebug", 1)

While 1
    WinWaitActive ("Counter-Strike")
        HotKeySet ("{F4}", "send_command")
    WinWaitNotActive ("Counter-Strike")
        HotKeySet ("{F4}")
WEnd

Func send_command()
;~     консоль уже открыта..
    Send ("\playdemo test_demo.dem")
EndFunc

Func exit_pro()
    Exit
EndFunc
Автор: Nikkorot
Дата сообщения: 03.12.2008 19:51
sproxy

Цитата:
где вместо ключа /k стоит /c, в чем разница?

что-то я не видел в справке ключ /k


Цитата:
3. Некоторый, прочитанный результат из командной строки,
тот, который на русском языке, - отображается кракозяброй.
Может знаите как и его считывать/переформатировать в понятный
русский?


на странице 117 многоуважаемый Leagnus выкладывал функцию OemToChar, которая корректно переводит русский язык
Автор: sproxy
Дата сообщения: 03.12.2008 22:16
Nikkorot, спасибо.

а про /k, в описание Макро для папок,
Макро @ComSpec, и с ним же пример: Run(@ComSpec & " /k help | more")
вот и думаю зачем же здесь /k, а там /c....а тож наделаю ))
Автор: Maza_Faka
Дата сообщения: 04.12.2008 06:34
sproxy

Цитата:
вместо ключа /k стоит /c, в чем разница?

Вбей в консоль команду:

Код:
cmd /?
Автор: Zwook
Дата сообщения: 04.12.2008 10:05
Какой-то бред... может кто-нибудь сможет обьяснить, что тут не так?


Код:
Global $CombBox
Global $Var
Global $Drag

Func Declare1()
$CombBox = MouseGetPos()
sleep(200)
$Var = PixelGetColor($CombBox[0], $CombBox[1])
If IsArray($CombBox) and $Var > 0 Then
MsgBox(0, "Успех!", "Все прошло успешно ")
EndIf
EndFunc

Func Declare2()
$Drag = MouseGetPos()
If IsArray($Drag) Then
MsgBox(0, "Успех!:", "Все прошло успешно ")
EndIf
EndFunc

Func Main()
[длинный набор контролсендов]
$A = PixelSearch( $CombBox[0], $CombBox[1], $CombBox[0], $CombBox[1], Hex($Var, 6), 5 )
Until IsArray($A)
[Всякие разные действия]
If Not IsArray($B) Then
MouseClick("right", $Drag[0], $Drag[1], 1, 0)
EndIf
EndFunc
Автор: Maza_Faka
Дата сообщения: 04.12.2008 11:12
Zwook

Цитата:
Ведь я эти переменные обьявляю в функции Declare1 и Declare2, и проверка говорит о том, что они обьявленяы!

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

Код:
Global CombBox[1]
Автор: Zwook
Дата сообщения: 04.12.2008 11:44

Цитата:
Учи матчасть.


Я ведь обьявил их перед функциями глобально, думал, что изменения тоже будут глобальные. Ну спасибо тебе за ответ, все теперь работает! С каждым днем начинаю любить autoit больш и больше

Кстати вот ещё вопрос, у меня есть в скрипте команда SoundPlay, ну вот если попытатся выключить скрипт с помощью Exit, то скрипт выключится только тогда когда закончится звук. Есть идеи как этой обойти?
Автор: sproxy
Дата сообщения: 04.12.2008 13:28
Maza_Faka, Спасибо!!
...охххх, долго бы я штудировал бы матчасть, если бы не ваши ответы )))


Автор: Maza_Faka
Дата сообщения: 04.12.2008 13:47
Zwook

Цитата:
Я ведь обьявил их перед функциями глобально

Извини, не заметил

Цитата:

изменения тоже будут глобальные

Да ты прав. Наверное ты вызываешь функцию Main до того, как массиву $CombBox присваивается значение?

Код:
Global $aPos

_Declare()
_ShowResult()

Func _Declare()
    $aPos = MouseGetPos()
EndFunc

Func _ShowResult()
    MsgBox(0, "Mouse position", "X: " & $aPos[0] & @LF & _
         "Y: " & $aPos[1])
EndFunc
Автор: Zwook
Дата сообщения: 04.12.2008 14:02

Цитата:
Да ты прав. Наверное ты вызываешь функцию Main до того, как массиву $CombBox присваивается значение?


Мм нет, сначало я здаю значение переменным а потом уже main, вобщем это не важно теперь все работает
Автор: hunter19
Дата сообщения: 04.12.2008 15:03
sproxy:

Цитата:
читы в контре - это и есть консольные команды, т.е. это не из вне hl.exe
просто есть консольные команды, которые улучшаю, облегчают физику и т.д.
свойства игры, + прибавление денег и т.д. благ, скорее всего знаешь...

внешнее воздествие на hl.exe, на сколько видел - это текстуры, через которые видно
игроков, где бы они ни были на карте, но это уже не с консолью, а полное
внедрение в сам файл hl.exe который в памяти...

Например, аймбот. Врядли он будет использовать для этого консоль, чтобы автоматически автонаводится на голову. В консоле вроде нету таких команд, которые бы выводили позицию головы врага. Различные скрипты могут только дать преимущество над другими игроками с использованием консоли. Читы (не зря их так назвали) как-то по-другому обходятся. Думаю, надо в диссамеблере поразбираться, чтобы сделать нормальный проигрыватель. У меня готовый скрит на проигрывание, могу рассшарить, если хочешь. Только в нём еще кое что не реализовано то, что хотел.
Автор: sproxy
Дата сообщения: 04.12.2008 15:34
hunter19, в общем, с этим делевоперы ботов помогут на 100%.
конечно боты не через консоль работают - это отдельные програмки для контр.
в духе как плагины для винампа. поиши форумы по разработке ботов,
скорее всего есть....

а скрипт выкладывай, выкладывай....я хоть шпилю только в q3,
но кс демки интересно посмотреть...а уж сам скрип то ...))
Автор: VovanW
Дата сообщения: 04.12.2008 21:49
Подскажите, есть какой-нибудь способ как можно передать нажатие кнопки на сайт не открывая в браузере, например через это:

Код: $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
$oHTTP.Open("GET","http://какой-то.сайт/")
$oHTTP.Send()
$HTMLSource = $oHTTP.Responsetext
Автор: sproxy
Дата сообщения: 05.12.2008 00:08

Цитата:
Подскажите, есть какой-нибудь способ как можно передать нажатие кнопки на сайт не открывая в браузере


можно, пример из справки:

Код:
#include <IE.au3>
$oIE = _IE_Example ("form")
$oSubmit = _IEGetObjByName ($oIE, "submitExample")
_IEAction ($oSubmit, "click")
_IELoadWait ($oIE)
Автор: Nikkorot
Дата сообщения: 05.12.2008 05:45
сдесь выкладывали, несколько страниц назад, русский редактор SciTE с встроенной уже раскраской кода, правда я не пробовал работает это у него или нет.

Добавлено:
т.е. русифицированный.
Автор: Maza_Faka
Дата сообщения: 05.12.2008 06:33
Zwook

Цитата:
у меня есть в скрипте команда SoundPlay, ну вот если попытатся выключить скрипт с помощью Exit, то скрипт выключится только тогда когда закончится звук.

По умолчанию 2-ой параметр в функции SoundPlay установлен в 0, это означает, что скрипт не будет ждать окончания проигрывания файла, а продолжит работу.
Автор: hunter19
Дата сообщения: 05.12.2008 12:06
sproxy:

Цитата:
а скрипт выкладывай, выкладывай....я хоть шпилю только в q3,
но кс демки интересно посмотреть...а уж сам скрип то ...))

Впринципе вот плеер. Немного доделал его.
http://www.sendspace.com/file/n8nch3


Цитата:
в общем, с этим делевоперы ботов помогут на 100%.
конечно боты не через консоль работают - это отдельные програмки для контр.
в духе как плагины для винампа. поиши форумы по разработке ботов,
скорее всего есть....

Хз насчет их. Парой предложений вряд ли мне помогут. Если только исходник ботов дадут, и то маловероятно.
Что-нибудь придумаю
Автор: ViSiToR
Дата сообщения: 05.12.2008 14:18
Новая версия утилиты Au3ToPost 1.8!
(Архив включает откомпилированную версию).

Список изменении:


Цитата:
v1.8 [05.12.2008]
+ Добавлено распознавание стиля <t_2> - стиль отвечающий за блочный комментарии (#CS...#CE).
+ Добавлено распознавание стиля <t_13> - стиль отвечающий за т.н аббревиатуры, например при вводе cw.
+ Добавлена поддержка преобразования выделенной части кода.
+ Добавлена опция предпросмотра результата.
+ Добавлена опция "Поверх всех окон" в главном меню.

* Опять предотвращена высокая загрузка ЦП, на этот раз загрузка была при снятой птичке "Ввести код вручную".
* Теперь при выборе обрабатываемого файла будет осуществляться проверка на его существование
* Переделан метод использования горячих клавиш (меньше нагрузки на главный цикл).
* Также теперь проверка на ввод данных (путь к файлу обработки и поле с кодом) производится вне цикла (WM_COMMAND).
* Теперь путь к SciTE в первую очередь определяется относительно папке AutoIt.
* Изменён принцип работы быстрого режима. По нажатию на со-вующий пункт меню главное окно прячется в трей, и программа работает в тихом режиме (обработка либо по хоткей CTRL + SHIFT + A, либо из пункта меню иконки в трее.
* Исправлена потенциальная ошибка при интеграции в SciTE - путь к папке AutoIt неверный если скрипт откомпилирован.
* Поправки в отображений некоторых элементов интерфейса.
* Код немного переписан в соответствии с последней версией AutoIt (3.2.12.1). Для совместимости с более старыми версиями раскомментируйте строчки начинающиеся с ";~ ...".
* Размеры GUI теперь ограничены.
* орфографические поправки (в коде и в Readme файле).
* Косметические поправки в коде.
Автор: sproxy
Дата сообщения: 05.12.2008 15:00
ViSiToR, Спасибо!


Цитата:
сдесь выкладывали, несколько страниц назад, русский редактор SciTE с встроенной уже раскраской кода, правда я не пробовал работает это у него или нет.

на Autoit только в SciTE и кодю, в старенькой не русской версии и сууупер как нравиться. А ты в чем?

п.с.: а все, что под web, оооочень помогает notepad++.


Добавлено:

Цитата:

орфографические поправки (в коде и в Readme файле).
* Косметические поправки в коде


орфограифя очень нужная штука, сам часто так ошибаюсь ))
А вот косметические правки - хм....что же это? Порядок в расположении кнопочек?
Автор: ViSiToR
Дата сообщения: 05.12.2008 17:59
sproxy 16:00 05-12-2008
Цитата:
А ты в чем?

Это мне адресовано (цитата вроде не моя)? Я конечно же в SciTE пишу, подругому даже представить сложно .


Цитата:
все, что под web, оооочень помогает notepad++

Угу, а если что нибудь полегче, тогда рекомендую Notepad2, он у меня в системе вместо дефолтного Блокнота сидит


Цитата:
косметические правки - хм....что же это? Порядок в расположении кнопочек?

Это расположение/объявление переменных, их имена, комментарии у важных строк, и т.п. Вообщем чтобы легче код читался
Автор: NIKZZZZ
Дата сообщения: 05.12.2008 18:49
ViSiToR

Цитата:
Новая версия утилиты Au3ToPost 1.8!

На форумах , конечно , очень красиво. Но вот когда приходит письмо с подписки на данную тему, не очень красиво ( ). Интересно, можно ли решить эту проблему?
Автор: ViSiToR
Дата сообщения: 05.12.2008 19:54
NIKZZZZ 19:49 05-12-2008
Цитата:
Интересно, можно ли решить эту проблему?

Ну, думаю можно, но решать её не нам, т.к проблема на стороне руборда

P.S
Я почти никогда не читаю письмо о подписке, сразу иду на форум (одна из причин, это задержка таких уведомлении с этого форума, на самом деле на форуме больше сообщении чем пришло, вот кстати оповещание на почту о твоём посте ещё не пришло ).
Автор: APSTENU
Дата сообщения: 06.12.2008 04:18
Всем привет!
Подскажите плиз как проверить нажат ли четбокс в окне (не AuloIt окне) программы, например установщика?
Автор: Maza_Faka
Дата сообщения: 06.12.2008 05:47
APSTENU

Цитата:
проверить нажат ли четбокс в окне (не AuloIt окне) программы

Вроде бы обсуждалось неоднократно:

Код:
$iCheck = ControlCommand("title", "text", controlID, "IsChecked")
If $iCheck Then
    MsgBox(0, "State", "Checked")
Else
    MsgBox(0, "State", "Unchecked")
EndIf
Автор: NIKZZZZ
Дата сообщения: 06.12.2008 15:30
ViSiToR

Цитата:
Я почти никогда не читаю письмо о подписке, сразу иду на форум (одна из причин, это задержка таких уведомлении с этого форума, на самом деле на форуме больше сообщении чем пришло

Все верно. Но, были неоднократные случаи как-раз противоположные - уведомление раньше , чем сообщение на форуме.
Но не всегда сидишь за своим компом, прочитать почту - одно, а лазить по форумам - другое...
Sorry, за

Автор: gal7
Дата сообщения: 06.12.2008 20:36
Можно ли сделать чтобы диалоговое окно выбора файла(автоитовское) находилось поверх всех других окон? Например, для сообщений такое возможно.
Автор: NORIO
Дата сообщения: 06.12.2008 22:33
Нужно сделать такую вещь.
Запускаю файл изображения ентером или двойним кликом после этого должен запуститься скрипт и получить имя этого изображения.
Можно ли это сделать и как?
Автор: ViSiToR
Дата сообщения: 06.12.2008 23:22
NIKZZZZ 16:30 06-12-2008
Цитата:
были неоднократные случаи как-раз противоположные - уведомление раньше , чем сообщение на форуме

Имхо, это проблемы с отображением на стороне браузера (кеш и т.п.).

gal7 21:36 06-12-2008
Цитата:
Можно ли сделать чтобы диалоговое окно выбора файла(автоитовское) находилось поверх всех других окон?

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


Код: #include <GuiConstants.au3>

$hGUI = GUICreate("Test Script", 300, 200)

$OpeFile_Button = GUICtrlCreateButton("Open...", 20, 40, 60, 20)

GUISetState(@SW_SHOW, $hGUI)

While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case
$OpeFile_Button
WinSetOnTop($hGUI, "", 1)

Local $sSelected_File = FileOpenDialog("Open file...", "", "All (*.*)", 11, "", $hGUI)
If Not @error Then MsgBox(64, "FileOpenDialog", "Selected File: " & $sSelected_File, 0, $hGUI)

WinSetOnTop($hGUI, "", 0)
EndSwitch
WEnd
Автор: NORIO
Дата сообщения: 07.12.2008 00:28
ViSiToR
То что надо. Спасибо!

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192

Предыдущая тема: Quintura Search


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.