0

我有点像 MMORPG 游戏中的 GM。我们的工作是举报使用作弊的人并将他们送进监狱。但是离开那个监狱区并不难,所以我们必须一次又一次地送他们。我有一个很长的昵称列表(我有大约 400 个昵称要重复报告)所以真的很无聊。

我想问的是,我对AHK一无所知。如果这种宏是可能的,我会做一个长期的研究来创建那个宏。但如果这不可能,我什至不会尝试。

我需要的是;宏将按“enter”激活聊天模式。然后将写入“/report -cheaternickname-”并记住存在 400 多个昵称,所以我需要为不同的昵称重复宏。写完“/report -cheaternickname-”宏后会按回车键。然后会弹出一个小聊天框。宏将点击框,将写入报告原因,然后点击确认。然后会弹出另一个聊天框,说“您的报告已收到”。宏也会点击确认。并且会出于 400 多个不同的原因使用 400 多个昵称。这真的可以吗?只是想知道。不要求您创建此宏。如果你回答这个问题,我会尝试自己做:D

谢谢。

4

3 回答 3

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
于 2013-01-13T12:17:35.777 回答
0

基本上你正在尝试编写一个输入输入的脚本,然后是一个字符列表然后再次输入?

您可以做的非常简单的事情是创建一个 .txt 文件,其中包含您希望它键入的所有内容(不包括输入,除了行之间),并创建一个如下所示的宏:

#n::
Loop, Read, inputFile.txt
{
    Send {Enter}%A_LoopReadLine%{Enter}
}
return

基本上你运行宏并打开游戏到你可以开始输入回车,字符信息,回车,但按windows键和'n'键。然后,该宏将循环遍历“inputFile.txt”的每一行,并刺激输入一个回车、该行,然后再输入一个回车。

于 2013-01-17T03:57:38.953 回答
0

这是可能的。您可以创建两个 txt 文件,其中包含 +400 个用户名和 +400 个不同原因的列表。宏可以逐行读取,可以使所有东西,你想要的,超过400次。

您将需要此循环将行从 txt 文件写入数组,函数中的循环用于检查指定像素处的预期颜色PixelGetColor(http://www.autohotkey.com/docs/commands/PixelGetColor.htm)用于检测纽扣。您还可以使用PixelGetColor命令或 AutoIt3 Window Spy,它将与 autohotkey 一起安装以查看按钮的颜色。最后你可以从这里开始编码(http://www.autohotkey.com/docs/)。

PS。抱歉,网站不允许我使用超过 2 个超链接。

于 2013-01-13T17:09:29.843 回答