Здравствуйте, гость ( Вход | Регистрация )

17 страниц V « < 4 5 6 7 8 > »   
Тема закрытаОткрыть новую тему
> Где ошибка? Пишите у кого мелкие вопросы, сюда!
bumer
сообщение 24.9.2012, 19:02
Сообщение #101


****

Apprentice
Сообщений: 167
Регистрация: 2.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 14.998



Играю в игру WoW, понадобилось мне как то автоматизировать прожатие клавиш, но не просто тупое долбление а с минимальной логикой и если нет цели... то авто стоп прожатие клавиш. Чтоб моно было початится (IMG:style_emoticons/default/smile.gif)
В общем есть задумка а умения грамотно составить скрипт нет, опешу тут свою идею... и надеюсь что получится довести до ума..
Есть коротенький скрипты с проверкой на одну картинку и если есть соответствие прожатие
Код

set #handleWin findwindow (World of Warcraft) // найти окно вов
set workwindow #handleWin
set $a findcolor (260, 696 265, 699 1 1 (6866887-7701385) %arr 2) // условие
if $a > 0 //проверка выполнения условия
send 1
wait 4s
end_if

таких кусков может быть несколько, ну для меня достаточно 6 кнопок (IMG:style_emoticons/default/smile.gif)
Но вот проблема мне нужно чтоб эти скрипты управлялись еще одним, чтоб он их запускал а останавливались они сами после исполнения. Помогите пожалуйста! (IMG:style_emoticons/default/unsure.gif)
Прикрепленное изображение
Скрипт управления другими 6 скриптами?
Прикрепленное изображение
К примеру вот 6ть первых кнопок , на картинках нумерация
Прикрепленное изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 24.9.2012, 19:48
Сообщение #102


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



см.команды start_script, stop_script


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 24.9.2012, 20:03
Сообщение #103


***********

Модератор UOPilot
Сообщений: 9.765
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29991
Пользователь №: 11.279



Так критична скорость обновления? Что мешает сделать простой столбик?

set $a findcolor

while $a > 0
if
...
end_if
if
...
end_if
if
...
end_if
set $a findcolor
end_if

Вообще вовка мечта для пилотера. Там столько сказочных вещей в паре с API его можно сделать.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____

Контакт актуален, подпись актуальна.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
bumer
сообщение 24.9.2012, 20:31
Сообщение #104


****

Apprentice
Сообщений: 167
Регистрация: 2.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 14.998



Цитата(DarkMaster @ 24.9.2012, 20:03) *

Так критична скорость обновления? Что мешает сделать простой столбик?

set $a findcolor

while $a > 0
if
...
end_if
if
...
end_if
if
...
end_if
set $a findcolor
end_if

Вообще вовка мечта для пилотера. Там столько сказочных вещей в паре с API его можно сделать.


К сожалению пришлось отказаться от такого подхода, так как есть две вещи препятствующие этому.
1 Это ротация не статична, нужно жать для большого ДПС правильную последовательность активных кнопок и особо которые в крите подсвечены.
2 Разный ( значительный) временной интервал но очень важных усиливающих бафов.
Как пример приведу
Цитата

set #handleWin findwindow (World of Warcraft) // найти окно вов
set workwindow #handleWin
set $a findcolor (30, 60 33, 63 1 1 (14999781-13424346) %arr 2) // условие
if $a > 0 //проверка выполнения условия
send 1
wait 200
send 2
wait 200
send 3
wait 300
send 4
wait 1500
send 1
wait 200
send 5
wait 200
send 4
wait 1500
send {f1}
wait 20
end_if

Часто прожатия проходят не оптимальный момент времени, иногда просто на не активны... много сообщений об ошибочном нажатии кнопки. Нужно более разумный подход.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 24.9.2012, 20:43
Сообщение #105


***********

Модератор UOPilot
Сообщений: 9.765
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29991
Пользователь №: 11.279



Цитата
1 Это ротация не статична, нужно жать для большого ДПС правильную последовательность активных кнопок и особо которые в крите подсвечены.

Это решается простыми ифами, на крайняк флагами.
Цитата
2 Разный ( значительный) временной интервал но очень важных усиливающих бафов.

На самом деле это и есть разумный подход. Вы все равно в 1 момент не будете жать две кнопки, поэтому линейность скорее плюс.

Посмотрите второй вариант тут https://forum.uokit.com/index.php?showtopic=22175
Я бы делал именно так. Если ну уж совсем никак не хочется делать столбик, то сделайте подпрограммы и вызывайте уже их. Несколько вкладок, которые будут очень часто останавливаться и возобновляться верный шаг к проблемам. Есть у пилота грешок с подобными действиями. Да и смысла тут раскидывать по вкладками никакого, если честно.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____

