ħÓòBOSS±¨¾¯Æ÷½Å±¾ºËÐÄÔÀíÊǓͼɫʶ±ð+¶¨Ê±Ñ»·”£¬Í¨¹ý²¶×½BOSSË¢ÐÂʱµÄÌØ¶¨Í¼ÏñÌØÕ÷£¨ÈçѪÌõÑÕÉ«¡¢¹ÖÎïÃû³Æ£©´¥·¢¾¯±¨¡£ÒÔÏ»ùÓÚ°´¼ü¾«Á飨QMacro£©»·¾³£¬²ð½â´Ó»ù´¡¼Ü¹¹µ½·À¼ì²âʵսµÄÍêÕû±àд·½°¸¡£
Ò»¡¢ ±¨¾¯Æ÷ºËÐļܹ¹ÓëǰÖÃÅäÖÃ
1. »·¾³×¼±¸Óë×ø±êץȡ
±àдǰÐè¹Ì¶¨ÓÎÏ··Ö±æÂÊ£¨ÍƼö1024x768´°¿Úģʽ£©£¬Ê¹Óð´¼ü¾«Áé×Ô´øµÄ“×¥×¥”¹¤¾ß»ñÈ¡¹Ø¼ü×ø±ê£º
* BOSSѪÌõêµã£º¼Ç¼BOSSˢеãÖÐÐÄ×ø±ê£¨È纣µº82¼¶BOSS×ø±ê(764,476)£©¡£
* ÌØÕ÷ÑÕɫֵ£º×¥È¡BOSSѪÌõ»òÃû³Æ±êÇ©µÄRGBÖµ£¨È羫Ӣ¹ÖѪÌõ³£Îª“FF0000”£©¡£
* СµØÍ¼ÇøÓò£ºÉ趨СµØÍ¼ÇøÓò×ø±ê£¬ÓÃÓÚ¼ì²âBOSSË¢ÐÂͼ±ê¡£
2. ½Å±¾ÔËÐÐÂß¼Á´
±¨¾¯Æ÷ÐèʵÏÖ“ÒÆ¶¯ÖÁ×ø±ê→¼ì²âBOSS´æÔÚ→´¥·¢¾¯±¨→Ñ»·Ñ²Âß”µÄ±Õ»·¡£Á÷³ÌͼÈçÏ£º
[³õʼ»¯´°¿Ú°ó¶¨] → [ʹÓÃËæ»ú¾íÖá/ÒÆ¶¯ÖÁBOSSµã] → [ÇøÓòÕÒÉ«/ÕÒͼ¼ì²â] → [If ·¢ÏÖBOSS Then ²¥·Å¾¯±¨/µ¯´°] → [ÑÓʱ·À¼ì²â] → [Ìø×ªÖÁÏÂÒ»BOSSµã]
¶þ¡¢ ʵս´úÂëÄ£¿é£¨°´¼ü¾«ÁéÓï·¨£©
1. ´°¿Ú°ó¶¨Óë³õʼ»¯
// ħÓòBOSS±¨¾¯Æ÷»ù´¡¿ò¼Ü
Hwnd = Plugin.Window.Find("ħÓò") // »ñÈ¡´°¿Ú¾ä±ú
Call Plugin.Window.Active(Hwnd)
Delay 1000
// ÅäÖÃBOSS¼à²âµãÊý×飨ʾÀý£º¸ê±Ú48¼¶BOSS£©
Dim BossSpotX(5), BossSpotY(5)
BossSpotX(0)=500 : BossSpotY(0)=300 // BOSSµã1×ø±ê
BossSpotX(1)=600 : BossSpotY(1)=400 // BOSSµã2×ø±ê
2. BOSS´æÔÚ¼ì²âÄ£¿é£¨ºËÐÄ£©
Function CheckBossExists(x, y)
// ·½°¸A£ºÑªÌõÑÕÉ«¼ì²â£¨ÍƼö£©
color = GetPixelColor(x, y) // »ñÈ¡BOSSѪÌõ×ø±êÑÕÉ«
If color = "FF0000" Then // ºìɫѪÌõÌØÕ÷
CheckBossExists = True
Else
CheckBossExists = False
End If
// ·½°¸B£ºÐ¡µØÍ¼Í¼±êÕÒͼ£¨½ø½×£©
// FindPic 0,0,200,200, "boss_icon.bmp", 0.9, intX, intY
// If intX > 0 Then ...
End Function
3. Ö÷Ñ»·ÓëѲÂßÂß¼
// Ö÷Ñ»·£¨±éÀúËùÓÐBOSSµã£©
While True
For i = 0 To 1 // ±éÀúÔ¤ÉèµÄBOSSµã
// Ëæ»úÒÆ¶¯ÖÁBOSSµã£¨Ä£ÄâÍæ¼Ò²Ù×÷£©
KeyPress "R", 1 // ¼ÙÉèR¼üÎªËæ»ú¾íÖá
Delay 2000 + Int(1000 * Rnd()) // Ëæ»úÑÓʱ
// Ö´Ðмì²â
If CheckBossExists(BossSpotX(i), BossSpotY(i)) Then
// ´¥·¢¾¯±¨£º²¥·ÅÉùÒô+µ¯´°
Beep // ·äÃùÆ÷±¨¾¯
MsgBox "·¢ÏÖBOSS£¡×ø±ê£º" & BossSpotX(i) & "," & BossSpotY(i)
End If
// ·À¿¨ËÀÓë·À¼ì²âÑÓʱ
Delay 3000 + Int(2000 * Rnd())
Next
Wend
Èý¡¢ ¹Ø¼ü²ÎÊýÅäÖÃÓë·À¼ì²â²ßÂÔ
1. ÑÓÊ±Ëæ»ú»¯£¨·À·âºËÐÄ£©
ËùÓÐDelayÑÓʱ±ØÐë¼ÓÈëËæ»úÒò×Ó£¬±ÜÃâ¹Ì¶¨ÆµÂʱ»ÏµÍ³¼ì²â£º
* Delay 1500 + Int(1000 * Rnd()) // 1.5ÃëÖÁ2.5ÃëËæ»ú¼ä¸ô
• ÒÆ¶¯ºóµÈ´ýʱ¼ä½¨ÒéÉèÖÃÔÚ2-4ÃëÖ®¼ä£¬Ä£ÄâÈËÀà·´Ó¦¡£
2. ÐÐÎªËæ»ú»¯Î±×°
• Ëæ»úÒÆ¶¯£ºÔÚÑ»·ÖвåÈëKeyPress "Up", 1»òKeyPress "Down", 1£¬ÈýÇÉ«ÔÚ¼ì²âµã¸½½üС·¶Î§×ß¶¯¡£
* ¶à¶¯×÷×éºÏ£ºÅ¼¶û´ò¿ª±³°ü£¨B¼ü£©»ò½ÇÉ«Ãæ°å£¨C¼ü£©£¬±ÜÃâ½Å±¾¹ì¼£¹ýÓÚ¹æÂÉ¡£
3. ͼÏñʶ±ð½ø½×£¨·ÀÎóÅУ©
• ¶àÌØÕ÷ÑéÖ¤£ºÍ¬Ê±¼ì²âѪÌõÑÕÉ«ºÍ¹ÖÎïÃû³ÆÍ¼Æ¬£¨Ðè½ØÈ¡“BOSS”×ÖÑù.bmpÎļþ£©£¬½µµÍÎó±¨ÂÊ¡£
* ÇøÓòÈÝ´í£ºÕÒͼʱÉèÖÃÏàËÆ¶È²ÎÊý£¨Èç0.8£©£¬±ÜÃâÒò»Ãæ¶¶¶¯µ¼Ö¼ì²âʧ°Ü¡£
ËÄ¡¢ ³£¼û±¨´íÓëµ÷ÊÔ
• ×ø±êÆ«ÒÆ£ºÈôÓÎÏ··Ö±æÂʱ䶯£¬ÐèÖØÐÂץȡBOSS×ø±ê¡£½¨ÒéʹÓÃÏà¶Ô×ø±ê£¨ÈçСµØÍ¼Æ«ÒÆÁ¿£©¡£
* Î󱨴¦Àí£ºÈôƵ·±Î󱨣¬¿ÉÔÚ¼ì²âº¯ÊýÖмÓÈë¶þ´ÎÑéÖ¤£¨ÈçÁ¬Ðø2´Î¼ì²âµ½ÑÕÉ«²Å´¥·¢£©¡£
* CPUÕ¼ÓãºÑ»·ÖÐÐè¼ÓÈëDelay 50×÷Ϊ»ù´¡¼ä¸ô£¬±ÜÃâ½Å±¾Õ¼Óùý¸ßCPUµ¼ÖÂÓÎÏ·¿¨¶Ù¡£
Îå¡¢ ×¢ÒâÊÂÏî
• ºÏ¹æÐÔ£º¸Ã½Å±¾¿ò¼Ü½öÊÊÓÃÓÚµ¥»úѧϰ»òÔÊÐí¸¨ÖúµÄÌØ¶¨»·¾³£¬¹Ù·½·þÎñÆ÷ʹÓõÚÈý·½½Å±¾¿ÉÄܵ¼Ö·âºÅ¡£
* °æ±¾ÊÊÅ䣺²»Í¬°æ±¾Ä§Óò£¨Èç¶ËÓΡ¢ÊÖÓÎÄ£ÄâÆ÷£©UI²îÒì½Ï´ó£¬ÐèÕë¶ÔÐÔµ÷Õû×ø±êÓë¼üλ¡£
* ×ÊÔ´°²È«£º±ÜÃâʹÓÃÀ´Àú²»Ã÷µÄ“Ò»¼ü½Å±¾”£¬½¨Òé×ÔÐбàд»ò´Ó¿ÉÐÅÔ´ÂëÐ޸ġ£
Ò»¡¢ ±¨¾¯Æ÷ºËÐļܹ¹ÓëǰÖÃÅäÖÃ
1. »·¾³×¼±¸Óë×ø±êץȡ
±àдǰÐè¹Ì¶¨ÓÎÏ··Ö±æÂÊ£¨ÍƼö1024x768´°¿Úģʽ£©£¬Ê¹Óð´¼ü¾«Áé×Ô´øµÄ“×¥×¥”¹¤¾ß»ñÈ¡¹Ø¼ü×ø±ê£º
* BOSSѪÌõêµã£º¼Ç¼BOSSˢеãÖÐÐÄ×ø±ê£¨È纣µº82¼¶BOSS×ø±ê(764,476)£©¡£
* ÌØÕ÷ÑÕɫֵ£º×¥È¡BOSSѪÌõ»òÃû³Æ±êÇ©µÄRGBÖµ£¨È羫Ӣ¹ÖѪÌõ³£Îª“FF0000”£©¡£
* СµØÍ¼ÇøÓò£ºÉ趨СµØÍ¼ÇøÓò×ø±ê£¬ÓÃÓÚ¼ì²âBOSSË¢ÐÂͼ±ê¡£
2. ½Å±¾ÔËÐÐÂß¼Á´
±¨¾¯Æ÷ÐèʵÏÖ“ÒÆ¶¯ÖÁ×ø±ê→¼ì²âBOSS´æÔÚ→´¥·¢¾¯±¨→Ñ»·Ñ²Âß”µÄ±Õ»·¡£Á÷³ÌͼÈçÏ£º
[³õʼ»¯´°¿Ú°ó¶¨] → [ʹÓÃËæ»ú¾íÖá/ÒÆ¶¯ÖÁBOSSµã] → [ÇøÓòÕÒÉ«/ÕÒͼ¼ì²â] → [If ·¢ÏÖBOSS Then ²¥·Å¾¯±¨/µ¯´°] → [ÑÓʱ·À¼ì²â] → [Ìø×ªÖÁÏÂÒ»BOSSµã]
¶þ¡¢ ʵս´úÂëÄ£¿é£¨°´¼ü¾«ÁéÓï·¨£©
1. ´°¿Ú°ó¶¨Óë³õʼ»¯
// ħÓòBOSS±¨¾¯Æ÷»ù´¡¿ò¼Ü
Hwnd = Plugin.Window.Find("ħÓò") // »ñÈ¡´°¿Ú¾ä±ú
Call Plugin.Window.Active(Hwnd)
Delay 1000
// ÅäÖÃBOSS¼à²âµãÊý×飨ʾÀý£º¸ê±Ú48¼¶BOSS£©
Dim BossSpotX(5), BossSpotY(5)
BossSpotX(0)=500 : BossSpotY(0)=300 // BOSSµã1×ø±ê
BossSpotX(1)=600 : BossSpotY(1)=400 // BOSSµã2×ø±ê
2. BOSS´æÔÚ¼ì²âÄ£¿é£¨ºËÐÄ£©
Function CheckBossExists(x, y)
// ·½°¸A£ºÑªÌõÑÕÉ«¼ì²â£¨ÍƼö£©
color = GetPixelColor(x, y) // »ñÈ¡BOSSѪÌõ×ø±êÑÕÉ«
If color = "FF0000" Then // ºìɫѪÌõÌØÕ÷
CheckBossExists = True
Else
CheckBossExists = False
End If
// ·½°¸B£ºÐ¡µØÍ¼Í¼±êÕÒͼ£¨½ø½×£©
// FindPic 0,0,200,200, "boss_icon.bmp", 0.9, intX, intY
// If intX > 0 Then ...
End Function
3. Ö÷Ñ»·ÓëѲÂßÂß¼
// Ö÷Ñ»·£¨±éÀúËùÓÐBOSSµã£©
While True
For i = 0 To 1 // ±éÀúÔ¤ÉèµÄBOSSµã
// Ëæ»úÒÆ¶¯ÖÁBOSSµã£¨Ä£ÄâÍæ¼Ò²Ù×÷£©
KeyPress "R", 1 // ¼ÙÉèR¼üÎªËæ»ú¾íÖá
Delay 2000 + Int(1000 * Rnd()) // Ëæ»úÑÓʱ
// Ö´Ðмì²â
If CheckBossExists(BossSpotX(i), BossSpotY(i)) Then
// ´¥·¢¾¯±¨£º²¥·ÅÉùÒô+µ¯´°
Beep // ·äÃùÆ÷±¨¾¯
MsgBox "·¢ÏÖBOSS£¡×ø±ê£º" & BossSpotX(i) & "," & BossSpotY(i)
End If
// ·À¿¨ËÀÓë·À¼ì²âÑÓʱ
Delay 3000 + Int(2000 * Rnd())
Next
Wend
Èý¡¢ ¹Ø¼ü²ÎÊýÅäÖÃÓë·À¼ì²â²ßÂÔ
1. ÑÓÊ±Ëæ»ú»¯£¨·À·âºËÐÄ£©
ËùÓÐDelayÑÓʱ±ØÐë¼ÓÈëËæ»úÒò×Ó£¬±ÜÃâ¹Ì¶¨ÆµÂʱ»ÏµÍ³¼ì²â£º
* Delay 1500 + Int(1000 * Rnd()) // 1.5ÃëÖÁ2.5ÃëËæ»ú¼ä¸ô
• ÒÆ¶¯ºóµÈ´ýʱ¼ä½¨ÒéÉèÖÃÔÚ2-4ÃëÖ®¼ä£¬Ä£ÄâÈËÀà·´Ó¦¡£
2. ÐÐÎªËæ»ú»¯Î±×°
• Ëæ»úÒÆ¶¯£ºÔÚÑ»·ÖвåÈëKeyPress "Up", 1»òKeyPress "Down", 1£¬ÈýÇÉ«ÔÚ¼ì²âµã¸½½üС·¶Î§×ß¶¯¡£
* ¶à¶¯×÷×éºÏ£ºÅ¼¶û´ò¿ª±³°ü£¨B¼ü£©»ò½ÇÉ«Ãæ°å£¨C¼ü£©£¬±ÜÃâ½Å±¾¹ì¼£¹ýÓÚ¹æÂÉ¡£
3. ͼÏñʶ±ð½ø½×£¨·ÀÎóÅУ©
• ¶àÌØÕ÷ÑéÖ¤£ºÍ¬Ê±¼ì²âѪÌõÑÕÉ«ºÍ¹ÖÎïÃû³ÆÍ¼Æ¬£¨Ðè½ØÈ¡“BOSS”×ÖÑù.bmpÎļþ£©£¬½µµÍÎó±¨ÂÊ¡£
* ÇøÓòÈÝ´í£ºÕÒͼʱÉèÖÃÏàËÆ¶È²ÎÊý£¨Èç0.8£©£¬±ÜÃâÒò»Ãæ¶¶¶¯µ¼Ö¼ì²âʧ°Ü¡£
ËÄ¡¢ ³£¼û±¨´íÓëµ÷ÊÔ
• ×ø±êÆ«ÒÆ£ºÈôÓÎÏ··Ö±æÂʱ䶯£¬ÐèÖØÐÂץȡBOSS×ø±ê¡£½¨ÒéʹÓÃÏà¶Ô×ø±ê£¨ÈçСµØÍ¼Æ«ÒÆÁ¿£©¡£
* Î󱨴¦Àí£ºÈôƵ·±Î󱨣¬¿ÉÔÚ¼ì²âº¯ÊýÖмÓÈë¶þ´ÎÑéÖ¤£¨ÈçÁ¬Ðø2´Î¼ì²âµ½ÑÕÉ«²Å´¥·¢£©¡£
* CPUÕ¼ÓãºÑ»·ÖÐÐè¼ÓÈëDelay 50×÷Ϊ»ù´¡¼ä¸ô£¬±ÜÃâ½Å±¾Õ¼Óùý¸ßCPUµ¼ÖÂÓÎÏ·¿¨¶Ù¡£
Îå¡¢ ×¢ÒâÊÂÏî
• ºÏ¹æÐÔ£º¸Ã½Å±¾¿ò¼Ü½öÊÊÓÃÓÚµ¥»úѧϰ»òÔÊÐí¸¨ÖúµÄÌØ¶¨»·¾³£¬¹Ù·½·þÎñÆ÷ʹÓõÚÈý·½½Å±¾¿ÉÄܵ¼Ö·âºÅ¡£
* °æ±¾ÊÊÅ䣺²»Í¬°æ±¾Ä§Óò£¨Èç¶ËÓΡ¢ÊÖÓÎÄ£ÄâÆ÷£©UI²îÒì½Ï´ó£¬ÐèÕë¶ÔÐÔµ÷Õû×ø±êÓë¼üλ¡£
* ×ÊÔ´°²È«£º±ÜÃâʹÓÃÀ´Àú²»Ã÷µÄ“Ò»¼ü½Å±¾”£¬½¨Òé×ÔÐбàд»ò´Ó¿ÉÐÅÔ´ÂëÐ޸ġ£

