ħÓò12ÐÇ×ùÈÎÎñµÄºËÐÄÁ÷³ÌÊǽøÈëÐǺ£ÉñÓò¡¢ÕÒµ½¶ÔÓ¦Ðǹ¬Éñ¹Ù¡¢½ÓÈ¡ÈÎÎñ¡¢Ö´ÐÐÈÎÎñÄ¿±ê¡¢·µ»Ø½»ÈÎÎñ¡¢Ñ»·ÏÂÒ»¸öÐÇ×ù¡£Õû¸öÁ÷³ÌÉæ¼°´óÁ¿Öظ´µÄNPC¶Ô»°¡¢ÅÜͼ¡¢É±¹ÖºÍÎïÆ·Ìá½»²Ù×÷£¬ÊÖ¶¯Íê³ÉÒ»ÂÖÐèÒªºÄ·Ñ´óÁ¿Ê±¼ä¡£Óýű¾ÊµÏÖ×Ô¶¯»¯µÄ¹Ø¼üÔÚÓÚ²ð½âÿ¸ö»·½ÚµÄ²Ù×÷½Úµã£¬ÓÃ×ø±ê¶¨Î»ºÍͼÏñʶ±ð´®ÁªÆðÀ´¡£
ÈÎÎñ¿ªÆôÌõ¼þΪ½ÇÉ«µÈ¼¶50¼¶ÒÔÉÏ£¬»î¶¯Í¨³£ÔÚÿÔµÚÒ»¸öÖÜÈÕ20:00ÖÁ23:59¿ª·Å¡£12¸öÐǹ¬Éñ¹Ù·Ö²¼ÔÚÐǺ£ÉñÓòµØÍ¼ÄÚ£¬Ã¿¸öÐÇ×ù¶ÔÓ¦²»Í¬µÄÈÎÎñÀàÐÍ¡£°×Ñò×ùÐèÒª»÷ɱָ¶¨¹ÖÎ½ðÅ£×ùÐèÒªÍÚ¿ó²É¼¯£¬Ë«×Ó×ùÒª¹ºÂòÒ©Ë®ºÍ¼¼ÄÜÊ飬¾Þз×ùÌύѪ°ü£¬Ê¨×Ó×ùÉæ¼°PK²Ù×÷£¬´¦Å®×ùÐèÒª»»×°»ò»»×øÆï¡£½Å±¾ÐèÒªÕë¶Ô²»Í¬ÈÎÎñÀàÐͱàд¶ÀÁ¢µÄ·ÖÖ§ÅжÏÂß¼¡£
±àд½Å±¾Ç°µÄ»·¾³×¼±¸
ÓÎÏ·±ØÐëÉèÖÃΪ´°¿Úģʽ£¬·Ö±æÂʹ̶¨Îª1024×768»ò1280×720£¬¹Ø±ÕÈ«ÆÁÀÉ죬´°¿ÚλÖÃÔڽű¾ÔËÐÐÆÚ¼ä²»ÄÜÒÆ¶¯£¬·ñÔòËùÓÐÔ¤Éè×ø±ê¶¼»áʧЧ¡£¼¼ÄÜ¿ì½Ý¼üÐèҪͳһÉ趨£ºÖ÷¹¥¼¼ÄÜ·ÅÔÚÊý×Ö¼ü1£¬Èº¹¥¼¼ÄÜ·ÅÔÚÊý×Ö¼ü2£¬Tab¼üÓÃÓÚÑ¡¹Ö£¬F¼üÓÃÓÚʰȡ£¬ºìÀ¶Ò©Ë®·Ö±ð°ó¶¨F2ºÍF3¡£»ÃÊÞÉèΪ×Ô¶¯³öÕ÷¹¥»÷ģʽ¡£°´¼ü¾«ÁéÐü¸¡´°ÐèÒª¹Ø±Õ»òÒÆ³öÓÎÏ·´°¿Ú·¶Î§£¬·ÀÖ¹ÕÚµ²µ¼ÖÂÕÒͼʧ°Ü¡£
°´¼ü¾«Áé·½°¸µÄ»ù´¡´ò¹ÖÑ»·
½øÈëÐǹ¬ºóµÄºËÐIJÙ×÷ÊÇÑ»·Ñ¡¹Ö¡¢·Å¼¼ÄÜ¡¢Ê°È¡ºÍ΢×ßλ¡£ÒÔÏ´úÂë¿ÉÒÔÖ±½ÓÓÃÔÚÐǹ¬ÄÚµÄË¢¹Ö»·½Ú£º
```
Rem ´ò¹ÖÑ»·
KeyPress "Tab", 1
Delay 300 + Int(Rnd * 200)
KeyPress "1", 1
Delay 800 + Int(Rnd * 400)
KeyPress "2", 1
Delay 1800 + Int(Rnd * 600)
KeyPress "F", 1
Delay 400 + Int(Rnd * 200)
IfColor 120, 65, "FF0000", 0 Then
KeyPress "F2", 1
End If
If Int(Rnd * 10) = 1 Then
KeyPress "W", 1
Delay 300
KeyPress "S", 1
End If
Delay 200 + Int(Rnd * 500)
Goto ´ò¹ÖÑ»·
```
ѪÌõ¼ì²â×ø±ê120,65ºÍÑÕɫֵFF0000ÐèÒªÓð´¼ü¾«ÁéµÄ×¥µã¹¤¾ßÔÚѪÌõÂúֵʱʵ¼Êץȡ¡£Ã¿ÂÖÑ»·Ä©Î²µÄËæ»úÑÓʱÊDZØÐëµÄ£¬¹Ì¶¨ºÁÃë¼ä¸ô¼«Ò×±»ÐÐΪ¼ì²âʶ±ð¡£
12ÐÇ×ùÍêÕûÈÎÎñÑ»·¿ò¼Ü
´ò¹ÖÄ£¿éÖ»ÊÇÖм价½Ú£¬ÍêÕûµÄ12ÐÇ×ù½Å±¾ÐèÒª´®Áª½ÓÈÎÎñ¡¢ÅÜͼ¡¢Ö´ÐÐÈÎÎñ¡¢½»ÈÎÎñËĸö½×¶Î¡£»ù´¡¿ò¼ÜÈçÏ£º
```
Hwnd = Plugin.Window.Find(0, "ħÓò")
Call Plugin.Window.Active(Hwnd)
MoveTo 324, 587
Delay 500 + Int(300 * Rnd())
LeftClick 1
Delay 2000
LeftClick 1
For i = 1 To 12
MoveTo StarNPC_X(i), StarNPC_Y(i)
Delay 800 + Int(400 * Rnd())
LeftClick 1
Delay 1500 + Int(500 * Rnd())
Call DoTask(i)
MoveTo StarNPC_X(i), StarNPC_Y(i)
Delay 800 + Int(300 * Rnd())
LeftClick 1
Delay 1000 + Int(400 * Rnd())
Next
Goto ÖØÐ½ÓÈÎÎñ
```
StarNPC_XºÍStarNPC_YÊý×éÐèÒªÔ¤ÏÈÓÃ×¥µã¹¤¾ß¼Ç¼12¸öÐǹ¬Éñ¹ÙµÄÆÁÄ»×ø±ê¡£½ÓÈÎÎñºÍ½»ÈÎÎñʹÓõÄÊÇͬһ¸öNPC×ø±ê£¬Öмäͨ¹ýDoTask×Óº¯ÊýÖ´ÐоßÌåÈÎÎñ²Ù×÷¡£
²»Í¬ÐÇ×ùÈÎÎñµÄ·Ö֧ʵÏÖ
ÒÔ½ðÅ£×ùÍÚ¿óÈÎÎñΪÀý£¬½øÈëÐǹ¬ºóÏÈͨ¹ýÕÒͼÅж϶Ի°¿òÊÇ·ñ³öÏÖ¿óʯͼ±ê£¬È·ÈÏÈÎÎñÀàÐͺóÖ´ÐÐÍÚ¿óÑ»·£º
```
Function DoTask(TaskID)
If TaskID = 2 Then
If FindPic(400, 300, 600, 500, "mine_task.bmp", 0.8) > 0 Then
MoveTo 500, 400
LeftClick 1
Delay 5000
For j = 1 To 10
KeyPress "F", 1
Delay 2000 + Int(1000 * Rnd())
Next
End If
End If
If TaskID = 3 Then
Call Ë«×Ó×ùÂòÒ©
End If
If TaskID = 5 Then
Call ʨ×Ó×ùPK
End If
End Function
```
°´¼ü¾«ÁéµÄ·½°¸ÊʺϿìËٴÔÐÍ£¬µ«Óöµ½ÈÎÎñÀàÐÍËæ»ú±ä»¯Ê±ÐèÒªÌáǰÓÃÕÒͼ»òÕÒÉ«Åж϶Ի°¿òÄÚÈÝ£¬²ÅÄܽøÈëÕýÈ·µÄ·ÖÖ§¡£
Ò×ÓïÑÔÅäºÏ´óÄ®²å¼þµÄ½ø½×·½°¸
µ±½Å±¾ÐèÒª¸ü¸ßµÄÎȶ¨ÐÔ£¬ÌرðÊÇ´¦Àí±³°üÎïÆ·¼ì²âºÍºǫ́²Ù×÷ʱ£¬Ò×ÓïÑÔ¼Ó×°´óÄ®²å¼þÊǸüÖ÷Á÷µÄ·½°¸¡£´óÄ®²å¼þÌṩFindPicÕÒͼ¡¢FindColorÕÒÉ«¡¢´°¿Ú°ó¶¨ºÍºǫ́¼üÊóÄ£Ä⹦ÄÜ¡£
´°¿Ú¾ä±úµÄ»ñÈ¡·½Ê½ºÍ°´¼ü¾«ÁéÀàËÆ£¬µ«´óÄ®²å¼þµÄºǫ́°ó¶¨¿ÉÒÔÈýű¾ÔÚÓÎÏ·´°¿Ú²»¼¤»îµÄÇé¿öÏÂÔËÐУ¬Êʺ϶࿪³¡¾°¡£¹Ø¼ü´úÂë½á¹¹ÈçÏ£º
```
dm.CreateObject("dm.dmsoft")
Hwnd = dm.FindWindow("", "ħÓò")
dm.BindWindow(Hwnd, "dx", "dx", "dx", 0)
×ø±ê = dm.FindPic(0, 0, 1024, 768, "Ðǹ¬´«ËÍ.bmp", "000000", 0.9, 0)
if ×ø±ê <> "-1|-1" Then
dm.MoveTo ×ø±ê
dm.LeftClick
End If
```
Åжϱ³°üÖÐÊÇ·ñ³ÖÓÐÌØ¶¨ÐÇ×ùµÀ¾ßʱ£¬¿ÉÒÔÅäºÏÄÚ´æ¶ÁÈ¡»òͼÏñʶ±ðÁ½ÖÖ·½Ê½¡£Í¼Ïñʶ±ð·½°¸²»ÅöÄÚ´æÊý¾Ý£¬·çÏÕ¸üµÍ£¬ÓôóÄ®²å¼þ¶Ô´óÄ®×ۺϹ¤¾ß½ØÍ¼ºóÖÆ×÷µÀ¾ßͼ±êÄ£°å£¬ÔÚ±³°üÇøÓò×öFindPic¼´¿É¡£
·À¼ì²âµÄºËÐÄÉèÖÃ
ËùÓÐDelayʱ¼ä±ØÐë¼ÓÈëËæ»ú¸¡¶¯£¬¹Ì¶¨ÊýÖµÊÇÐÐΪ¼ì²âµÄÊ×ÒªÌØÕ÷¡£°´¼ü¾«ÁéÖÐÓÃ`Delay 800 + Int(400 * Rnd())`µÄд·¨£¬Ò×ÓïÑÔÖÐÓÃ`ÑÓʱ(800 + È¡Ëæ»úÊý(0, 400))`¡£Ã¿1µ½2СʱӦÔڽű¾ÖвåÈëÒ»´Î¶ÌÔÝÔÝÍ££¬Ä£ÄâÍæ¼ÒÀ뿪»òÇл»´°¿ÚµÄÐÐΪ£¬µ¥´ÎÁ¬Ðø¹Ò»úʱ¼ä¿ØÖÆÔÚ6µ½8СʱÒÔÄÚ¡£
µã»÷×ø±êͬÑùÐèÒª¼ÓÈë΢·ùÆ«ÒÆ£¬²»ÒªÃ¿´Î¶¼µãͬһ¸öÏñËØµã¡£ÔÚ°´¼ü¾«ÁéÖпÉÒÔд`Click StarNPC_X + Int(10 * Rnd()), StarNPC_Y + Int(10 * Rnd())`£¬ÈÃÿ´Îµã»÷ÂäµãÔÚÒ»¸öС·¶Î§ÄÚ¸¡¶¯¡£
¶ËÓκÍÊÖÓΰ汾µÄʵÏÖ²îÒì
¶ËÓη½Ã棬°´¼ü¾«ÁéºÍÒ×ÓïÑÔ¶¼ÊdzÉÊì·½°¸¡£°´¼ü¾«ÁéÊʺÏÁã»ù´¡¿ìËÙÉÏÊÖ£¬Â¼ÖƼÓÊÖд½áºÏ¿ÉÒÔÔÚ¼¸¸öСʱÄÚÍê³ÉÒ»¸ö¿ÉÔËÐеÄÐÇ×ù½Å±¾¡£Ò×ÓïÑÔ¼Ó´óÄ®²å¼þÊʺÏÐèÒªºǫ́¶à¿ªºÍ¸´ÔÓÅжÏÂß¼µÄ³¡¾°¡£
ÊÖÓη½Ã棬Èç¹ûÊǵçÄÔÄ£ÄâÆ÷ÔËÐÐħÓò»¥Í¨°æ£¬Óð´¼ü¾«ÁéPC°æËø¶¨Ä£ÄâÆ÷´°¿Ú¼´¿É£¬×ø±ê»ñÈ¡ºÍ¶ËÓη½·¨Ò»Ö¡£Èç¹ûÊǰ²×¿Õæ»úÖ±½ÓÔËÐУ¬ÐèÒªÓÃAuto.js»ò´¥¶¯¾«Áé¡£Auto.js»ùÓÚJavaScript£¬ÓÃÎÞÕϰ·þÎñÄ£Äâµã»÷ºÍ»¬¶¯£¬ºËÐÄÑ»·Âß¼ºÍ°´¼ü¾«ÁéÀàËÆ£¬µ«´¥Ãþ×ø±êµÄ»ñÈ¡ÐèÒªÔÚÊÖ»úÆÁÄ»ÉÏͨ¹ý¿ª·¢ÕßÑ¡ÏîÖеÄÖ¸ÕëλÖù¦ÄÜÀ´¼Ç¼¡£
½Å±¾ÔËÐÐÖеij£¼ûÎÊÌâ
×ø±êÆ«ÒÆÊÇ×î³£¼ûµÄÎÊÌâ¡£ÓÎÏ·´°¿Ú±»ÒâÍâÒÆ¶¯¡¢·Ö±æÂʱ仯»òÓÎÏ·ÄÚUIËõ·Åµ÷Õû¶¼»áµ¼ÖÂ֮ǰץȡµÄ×ø±êʧЧ¡£½â¾ö·½·¨ÊÇÿ´ÎÔËÐнű¾Ç°È·ÈÏ´°¿ÚλÖúͷֱæÂÊ£¬±ØÒªÊ±ÖØÐÂ×¥µã¡£
ÕÒͼʧ°Üµ¼Ö¿¨ËÀµÄÎÊÌâ¿ÉÒÔͨ¹ý³¬Ê±»úÖÆ´¦Àí¡£ÔڵȴýÕÒͼ½á¹ûµÄÑ»·ÖмÓÈë¼ÆÊýÆ÷£¬³¬¹ýÉ趨´ÎÊýÈÔÕÒ²»µ½Ä¿±êʱ£¬×Ô¶¯Ö´ÐÐÒ»´Î»Ø³Ç»òÍ˳öµ±Ç°½çÃæÖØÐ½øÈ룬±ÜÃâ½Å±¾ÔÚij¸ö»·½ÚÎÞÏ޵ȴý¡£
ÈÎÎñÀàÐÍËæ»úµÄ´¦ÀíÂß¼ÊÇ12ÐÇ×ù½Å±¾ÖÐ×ÔӵIJ¿·Ö¡£Ã¿¸öÐÇ×ùÿÔÂËæ»ú³éÈ¡ÈÎÎñÀàÐÍ£¬½Å±¾ÔÚ½ÓÈ¡ÈÎÎñºóÐèҪͨ¹ý¶Ô»°¿òÖеĹؼü×Ö»òͼ±êÀ´Åжϵ±Ç°ÊÇÄÄÖÖÈÎÎñ¡£ÕÒ×Ö¹¦ÄܵÄ׼ȷÂÊÊÜÓÎÏ·×ÖÌåäÖȾӰÏ죬½¨ÒéÓýØÍ¼ÖÆ×÷Ä£°åͼƬÅäºÏFindPicÀ´Ê¶±ð£¬±ÈFindStrÕÒ×Ö¸üÎȶ¨¡£
½Å±¾ÓïÑÔÑ¡ÔñµÄʵ¼Ê½¨Òé
Èç¹ûÄ¿±êÊÇ¿ìËÙʵÏÖÒ»¸öÄÜÅܵÄ12ÐÇ×ù×Ô¶¯»¯Á÷³Ì£¬°´¼ü¾«ÁéÊÇ×îÖ±½ÓµÄÑ¡Ôñ£¬Ñ§Ï°³É±¾µÍ£¬ÂÛ̳ÉÏÓдóÁ¿ÏֳɵÄ×ø±êºÍ´úÂëÆ¬¶Î¿ÉÒԲο¼¡£Èç¹û×·Çó¸ü¸ßµÄÎȶ¨ÐԺͺǫ́¶à¿ªÄÜÁ¦£¬Ò×ÓïÑÔ¼Ó´óÄ®²å¼þµÄ×éºÏ¸üºÏÊÊ£¬µ«ÐèÒª»¨Ê±¼äÊìϤ´óÄ®²å¼þµÄ½Ó¿ÚºÍ´°¿Ú°ó¶¨Ä£Ê½¡£Python·½°¸ÔÚͼÏñʶ±ð¾«¶ÈÉÏÓÐÓÅÊÆ£¬OpenCVµÄÄ£°åÆ¥ÅäºÍÑÕÉ«¹ýÂ˱Ȱ´¼ü¾«Áé×Ô´øµÄÕÒͼ¹¦ÄܸüÁé»î£¬µ«ÐèÒª¶îÍâ´¦Àí¼üÊóÄ£Äâ¿âµÄ¼æÈÝÎÊÌ⣬ÕûÌ忪·¢ÖÜÆÚ±È°´¼ü¾«Á鳤¡£
ÈÎÎñ¿ªÆôÌõ¼þΪ½ÇÉ«µÈ¼¶50¼¶ÒÔÉÏ£¬»î¶¯Í¨³£ÔÚÿÔµÚÒ»¸öÖÜÈÕ20:00ÖÁ23:59¿ª·Å¡£12¸öÐǹ¬Éñ¹Ù·Ö²¼ÔÚÐǺ£ÉñÓòµØÍ¼ÄÚ£¬Ã¿¸öÐÇ×ù¶ÔÓ¦²»Í¬µÄÈÎÎñÀàÐÍ¡£°×Ñò×ùÐèÒª»÷ɱָ¶¨¹ÖÎ½ðÅ£×ùÐèÒªÍÚ¿ó²É¼¯£¬Ë«×Ó×ùÒª¹ºÂòÒ©Ë®ºÍ¼¼ÄÜÊ飬¾Þз×ùÌύѪ°ü£¬Ê¨×Ó×ùÉæ¼°PK²Ù×÷£¬´¦Å®×ùÐèÒª»»×°»ò»»×øÆï¡£½Å±¾ÐèÒªÕë¶Ô²»Í¬ÈÎÎñÀàÐͱàд¶ÀÁ¢µÄ·ÖÖ§ÅжÏÂß¼¡£
±àд½Å±¾Ç°µÄ»·¾³×¼±¸
ÓÎÏ·±ØÐëÉèÖÃΪ´°¿Úģʽ£¬·Ö±æÂʹ̶¨Îª1024×768»ò1280×720£¬¹Ø±ÕÈ«ÆÁÀÉ죬´°¿ÚλÖÃÔڽű¾ÔËÐÐÆÚ¼ä²»ÄÜÒÆ¶¯£¬·ñÔòËùÓÐÔ¤Éè×ø±ê¶¼»áʧЧ¡£¼¼ÄÜ¿ì½Ý¼üÐèҪͳһÉ趨£ºÖ÷¹¥¼¼ÄÜ·ÅÔÚÊý×Ö¼ü1£¬Èº¹¥¼¼ÄÜ·ÅÔÚÊý×Ö¼ü2£¬Tab¼üÓÃÓÚÑ¡¹Ö£¬F¼üÓÃÓÚʰȡ£¬ºìÀ¶Ò©Ë®·Ö±ð°ó¶¨F2ºÍF3¡£»ÃÊÞÉèΪ×Ô¶¯³öÕ÷¹¥»÷ģʽ¡£°´¼ü¾«ÁéÐü¸¡´°ÐèÒª¹Ø±Õ»òÒÆ³öÓÎÏ·´°¿Ú·¶Î§£¬·ÀÖ¹ÕÚµ²µ¼ÖÂÕÒͼʧ°Ü¡£
°´¼ü¾«Áé·½°¸µÄ»ù´¡´ò¹ÖÑ»·
½øÈëÐǹ¬ºóµÄºËÐIJÙ×÷ÊÇÑ»·Ñ¡¹Ö¡¢·Å¼¼ÄÜ¡¢Ê°È¡ºÍ΢×ßλ¡£ÒÔÏ´úÂë¿ÉÒÔÖ±½ÓÓÃÔÚÐǹ¬ÄÚµÄË¢¹Ö»·½Ú£º
```
Rem ´ò¹ÖÑ»·
KeyPress "Tab", 1
Delay 300 + Int(Rnd * 200)
KeyPress "1", 1
Delay 800 + Int(Rnd * 400)
KeyPress "2", 1
Delay 1800 + Int(Rnd * 600)
KeyPress "F", 1
Delay 400 + Int(Rnd * 200)
IfColor 120, 65, "FF0000", 0 Then
KeyPress "F2", 1
End If
If Int(Rnd * 10) = 1 Then
KeyPress "W", 1
Delay 300
KeyPress "S", 1
End If
Delay 200 + Int(Rnd * 500)
Goto ´ò¹ÖÑ»·
```
ѪÌõ¼ì²â×ø±ê120,65ºÍÑÕɫֵFF0000ÐèÒªÓð´¼ü¾«ÁéµÄ×¥µã¹¤¾ßÔÚѪÌõÂúֵʱʵ¼Êץȡ¡£Ã¿ÂÖÑ»·Ä©Î²µÄËæ»úÑÓʱÊDZØÐëµÄ£¬¹Ì¶¨ºÁÃë¼ä¸ô¼«Ò×±»ÐÐΪ¼ì²âʶ±ð¡£
12ÐÇ×ùÍêÕûÈÎÎñÑ»·¿ò¼Ü
´ò¹ÖÄ£¿éÖ»ÊÇÖм价½Ú£¬ÍêÕûµÄ12ÐÇ×ù½Å±¾ÐèÒª´®Áª½ÓÈÎÎñ¡¢ÅÜͼ¡¢Ö´ÐÐÈÎÎñ¡¢½»ÈÎÎñËĸö½×¶Î¡£»ù´¡¿ò¼ÜÈçÏ£º
```
Hwnd = Plugin.Window.Find(0, "ħÓò")
Call Plugin.Window.Active(Hwnd)
MoveTo 324, 587
Delay 500 + Int(300 * Rnd())
LeftClick 1
Delay 2000
LeftClick 1
For i = 1 To 12
MoveTo StarNPC_X(i), StarNPC_Y(i)
Delay 800 + Int(400 * Rnd())
LeftClick 1
Delay 1500 + Int(500 * Rnd())
Call DoTask(i)
MoveTo StarNPC_X(i), StarNPC_Y(i)
Delay 800 + Int(300 * Rnd())
LeftClick 1
Delay 1000 + Int(400 * Rnd())
Next
Goto ÖØÐ½ÓÈÎÎñ
```
StarNPC_XºÍStarNPC_YÊý×éÐèÒªÔ¤ÏÈÓÃ×¥µã¹¤¾ß¼Ç¼12¸öÐǹ¬Éñ¹ÙµÄÆÁÄ»×ø±ê¡£½ÓÈÎÎñºÍ½»ÈÎÎñʹÓõÄÊÇͬһ¸öNPC×ø±ê£¬Öмäͨ¹ýDoTask×Óº¯ÊýÖ´ÐоßÌåÈÎÎñ²Ù×÷¡£
²»Í¬ÐÇ×ùÈÎÎñµÄ·Ö֧ʵÏÖ
ÒÔ½ðÅ£×ùÍÚ¿óÈÎÎñΪÀý£¬½øÈëÐǹ¬ºóÏÈͨ¹ýÕÒͼÅж϶Ի°¿òÊÇ·ñ³öÏÖ¿óʯͼ±ê£¬È·ÈÏÈÎÎñÀàÐͺóÖ´ÐÐÍÚ¿óÑ»·£º
```
Function DoTask(TaskID)
If TaskID = 2 Then
If FindPic(400, 300, 600, 500, "mine_task.bmp", 0.8) > 0 Then
MoveTo 500, 400
LeftClick 1
Delay 5000
For j = 1 To 10
KeyPress "F", 1
Delay 2000 + Int(1000 * Rnd())
Next
End If
End If
If TaskID = 3 Then
Call Ë«×Ó×ùÂòÒ©
End If
If TaskID = 5 Then
Call ʨ×Ó×ùPK
End If
End Function
```
°´¼ü¾«ÁéµÄ·½°¸ÊʺϿìËٴÔÐÍ£¬µ«Óöµ½ÈÎÎñÀàÐÍËæ»ú±ä»¯Ê±ÐèÒªÌáǰÓÃÕÒͼ»òÕÒÉ«Åж϶Ի°¿òÄÚÈÝ£¬²ÅÄܽøÈëÕýÈ·µÄ·ÖÖ§¡£
Ò×ÓïÑÔÅäºÏ´óÄ®²å¼þµÄ½ø½×·½°¸
µ±½Å±¾ÐèÒª¸ü¸ßµÄÎȶ¨ÐÔ£¬ÌرðÊÇ´¦Àí±³°üÎïÆ·¼ì²âºÍºǫ́²Ù×÷ʱ£¬Ò×ÓïÑÔ¼Ó×°´óÄ®²å¼þÊǸüÖ÷Á÷µÄ·½°¸¡£´óÄ®²å¼þÌṩFindPicÕÒͼ¡¢FindColorÕÒÉ«¡¢´°¿Ú°ó¶¨ºÍºǫ́¼üÊóÄ£Ä⹦ÄÜ¡£
´°¿Ú¾ä±úµÄ»ñÈ¡·½Ê½ºÍ°´¼ü¾«ÁéÀàËÆ£¬µ«´óÄ®²å¼þµÄºǫ́°ó¶¨¿ÉÒÔÈýű¾ÔÚÓÎÏ·´°¿Ú²»¼¤»îµÄÇé¿öÏÂÔËÐУ¬Êʺ϶࿪³¡¾°¡£¹Ø¼ü´úÂë½á¹¹ÈçÏ£º
```
dm.CreateObject("dm.dmsoft")
Hwnd = dm.FindWindow("", "ħÓò")
dm.BindWindow(Hwnd, "dx", "dx", "dx", 0)
×ø±ê = dm.FindPic(0, 0, 1024, 768, "Ðǹ¬´«ËÍ.bmp", "000000", 0.9, 0)
if ×ø±ê <> "-1|-1" Then
dm.MoveTo ×ø±ê
dm.LeftClick
End If
```
Åжϱ³°üÖÐÊÇ·ñ³ÖÓÐÌØ¶¨ÐÇ×ùµÀ¾ßʱ£¬¿ÉÒÔÅäºÏÄÚ´æ¶ÁÈ¡»òͼÏñʶ±ðÁ½ÖÖ·½Ê½¡£Í¼Ïñʶ±ð·½°¸²»ÅöÄÚ´æÊý¾Ý£¬·çÏÕ¸üµÍ£¬ÓôóÄ®²å¼þ¶Ô´óÄ®×ۺϹ¤¾ß½ØÍ¼ºóÖÆ×÷µÀ¾ßͼ±êÄ£°å£¬ÔÚ±³°üÇøÓò×öFindPic¼´¿É¡£
·À¼ì²âµÄºËÐÄÉèÖÃ
ËùÓÐDelayʱ¼ä±ØÐë¼ÓÈëËæ»ú¸¡¶¯£¬¹Ì¶¨ÊýÖµÊÇÐÐΪ¼ì²âµÄÊ×ÒªÌØÕ÷¡£°´¼ü¾«ÁéÖÐÓÃ`Delay 800 + Int(400 * Rnd())`µÄд·¨£¬Ò×ÓïÑÔÖÐÓÃ`ÑÓʱ(800 + È¡Ëæ»úÊý(0, 400))`¡£Ã¿1µ½2СʱӦÔڽű¾ÖвåÈëÒ»´Î¶ÌÔÝÔÝÍ££¬Ä£ÄâÍæ¼ÒÀ뿪»òÇл»´°¿ÚµÄÐÐΪ£¬µ¥´ÎÁ¬Ðø¹Ò»úʱ¼ä¿ØÖÆÔÚ6µ½8СʱÒÔÄÚ¡£
µã»÷×ø±êͬÑùÐèÒª¼ÓÈë΢·ùÆ«ÒÆ£¬²»ÒªÃ¿´Î¶¼µãͬһ¸öÏñËØµã¡£ÔÚ°´¼ü¾«ÁéÖпÉÒÔд`Click StarNPC_X + Int(10 * Rnd()), StarNPC_Y + Int(10 * Rnd())`£¬ÈÃÿ´Îµã»÷ÂäµãÔÚÒ»¸öС·¶Î§ÄÚ¸¡¶¯¡£
¶ËÓκÍÊÖÓΰ汾µÄʵÏÖ²îÒì
¶ËÓη½Ã棬°´¼ü¾«ÁéºÍÒ×ÓïÑÔ¶¼ÊdzÉÊì·½°¸¡£°´¼ü¾«ÁéÊʺÏÁã»ù´¡¿ìËÙÉÏÊÖ£¬Â¼ÖƼÓÊÖд½áºÏ¿ÉÒÔÔÚ¼¸¸öСʱÄÚÍê³ÉÒ»¸ö¿ÉÔËÐеÄÐÇ×ù½Å±¾¡£Ò×ÓïÑÔ¼Ó´óÄ®²å¼þÊʺÏÐèÒªºǫ́¶à¿ªºÍ¸´ÔÓÅжÏÂß¼µÄ³¡¾°¡£
ÊÖÓη½Ã棬Èç¹ûÊǵçÄÔÄ£ÄâÆ÷ÔËÐÐħÓò»¥Í¨°æ£¬Óð´¼ü¾«ÁéPC°æËø¶¨Ä£ÄâÆ÷´°¿Ú¼´¿É£¬×ø±ê»ñÈ¡ºÍ¶ËÓη½·¨Ò»Ö¡£Èç¹ûÊǰ²×¿Õæ»úÖ±½ÓÔËÐУ¬ÐèÒªÓÃAuto.js»ò´¥¶¯¾«Áé¡£Auto.js»ùÓÚJavaScript£¬ÓÃÎÞÕϰ·þÎñÄ£Äâµã»÷ºÍ»¬¶¯£¬ºËÐÄÑ»·Âß¼ºÍ°´¼ü¾«ÁéÀàËÆ£¬µ«´¥Ãþ×ø±êµÄ»ñÈ¡ÐèÒªÔÚÊÖ»úÆÁÄ»ÉÏͨ¹ý¿ª·¢ÕßÑ¡ÏîÖеÄÖ¸ÕëλÖù¦ÄÜÀ´¼Ç¼¡£
½Å±¾ÔËÐÐÖеij£¼ûÎÊÌâ
×ø±êÆ«ÒÆÊÇ×î³£¼ûµÄÎÊÌâ¡£ÓÎÏ·´°¿Ú±»ÒâÍâÒÆ¶¯¡¢·Ö±æÂʱ仯»òÓÎÏ·ÄÚUIËõ·Åµ÷Õû¶¼»áµ¼ÖÂ֮ǰץȡµÄ×ø±êʧЧ¡£½â¾ö·½·¨ÊÇÿ´ÎÔËÐнű¾Ç°È·ÈÏ´°¿ÚλÖúͷֱæÂÊ£¬±ØÒªÊ±ÖØÐÂ×¥µã¡£
ÕÒͼʧ°Üµ¼Ö¿¨ËÀµÄÎÊÌâ¿ÉÒÔͨ¹ý³¬Ê±»úÖÆ´¦Àí¡£ÔڵȴýÕÒͼ½á¹ûµÄÑ»·ÖмÓÈë¼ÆÊýÆ÷£¬³¬¹ýÉ趨´ÎÊýÈÔÕÒ²»µ½Ä¿±êʱ£¬×Ô¶¯Ö´ÐÐÒ»´Î»Ø³Ç»òÍ˳öµ±Ç°½çÃæÖØÐ½øÈ룬±ÜÃâ½Å±¾ÔÚij¸ö»·½ÚÎÞÏ޵ȴý¡£
ÈÎÎñÀàÐÍËæ»úµÄ´¦ÀíÂß¼ÊÇ12ÐÇ×ù½Å±¾ÖÐ×ÔӵIJ¿·Ö¡£Ã¿¸öÐÇ×ùÿÔÂËæ»ú³éÈ¡ÈÎÎñÀàÐÍ£¬½Å±¾ÔÚ½ÓÈ¡ÈÎÎñºóÐèҪͨ¹ý¶Ô»°¿òÖеĹؼü×Ö»òͼ±êÀ´Åжϵ±Ç°ÊÇÄÄÖÖÈÎÎñ¡£ÕÒ×Ö¹¦ÄܵÄ׼ȷÂÊÊÜÓÎÏ·×ÖÌåäÖȾӰÏ죬½¨ÒéÓýØÍ¼ÖÆ×÷Ä£°åͼƬÅäºÏFindPicÀ´Ê¶±ð£¬±ÈFindStrÕÒ×Ö¸üÎȶ¨¡£
½Å±¾ÓïÑÔÑ¡ÔñµÄʵ¼Ê½¨Òé
Èç¹ûÄ¿±êÊÇ¿ìËÙʵÏÖÒ»¸öÄÜÅܵÄ12ÐÇ×ù×Ô¶¯»¯Á÷³Ì£¬°´¼ü¾«ÁéÊÇ×îÖ±½ÓµÄÑ¡Ôñ£¬Ñ§Ï°³É±¾µÍ£¬ÂÛ̳ÉÏÓдóÁ¿ÏֳɵÄ×ø±êºÍ´úÂëÆ¬¶Î¿ÉÒԲο¼¡£Èç¹û×·Çó¸ü¸ßµÄÎȶ¨ÐԺͺǫ́¶à¿ªÄÜÁ¦£¬Ò×ÓïÑÔ¼Ó´óÄ®²å¼þµÄ×éºÏ¸üºÏÊÊ£¬µ«ÐèÒª»¨Ê±¼äÊìϤ´óÄ®²å¼þµÄ½Ó¿ÚºÍ´°¿Ú°ó¶¨Ä£Ê½¡£Python·½°¸ÔÚͼÏñʶ±ð¾«¶ÈÉÏÓÐÓÅÊÆ£¬OpenCVµÄÄ£°åÆ¥ÅäºÍÑÕÉ«¹ýÂ˱Ȱ´¼ü¾«Áé×Ô´øµÄÕÒͼ¹¦ÄܸüÁé»î£¬µ«ÐèÒª¶îÍâ´¦Àí¼üÊóÄ£Äâ¿âµÄ¼æÈÝÎÊÌ⣬ÕûÌ忪·¢ÖÜÆÚ±È°´¼ü¾«Á鳤¡£