Контакт актуален, подпись актуальна.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
bumer
сообщение 25.9.2012, 20:46
Сообщение #106


****

Apprentice
Сообщений: 167
Регистрация: 2.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 14.998



Ну в принципе воспользовался данным советом о простой линейной структуре, она проще и ифами действительно получилось избегать ошибочных пожатий. Но к сожалению топ ДПС этим методом выжить у меня не получилось.
Допиливал вот до такой структуры:
Цитата

set linedelay 1 // энтервал
set #handleWin findwindow (World of Warcraft) // найти окно вов
set workwindow #handleWin
set $s findcolor // проверка на бой
while $s > 0

set $a findcolor // проверяется кнопка на активность
while $a > 0
send 1
wait 1600
end_if

...

set $d findcolor
while $d > 0
send 6
wait 1600
end_if

end_if



Не как не могу сообразить как бы половчее попробовать всеж использовать команды start_script, stop_script есть призрачная надежда улучшить показатели ДПС хоть чуть чуть...

Цитата

в начале скрипта напишите
set linedelay 1

ок
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 25.9.2012, 20:56
Сообщение #107


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



в начале скрипта напишите
set linedelay 1


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 25.9.2012, 21:40
Сообщение #108


***********

Модератор UOPilot
Сообщений: 9.765
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29991
Пользователь №: 11.279



В каком месте не хватает производительности?
Так же выключите отображение хода скрипта.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____

Контакт актуален, подпись актуальна.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
bumer
сообщение 28.9.2012, 15:01
Сообщение #109


****

Apprentice
Сообщений: 167
Регистрация: 2.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 14.998



Цитата(DarkMaster @ 25.9.2012, 21:40) *

В каком месте не хватает производительности?
Так же выключите отображение хода скрипта.

В общем дело обстоит так, ручками тыча мне удается выжить 17к, оптимизируя скриптом 21к ДПС а вот платной прогой аж 30к выжимает и это все одним и тем же персонажем, одни и те же спелы только дело в оптимизации прожатий и минимизации простоях КД.
Слишком разительна разница, вод и мои душевные муки... А как отключить отображение хода скрипта, может это как то повлиять на ДПС.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 28.9.2012, 16:37
Сообщение #110


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



В меню настроек пилота птичку снять


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
EL-GReeN
сообщение 28.9.2012, 19:37
Сообщение #111


*****

Journeyman
Сообщений: 474
Регистрация: 18.7.2011
Группа: Пользователи
Наличность: 0
Из: Россия
Пользователь №: 13.815
Возраст: 32



Цитата(bumer @ 28.9.2012, 16:01) *

В общем дело обстоит так, ручками тыча мне удается выжить 17к, оптимизируя скриптом 21к ДПС а вот платной прогой аж 30к выжимает и это все одним и тем же персонажем, одни и те же спелы только дело в оптимизации прожатий и минимизации простоях КД.
Слишком разительна разница, вод и мои душевные муки... А как отключить отображение хода скрипта, может это как то повлиять на ДПС.

Если задачу осознать в общем трудно можно ее записать построчно, то есть на каждую строку действие + состояние всех кулдаунов, эффектов и прочего что там есть, когда будет готов этот идеальный список действий по нему можно писать скрипт, в общем алгоритм нужен на эти 30к дмг.
пс
ДПС - damage per second


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 28.9.2012, 19:39
Сообщение #112


***********

Модератор UOPilot
Сообщений: 9.765
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29991
Пользователь №: 11.279



я бы вообще посоветовал поступить очень хитро, но придется повозиться. Посколько вов имеет очень обширный открытый api, в том числе с возможностью рисовать гуй, то было бы логичным следующее:
1) http://www.wowwiki.com/API
2) http://www.wowwiki.com/Events_A-Z_%28Full_List%29
3) Набрасываем аддончик, который будет у нас детектить откаты скилов.
4) Прикручиваем гуй в виде простых цветных прямоугольничков, которые будут менять цвет при (не)доступности скила.
5) Пилот ориентируясь по прямоугольникам протыкивает скилы.

Вариант второй. Берем полоску своего кастинг бара, делаем реакцию пилота на завершение каста. Вов позволяет нажать скил ДО окончания каста и он будет скастован. Что-то вроде очереди. Возможно будут небольшие проблемы с инстантами, если они есть.

Вариант третий. Флудим следующий каст во время предыдущего каста. Флудим жестко. Каст все равно не прервется.


Смотрим в другую сторону. В чем разница действий? Возможно сам алгоритм castsequens'а немного иной. Порядок скилов точно аналогичен? Я бы очень посоветовал просто сесть и посмотреть в чем разница поведения чара. Такую огромную разницу в дпсе на одних задержках схватить не реально.


// Варианты 2 и 3 выдадут бОльший дпс, вариант 1 очень удобен в работе и гибок.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____

