[公告] 痞客邦新服務上線 每日星座運勢測算[公告] 痞客邦應用市集全新改版![公告] 痞客邦「應用市集」新 App 上架-iFontCloud Professional[公告] 痞客邦後台發表文章提供插入多張圖片新功能[公告]痞客邦新服務上線 部落客商店聚集就在《痞市集》
好康道相報
加入部落軌道,讓你的部落格有更多人知道 《按此加入》《使用心得
欲轉貼本站文章者,只要註明出處及網址即可,不需我同意了,謝謝您的配合
留悄悄話的網友請注意:如果您非痞客邦會員(包含使用FB/Google+帳號),是看不到回覆的喔

一提到可以設定鍵盤滑鼠動作的軟體,大家一定會想到按鍵精靈
雖然按鍵精靈的確是很好很強大
但是某些場合下就無法使用(比方說某某軟體禁止開啟按鍵精靈)
此外新版開始一段時間就會自動關閉
加上又有廣告,而且軟體有點肥大
如果只是要做簡單又固定的事情就不是很方便了
今天介紹的AutoHotKey這套軟體
就可以靠簡單的步驟達到連發的功能喔

官方下載頁

首先請下載AutoHotKey這套軟體,安裝檔只有1.95MB,比按鍵精靈小
安裝完後執行,右下角就會出現一個小小的H符號
在H符號按下右鍵,選擇 [Edit This Script] 這個選項
就會開啟記事本

ahk_1.png

把記事本的內容全部刪掉,將以下字樣填入進去
然後存檔關閉

~F3::suspend
$x::
        Loop
        {
                If Not GetKeyState("x", "P")
                Break
                Send {x Down}
                Sleep 100
                Send {x Up}
                Sleep 100
        }
Return

ahk_2.png

接下來在圖示按右鍵,選擇 [Reload This Script]
或是重新開啟AutoHotKey
從此以後只要按下x鍵不放,就會一直連打x鍵了
對於某些要狂按鍵盤的遊戲來說
有個連發腳本可以讓你的鍵盤壽命更持久喔

程式方面應該是不需要解說
可以將script中的x改成別的按鍵,例如改成s,就能按住s連發
或是將Sleep 100的數字改小,按鍵的頻率會加快
Sleep的時間單位為毫秒,因此100=0.1秒
F3代表按下時會暫停這個腳本執行,再按一次啟動

如果Caps Lock(大寫鎖定)為On的話,好像有可能發生操作錯亂的情形
發生這種情況的話請將Caps Lock改成Off
或是重開一次AutoHotKey即可解決

如果你是使用Vista,在軟體中按下x卻沒有連打,請不要緊張
可能是因為你執行的軟體是要有系統管理者權限的
但因為AutoHotKey沒有系統管理者權限,才會沒有作用
只要開啟AutoHotKey前按下右鍵,選擇 [以系統管理員身分開啟] 即可

AutoHotKey還有將腳本轉成exe執行檔的功能
能讓按鍵腳本在沒有裝AutoHotKey的電腦上執行喔


AutoHotKey由於全英文,加上編輯腳本必須使用程式自定的Script
不像按鍵精靈可以從指令中直接選擇
比較起來是有點難以上手
但以操作簡單、容量小、無廣告等優點來說
AutoHotKey還是有他的優點存在的
也難怪不少人用了

 

2013/4/22 補充:製作連發可執行檔

不知道為什麼打完後他自己消失了(囧),只好重打一次了

首先請在開始功能表,執行[Convert .ahk to .exe]

ahk_1

Source是你要轉換的AutoHotKey原始檔,預設會在Documents目錄下
Destination是你要儲存執行檔的位置跟檔名,請自行設定
Custom Icon是自訂圖示,一般用不到
Base File是程式的核心,使用(Default)即可

ahk_2

選完之後按下>Convert<,如果轉換成功就會出現以下訊息

ahk_3

之後直接執行檔案,在右下角的通知圖示列就會跑出來了
跟正式的AutoHotKey相比,他只有暫停Script的功能
另外對方的電腦完全不需要安裝AutoHotKey,直接執行即可

如果懶得自己做的話,也可以下載我產生的X鍵按住連發

ahk_4  

 

