AdvMouse.inc

A forum for macro code snippets to be used in writing other macros. Post routines or .inc files here only, completed macros go to the Macro Depot. MQ2Data format only!

Moderator: MacroQuest Developers

Ccomp5950
a ghoul
a ghoul
Posts: 94
Joined: Mon Apr 18, 2005 8:40 am

AdvMouse.inc

Post by Ccomp5950 » Thu Oct 20, 2005 3:27 am

For help in refreshing abilities in MM and whenever everything else fails.

Records your MouseClicks and can play them back or can use them to refresh Abilities or CombatAbilities

Code: Select all

|----------------------------------------------------------------------
|AdvMouseClicker (For when all else fails or your trying to load skills
|----------------------------------------------------------------------
|
| INC by Ccomp5950
|
| Last Update 20 Oct 2005 0057(CST)
|
| Usage: /call RecordClick [Name of Record]
|            /call Clickit [Name of Record] [Left / Right] (Left or Right Click)
|            /call RefreshAbility [Name of Record], [Button Number to use (1-6)
|            /call RefreshCombat [Name of Record], [Button Number to use (1-4
|        
|  


#Event RecordClicker "[MQ2] RecordClick #1#"
#Event Clickiter "[MQ2] Clickit #1#, #2#"
#Event RefreshAbilityer "[MQ2] RefreshAbility #1#, #2#"
#Event RefreshCombater "[MQ2] RRefreshCombat #1#, #2#"

Sub RecordClick(string KeyName)
/echo Recording ${KeyName}
/echo Mouse's X Location: ${MacroQuest.MouseX}
/echo Mouse's Y Location: ${MacroQuest.MouseY}
/ini "Advmouse.ini" "${KeyName}" "MouseX" "${MacroQuest.MouseX}"
/ini "Advmouse.ini" "${KeyName}" "MouseY" "${MacroQuest.MouseY}"
}
/return

Sub ClickitYO(string KeyName,string HowClick)
/echo Clicking ${Ini[Advmouse,${KeyName},MouseX]} ${Ini[Advmouse,${KeyName},MouseY]} using ${HowClick}
/Click ${HowClick} ${Ini[Advmouse,${KeyName},MouseX]} ${Ini[Advmouse,${KeyName},MouseY]}
}
/return

Sub RefreshAbility(string KeyName,int AbilityNumber)
/Echo Refreshing Ability ${KeyName} in Ability Button ${AbilityNumber}
/declare AbilityB string local
/if (${AbilityNumber}==1) /varset AbilityB "AAP_FirstAbilityButton"
/if (${AbilityNumber}==2) /varset AbilityB "AAP_SecondAbilityButton"
/if (${AbilityNumber}==3) /varset AbilityB "AAP_ThirdAbilityButton"
/if (${AbilityNumber}==4) /varset AbilityB "AAP_FourthAbilityButton"
/if (${AbilityNumber}==5) /varset AbilityB "AAP_FifthAbilityButton"
/if (${AbilityNumber}==6) /varset AbilityB "AAP_SixthAbilityButton"
/keypress Ctrl+A
/notify ActionsAbilitiesPage ${AbilityB} rightmouseup
/Click Left ${Ini[Advmouse.ini,${KeyName},MouseX]} ${Ini[Advmouse.ini,${KeyName},MouseY]}
}
/return

Sub RefreshCombat(string KeyName,int AbilityNumber)
/Echo Refreshing Ability ${KeyName} in Ability Button ${AbilityNumber}
/declare AbilityB string local
/if (${AbilityNumber}==1) /varset AbilityB "AAP_FirstAbilityButton"
/if (${AbilityNumber}==2) /varset AbilityB "AAP_SecondAbilityButton"
/if (${AbilityNumber}==3) /varset AbilityB "AAP_ThirdAbilityButton"
/if (${AbilityNumber}==4) /varset AbilityB "AAP_FourthAbilityButton"
/keypress Ctrl+C
/notify ActionsCombatPage ${AbilityB} rightmouseup
/Click Left ${Ini[Advmouse.ini,${KeyName},MouseX]} ${Ini[Advmouse.ini,${KeyName},MouseY]}
}
/return

Sub Event_RecordClicker(blah,string Keyname)
/call RecordClick "${Keyname}"
/return

Sub Event_Clickiter(blah,string Keyname,string HowClick)
/call ClickitYO "${Keyname}" "${HowClick}"
/return

Sub Event_RefreshAbilityer(blah,string Keyname,int AbilityNumber)
/call RefreshAbility "${Keyname}" ${AbilityNumber}
/return


Sub Event_RefreshCombater(blah,string Keyname,int AbilityNumber)
/call RefreshCombat "${Keyname}" ${AbilityNumber}
/return
And the standalone Recorder.mac

Code: Select all

|----------------------------------------------------------------------
|AdvMouseClick Recorder (For when all else fails or your trying to load skills
|----------------------------------------------------------------------
|
| INC by Ccomp5950
|
| Last Update 20 Oct 2005 0057(CST)
|
| Usage: /Echo RecordClick [Name of Record]
|            /endmac (Exits)



#Event RecordClicker "[MQ2] RecordClick #1#"


#turbo 20
Sub Main
:BigLoop
/doevents
/delay 3s
/goto :BigLoop
/return

Sub Event_RecordClicker(blah,string KeyName)
/echo Recording ${KeyName}
/echo Mouse's X Location: ${MacroQuest.MouseX}
/echo Mouse's Y Location: ${MacroQuest.MouseY}
/ini "Advmouse.ini" "${KeyName}" "MouseX" "${MacroQuest.MouseX}"
/ini "Advmouse.ini" "${KeyName}" "MouseY" "${MacroQuest.MouseY}"
/return

NeXuS
a lesser mummy
a lesser mummy
Posts: 75
Joined: Thu Jun 23, 2005 9:25 pm

Post by NeXuS » Thu Oct 20, 2005 10:41 pm

This is a great start. Would love to see this expanded to record multiple clicks and have the clicks stored in ini. (Example)
This is a feature I liked in xylobot that I think is missing from
macroquest. It Would make Tradeskill scripts a breeze not to mention the other cool stuff you could do with this and advpath.

[Example]
1=Xmouse
1=Ymouse
1=left
2=Xmouse
2=Ymouse
2=right
3=Xmouse
3=Ymouse
3=left hold (for moving hotbuttons)

Is there any /if statement I can add
to only record the loc after a mouse button is clicked?

Ccomp5950
a ghoul
a ghoul
Posts: 94
Joined: Mon Apr 18, 2005 8:40 am

Post by Ccomp5950 » Fri Oct 21, 2005 12:31 am

I whipped this up in 30 minutes...I can look see what else I can do.