Page 1 of 1

AdvMouse.inc

Posted: Thu Oct 20, 2005 3:27 am
by Ccomp5950
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

Posted: Thu Oct 20, 2005 10:41 pm
by NeXuS
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?

Posted: Fri Oct 21, 2005 12:31 am
by Ccomp5950
I whipped this up in 30 minutes...I can look see what else I can do.