我在MMORPG游戏中就像一个GM。我们的工作是报告使用作弊并将其送入监狱的人。但离开监狱区并不是很难,所以我们必须一次又一次地发送它们。我有一个loooong昵称列表(我有大约400个昵称要重复报告)所以它真的很无聊。
我想问的是,我对AHK一无所知。如果这种宏是可能的,我会做一个很好的研究来创建那个宏。但如果不可能,我甚至都不会尝试。
我需要的是什么;宏将按“确定”以激活聊天模式。然后会写“/ report -cheater nickname-”并记住存在400多个昵称,所以我需要为不同的昵称重复宏。在写完“/ report -cheater nickname-”后,Macro将按回车键。然后会弹出一个小聊天框。宏将单击该框,将写入报告原因,然后单击确认。然后会弹出另一个聊天框,说出“收到您的报告”之类的内容。宏也会点击确认。并且会为400多个绰号做出400+不同的原因。这有可能吗?只是想知道。不要求你创建这个宏。如果你回答这个问题,我会尝试自己做:D
感谢。
答案 0 :(得分:0)
此脚本用于在Google上执行一系列搜索。搜索字符串存储在一个文本文件中并读入一个数组,然后根据按下{Tab}键(你可以自动重复)来逐个执行它们。
当脚本中断时,您可以再次启动它并给它一个(新的)起始编号,或者告诉它从1开始。
不完全是你想要的,但它给你很多起点。
#Persistent
#SingleInstance Force
#installKeybdHook
SetWorkingDir %A_ScriptDir%
TempDir = C:\Temp
Menu, Tray, Icon , %A_AhkPath%, 2, 1
TrayTip, JobSearch, Started, 1
SetTitleMatchMode, 2
TextCounter = 0
Return
+Launch_App1::
Run, Notepad %TempDir%\Google.txt
Return
Launch_App1:: ; vacatures Job Search
+CapsLock::
Restart:
MouseGetPos, XPos2, YPos2
XPos3 := 50
YPos3 := 100
IniRead, TextCounter, %TempDir%\GoogleCounter.ini, Counter, Nr
ArrayCount = 0
Loop, Read, %TempDir%\Google.txt ; This loop retrieves each line from the file, one at a time.
{
ArrayCount += 1 ; Keep track of how many items are in the array.
Array%ArrayCount% := A_LoopReadLine ; Store this line in the next array element.
}
MaxSearchCount = %ArrayCount%
TextCounter += 1
If (TextCounter > 1)
InputBox, TextCounter , Start, Number (1..%MaxSearchCount%),,,,,,,10,%TextCounter% ; InputBox, OutputVar [, Title, Prompt, HIDE, Width, Height, X, Y, Font, Timeout, Default]
TextCounter += 0
IniWrite, %TextCounter%, %TempDir%\GoogleCounter.ini, Counter, Nr
SearchText:=Array%TextCounter%
MouseClick, left
gosub, SendNewSearch
Return
;=======================================================================================================================================
Browser_Favorites:: ; Search for next Vacature string (Vacatures)
CapsLock::
If (TextCounter = 0) ; Restart with previous script if Textcounter is set to 0
{
GoSub, Restart
Exit
}
IniRead, TextCounter, %TempDir%\GoogleCounter.ini, Counter, Nr
TextCounter += 1
IniWrite, %TextCounter%, %TempDir%\GoogleCounter.ini, Counter, Nr
SearchText:=Array%TextCounter%
If (SearchText = "")
{
TextCounter := 0
IniWrite, %TextCounter%, %TempDir%\GoogleCounter.ini, Counter, Nr
Send, ^{F4}
SplashTextOff
ExitApp
}
Sleep, 200
Send, {Home 2}
Sleep, 700
Send, {WheelUp 10}
Sleep, 400
gosub, SendNewSearch
Exit
SendNewSearch:
MouseGetPos, XPos3 ,YPos3
SetTitleMatchMode, 2
IfWinActive, Chrome
{
while (A_Cursor = "AppStarting")
Sleep, 200 ; Continue
Sleep, 100
SplashTextOff
MouseClick, left, %XPos2%,%YPos2%
WinGetTitle, this_title, A
IfInString, this_title, Google
{
Send, {Home}+{End}{DEL}%SearchText%{Enter}
}
ToolTip, Waiting....
DisplayText = Nr%TextCounter% %SearchText%
Sleep, 500
SplashTextOn, 200, 0,%DisplayText%
WinMove, %DisplayText%, , 800, 25
ToolTip
;MouseMove,(50),(500)
MouseMove,%XPos3%,%YPos3%
ClipBoard = %SearchText%
}
Exit
Exit
+Browser_Favorites::
run, %TempDir%\Google.txt
Return
答案 1 :(得分:0)
有可能做到。您可以创建两个txt文件,其中包含+400个用户名和+400个不同原因的列表。宏可以逐个读取行,可以创建所需的所有内容,超过400次。
您需要this loop才能将来自txt文件的行写入数组,function中的循环用于使用PixelGetColor
检查指定像素的预期颜色(http:// www .autohotkey.com / docs / commands / PixelGetColor.htm)用于检测按钮。您还可以使用PixelGetColor
命令或AutoIt3 Window Spy(将随autohotkey一起安装)来查看按钮的颜色。最后,您可以从这里开始编码(http://www.autohotkey.com/docs/)。
PS。抱歉,网站不允许我使用超过2个超链接。
答案 2 :(得分:0)
基本上你是在尝试编写一个输入类型的脚本,然后再输入一个字符列表?
你可以做的非常简单的事情就是创建一个.txt文件,其中包含你想要输入的所有内容(不包括输入,除了行之间),并创建一个像这样的宏:
#n::
Loop, Read, inputFile.txt
{
Send {Enter}%A_LoopReadLine%{Enter}
}
return
基本上你运行宏并打开游戏,你可以开始输入输入,字符信息,输入,但按下Windows键和'n'键。然后宏将循环遍历'inputFile.txt'的每一行并激发输入一个输入,一行,然后输入。