;Version 1.1
;Fixed a typo I left when loading the ini that would only show the first class loaded in the qui across all classes. My bad for me being lazy.
;Version 1.0
;First Release
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
IfNotExist, %A_ScriptDir%/SpamChat.ini
{
;Default Settings.
IniWrite, No, %A_ScriptDir%/SpamChat.ini, ClassChanger, FirstClassIsSet
IniWrite, 0, %A_ScriptDir%/SpamChat.ini, ClassChanger, FirstClassCoordsX
IniWrite, 0, %A_ScriptDir%/SpamChat.ini, ClassChanger, FirstClassCoordsY
IniWrite, No, %A_ScriptDir%/SpamChat.ini, ClassChanger, SecondClassIsSet
IniWrite, 0, %A_ScriptDir%/SpamChat.ini, ClassChanger, SecondClassCoordsX
IniWrite, 0, %A_ScriptDir%/SpamChat.ini, ClassChanger, SecondClassCoordsY
IniWrite, No, %A_ScriptDir%/SpamChat.ini, ClassChanger, ThirdClassIsSet
IniWrite, 0, %A_ScriptDir%/SpamChat.ini, ClassChanger, ThirdClassCoordsX
IniWrite, 0, %A_ScriptDir%/SpamChat.ini, ClassChanger, ThirdClassCoordsY
IniWrite, No, %A_ScriptDir%/SpamChat.ini, ClassChanger, FourthClassIsSet
IniWrite, 0, %A_ScriptDir%/SpamChat.ini, ClassChanger, FourthClassCoordsX
IniWrite, 0, %A_ScriptDir%/SpamChat.ini, ClassChanger, FourthClassCoordsY
} else {
IniRead, FirstIsSet, %A_ScriptDir%/SpamChat.ini, ClassChanger, FirstClassIsSet
IniRead, FirstXPos, %A_ScriptDir%/SpamChat.ini, ClassChanger, FirstClassCoordsX
IniRead, FirstYPos, %A_ScriptDir%/SpamChat.ini, ClassChanger, FirstClassCoordsY
FirstCoords = %FirstXPos%,%FirstYPos%
IniRead, SecondIsSet, %A_ScriptDir%/SpamChat.ini, ClassChanger, SecondClassIsSet
IniRead, SecondXPos, %A_ScriptDir%/SpamChat.ini, ClassChanger, SecondClassCoordsX
IniRead, SecondYPos, %A_ScriptDir%/SpamChat.ini, ClassChanger, SecondClassCoordsY
SecondCoords = %SecondXPos%,%SecondYPos%
IniRead, ThirdIsSet, %A_ScriptDir%/SpamChat.ini, ClassChanger, ThirdClassIsSet
IniRead, ThirdXPos, %A_ScriptDir%/SpamChat.ini, ClassChanger, ThirdClassCoordsX
IniRead, ThirdYPos, %A_ScriptDir%/SpamChat.ini, ClassChanger, ThirdClassCoordsY
ThirdCoords = %ThirdXPos%,%ThirdYPos%
IniRead, FourthIsSet, %A_ScriptDir%/SpamChat.ini, ClassChanger, FourthClassIsSet
IniRead, FourthXPos, %A_ScriptDir%/SpamChat.ini, ClassChanger, FourthClassCoordsX
IniRead, FourthYPos, %A_ScriptDir%/SpamChat.ini, ClassChanger, FourthClassCoordsY
FourthCoords = %FourthXPos%,%FourthYPos%
}
Gui, Add, Text, x12 y9 w180 h20 , First Class
Gui, Add, Text, x12 y29 w80 h20 , Is it set?
Gui, Add, Text, x92 y29 w100 h20 vFirstSet , %FirstIsSet%
Gui, Add, Text, x12 y49 w80 h20 , Mouse Coords:
Gui, Add, Text, x92 y49 w100 h20 vFirstCoords, %FirstCoords%
Gui, Add, Button, x12 y69 w180 h20 gFirstClassReset, First Class Reset
Gui, Add, Text, x202 y9 w180 h20 , Second Class
Gui, Add, Text, x202 y29 w80 h20 , Is it set?
Gui, Add, Text, x282 y29 w100 h20 vSecondSet, %SecondIsSet%
Gui, Add, Text, x202 y49 w80 h20 , Mouse Coords:
Gui, Add, Text, x282 y49 w100 h20 vSecondCoords, %SecondCoords%
Gui, Add, Button, x202 y69 w180 h20 gSecondClassReset, Second Class Reset
Gui, Add, Text, x392 y9 w180 h20 , Third Class
Gui, Add, Text, x392 y29 w80 h20 , Is it set?
Gui, Add, Text, x472 y29 w100 h20 vThirdSet, %ThirdIsSet%
Gui, Add, Text, x392 y49 w80 h20 , Mouse Coords:
Gui, Add, Text, x472 y49 w100 h20 vThirdCoords, %ThirdCoords%
Gui, Add, Button, x392 y69 w180 h20 gThirdClassReset, Third Class Reset
Gui, Add, Text, x582 y9 w180 h20 , Fourth Class
Gui, Add, Text, x582 y29 w80 h20 , Is it set?
Gui, Add, Text, x662 y29 w100 h20 vFourthSet, %FourthIsSet%
Gui, Add, Text, x582 y49 w80 h20 , Mouse Coords:
Gui, Add, Text, x662 y49 w100 h20 vFourthCoords, %FourthCoords%
Gui, Add, Button, x582 y69 w180 h20 gFourthClassReset, Fourth Class Reset
Gui, Add, Text, x12 y99 w750 h60 , How to use?`nIn game Hit J then put your mouse over the Switch Icon. Hit F4`,F5`,F6 or F8. This will set the class to that hotkey. Just hit that key to switch. If you need to reset the coords. Just hold Shift and hit that hotkey or hit the Reset button under the class on the GUI. Also this will not work for classes that you have to scroll down for. To lazy to program the scroll for the knight sorry. Maybe I will do it later. Any other questions feel free to post on the
https://www.mpgh.net/ post.
Gui, Show, x272 y159 h163 w775, Quick Class Changer by Nipper
Return
;Hotkeys
F5::ClassChange("First")
+F5::
{
FirstClassReset:
ClassReset("First")
Return
}
F6::ClassChange("Second")
+F6::
{
SecondClassReset:
ClassReset("Second")
Return
}
F7::ClassChange("Third")
+F7::
{
ThirdClassReset:
ClassReset("Third")
Return
}
F8::ClassChange("Fourth")
+F8::
{
FourthClassReset:
ClassReset("Fourth")
Return
}
;F9::Reload
ClassChange(ClassNumber) {
;Check if the class is set in the Ini
IniRead, IsClassSet, %A_ScriptDir%/SpamChat.ini, ClassChanger, %ClassNumber%ClassIsSet
If IsClassSet = Yes
{
IniRead, XPos, %A_ScriptDir%/SpamChat.ini, ClassChanger, %ClassNumber%ClassCoordsX
IniRead, YPos, %A_ScriptDir%/SpamChat.ini, ClassChanger, %ClassNumber%ClassCoordsY
ToolTipDisplay("Changing Class")
BlockInput, on
Send j
Sleep 400
MouseClick, Left, %XPos%, %YPos%
BlockInput, off
} else
{
MouseGetPos, XPos, YPos
MouseCoords = %XPos%,%YPos%
IniWrite, Yes, %A_ScriptDir%/SpamChat.ini, ClassChanger, %ClassNumber%ClassIsSet
IniWrite, %XPos%, %A_ScriptDir%/SpamChat.ini, ClassChanger, %ClassNumber%ClassCoordsX
IniWrite, %YPos%, %A_ScriptDir%/SpamChat.ini, ClassChanger, %ClassNumber%ClassCoordsY
GuiControl,, %ClassNumber%Set, Yes
GuiControl,, %ClassNumber%Coords, %MouseCoords%
ToolTipDisplay(ClassNumber . " Class is not set setting now.`nCoords: " . MouseCoords)
}
return
}
ClassReset(ClassNumber) {
;Check if the class is set in the Ini
IniRead, IsClassSet, %A_ScriptDir%/SpamChat.ini, ClassChanger, %ClassNumber%ClassIsSet
If IsClassSet = Yes
{
ToolTipDisplay("Resetting " . ClassNumber . " Class")
ClassCoords = 0,0
IniWrite, No, %A_ScriptDir%/SpamChat.ini, ClassChanger, %ClassNumber%ClassIsSet
IniWrite, 0, %A_ScriptDir%/SpamChat.ini, ClassChanger, %ClassNumber%ClassCoordsX
IniWrite, 0, %A_ScriptDir%/SpamChat.ini, ClassChanger, %ClassNumber%ClassCoordsY
GuiControl,, %ClassNumber%Set, No
MouseCoords = 0,0
GuiControl,, %ClassNumber%Coords, %MouseCoords%
} else
{
ToolTipDisplay("Class was not set nothing to reset.")
}
return
}
ToolTipDisplay(Message) {
ToolTip, %Message%
SetTimer, RemoveToolTip, 5000
return
}
RemoveToolTip:
SetTimer, RemoveToolTip, Off
ToolTip
return
GuiClose:
ExitApp