1

Тема: AHK: The Sims 3 - проблемы с управлением камеры.

;-----Для SIMS 3
;--------------------------------1
#IfWinActive ,The Sims™ 3,
SetTitleMatchMode, 2

;--------------------------------2
Enter::
MouseClick, right, 20, 910
MouseMove, 620, 475

;--------------------------------3
;Sleep 1000  
;SendPlay {NumpadAdd}
;-----Для SIMS 3
Exit

Секция 1 и 2 работает нормально, а вот 3-я не хочет. В 3-ей должно происходить приближение камеры по Num + или по WheelUp.

Пробовал много вариантов - эффект нулевой.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

2 (изменено: creature.ws, 2012-02-15 18:29:11)

Re: AHK: The Sims 3 - проблемы с управлением камеры.

А какие варианты пробовали? Перебирать испробованное не хотелось бы
SendPlay не работает на win7, возможно игра ожидает длительного нажатия, возможно игра игнорирует эмуляцию нажатий клавиш клавиатуры.

3 (изменено: Indomito, 2012-02-15 19:40:44)

Re: AHK: The Sims 3 - проблемы с управлением камеры.

Пробывал...

Send {NumpadAdd 4}

и

MouseClick, WheelUp

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

P.S. OS Win 7 Ult SP1 x64

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

4 (изменено: Indomito, 2012-02-15 21:07:47)

Re: AHK: The Sims 3 - проблемы с управлением камеры.

Написал, вот так -

;-----Для SIMS 3
#IfWinActive ,The Sims™ 3,
SetTitleMatchMode, 2
Enter::
MouseClick, right, 20, 910
MouseMove, 620, 475
Sleep, 500
MouseClick, WheelUp, , , 6
;-----Для SIMS 3

работает.... странно, т.к. раньше не срабатывало.

Проблему решил, тему можно закрывать.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

5

Re: AHK: The Sims 3 - проблемы с управлением камеры.

Indomito пишет:
;-----Для SIMS 3
;--------------------------------1
#IfWinActive ,The Sims™ 3,
SetTitleMatchMode, 2

;--------------------------------2
Enter::
MouseClick, right, 20, 910
MouseMove, 620, 475

;--------------------------------3
;Sleep 1000  
;SendPlay {NumpadAdd}
;-----Для SIMS 3
Exit

Секция 1 и 2 работает нормально, а вот 3-я не хочет. В 3-ей должно происходить приближение камеры по Num + или по WheelUp.

Пробовал много вариантов - эффект нулевой.

а как у тебя будет работать 3-й пункт, если он полностью как коммент сделан?

6

Re: AHK: The Sims 3 - проблемы с управлением камеры.

Мпэт ну я думаю что тут все знакомы с языком AHK, так что было понятно что комменты были поставлены специально.
Вот работающий код

;--Для SIMS 3
;-----BEGIN 

#IfWinActive ,The Sims™ 3,
SetTitleMatchMode, 2

ESC::
LShift & ESC::
Send {F5}
exit

RShift & Enter::
Tab::
Send {n}
Enter::
MouseClick, right, 20, 910
MouseMove, 620, 475
Sleep, 700
MouseClick, WheelUp, , , 6
exit

;-----END

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

7 (изменено: Indomito, 2012-02-20 02:35:26)

Re: AHK: The Sims 3 - проблемы с управлением камеры.

В продолжении, но по другой игре

;-----BEGIN--Для SIMS 3 
#IfWinActive ,The Sims™ 3,
SetTitleMatchMode, 2

ESC::
LShift & ESC::
Send {F5}
exit

RShift & Enter::
Tab::
Send {n}
Enter::
MouseClick, right, 20, 910
MouseMove, 620, 475
Sleep, 700
MouseClick, WheelUp, , , 6
exit
;-----END--Для SIMS 3

;-----BEGIN--Для Dragon Age 
#IfWinActive ,Dragon Age: Начало,
SetTitleMatchMode, 2
Numpad0::
send {Up down}
send {Enter down}
MouseClick, right, , , , , D
;-----END Для Dragon Age

Как сделать в блоке -----BEGIN--Для Dragon Age / -----END Для Dragon Age что бы при удержании отрабатывался блок посылки нажатия на UP, ENTER и ПКМ, а отпускании была посылка отжатия UP, ENTER и ПКМ.
Просмотрел весь FAQ и не увидел аналога (я про справку, да и про форум)

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

P.S. Использовать доп. клавишу для посылки отжатия не хотелось бы.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

8

Re: AHK: The Sims 3 - проблемы с управлением камеры.

Numpad0::
   Send, {Up Down}{Enter Down}{RButton Down}
   KeyWait, Numpad0
   Send, {Up Up}{Enter Up}{RButton Up}
   Return

9 (изменено: Indomito, 2012-02-20 03:28:02)

Re: AHK: The Sims 3 - проблемы с управлением камеры.

Grey спасибо, все отлично работает, а вот если написать так... это будет корректно?

;-----BEGIN--Для Dragon Age 
#IfWinActive ,Dragon Age: Начало,
SetTitleMatchMode, 2
RShift::
Numpad0::
Send, {Up Down}{Enter Down}{RButton Down}
KeyWait, RShift
KeyWait, Numpad0
Send, {Up Up}{Enter Up}{RButton Up}
exit
;-----END Для Dragon Age

я про RShift ? Проверил - работает, но мало ли есть "подводные камни"... т.е.  OR сработает для KeyWait ?

P.S. Я не про двойное удержание, а про то что бы было две клавиши, так сказать на выбор... просто я пишу не для себя.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

10

Re: AHK: The Sims 3 - проблемы с управлением камеры.