2013/4/22 補充:如何按下特定鍵開始連打特定按鍵,再按一次結束?

以下code有參考網路範例,功能是按下F9後開始連打x,再按一次F9結束

#MaxThreadsPerHotkey 2

$F9::

PressKey := ! PressKey

Loop
{
    If ! PressKey
        Break
    Send {x Down}
    Sleep 20
    Send {x Up}
    Sleep 20
}
Return

#MaxThreadsPerHotkey 1

 

2014/4/1 補充:

小修改腳本原文,增加F3暫停功能,將原本延遲0.02秒改成0.1秒
輸入再快,遊戲接收不到也沒用

 

2014/6/22 補充:如何按特定按鍵後在固定時間執行重複動作?

以下code有參考網路範例,功能是按下F2時開啟兩個計時器,每200秒按一次a鍵跟s鍵
按下F3時停止計時器
請自行修改成你需要的按鍵跟時間,例如要改成10秒就把200000改成10000(單位毫秒)

~F2::
{
    settimer, skill_1, 200000
    settimer, skill_2, 200000
    return
}
~F3::
{
    settimer, skill_1, off
    settimer, skill_2, off
    return
}

skill_1:
{
    Send {a Down}{a Up}
    return
}

skill_2:
{
    Send {s Down}{s Up}
    return
}

Posted by 蕭雲 at 痞客邦 PIXNET 留言(47) 引用(0) 人氣()


留言列表 (47)

