; गेम विंडो के ऊपरी बाएं कोने के कोऑर्डिनेट (पहले प्राप्त करें)
winX = 100
winY = 80
; माउस स्क्रीन कोऑर्डिनेट प्राप्त करें
GetCursorPos mouseX, mouseY
; गेम विंडो के अंदर कोऑर्डिनेट में बदलें
gameX := mouseX - winX
gameY := mouseY - winYध्यान देने योग्य बातें:
डेवलपमेंट के दौरान बार-बार कोऑर्डिनेट डालना कठिन होता है। अधिक कुशल तरीका: एक हॉटकी दबाएं और माउस की वर्तमान पोजीशन सीधे GUI फील्ड में डालें।
; हॉटकी F1 रजिस्टर करें
Hotkey, F1, GetMousePos
return
GetMousePos:
MouseGetPos, mx, my
GuiControl,, FindX, %mx%
GuiControl,, FindY, %my%
ToolTip, कोऑर्डिनेट कैप्चर किए: X%mx% Y%my%
SetTimer, RemoveTip, -2000
returnअब माउस को लक्ष्य स्थान पर ले जाएं, F1 दबाएं, कोऑर्डिनेट ऑटोमैटिक 'खोज X/खोज Y' फील्ड में भर जाएंगे। आप चाहें तो अलग-अलग कोऑर्डिनेट फील्ड के लिए अलग हॉटकी बाइंड कर सकते हैं।
मूल स्क्रिप्ट में चार अलग-अलग की थीं, प्रत्येक का अपना विलंब था। असल गेम में अक्सर लगातार दो की (जैसे पहले स्किल की फिर सपोर्ट की) भेजनी होती है, फिर थोड़ा इंतज़ार करना होता है।
संशोधन दिशा:
SendKeyGroup(useGroup, keyA, keyB, waitMs, minute) {
global TimerCount, TargetHwnd
if (useGroup != 1)
return
if (minute > 0 and Mod(TimerCount, minute * 60) = 0) {
; हर N मिनट में की ग्रुप भेजें
ControlSend, , {%keyA%}, ahk_id %TargetHwnd%
Sleep, 100
ControlSend, , {%keyB%}, ahk_id %TargetHwnd%
}
if (minute = 0) {
; हर चक्र में भेजें
ControlSend, , {%keyA%}, ahk_id %TargetHwnd%
Sleep, 100
ControlSend, , {%keyB%}, ahk_id %TargetHwnd%
}
}यह AHK गेम स्क्रिप्ट में सबसे आम चुनाव है:
| तरीका | फायदे | नुकसान |
|---|---|---|
| तुरंत रुक सकता है, स्क्रिप्ट को ब्लॉक नहीं करता, साफ संरचना | न्यूनतम अंतराल ~1 सेकंड, हाई-फ्रीक्वेंसी के लिए सही नहीं |
| सटीक चक्र अंतराल नियंत्रण | रोकने के लिए अतिरिक्त तंत्र चाहिए, आसानी से फंस सकता है |
अगर आपके गेम को प्रति सेकंड या धीमी गति से ऑपरेशन चाहिए (जैसे बार-बार स्किल, नियमित बफ), SetTimer बेहतर है। अगर मिलीसेकंड सटीकता चाहिए, Sleep लूप का उपयोग करें और break कंडीशन रखें।
PostMessage का उपयोग करें।{F1}, {Enter}।MouseGetPos, , , TargetHwndControlClick के कोऑर्डिनेट शिफ्ट हो सकते हैं। विंडो मोड और 100% स्केल का उपयोग करें।फ्रंटग्राउंड स्क्रिप्ट को बैकग्राउंड मल्टी-की सिस्टम में बदलने के मुख्य बदलाव: बैकग्राउंड कमांड (ControlSend/ControlClick) का चुनाव, विंडो के अंदर कोऑर्डिनेट गणना, और मेन लूप ड्राइविंग विधि। ऊपर दिए गए उदाहरण सीधे 'वॉटर मार्जिन ऑनलाइन' या समान गेम ऑटोमेशन स्क्रिप्ट में उपयोग किए जा सकते हैं। अगर आपके गेम में विशेष की कॉम्बिनेशन या कोऑर्डिनेट क्लिक है, तो पहले न्यूनतम व्यावहारिक बैकग्राउंड संस्करण से परीक्षण शुरू करें, फिर धीरे-धीरे सुविधाएं जोड़ें।