RShift::
vk2D::
Numpad0::
   Send, {Up Down}{Enter Down}{RButton Down}
   KeyWait, % A_ThisHotkey
   Send, {Up Up}{Enter Up}{RButton Up}
   Return

11 (изменено: Indomito, 2012-02-20 04:32:03)

Re: AHK: The Sims 3 - проблемы с управлением камеры.

Grey пишет:
RShift::
vk2D:: <------------------------------
Numpad0::
   Send, {Up Down}{Enter Down}{RButton Down}
   KeyWait, % A_ThisHotkey <------------------------------
   Send, {Up Up}{Enter Up}{RButton Up}
   Return

а можно пояснить отмеченные строчки? Просто я не очень понял.

Так... поторопился немного

{vkXX} Посылает нажатие, которое имеет код виртуальной клавиши XX

но всё равно не очень понятно... а если три клавиши с одной так сказать функцией?

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

12

Re: AHK: The Sims 3 - проблемы с управлением камеры.

vk2D - виртуальнй код клавиши ноль/инсерт на цифровой клавиатуре, добавил сюда, для того, чтобы состояние NumLock'а не влияло
на хоткей, A_ThisHotkey - встроенная переменная.

13

Re: AHK: The Sims 3 - проблемы с управлением камеры.

А теперь понятно, а я подумал про другое - спасибо за пояснение.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

14

Re: AHK: The Sims 3 - проблемы с управлением камеры.

Indomito пишет:

...а если три клавиши с одной так сказать функцией?

Не проблема, правда тут сама функция несколько другая, но принцип оформления подобных ситуаций понять можно.

15

Re: AHK: The Sims 3 - проблемы с управлением камеры.

Да, понятно. Тогда ещё один вопросик где/чем получить vk-коды? Через функцию Windows Spy или есть готовая таблица?

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

16

Re: AHK: The Sims 3 - проблемы с управлением камеры.

Indomito пишет:

...где/чем получить vk-коды?

AHK: Определение виртуальных и скан-кодов клавиатуры

17 (изменено: Indomito, 2012-02-20 05:13:23)

Re: AHK: The Sims 3 - проблемы с управлением камеры.

И я надеюсь последний мой вопрос - про иконки в трее.

A_IconFile Если с помощью команды Menu, tray, icon задана пользовательская иконка скрипта в трее, здесь содержится полный путь и имя файла иконки. Иначе - пусто.
A_IconNumber Если переменная A_IconFile имеет пустое значение - пусто. Иначе - количество иконок в переменной A_IconFile (обычно 1).

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

Подскажи если не сложно, т.е. пример или линк.

P.S. Только не очень "навороченный" скрипт, а то я буду полгода его разбирать

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

18

Re: AHK: The Sims 3 - проблемы с управлением камеры.

Indomito пишет:

...мой вопрос - про иконки в трее.

Создайте отдельную тему для своего вопроса.

19

Re: AHK: The Sims 3 - проблемы с управлением камеры.

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

Другой вопрос по теме.

ESC::
LShift & ESC::
Send {F5}
exit
 
RShift & Enter::
Tab::
Send {n}
Enter::
MouseClick, right, 20, 910 <----------------------------------
MouseMove, 620, 475 <----------------------------------
Sleep, 700
MouseClick, WheelUp, , , 6
exit
;-----END--Для SIMS 3

В отмеченных строчках используются абс. координаты при разрешении 2048х1024 (полноэкранный режим)
Правильнее использовать, т.е. отталкиваться от A_GuiWidth и A_GuiHeight или же использовать другой подход к вычислению координат для позиционирования курсора?
Вопрос возник из за того что мониторы то разные, как и разрешение.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

20

Re: AHK: The Sims 3 - проблемы с управлением камеры.

Indomito пишет:

Правильнее использовать, т.е. отталкиваться от A_GuiWidth и A_GuiHeight...

Эти встроенные переменные вообще тут не причём.

Indomito пишет:

...мониторы то разные, как и разрешение.

A_ScreenWidth подойдёт для решения данной задачи. Вычислите координаты для команд MouseClick и MouseMove при каждом разрешении, и присвойте переменным:

SetTitleMatchMode, 2
If A_ScreenWidth=2048
   ClickX:=20, ClickY:=910, MoveX:=620, MoveY:=475
Else
   ClickX:=..., ClickY:=..., MoveX:=..., MoveY:=... ; сюда
; вписываем вымеренные координаты при другом разрешении

#If WinActive("The Sims™ 3")
ESC::
LShift & ESC::Send, {F5}

RShift & Enter::
Tab::
   Send, {vk4E} ; n
Enter::
   MouseClick, R, ClickX, ClickY
   MouseMove, MoveX, MoveY
   Sleep, 700
   MouseClick, WU,,, 6
   Return

#If WinActive("Dragon Age: Начало")
RShift::
vk2D::
Numpad0::
   Send, {Up Down}{Enter Down}{RButton Down}
   KeyWait, % A_ThisHotkey
   Send, {Up Up}{Enter Up}{RButton Up}
   Return

21 (изменено: Indomito, 2012-02-21 04:08:51)

Re: AHK: The Sims 3 - проблемы с управлением камеры.

Спасибо за правку кода, всё понятно, но только один вопрос.
Почему в секции The Sims™ 3
строка MouseClick, WheelUp, , , 6 заменена на MouseClick, WU,,, 6 - это принципиально или для краткости?

P.S. В FAQ по AHK написано

Вращение колеса. Требует Windows NT/2000/XP. Возможные значения: WheelUp (или WU) - колесо вверх (от себя), WheelDown (WD) - колесо вниз.

т.е. WU краткая запись, других оговорок нет.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download