Post Comment
  • 環保
  • H的圖標不見了.我不能設置連發.我把記事本的內容改成空白后.圖標就不見了.爲什麽呢>我用的是Windows 7 但我沒有隱藏圖標。重新下載也沒有用
  • 確定完全找不到嗎?
    工作管理員的"處理程序"裡面有autohotkey在執行嗎?

    蕭雲 replied in 2010/11/07 18:35

  • 環保
  • 完全找不到.處理程序那裡看不到有.我系統還原都用了.還是不行.謝謝你回覆我
  • 建議重新安裝一次AutoHotKey吧
    或是執行AutoHotKey時選用"系統管理員執行"
    我雖然沒有用過Win 7但有用Vista
    沒道理Win 7不行

    蕭雲 replied in 2010/11/08 18:26

  • 環保
  • 選用了.也重新安裝了.[Edit This Script]這個記事本的內容我刪除了.變了空白之後.才這樣
  • 重裝之後Script不會重新產生嗎?

    蕭雲 replied in 2010/12/04 01:30

  • 訪客
  • 我玩神諭之戰 設定好之後開啟著個程適 但是不能進入遊戲
    先進入遊戲在開啟程式 遊戲馬上斷線
    我是使用Vista 用系統管理員身分開啟
  • 或許是遊戲也有擋掉AutoHotKey吧
    這樣就沒法了

    蕭雲 replied in 2010/12/04 02:02

  • 訪客
  • 安安經過多次ㄉ測試 以經可以用了
    不過 要改成其他的按鍵 連射不能改
    不是說把X改成我要更換的按鍵 就可以了嗎 3個X多改了可是不行
    是哪錯了嗎
  • 要改連射的按鍵,要改四個部分...
    第一行、第四行、第六行、第八行
    我猜你忘了改啟動條件吧

    蕭雲 replied in 2010/12/04 02:04

  • bb
  • 請問全民打棒球能用嗎
  • 沒玩過這個遊戲呢,請自行測試吧

    蕭雲 replied in 2010/12/04 02:11

  • 訪客
  • 想問要是 鍵盤右手面的 數字鍵 要怎樣set??? set完都變成左手面的數字鍵了
  • 試試看Numpad0~Numpad9
    不是0~9喔
    比方說Numpad0就是右邊小鍵盤的數字0

    蕭雲 replied in 2010/12/10 02:43

  • 訪客
  • 請問怎麼讓Ctrl連按呢?
    我改成Ctrl或是^都不行
  • 請改成LCtrl或RCtrl

    蕭雲 replied in 2011/01/21 01:50

  • 可
  • 請問一下我要連發的按鍵是空白鍵那我應該怎麼改呢
  • 就改成Space啊

    蕭雲 replied in 2011/01/21 01:53

  • 訪客
  • 我能設定成 我要讓C連發 啟動條件是 LCTRL+C嗎?
  • 啟動條件要LCtrl+C的話
    把第一行的$x::改成^c::即可
    不過結束條件就得另外設定了

    蕭雲 replied in 2011/04/24 03:24

  • 訪客
  • 如果要讓C連發 啟動條件要改 Pagedown+c 那要如何設定呢 = =?
  • 通常組合鍵只有Ctrl Alt Shift
    要Pagedown+C的話
    我想應該是要自己寫條件判斷式吧
    比方說裡面寫入這樣
    If Not GetKeyState("c", "P") and Not GetKeyState("PgDn", "P")
    Break
    (註:我沒測試過,請自行修改)

    蕭雲 replied in 2011/05/01 03:52

  • 鬼
  • 如果我想把它改成F9
    $x::
    Loop
    {
    If Not GetKeyState("F9", "P")
    Break
    Send {F9 Down}
    Sleep 20
    Send {F9 Up}
    Sleep 20
    }
    Return
    請問這樣對嗎?
    如果是方向鍵的→又應該怎樣?
  • 不太對喔,第一行的$x::代表說按下x就會觸發以下的動作
    所以必須改成$F9::
    右方向鍵直接寫Right即可

    請參考以下網頁,有介紹大部分鍵盤按鍵在AutoHotKey的表示法
    http://xahlee.org/mswin/autohotkey_key_notations.html

    蕭雲 replied in 2011/07/05 20:06

  • 訪客
  • 如果要讓G連發 啟動條件是"按N一下" 要怎麼改呢?
    我想要讓N變成切換連發的開關
    就是按N一下 G連發;再按N一下 G取消連發
    不是N代替G連發
    我想過很多方法可是都不行ˊˋ
    請問這要怎麼解決呢??
  • 欸...我現在沒辦法測試,等我查到再來回答你,不好意思...

    蕭雲 replied in 2011/07/05 20:07

  • 訪客
  • 為什麼我設的按鍵進入遊戲後反而連案件原本的功能都沒了?
  • 這情況我沒遇過
    有可能是遊戲本身會禁止按鍵精靈等軟體侵入?
    建議試試看其他的按鍵軟體是不是有一樣情形

    蕭雲 replied in 2011/12/18 10:43

  • Private Comment
  • Micheal Scofield
  • 请问可否用hotkey来不断点击某一个网页的一个按钮?
    如果可以的话又是如何?
    可以帮帮忙教学一下是如何办到的吗?
  • 我對AutoHotKey的用法只有用在連發,所以我不確定能不能用AutoHotKey作
    不過如果只是要點擊固定的地方
    直接用按鍵精靈或隨便找一個連發軟體即可

    蕭雲 replied in 2012/07/17 01:44

  • 訪客
  • 請問簡大:你寫的連發.
    $Y::
    Loop
    {
    If Not GetKeyState("Y", "P")
    Break
    Send {Y Down}
    Sleep 20
    Send {Y Up}
    Sleep 20
    }
    Return

    此設定開始按鑑為Y.
    請問結束也是Y按一下鑑嗎?
    盼簡大能幫我解惑.先說聲謝囉!
  • 不是耶,只要把Y鍵放掉連發就結束了
    在第四行寫的
    If Not GetKeyState("Y", "P")
    Break
    意思就是如果沒有壓下Y鍵就中斷(break)這個迴圈(loop)

    蕭雲 replied in 2012/10/29 11:10

  • 風
  • 關於蕭大所提:AutoHotKey還有將腳本轉成exe執行檔的功能.
    能否請蕭大敎一下以目前1.1.09.04版本為例.大約講解最好附圖.
    先說聲謝囉~
  • 已經增加說明在原文囉

    蕭雲 replied in 2013/04/23 01:32

  • 洋
  • $F9::
    Loop
    {
    If Not GetKeyState("F9", "P")
    Break
    Send {x Down}
    Sleep 20
    Send {x Up}
    Sleep 20
    }
    Return

    蕭大:上面您寫的數據如我改成F9是觸發.要按著F9才能連發.
    請問如要改成只要按F9是開啟(再按一下也是關閉)x連發.不
    用手一直按著.可否指導修改哪. 先向您說聲謝謝!
    哪.
  • 已經增加補充在原文囉

    蕭雲 replied in 2013/04/23 01:57

  • 估
  • 請問怎麼讓AutoHotkey全部復原 因為數具有打錯 所以開不起來 右下方都沒有圖是出現 從安裝一樣不行
  • 你的意思是重安裝後仍然無法開啟AutoHotKey?
    沒有出現任何錯誤訊息嗎?

    蕭雲 replied in 2013/05/05 00:20

  • Jackwu
  • 我想要讓鍵盤右邊的數字鍵2變成發連發該如何使用?謝謝~
  • 前面的留言其實有提到了
    把指定的按鍵改成Numpad2就可以了

    蕭雲 replied in 2013/05/05 00:50

  • 訪客
  • 我想按s連發 是按著才會觸發 這樣寫對嗎
    $s::
    Loop
    {
    If Not GetKeyState("s", "P")
    Break
    Send {s Down}
    Sleep 20
    Send {s Up}
    Sleep 20
    }
    Return
  • 是的

    蕭雲 replied in 2013/06/08 00:47

  • 洋
  • 請問蕭大:底下Sleep 20(這單位是ms.還是啥單位).可否告知?
    先說聲謝囉.

    $x::
    Loop
    {
    If Not GetKeyState("x", "P")
    Break
    Send {x Down}
    Sleep 20
    Send {x Up}
    Sleep 20
    }
    Return
  • 沒錯,就是毫秒(ms),所以設定1000=1秒
    範例的20其實我設定的太小了,設定大一點對電腦比較沒負擔

    蕭雲 replied in 2013/07/07 15:57

  • 流浪喵
  • 請問蕭大,我用轉.exe的程式,轉出來的卻不是執行檔,是哪邊出問題呢?
  • 不好意思,這個問題太過籠統很難回答
    會不會是你的Destination副檔名沒有加上.exe?
    可以麻煩你對照一下截圖嗎?

    蕭雲 replied in 2013/08/07 09:39

  • XD
  • 請問可以設定案某個鍵後讓左邊的ctrl連發直到再按ㄧ次某鍵??
    很需要^^
    ...
  • 你可以看我4/22的補充
    然後把x改成LCtrl就可以了

    蕭雲 replied in 2013/08/07 09:56

  • 好吧
  • 我裝完之後開不到了...就是有個視窗彈出來有一推英文 完全看不懂- -|||
    小視窗內容:
    Error at line 12.

    Line Text: $a
    Error: Duplicate hotkey

    The program will exit
  • 訊息是說你在12行的地方重覆設定了執行熱鍵a
    能否把整個文件貼上來? 應是你指令沒有貼完整導致程式邏輯出錯

    蕭雲 replied in 2013/09/03 11:32

  • 好吧
  • 但是我不會把整個文件貼上來-.-||
    大大可以教我解決方法嗎
  • 右下角的AitoHotKey圖示按右鍵選擇Edit This Script
    然後把記事本上的所有文字都貼上來

    蕭雲 replied in 2013/09/05 08:02

  • ken32019 .
  • $x::
    Loop
    {
    If Not GetKeyState("x", "P")
    Break
    Send {x Down}
    Sleep 20
    Send {x Up}
    Sleep 20
    }
    Return ;
    $z::
    Loop
    {
    If Not GetKeyState("z", "P")
    Break
    Send {z Down}
    Sleep 20
    Send {z Up}
    Sleep 20
    }
    Return
    這是我的腳本你看有錯嗎
  • 我測試的結果可以正常執行

    蕭雲 replied in 2013/09/05 08:04

  • 訪客
  • 大大 我想問一下 啟動熱鍵的問題,假設我熱鍵設成e,我原先遊戲裡的e是一招技能,但是設成熱鍵後,e就會放不出技能,這有把辦法解決?? 簡單說 就是我想把e同時是熱鍵又同時可以發動原先遊戲的技能。
  • 放不出技能的原因是這個按鍵會被AutoHotKey給佔用
    只要在啟動熱鍵的下方加上
    Send {e Down}
    Send {e Up}
    就可以了

    範例
    #MaxThreadsPerHotkey 2

    $e::
    Send {e Down}
    Send {e Up}
    PressKey := ! PressKey
    (下面完全相同)

    蕭雲 replied in 2013/09/16 13:19

  • 訪客

  • 感謝大大 之前在當兵沒回 ,感謝解決我的問題

    BY #29 訪客
  • 不客氣

    蕭雲 replied in 2013/10/03 01:24

  • Private Comment
  • 訪客
  • 請問如果想要使用方向鍵

    按住不放呢??

    不需要連擊

    就像卡鍵那樣~
  • 原文Send {x Down}之後把Send {x Up}拿掉即可
    就變成會一直按住x了
    可以把x改成你想要的方向鍵

    蕭雲 replied in 2014/04/01 00:37

  • 訪客
  • 沒用

    Script lines most recently executed (oldest first). Press [F5] to refresh. The seconds elapsed between a line and the one after it is in parentheses to the right (if not 0). The bottommost line's elapsed time is the number of seconds since it executed.

    001: Return (2.06)

    Press [F5] to refresh.
  • 可能是腳本有問題,請檢查看看有沒有語法錯誤

    蕭雲 replied in 2014/04/01 00:44

  • 訪客
  • 請問如果不要連點,而是按下F1開始長按A鍵,再按一次F1結束,這樣要怎麼改?
  • 長按的意思是按住不放嗎?
    因為你的需求太特殊了,目前想不到要怎麼寫
    請自己嘗試看看吧,不好意思

    蕭雲 replied in 2014/04/28 02:09

  • 洋洋
  • 請問蕭大:這篇放技能的說明
    放不出技能的原因是這個按鍵會被AutoHotKey給佔用
    只要在啟動熱鍵的下方加上
    Send {e Down}
    Send {e Up}
    就可以了

    範例
    #MaxThreadsPerHotkey 2

    $e::
    Send {e Down}
    Send {e Up}
    PressKey := ! PressKey
    (下面完全相同)

    底下是我的問題:
    那假如技能要每200秒放一次的話.要加入啥語法.
    可否請蕭大教導一下.感恩~
  • 洋洋
  • 底下是我的問題:
    那假如技能要每200秒放一次的話.要加入啥語法.
    可否請蕭大教導一下.感恩~

    補充:假如有2個技能.每200秒要放一次.要加入啥語法.
    謝謝!請蕭大指教指教~
  • 補充在原文最下面了,請自行修改囉

    蕭雲 replied in 2014/05/06 23:06

  • 瑋 梁
  • 以下code有參考網路範例,功能是按下F2時開啟兩個計時器,每200秒按一次a鍵跟s鍵
    按下F3時停止計時器
    請自行修改成你需要的按鍵跟時間,例如要改成10秒就把200000改成10000(單位毫秒)

    ~F2::
    {
    settimer, skill_1, 200000
    settimer, skill_2, 200000
    return
    }
    ~F3::
    {
    settimer, skill_1, off
    settimer, skill_2, off
    return
    }

    skill_1:
    {
    Send {a Down}{a Up}
    return
    }

    skill_2:
    {
    Send {s Down}{s Up}
    return
    }

    再一次請問蕭大:如果我只要用AutoHotKey在遊戲裡放技能而已.請問上面語法
    已有開啟與停止.
    那我要再添加啥語法.才可使上面整個語法循環使用呢?
    再次麻煩你賜教.謝囉~
  • 其實這個按下F2就已經是循環使用了啊
    在你按下F3停止計時器之前他應該會持續執行才對
    你可以把時間改短,用在記事本測試看看

    蕭雲 replied in 2014/05/11 23:44

  • so lo
  • ~F2::
    {
    settimer, skill_1, 200000
    settimer, skill_2, 200000
    return
    }
    ~F3::
    {
    settimer, skill_1, off
    settimer, skill_2, off
    return
    }

    skill_1:
    {
    Send {a Down}{a Up}
    return
    }

    skill_2:
    {
    Send {s Down}{s Up}
    return
    }

    請教蕭大:上面那個腳本.我研究了3天.也試了3天.還是不懂要怎
    加開頭與尾語法.是否可請蕭大教導一下呢?
    我只是要寫一個在遊戲中.能自動幫放技能的AutoHotKey語法.
    是否可請蕭大幫忙?如可則感激不盡.
  • 首先,請先看一下我上方公告寫的
    "留悄悄話的網友請注意:如果您非痞客邦會員(包含使用FB/Google+帳號),是看不到回覆的喔 "
    你用google帳號,又用悄悄話,等再久也看不到我的回覆喔
    另外,我不是每天都會上blog回留言
    所以如果你很急的話,不妨去google找答案
    (順便一提,其實我當初只是要介紹AutoHotKey
    不知道為什麼會有人來求語法)

    開頭結尾語法,你可以加在F2 大括號裡面的前後
    也就是settimer, skill_1, 200000之前
    跟return之前

    蕭雲 replied in 2014/05/11 23:42

  • so lo
  • 蕭大:不好意思可能你這幾天忙.沒空回.我再重申我的問題.如你有空請幫我看看.
    我想寫一AutoHotKey語法.是單純一開$F9::(例如)後.3個技能(例如分別放:a.s.d鑑).會循環每200秒重複一直放.沒有再使用其他按鍵的語法.因我試你寫的那F2開啟與F3暫停的語法.無反應..
    所以是否可以請你再幫忙寫一個單純:【一開$F9::(例如)後.3個技能(例如分放:a.s.d鑑).會循環每200秒重複一直放】的語法.沒要再使用其他按鍵.也無須暫停功能.
    先說聲謝你~
  • 不好意思,其實我不太能理解你的需求
    你說200秒重複一直放的意思,是放了一次之後要等200秒再放?
    還是200秒內狂按指定按鍵? 如果是後者,200秒完後要做什麼呢?
    前面寫的指令我測試過是可以正常執行的
    如果你是要用在遊戲中的話
    請先確認遊戲有沒有需要用系統管理員執行
    如果有的話,AutoHotKey也需要用系統管理員執行(原文有提醒)

    以下是按了F9之後每200秒按一次a s d鍵
    =======
    $F9::
    {
    settimer, skill_1, 200000
    return
    }

    skill_1:
    {
    Send {a Down}{a Up}{s Down}{s Up}{d Down}{d Up}
    return
    }

    蕭雲 replied in 2014/05/11 23:36

  • so lo
  • 蕭大 首先謝謝你的回覆與教導!
    我意思是有3種技能.且3種技能時間各不相同(例:a是200秒.s是180秒.d是120秒.然後在程式一開後.各別技能在時間到時.可以自已重複一直施放.而不是200秒內連續3種技能一直施放.

    $F9::
    {
    settimer, skill_1, 200000
    return
    }

    skill_1:
    {
    Send {a Down}{a Up}{s Down}{s Up}{d Down}{d Up}
    return
    }

    還有再請教您上面語法.$F9::下面為何沒有Loop(循環).且最底下是 } 符號.
    為何沒有return(重來)呢?這樣上面語法一開時.時間到它會自已循環重複一
    直施放技能嗎?怎跟之前您教過我的不一樣.
    如有時間.煩請幫解惑. 感恩~
    再一請求:怎把上面語法.改成3個各別施放技能的語法.因3個技能時間各不相同.
  • 我猜你應該沒有寫過程式,所以可能看不太懂AutoHotKey的script
    沒有Loop是因為你現在的需求不是要按住按鍵
    而是要持續在固定時間執行特定動作,因此我才改成使用timer (計時器)

    大括號指的是程式區段,也就是
    {
    程式.....
    }
    return的意思是當它執行到這行時就return(返回)
    也就是不要繼續往下執行
    不然它可能會繼續一行行執行

    timer的作用就是持續在固定時間內執行特定動作
    你可以想像成它內部就有一個loop機制,當等了x秒之後就執行動作
    也就是說當我設定settimer, skill_1, 200000
    就是代表我設定了計時器,每200秒去執行skill_1
    而更久之前寫的settimer, skill_1, off
    代表的是關閉計時器
    因此你需要的功能其實就是增加不同的計時器
    去執行按下特定按鍵的動作

    $F9::
    {
    settimer, skill_1, 200000
    settimer, skill_2, 180000
    settimer, skill_3, 120000
    return
    }

    skill_1:
    {
    Send {a Down}{a Up}
    return
    }

    skill_2:
    {
    Send {s Down}{s Up}
    return
    }

    skill_3:
    {
    Send {d Down}{d Up}
    return
    }

    蕭雲 replied in 2014/05/12 12:50

  • so lo
  • 對了蕭大:
    $F9::
    {
    settimer, skill_1, 200000
    return
    }

    skill_1:
    {
    Send {a Down}{a Up}{s Down}{s Up}{d Down}{d Up}
    return
    }

    上面語法我也試了.可是按F9後卻是毫無反應.為何?
    我照此模式一直修改.卻都是F9按下後都無反應.
    是少了Loop呢.還是最底下不應是 } 這符號?
    還望有空時可以多教導..謝謝~
  • 請問你修改完script之後,有沒有存檔呢?
    存檔了之後有沒有選擇 [Reload This Script]讓它重新載入?
    如果沒有的話它還是會跑舊的script喔

    我給你的script我都有測試能正常執行,所以script應該沒錯
    你可以先在記事本上按F9測試看看
    看會不會在特定時間上按下a s d鍵
    如果在記事本上正常,但是遊戲不正常
    可能是沒有用管理者模式開啟AutoHotKey
    或是遊戲本身有防止這種按鍵精靈型的程式

    PS: 你前面的留言,我幫你取消悄悄話了
    這樣你才可以看到我的回覆

    蕭雲 replied in 2014/05/12 12:55

  • so lo
  • 謝謝蕭大詳細的解說與教導.我本來以為一按下F9就馬上開起程式按鍵.
    剛試的結果是按F9後要等計時器時間到才會開始啟動循環.難怪之前怎
    麼試都以為沒反應.現已懂了.也更了解此程式語法的奧妙.
    再次謝謝您耐心的詳細教導語解說. 感恩~感恩~
  • 不客氣,有幫助到你就好

    蕭雲 replied in 2014/05/13 12:27

  • 訪客
  • 請問假如我喝水 擺在 QWE
    假如我要設定虛擬的..在啟動之後 有什麼辦法 能別讓他跑出q w e..
    我的意思是 我開啟之後 能正常喝水正常聊天
    有辦法嘛
  • 不好意思我真的看不懂你在說什麼
    不過原文我有設定暫停熱鍵F3
    也就是平常按X會連打,但按下F3後這個腳本就會暫停不使用
    等到再度按下F3才會繼續作用
    這樣就可以解決腳本占用平常操作鍵的問題

    蕭雲 replied in 2014/08/17 14:14

  • Miko Lin
  • 蕭大您好歐~
    請問一下,我想要按住1執行,放開1停止我的技能迴圈,
    我在中間加入了這行...
    If Not GetKeyState("1", "P")
    Break
    但是好像不能,出現錯誤訊息...以下是我的迴圈...
    拜託蕭大指點,我該如何修改呢?謝謝~
    =================================
    ~1::
    {
    If Not GetKeyState("1", "P")
    Break
    settimer, skill_1, 200000
    settimer, skill_2, 200000
    return
    }

    skill_1:
    {
    Send {1 Down}{1 Up}
    return
    }

    skill_2:
    {
    Send {2 Down}{2 Up}
    return
    }
  • 錯誤訊息其實蠻明顯的
    Break必須放在Loop中,不然會出錯
    我覺得你的需求不應該用If Not GetKeyState("1", "P")來處理
    而且settimer只須執行一次即可
    建議你參考我文章最後的作法
    把F2 F3改成你指定的開始跟結束按鈕

    蕭雲 replied in 2014/09/01 00:43

  • 訪客
  • 不好意思 這是只能一種鍵 連按嗎? 可以^X^X 或 ^Z^Z 或^^Z 或 ^^X 就是方向鍵加上一種鍵 無限循環這樣有辦法嗎? 感謝您。
  • 你的需求建議是使用我6/22補充的啟動跟關閉計時器的方式來做
    function中改成下方語法即可(可自行修改內容,如要改成按下z就把x改成z即可)
    Send {Up Down}{Up Up}
    Send {x Down}{x Up}
    return

    蕭雲 replied in 2014/10/15 23:12

You haven’t logged in yet, please use guest status to leave message. You can also log in with above service account and leave message

other options