Контакт актуален, подпись актуальна.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
bumer
сообщение 30.9.2012, 10:55
Сообщение #113


****

Apprentice
Сообщений: 167
Регистрация: 2.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 14.998



В игре WoW вели рамдом поиск и создание групп для совместного прохождение "подземелий". Так вот очень досаждает что у меня окошко приглашения выходит и ожидает моего потверже ровно 30 секунд, при том ждать приходится совершенно разное время, от 10 до 30 минут, не подтвердить или проглядел то выкидывает из очереди и опять надо ждать 30 минут. Все время седеть и пялится в экран просто не реально, можно ли сделать реакцию в скрипте, чтоб при появлении окна приглашения, пожималась кнопка мышкой о моем согласии и проигрывалась мелодия, чтоб я подошол к компу?
Ну начала скрипта обычная, находим око с игрой:
Цитата

set linedelay 1 // энтервал
set #handleWin findwindow (World of Warcraft) // найти окно вов
set workwindow #handleWin
set $a findcolor // проверяется окно приглашения
if $a > 0
Left 430, 471 // тычек мышкой по кнопке
alarm
wait 1000
alarm // а вот тут какая то функция для проигрывания мп3 файла, как сделать не знаю!
end_if

вот такое окошко с приглашением.
Прикрепленное изображение
а это око ожидания (IMG:style_emoticons/default/blink.gif)
Прикрепленное изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 30.9.2012, 11:46
Сообщение #114


***********

Модератор UOPilot
Сообщений: 9.765
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29991
Пользователь №: 11.279



Финдколор заменить на if в нескольких точках. Вместо мп3 используй wave и команду alarm.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____

Контакт актуален, подпись актуальна.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
bumer
сообщение 30.9.2012, 15:59
Сообщение #115


****

Apprentice
Сообщений: 167
Регистрация: 2.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 14.998



Цитата(DarkMaster @ 30.9.2012, 11:46) *

Финдколор заменить на if в нескольких точках. Вместо мп3 используй wave и команду alarm.

Как ещё можно воспроизвести звук из файла, на команду alarm комп молчит, пробовал и в корень с пилотом файл с звуком положить.. результата нет (IMG:style_emoticons/default/huh.gif)
При попытки запуске просто:
Цитата

alarm player.wav
end_script

Вылазит окошка пилота "Клиент мертв"
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 30.9.2012, 19:17
Сообщение #116


***********

Модератор UOPilot
Сообщений: 9.765
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29991
Пользователь №: 11.279



сними галку "при закрытии клиента приостанавливать скрипт".


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____

Контакт актуален, подпись актуальна.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
bumer
сообщение 30.9.2012, 20:03
Сообщение #117


****

Apprentice
Сообщений: 167
Регистрация: 2.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 14.998



Цитата(DarkMaster @ 30.9.2012, 19:17) *

сними галку "при закрытии клиента приостанавливать скрипт".

Запустил "винамп" у него есть горячие клавиши, настроил что при нажатие одновременно трех проигрывается звуковой файл. Теперь только надо понять как сделать чтоб пилот прожимал сочитане 3х клавиш (IMG:style_emoticons/default/blink.gif)
Цитата

sendex {Ctrl}{Alt}{Insert}

почему то не работает, не нажимает одновременно все 3ри клавиши.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 30.9.2012, 20:56
Сообщение #118


***********

Модератор UOPilot
Сообщений: 9.765
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29991
Пользователь №: 11.279



зачем вы страдаете этим маразмом?
alarm
или
alarm имя_файла

.wav писать не надо.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____

Контакт актуален, подпись актуальна.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
bumer
сообщение 30.9.2012, 21:25
Сообщение #119


****

Apprentice
Сообщений: 167
Регистрация: 2.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 14.998



Цитата(DarkMaster @ 30.9.2012, 20:56) *

зачем вы страдаете этим маразмом?
alarm
или
alarm имя_файла

.wav писать не надо.

не работает alarm у меня, даже через батник exec не выполняется, всё это просто удалено с ОС
Поэтому я просто применил
Цитата

sendex ^@m
end_script

+ 1. player - Winamp
и у меня винамп в нужный момент стал проигрывать мелодию (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Baboon
сообщение 2.10.2012, 11:19
Сообщение #120


*

Registred
Сообщений: 6
Регистрация: 2.10.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.343



что делаю не так?
строчка:
Цитата
sendex @{End}

по идеи должна выделить всю строку в блокноте, но вместо этого курсор просто перемещается в конец строки. подскажите, что делаю не так.
команды:
Цитата
sendex ^{v}
sendex ^{с}

работают прекрасно.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

17 страниц V « < 4 5 6 7 8 > » 
Тема закрытаОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 24.10.2025, 20:09
Designed by Nickostyle