Ò»¡¢ºËÐÄÐèÇóÃ÷È·£ºÕ½·¨Öí¶´¹Ò»úºËÐÄÂß¼
½Å±¾ºËÐÄÄ¿±ê£ºÊÊÅäÖí¶´£¨Ê¯Ä¹Õ󣩵ØÍ¼¹ÖÎïÌØÐÔ£¨Ãܼ¯ÐÍ¡¢¶àΪ½üÕ½¹Ö£©£¬ÊµÏÖսʿ¡¢·¨Ê¦×Ô¶¯Òƶ¯ÕÒ¹Ö¡¢¼¼ÄÜÊÍ·Å¡¢ÑªÁ¿/À¶Á¿²¹¸ø¡¢×Ô¶¯¼ñÈ¡¡¢°²È«»Ø³ÇµÈ¹¦ÄÜ£¬±£ÕϳÖÐøÉý¼¶²»Öжϡ£Á½Ö°ÒµºËÐIJîÒ죺սʿ²àÖØ½üÕ½´Ìɱ¡¢ÑªÁ¿Ðøº½£»·¨Ê¦²àÖØÔ¶³ÌȺ¹¥¡¢À¶Á¿²¹¸øÓë¹ÖÎïÀ³¶¡£
»ù´¡ÊÊÅ䳡¾°£ºÖí¶´1-7²ãͨÓã¬Ä¬ÈϹÖÎïΪºìÒ°Öí¡¢ºÚÒ°Öí¡¢°×Ò°Öí£¨°×Ò°ÖíÓÅÏȹ¥»÷´¦Àí£©£¬Ö§³Ö×Ô¶¯Çл»¹Ò»úµã룬±Ü¿ªµØÍ¼ÕϰÎïÓëÏÝÚå¡£
¶þ¡¢½Å±¾±àдǰÖÃ×¼±¸£º»·¾³ÓëºËÐĺ¯ÊýÊáÀí
1.ÊÊÅä»·¾³£º»ùÓÚ´«ÆæÖ÷Á÷ÒýÇæ£¨GOM¡¢GEE¡¢HEROµÈ£©±àд£¬ÐèÌáǰȷÈÏËùÓÃÒýÇæµÄµØÍ¼Òƶ¯¡¢¼¼ÄÜÊÍ·Å¡¢×´Ì¬¼ì²â¡¢ÎïÆ·Ê¹ÓᢼñÈ¡Ïà¹Øº¯Êý¿â£¬²»Í¬ÒýÇæº¯ÊýÃû³ÆÂÔÓвîÒ죬ºóÐøÊ¾Àý¸½Í¨ÓÃÓï·¨ÓëÒýÇæÊÊÅäÌáʾ¡£
2.±Ø±¸ºËÐĺ¯Êý£¨Í¨ÓÃÓ﷨ʾÀý£©£º
-״̬¼ì²âº¯Êý£ºCheckHP<°Ù·Ö±È>£¨¼ì²âѪÁ¿Õ¼±È£©¡¢CheckMP<°Ù·Ö±È>£¨¼ì²âÀ¶Á¿Õ¼±È£©¡¢CheckMonsterNearby<·¶Î§>£¨¼ì²âÖ¸¶¨·¶Î§ÄÚ¹ÖÎ£»
-ÒÆ¶¯ÕÒ¹Öº¯Êý£ºMoveToRandomPoint<µØÍ¼ID><×îСX><×î´óX><×îСY><×î´óY>£¨Ëæ»úÒÆ¶¯µ½µØÍ¼Ö¸¶¨×ø±ê·¶Î§£©¡¢MoveToMonster<¾àÀë>£¨Òƶ¯µ½¹ÖÎïÉí±ßÖ¸¶¨¾àÀ룩£»
-¼¼ÄÜÊͷź¯Êý£ºCastSkill<¼¼ÄÜID>£¨ÊÍ·ÅÖ¸¶¨¼¼ÄÜ£©¡¢CheckSkillCD<¼¼ÄÜID>£¨¼ì²â¼¼ÄÜÀäÈ´£©£»
-²¹¸øº¯Êý£ºUseItem<ÎïÆ·ID>£¨Ê¹ÓÃÖ¸¶¨ÎïÆ·£¬ÈçºìÒ©¡¢À¶Ò©£©¡¢CheckItemCount<ÎïÆ·ID>£¨¼ì²âÎïÆ·ÊýÁ¿£©£»
-°²È«º¯Êý£ºReturnCity£¨»Ø³Ç£©¡¢CheckDead£¨¼ì²â½ÇÉ«ÊÇ·ñËÀÍö£©¡¢CheckSafeArea£¨¼ì²âÊÇ·ñÔÚ°²È«Çø£©¡£
3.Öí¶´»ù´¡²ÎÊý£ºµØÍ¼ID£¨Ä¬ÈÏÖí¶´1²ãΪ3£¬ºóÐø²ãÊý°´Êµ¼Ê·þÎñ¶Ë²ÎÊýµ÷Õû£©¡¢¹ÖÎïID£¨ºìÒ°Öí101¡¢ºÚÒ°Öí102¡¢°×Ò°Öí103£©¡¢Õ½·¨ºËÐļ¼ÄÜID£¨Õ½Ê¿£º´Ìɱ½£Êõ11¡¢Áһ𽣷¨12£»·¨Ê¦£º»ðǽ13¡¢±ùÅØÏø14¡¢À×µçÊõ15£©¡£
Èý¡¢·ÖÖ°Òµ±àд½Å±¾£ºÕ½Ê¿Öí¶´¹Ò»úÍêÕûÂß¼
²½Öè1£º¶¨Òåսʿ¹Ò»úºËÐÄÅäÖÃ
ͨ¹ýÅäÖñíÃ÷ȷսʿ¹Ò»ú²ÎÊý£¬±ãÓÚºóÆÚµ÷Õû£¬±ÜÃâÓ²±àÂ룺
;սʿÖí¶´¹Ò»úÅäÖñí
WarriorAFK.MapID=3;Öí¶´1²ãµØÍ¼ID£¨°´Êµ¼Êµ÷Õû£©
WarriorAFK.MoveRangeX1=100;¹Ò»ú·¶Î§×îСX×ø±ê
WarriorAFK.MoveRangeX2=300;¹Ò»ú·¶Î§×î´óX×ø±ê
WarriorAFK.MoveRangeY1=100;¹Ò»ú·¶Î§×îСY×ø±ê
WarriorAFK.MoveRangeY2=300;¹Ò»ú·¶Î§×î´óY×ø±ê
WarriorAFK.HPThreshold=30;ѪÁ¿µÍÓÚ30%ʹÓúìÒ©
WarriorAFK.HPPotionID=201;ǿЧ̫ÑôË®ID£¨²¹Ñª£©
WarriorAFK.HPPotionCount=10;ºìÒ©µÍÓÚ10¸ö»Ø³Ç²¹¸ø
WarriorAFK.AttackSkill1=11;Ö÷Á¦¼¼ÄÜ£º´Ìɱ½£Êõ
WarriorAFK.AttackSkill2=12;±¬·¢¼¼ÄÜ£ºÁһ𽣷¨
WarriorAFK.MonsterRange=5;¼ì²â¹ÖÎﷶΧ£¨5¸ñÄÚ£©
WarriorAFK.SafeDistance=1;¹¥»÷¹ÖÎï¾àÀ루1¸ñ£¬½üÕ½£©
²½Öè2£º±àдսʿºËÐĹһúÑ»·º¯Êý
´´½¨Ö÷Ñ»·º¯ÊýWarriorAFKLoop()£¬ÊµÏ֓״̬¼ì²â-²¹¸ø-ÕÒ¹Ö-¹¥»÷”µÄÑ»·Âß¼£¬ºËÐÄÓÅÏȼ¶£ºÉú´æ£¨ÑªÁ¿/²¹¸ø£©>¹¥»÷£¨ÕÒ¹Ö/¼¼ÄÜ£©>¼ñÈ¡£º
;սʿÖí¶´¹Ò»úÖ÷Ñ»·º¯Êý£¨³ÖÐøÖ´ÐУ©
FunctionWarriorAFKLoop()
;¼ì²âÊÇ·ñËÀÍö£¬ËÀÍöÔòÍ£Ö¹¹Ò»ú
ifCheckDead()then
SendMsgToPlayer"½ÇÉ«ÒÑËÀÍö£¬¹Ò»úÍ£Ö¹£¡"
return
end
;1.°²È«Óë²¹¸ø¼ì²â£¨ÓÅÏȼ¶×î¸ß£©
;¼ì²âºìÒ©ÊýÁ¿£¬²»×ãÔò»Ø³Ç
ifCheckItemCount(WarriorAFK.HPPotionID)<WarriorAFK.HPPotionCountthen
SendMsgToPlayer"ºìÒ©²»×㣬׼±¸»Ø³Ç²¹¸ø£¡"
ReturnCity()
Wait2000;µÈ´ý2ÃëÈ·ÈϻسÇ
return
end
;¼ì²âѪÁ¿£¬µÍÓÚãÐֵʹÓúìÒ©
ifCheckHP(WarriorAFK.HPThreshold)then
UseItem(WarriorAFK.HPPotionID)
Wait500;±ÜÃâÁ¬ÐøÊ¹ÓÃÒ©Æ·
end
;2.ÕÒ¹ÖÂß¼
ifCheckMonsterNearby(WarriorAFK.MonsterRange)then
;·¶Î§ÄÚÓйÖÎï£¬ÒÆ¶¯µ½¹¥»÷¾àÀë
MoveToMonster(WarriorAFK.SafeDistance)
Wait1000;µÈ´ýÒÆ¶¯Íê³É
;3.¼¼Äܹ¥»÷Âß¼
;¼ì²âÁһ𽣷¨ÀäÈ´£¬ÀäÈ´½áÊøÊÍ·Å£¨±¬·¢ÓÅÏÈ£©
ifnotCheckSkillCD(WarriorAFK.AttackSkill2)then
CastSkill(WarriorAFK.AttackSkill2)
else
;ÁÒ»ðÀäȴʱ£¬Ê¹ÓôÌɱ½£Êõ³ÖÐø¹¥»÷
CastSkill(WarriorAFK.AttackSkill1)
end
Wait800;¹¥»÷¼ä¸ô£¨Æ¥Åä¼¼ÄÜÊÍ·ÅËÙ¶È£©
else
;·¶Î§ÄÚÎÞ¹ÖÎï£¬Ëæ»úÒÆ¶¯µ½¹Ò»úÇøÓòÕÒ¹Ö
MoveToRandomPoint(WarriorAFK.MapIDWarriorAFK.MoveRangeX1WarriorAFK.MoveRangeX2WarriorAFK.MoveRangeY1WarriorAFK.MoveRangeY2)
Wait2000;ÒÆ¶¯¼ä¸ô£¬±ÜÃâÆµ·±Òƶ¯
end
;4.×Ô¶¯¼ñÈ¡µØÃæÎïÆ·£¨¹¥»÷¼ä϶ִÐУ©
PickUpAllItem();¼ñȶΧÄÚËùÓÐÎïÆ·
Wait500
;Ñ»·Ö´Ðйһúº¯Êý
WarriorAFKLoop()
EndFunction
²½Öè3£ºÌí¼Ó°×Ò°ÖíÌØÊâ´¦ÀíÂß¼£¨¿ÉÑ¡£©
°×Ò°ÖíѪÁ¿¸ß¡¢¹¥»÷Ç¿£¬Ðèµ¥¶ÀÌí¼ÓÓÅÏȹ¥»÷ÓëѪÁ¿Ô¤¾¯Âß¼£¬ÔÚÕÒ¹Ö»·½Ú²¹³ä£º
;ÔÚ“ÕÒ¹ÖÂß¼”ÖÐÌæ»»ÔÓмì²â¹ÖÎï´úÂë
ifCheckMonsterNearby(WarriorAFK.MonsterRange)then
;ÓÅÏȼì²â°×Ò°Öí£¨ID£º103£©£¬´æÔÚÔòÓÅÏȹ¥»÷
ifCheckSpecificMonster(103WarriorAFK.MonsterRange)then
MoveToMonster(WarriorAFK.SafeDistance)
Wait1000
;°×Ò°Öí¹¥»÷¸ß£¬ÑªÁ¿±£³ÖÔÚ50%ÒÔÉÏ
ifCheckHP(50)then
UseItem(WarriorAFK.HPPotionID)
Wait500
end
;ÊÍ·ÅÁÒ»ð+´Ìɱ×éºÏ¼¼ÄÜ
ifnotCheckSkillCD(WarriorAFK.AttackSkill2)then
CastSkill(WarriorAFK.AttackSkill2)
else
CastSkill(WarriorAFK.AttackSkill1)
end
else
;ÆÕͨ¹ÖÎï¹¥»÷Âß¼£¨ÔÓдúÂ룩
MoveToMonster(WarriorAFK.SafeDistance)
Wait1000
ifnotCheckSkillCD(WarriorAFK.AttackSkill2)then
CastSkill(WarriorAFK.AttackSkill2)
else
CastSkill(WarriorAFK.AttackSkill1)
end
end
Wait800
end
ËÄ¡¢·ÖÖ°Òµ±àд½Å±¾£º·¨Ê¦Öí¶´¹Ò»úÍêÕûÂß¼
²½Öè1£º¶¨Ò巨ʦ¹Ò»úºËÐÄÅäÖÃ
·¨Ê¦²àÖØÀ¶Á¿²¹¸ø¡¢Èº¹¥¼¼ÄÜÊÍ·ÅÓë¹ÖÎïÀ³¶£¬ÅäÖñíÖØµã²¹³äÀ¶Á¿²ÎÊýÓëȺ¹¥¼¼ÄÜÉèÖãº
;·¨Ê¦Öí¶´¹Ò»úÅäÖñí
MageAFK.MapID=3;Öí¶´1²ãµØÍ¼ID£¨°´Êµ¼Êµ÷Õû£©
MageAFK.MoveRangeX1=100;¹Ò»ú·¶Î§×îСX×ø±ê
MageAFK.MoveRangeX2=300;¹Ò»ú·¶Î§×î´óX×ø±ê
MageAFK.MoveRangeY1=100;¹Ò»ú·¶Î§×îСY×ø±ê
MageAFK.MoveRangeY2=300;¹Ò»ú·¶Î§×î´óY×ø±ê
MageAFK.HPThreshold=40;ѪÁ¿µÍÓÚ40%ʹÓúìÒ©
MageAFK.MPThreshold=30;À¶Á¿µÍÓÚ30%ʹÓÃÀ¶Ò©
MageAFK.HPPotionID=201;ǿЧ̫ÑôË®ID£¨²¹Ñª£©
MageAFK.MPPotionID=202;ǿЧħ·¨Ë®ID£¨²¹À¶£©
MageAFK.PotionCount=15;ºìÀ¶Ò©¾ùµÍÓÚ15¸ö»Ø³Ç²¹¸ø
MageAFK.GroupSkill1=13;Ⱥ¹¥¼¼ÄÜ1£º»ðǽ£¨ÆÌ³¡£©
MageAFK.GroupSkill2=14;Ⱥ¹¥¼¼ÄÜ2£º±ùÅØÏø£¨Çå¹Ö£©
MageAFK.SingleSkill=15;µ¥Ìå¼¼ÄÜ£ºÀ×µçÊõ£¨²¹µ¶£©
MageAFK.MonsterRange=8;¼ì²â¹ÖÎﷶΧ£¨8¸ñÄÚ£¬Ô¶³ÌÓÅÊÆ£©
MageAFK.SafeDistance=3;¹¥»÷¹ÖÎï¾àÀ루3¸ñ£¬Ô¶³ÌÀ³¶£©
MageAFK.MonsterCount=3;¹ÖÎïÊýÁ¿≥3ʱʹÓÃȺ¹¥
²½Öè2£º±àд·¨Ê¦ºËÐĹһúÑ»·º¯Êý
´´½¨Ö÷Ñ»·º¯ÊýMageAFKLoop()£¬ºËÐÄÓÅÏȼ¶£ºÀ¶Á¿²¹¸ø£¨±£Õϼ¼ÄÜÊÍ·Å£©>ѪÁ¿Éú´æ>Ⱥ¹¥ÆÌ³¡>¼ñÈ¡£¬ÖصãʵÏÖ»ðǽÆÌ³¡+±ùÅØÏøÇå¹ÖµÄЧÂÊÂß¼£º
;·¨Ê¦Öí¶´¹Ò»úÖ÷Ñ»·º¯Êý£¨³ÖÐøÖ´ÐУ©
FunctionMageAFKLoop()
;¼ì²âÊÇ·ñËÀÍö£¬ËÀÍöÔòÍ£Ö¹¹Ò»ú
ifCheckDead()then
SendMsgToPlayer"½ÇÉ«ÒÑËÀÍö£¬¹Ò»úÍ£Ö¹£¡"
return
end
;1.°²È«Óë²¹¸ø¼ì²â£¨ÓÅÏȼ¶×î¸ß£©
;¼ì²âºìÀ¶Ò©ÊýÁ¿£¬²»×ãÔò»Ø³Ç
ifCheckItemCount(MageAFK.HPPotionID)<MageAFK.PotionCountorCheckItemCount(MageAFK.MPPotionID)<MageAFK.PotionCountthen
SendMsgToPlayer"Ò©Æ·²»×㣬׼±¸»Ø³Ç²¹¸ø£¡"
ReturnCity()
Wait2000;µÈ´ý2ÃëÈ·ÈϻسÇ
return
end
;¼ì²âѪÁ¿£¬µÍÓÚãÐֵʹÓúìÒ©
ifCheckHP(MageAFK.HPThreshold)then
UseItem(MageAFK.HPPotionID)
Wait500
end
;¼ì²âÀ¶Á¿£¬µÍÓÚãÐֵʹÓÃÀ¶Ò©£¨·¨Ê¦ºËÐÄ£©
ifCheckMP(MageAFK.MPThreshold)then
UseItem(MageAFK.MPPotionID)
Wait500
end
;2.ÕÒ¹ÖÓëÀ³¶Âß¼
ifCheckMonsterNearby(MageAFK.MonsterRange)then
;·¶Î§ÄÚÓйÖÎï£¬ÒÆ¶¯µ½Ô¶³Ì¹¥»÷¾àÀë
MoveToMonster(MageAFK.SafeDistance)
Wait1000
;¼ì²â¹ÖÎïÊýÁ¿£¬¾ö¶¨Ê¹ÓÃȺ¹¥»òµ¥Ìå¼¼ÄÜ
localmonsterCount=GetMonsterCountNearby(MageAFK.MonsterRange)
ifmonsterCount>=MageAFK.MonsterCountthen
;¹ÖÎï≥3Ö»£¬ÏÈÆÌ»ðǽÔÙÓñùÅØÏøÇå¹Ö
ifnotCheckSkillCD(MageAFK.GroupSkill1)then
CastSkill(MageAFK.GroupSkill1);ÊÍ·Å»ðǽ£¨½ÅÏ»ò¹ÖÎïÃܼ¯´¦£©
Wait1500;»ðǽÊͷżä¸ô
end
ifnotCheckSkillCD(MageAFK.GroupSkill2)then
CastSkill(MageAFK.GroupSkill2);ÊͷűùÅØÏøÈº¹¥
end
else
;¹ÖÎï<3Ö»£¬Ê¹ÓÃÀ×µçÊõµ¥Ìå²¹µ¶
CastSkill(MageAFK.SingleSkill)
end
Wait1000;¼¼ÄÜÊͷżä¸ô
else
;·¶Î§ÄÚÎÞ¹ÖÎï£¬Ëæ»úÒÆ¶¯ÕÒ¹Ö
MoveToRandomPoint(MageAFK.MapIDMageAFK.MoveRangeX1MageAFK.MoveRangeX2MageAFK.MoveRangeY1MageAFK.MoveRangeY2)
Wait2000
end
;3.×Ô¶¯¼ñÈ¡µØÃæÎïÆ·
PickUpAllItem()
Wait500
;Ñ»·Ö´Ðйһúº¯Êý
MageAFKLoop()
EndFunction
²½Öè3£ºÌí¼Ó·¨Ê¦·ÀΧ¶ÂÂß¼£¨¹Ø¼ü£©
·¨Ê¦ÑªÁ¿µÍ£¬Ò×±»Öí¶´¹ÖÎïΧ¶Â£¬²¹³äΧ¶Â¼ì²âÓëÍÑÀ§Âß¼£¬ÔÚÒÆ¶¯»·½ÚÌí¼Ó£º
;ÔÚ“ÕÒ¹ÖÓëÀ³¶Âß¼”ǰÌí¼ÓΧ¶Â¼ì²â
;¼ì²âÊÇ·ñ±»¹ÖÎïΧ¶Â£¨3¸ñÄÚ¹ÖÎïÊýÁ¿≥4Ö»£©
ifGetMonsterCountNearby(3)>=4then
SendMsgToPlayer"±»¹ÖÎïΧ¶Â£¬×¼±¸ÍÑÀ§£¡"
;Ëæ»úÏòÒ»¸ö·½ÏòÒÆ¶¯2¸ñÍÑÀ§
MoveToDirection(Random(14)2);Random(14)´ú±íÉÏÏÂ×óÓÒËĸö·½Ïò
Wait1000
;ÍÑÀ§ºóÊͷűùÅØÏøÇå³ö°²È«ÇøÓò
ifnotCheckSkillCD(MageAFK.GroupSkill2)then
CastSkill(MageAFK.GroupSkill2)
end
Wait500
end
Îå¡¢½Å±¾µ÷ÊÔÓë×¢ÒâÊÂÏî
1.ºËÐĵ÷ÊÔÒªµã
¢Ù²ÎÊýÊÊÅ䣺°´×ÔÉí·þÎñ¶Ëµ÷ÕûµØÍ¼ID¡¢¹ÖÎïID¡¢¼¼ÄÜID£¬¿ÉÔÚ·þÎñ¶Ë“DB/MapDB.ini”“DB/Skill.ini”Öвéѯ׼ȷ²ÎÊý£»
¢Úº¯ÊýÌæ»»£º²»Í¬ÒýÇæº¯ÊýÌæ»»£¬ÈçGOMÒýÇæ“¼ñÈ¡ÎïÆ·”ΪPickUpAll£¬HEROÒýÇæÎªHero_PickUpAll£¬Ðè²éÔĶÔÓ¦ÒýÇæÊֲ᣻
¢Û½Ú×à²âÊÔ£ºµ÷Õû¼¼ÄÜÊͷżä¸ô¡¢Òƶ¯¼ä¸ô£¬±ÜÃâÒò¼ä¸ô¹ý¶Ìµ¼Ö·þÎñÆ÷¸ºÔØÔö¼Ó£¬»ò¼ä¸ô¹ý³¤Ó°ÏìÉý¼¶Ð§ÂÊ£»
¢ÜÉú´æ²âÊÔ£º·Ö±ð²âÊÔսʿѪÁ¿µÍÓÚãÐÖµ¡¢·¨Ê¦À¶Á¿²»×ãʱµÄ²¹¸øÏìÓ¦£¬È·ÈÏҩƷʹÓÃÓë»Ø³ÇÂß¼Õý³£¡£
2.¹Ø¼üϸ½Ú²¹³ä
¢ÙÕϰÎï¹æ±Ü£º²¿·ÖÒýÇæÖ§³Ö“×Ô¶¯ÈÆÂ·”º¯Êý£¨ÈçAutoRoute£©£¬¿ÉÔÚÒÆ¶¯º¯ÊýÖÐÌí¼Ó£¬±ÜÃâ½ÇÉ«¿¨ÔÚµØÍ¼ÕϰÎï´¦£»
¢ÚÎïÆ·¹ýÂË£ºÌí¼Ó¼ñÈ¡¹ýÂ˺¯Êý£¨ÈçFilterItem<ÎïÆ·ID>£©£¬½ö¼ñȡҩƷ¡¢ÓÐÓÃ×°±¸£¬¹ýÂËÀ¬»øÎïÆ·£¬¼õÉÙ¼ñÈ¡ºÄʱ£»
¢Û¶à²ã¹Ò»ú£¨¿ÉÑ¡£©£ºÌí¼ÓµØÍ¼²ãÊýÇл»Âß¼£¬¼ì²âµ±Ç°²ã¹ÖÎïÃܶȣ¬ÃܶȹýµÍÔò×Ô¶¯Çл»µ½ÏÂÒ»²ã£¨ÈçÖí¶´1²ã→2²ã£©£»
¢ÜÀëÏß±£»¤£ºÌí¼ÓÀëÏß¼ì²âº¯Êý£¬¼ì²â½ÇÉ«ÀëÏß״̬£¬ÀëÏßǰ×Ô¶¯»Ø³Ç£¬±ÜÃâ½ÇÉ«ÔÚÒ°Íâ±»¹ÖÎï»÷ɱ¡£
Áù¡¢³£¼ûÎÊÌâÅŲ鷽·¨
1.½ÇɫԵز»¶¯£º¼ì²éµØÍ¼IDÓë×ø±ê·¶Î§ÊÇ·ñÕýÈ·£¬Òƶ¯º¯ÊýÊÇ·ñÊÊÅ䵱ǰÒýÇæ£¬»òÊÇ·ñ±»ÕϰÎï×èµ²£¬¿ÉÀ©´óÒÆ¶¯·¶Î§²âÊÔ£»
2.¼¼Äܲ»ÊÍ·Å£ºÑéÖ¤¼¼ÄÜIDÊÇ·ñÕýÈ·£¬¼¼ÄÜÀäÈ´¼ì²âº¯ÊýÊÇ·ñ·´Ð´£¨È罫“notCheckSkillCD”ÎóдΪ“CheckSkillCD”£©£»
3.²¹¸ø²»¼°Ê±£ºµ÷ÕûѪÁ¿/À¶Á¿ãÐÖµ£¬¼ì²éÒ©Æ·IDÊÇ·ñÕýÈ·£¬±ÜÃâÒòÒ©Æ·Ãû³ÆÓëID²»Æ¥Åäµ¼ÖÂÎÞ·¨Ê¹Óã»
4.·¨Ê¦±»Î§¶ÂÖÂËÀ£ºÀ©´ó°²È«¹¥»÷¾àÀ룬µ÷ÕûΧ¶Â¼ì²âµÄ¹ÖÎïÊýÁ¿ãÐÖµ£¬È·±£ÍÑÀ§Âß¼ÓÅÏÈÖ´ÐУ»
5.ÎÞ·¨¼ñÈ¡ÎïÆ·£º¼ì²é¼ñÈ¡º¯ÊýÊÇ·ñÕýÈ·£¬ÊÇ·ñÌí¼ÓÎïÆ·¹ýÂ˹æÔòµ¼ÖÂÓÐÓÃÎïÆ·±»Îó¹ýÂË¡£
½Å±¾ºËÐÄÄ¿±ê£ºÊÊÅäÖí¶´£¨Ê¯Ä¹Õ󣩵ØÍ¼¹ÖÎïÌØÐÔ£¨Ãܼ¯ÐÍ¡¢¶àΪ½üÕ½¹Ö£©£¬ÊµÏÖսʿ¡¢·¨Ê¦×Ô¶¯Òƶ¯ÕÒ¹Ö¡¢¼¼ÄÜÊÍ·Å¡¢ÑªÁ¿/À¶Á¿²¹¸ø¡¢×Ô¶¯¼ñÈ¡¡¢°²È«»Ø³ÇµÈ¹¦ÄÜ£¬±£ÕϳÖÐøÉý¼¶²»Öжϡ£Á½Ö°ÒµºËÐIJîÒ죺սʿ²àÖØ½üÕ½´Ìɱ¡¢ÑªÁ¿Ðøº½£»·¨Ê¦²àÖØÔ¶³ÌȺ¹¥¡¢À¶Á¿²¹¸øÓë¹ÖÎïÀ³¶¡£
»ù´¡ÊÊÅ䳡¾°£ºÖí¶´1-7²ãͨÓã¬Ä¬ÈϹÖÎïΪºìÒ°Öí¡¢ºÚÒ°Öí¡¢°×Ò°Öí£¨°×Ò°ÖíÓÅÏȹ¥»÷´¦Àí£©£¬Ö§³Ö×Ô¶¯Çл»¹Ò»úµã룬±Ü¿ªµØÍ¼ÕϰÎïÓëÏÝÚå¡£
¶þ¡¢½Å±¾±àдǰÖÃ×¼±¸£º»·¾³ÓëºËÐĺ¯ÊýÊáÀí
1.ÊÊÅä»·¾³£º»ùÓÚ´«ÆæÖ÷Á÷ÒýÇæ£¨GOM¡¢GEE¡¢HEROµÈ£©±àд£¬ÐèÌáǰȷÈÏËùÓÃÒýÇæµÄµØÍ¼Òƶ¯¡¢¼¼ÄÜÊÍ·Å¡¢×´Ì¬¼ì²â¡¢ÎïÆ·Ê¹ÓᢼñÈ¡Ïà¹Øº¯Êý¿â£¬²»Í¬ÒýÇæº¯ÊýÃû³ÆÂÔÓвîÒ죬ºóÐøÊ¾Àý¸½Í¨ÓÃÓï·¨ÓëÒýÇæÊÊÅäÌáʾ¡£
2.±Ø±¸ºËÐĺ¯Êý£¨Í¨ÓÃÓ﷨ʾÀý£©£º
-״̬¼ì²âº¯Êý£ºCheckHP<°Ù·Ö±È>£¨¼ì²âѪÁ¿Õ¼±È£©¡¢CheckMP<°Ù·Ö±È>£¨¼ì²âÀ¶Á¿Õ¼±È£©¡¢CheckMonsterNearby<·¶Î§>£¨¼ì²âÖ¸¶¨·¶Î§ÄÚ¹ÖÎ£»
-ÒÆ¶¯ÕÒ¹Öº¯Êý£ºMoveToRandomPoint<µØÍ¼ID><×îСX><×î´óX><×îСY><×î´óY>£¨Ëæ»úÒÆ¶¯µ½µØÍ¼Ö¸¶¨×ø±ê·¶Î§£©¡¢MoveToMonster<¾àÀë>£¨Òƶ¯µ½¹ÖÎïÉí±ßÖ¸¶¨¾àÀ룩£»
-¼¼ÄÜÊͷź¯Êý£ºCastSkill<¼¼ÄÜID>£¨ÊÍ·ÅÖ¸¶¨¼¼ÄÜ£©¡¢CheckSkillCD<¼¼ÄÜID>£¨¼ì²â¼¼ÄÜÀäÈ´£©£»
-²¹¸øº¯Êý£ºUseItem<ÎïÆ·ID>£¨Ê¹ÓÃÖ¸¶¨ÎïÆ·£¬ÈçºìÒ©¡¢À¶Ò©£©¡¢CheckItemCount<ÎïÆ·ID>£¨¼ì²âÎïÆ·ÊýÁ¿£©£»
-°²È«º¯Êý£ºReturnCity£¨»Ø³Ç£©¡¢CheckDead£¨¼ì²â½ÇÉ«ÊÇ·ñËÀÍö£©¡¢CheckSafeArea£¨¼ì²âÊÇ·ñÔÚ°²È«Çø£©¡£
3.Öí¶´»ù´¡²ÎÊý£ºµØÍ¼ID£¨Ä¬ÈÏÖí¶´1²ãΪ3£¬ºóÐø²ãÊý°´Êµ¼Ê·þÎñ¶Ë²ÎÊýµ÷Õû£©¡¢¹ÖÎïID£¨ºìÒ°Öí101¡¢ºÚÒ°Öí102¡¢°×Ò°Öí103£©¡¢Õ½·¨ºËÐļ¼ÄÜID£¨Õ½Ê¿£º´Ìɱ½£Êõ11¡¢Áһ𽣷¨12£»·¨Ê¦£º»ðǽ13¡¢±ùÅØÏø14¡¢À×µçÊõ15£©¡£
Èý¡¢·ÖÖ°Òµ±àд½Å±¾£ºÕ½Ê¿Öí¶´¹Ò»úÍêÕûÂß¼
²½Öè1£º¶¨Òåսʿ¹Ò»úºËÐÄÅäÖÃ
ͨ¹ýÅäÖñíÃ÷ȷսʿ¹Ò»ú²ÎÊý£¬±ãÓÚºóÆÚµ÷Õû£¬±ÜÃâÓ²±àÂ룺
;սʿÖí¶´¹Ò»úÅäÖñí
WarriorAFK.MapID=3;Öí¶´1²ãµØÍ¼ID£¨°´Êµ¼Êµ÷Õû£©
WarriorAFK.MoveRangeX1=100;¹Ò»ú·¶Î§×îСX×ø±ê
WarriorAFK.MoveRangeX2=300;¹Ò»ú·¶Î§×î´óX×ø±ê
WarriorAFK.MoveRangeY1=100;¹Ò»ú·¶Î§×îСY×ø±ê
WarriorAFK.MoveRangeY2=300;¹Ò»ú·¶Î§×î´óY×ø±ê
WarriorAFK.HPThreshold=30;ѪÁ¿µÍÓÚ30%ʹÓúìÒ©
WarriorAFK.HPPotionID=201;ǿЧ̫ÑôË®ID£¨²¹Ñª£©
WarriorAFK.HPPotionCount=10;ºìÒ©µÍÓÚ10¸ö»Ø³Ç²¹¸ø
WarriorAFK.AttackSkill1=11;Ö÷Á¦¼¼ÄÜ£º´Ìɱ½£Êõ
WarriorAFK.AttackSkill2=12;±¬·¢¼¼ÄÜ£ºÁһ𽣷¨
WarriorAFK.MonsterRange=5;¼ì²â¹ÖÎﷶΧ£¨5¸ñÄÚ£©
WarriorAFK.SafeDistance=1;¹¥»÷¹ÖÎï¾àÀ루1¸ñ£¬½üÕ½£©
²½Öè2£º±àдսʿºËÐĹһúÑ»·º¯Êý
´´½¨Ö÷Ñ»·º¯ÊýWarriorAFKLoop()£¬ÊµÏ֓״̬¼ì²â-²¹¸ø-ÕÒ¹Ö-¹¥»÷”µÄÑ»·Âß¼£¬ºËÐÄÓÅÏȼ¶£ºÉú´æ£¨ÑªÁ¿/²¹¸ø£©>¹¥»÷£¨ÕÒ¹Ö/¼¼ÄÜ£©>¼ñÈ¡£º
;սʿÖí¶´¹Ò»úÖ÷Ñ»·º¯Êý£¨³ÖÐøÖ´ÐУ©
FunctionWarriorAFKLoop()
;¼ì²âÊÇ·ñËÀÍö£¬ËÀÍöÔòÍ£Ö¹¹Ò»ú
ifCheckDead()then
SendMsgToPlayer"½ÇÉ«ÒÑËÀÍö£¬¹Ò»úÍ£Ö¹£¡"
return
end
;1.°²È«Óë²¹¸ø¼ì²â£¨ÓÅÏȼ¶×î¸ß£©
;¼ì²âºìÒ©ÊýÁ¿£¬²»×ãÔò»Ø³Ç
ifCheckItemCount(WarriorAFK.HPPotionID)<WarriorAFK.HPPotionCountthen
SendMsgToPlayer"ºìÒ©²»×㣬׼±¸»Ø³Ç²¹¸ø£¡"
ReturnCity()
Wait2000;µÈ´ý2ÃëÈ·ÈϻسÇ
return
end
;¼ì²âѪÁ¿£¬µÍÓÚãÐֵʹÓúìÒ©
ifCheckHP(WarriorAFK.HPThreshold)then
UseItem(WarriorAFK.HPPotionID)
Wait500;±ÜÃâÁ¬ÐøÊ¹ÓÃÒ©Æ·
end
;2.ÕÒ¹ÖÂß¼
ifCheckMonsterNearby(WarriorAFK.MonsterRange)then
;·¶Î§ÄÚÓйÖÎï£¬ÒÆ¶¯µ½¹¥»÷¾àÀë
MoveToMonster(WarriorAFK.SafeDistance)
Wait1000;µÈ´ýÒÆ¶¯Íê³É
;3.¼¼Äܹ¥»÷Âß¼
;¼ì²âÁһ𽣷¨ÀäÈ´£¬ÀäÈ´½áÊøÊÍ·Å£¨±¬·¢ÓÅÏÈ£©
ifnotCheckSkillCD(WarriorAFK.AttackSkill2)then
CastSkill(WarriorAFK.AttackSkill2)
else
;ÁÒ»ðÀäȴʱ£¬Ê¹ÓôÌɱ½£Êõ³ÖÐø¹¥»÷
CastSkill(WarriorAFK.AttackSkill1)
end
Wait800;¹¥»÷¼ä¸ô£¨Æ¥Åä¼¼ÄÜÊÍ·ÅËÙ¶È£©
else
;·¶Î§ÄÚÎÞ¹ÖÎï£¬Ëæ»úÒÆ¶¯µ½¹Ò»úÇøÓòÕÒ¹Ö
MoveToRandomPoint(WarriorAFK.MapIDWarriorAFK.MoveRangeX1WarriorAFK.MoveRangeX2WarriorAFK.MoveRangeY1WarriorAFK.MoveRangeY2)
Wait2000;ÒÆ¶¯¼ä¸ô£¬±ÜÃâÆµ·±Òƶ¯
end
;4.×Ô¶¯¼ñÈ¡µØÃæÎïÆ·£¨¹¥»÷¼ä϶ִÐУ©
PickUpAllItem();¼ñȶΧÄÚËùÓÐÎïÆ·
Wait500
;Ñ»·Ö´Ðйһúº¯Êý
WarriorAFKLoop()
EndFunction
²½Öè3£ºÌí¼Ó°×Ò°ÖíÌØÊâ´¦ÀíÂß¼£¨¿ÉÑ¡£©
°×Ò°ÖíѪÁ¿¸ß¡¢¹¥»÷Ç¿£¬Ðèµ¥¶ÀÌí¼ÓÓÅÏȹ¥»÷ÓëѪÁ¿Ô¤¾¯Âß¼£¬ÔÚÕÒ¹Ö»·½Ú²¹³ä£º
;ÔÚ“ÕÒ¹ÖÂß¼”ÖÐÌæ»»ÔÓмì²â¹ÖÎï´úÂë
ifCheckMonsterNearby(WarriorAFK.MonsterRange)then
;ÓÅÏȼì²â°×Ò°Öí£¨ID£º103£©£¬´æÔÚÔòÓÅÏȹ¥»÷
ifCheckSpecificMonster(103WarriorAFK.MonsterRange)then
MoveToMonster(WarriorAFK.SafeDistance)
Wait1000
;°×Ò°Öí¹¥»÷¸ß£¬ÑªÁ¿±£³ÖÔÚ50%ÒÔÉÏ
ifCheckHP(50)then
UseItem(WarriorAFK.HPPotionID)
Wait500
end
;ÊÍ·ÅÁÒ»ð+´Ìɱ×éºÏ¼¼ÄÜ
ifnotCheckSkillCD(WarriorAFK.AttackSkill2)then
CastSkill(WarriorAFK.AttackSkill2)
else
CastSkill(WarriorAFK.AttackSkill1)
end
else
;ÆÕͨ¹ÖÎï¹¥»÷Âß¼£¨ÔÓдúÂ룩
MoveToMonster(WarriorAFK.SafeDistance)
Wait1000
ifnotCheckSkillCD(WarriorAFK.AttackSkill2)then
CastSkill(WarriorAFK.AttackSkill2)
else
CastSkill(WarriorAFK.AttackSkill1)
end
end
Wait800
end
ËÄ¡¢·ÖÖ°Òµ±àд½Å±¾£º·¨Ê¦Öí¶´¹Ò»úÍêÕûÂß¼
²½Öè1£º¶¨Ò巨ʦ¹Ò»úºËÐÄÅäÖÃ
·¨Ê¦²àÖØÀ¶Á¿²¹¸ø¡¢Èº¹¥¼¼ÄÜÊÍ·ÅÓë¹ÖÎïÀ³¶£¬ÅäÖñíÖØµã²¹³äÀ¶Á¿²ÎÊýÓëȺ¹¥¼¼ÄÜÉèÖãº
;·¨Ê¦Öí¶´¹Ò»úÅäÖñí
MageAFK.MapID=3;Öí¶´1²ãµØÍ¼ID£¨°´Êµ¼Êµ÷Õû£©
MageAFK.MoveRangeX1=100;¹Ò»ú·¶Î§×îСX×ø±ê
MageAFK.MoveRangeX2=300;¹Ò»ú·¶Î§×î´óX×ø±ê
MageAFK.MoveRangeY1=100;¹Ò»ú·¶Î§×îСY×ø±ê
MageAFK.MoveRangeY2=300;¹Ò»ú·¶Î§×î´óY×ø±ê
MageAFK.HPThreshold=40;ѪÁ¿µÍÓÚ40%ʹÓúìÒ©
MageAFK.MPThreshold=30;À¶Á¿µÍÓÚ30%ʹÓÃÀ¶Ò©
MageAFK.HPPotionID=201;ǿЧ̫ÑôË®ID£¨²¹Ñª£©
MageAFK.MPPotionID=202;ǿЧħ·¨Ë®ID£¨²¹À¶£©
MageAFK.PotionCount=15;ºìÀ¶Ò©¾ùµÍÓÚ15¸ö»Ø³Ç²¹¸ø
MageAFK.GroupSkill1=13;Ⱥ¹¥¼¼ÄÜ1£º»ðǽ£¨ÆÌ³¡£©
MageAFK.GroupSkill2=14;Ⱥ¹¥¼¼ÄÜ2£º±ùÅØÏø£¨Çå¹Ö£©
MageAFK.SingleSkill=15;µ¥Ìå¼¼ÄÜ£ºÀ×µçÊõ£¨²¹µ¶£©
MageAFK.MonsterRange=8;¼ì²â¹ÖÎﷶΧ£¨8¸ñÄÚ£¬Ô¶³ÌÓÅÊÆ£©
MageAFK.SafeDistance=3;¹¥»÷¹ÖÎï¾àÀ루3¸ñ£¬Ô¶³ÌÀ³¶£©
MageAFK.MonsterCount=3;¹ÖÎïÊýÁ¿≥3ʱʹÓÃȺ¹¥
²½Öè2£º±àд·¨Ê¦ºËÐĹһúÑ»·º¯Êý
´´½¨Ö÷Ñ»·º¯ÊýMageAFKLoop()£¬ºËÐÄÓÅÏȼ¶£ºÀ¶Á¿²¹¸ø£¨±£Õϼ¼ÄÜÊÍ·Å£©>ѪÁ¿Éú´æ>Ⱥ¹¥ÆÌ³¡>¼ñÈ¡£¬ÖصãʵÏÖ»ðǽÆÌ³¡+±ùÅØÏøÇå¹ÖµÄЧÂÊÂß¼£º
;·¨Ê¦Öí¶´¹Ò»úÖ÷Ñ»·º¯Êý£¨³ÖÐøÖ´ÐУ©
FunctionMageAFKLoop()
;¼ì²âÊÇ·ñËÀÍö£¬ËÀÍöÔòÍ£Ö¹¹Ò»ú
ifCheckDead()then
SendMsgToPlayer"½ÇÉ«ÒÑËÀÍö£¬¹Ò»úÍ£Ö¹£¡"
return
end
;1.°²È«Óë²¹¸ø¼ì²â£¨ÓÅÏȼ¶×î¸ß£©
;¼ì²âºìÀ¶Ò©ÊýÁ¿£¬²»×ãÔò»Ø³Ç
ifCheckItemCount(MageAFK.HPPotionID)<MageAFK.PotionCountorCheckItemCount(MageAFK.MPPotionID)<MageAFK.PotionCountthen
SendMsgToPlayer"Ò©Æ·²»×㣬׼±¸»Ø³Ç²¹¸ø£¡"
ReturnCity()
Wait2000;µÈ´ý2ÃëÈ·ÈϻسÇ
return
end
;¼ì²âѪÁ¿£¬µÍÓÚãÐֵʹÓúìÒ©
ifCheckHP(MageAFK.HPThreshold)then
UseItem(MageAFK.HPPotionID)
Wait500
end
;¼ì²âÀ¶Á¿£¬µÍÓÚãÐֵʹÓÃÀ¶Ò©£¨·¨Ê¦ºËÐÄ£©
ifCheckMP(MageAFK.MPThreshold)then
UseItem(MageAFK.MPPotionID)
Wait500
end
;2.ÕÒ¹ÖÓëÀ³¶Âß¼
ifCheckMonsterNearby(MageAFK.MonsterRange)then
;·¶Î§ÄÚÓйÖÎï£¬ÒÆ¶¯µ½Ô¶³Ì¹¥»÷¾àÀë
MoveToMonster(MageAFK.SafeDistance)
Wait1000
;¼ì²â¹ÖÎïÊýÁ¿£¬¾ö¶¨Ê¹ÓÃȺ¹¥»òµ¥Ìå¼¼ÄÜ
localmonsterCount=GetMonsterCountNearby(MageAFK.MonsterRange)
ifmonsterCount>=MageAFK.MonsterCountthen
;¹ÖÎï≥3Ö»£¬ÏÈÆÌ»ðǽÔÙÓñùÅØÏøÇå¹Ö
ifnotCheckSkillCD(MageAFK.GroupSkill1)then
CastSkill(MageAFK.GroupSkill1);ÊÍ·Å»ðǽ£¨½ÅÏ»ò¹ÖÎïÃܼ¯´¦£©
Wait1500;»ðǽÊͷżä¸ô
end
ifnotCheckSkillCD(MageAFK.GroupSkill2)then
CastSkill(MageAFK.GroupSkill2);ÊͷűùÅØÏøÈº¹¥
end
else
;¹ÖÎï<3Ö»£¬Ê¹ÓÃÀ×µçÊõµ¥Ìå²¹µ¶
CastSkill(MageAFK.SingleSkill)
end
Wait1000;¼¼ÄÜÊͷżä¸ô
else
;·¶Î§ÄÚÎÞ¹ÖÎï£¬Ëæ»úÒÆ¶¯ÕÒ¹Ö
MoveToRandomPoint(MageAFK.MapIDMageAFK.MoveRangeX1MageAFK.MoveRangeX2MageAFK.MoveRangeY1MageAFK.MoveRangeY2)
Wait2000
end
;3.×Ô¶¯¼ñÈ¡µØÃæÎïÆ·
PickUpAllItem()
Wait500
;Ñ»·Ö´Ðйһúº¯Êý
MageAFKLoop()
EndFunction
²½Öè3£ºÌí¼Ó·¨Ê¦·ÀΧ¶ÂÂß¼£¨¹Ø¼ü£©
·¨Ê¦ÑªÁ¿µÍ£¬Ò×±»Öí¶´¹ÖÎïΧ¶Â£¬²¹³äΧ¶Â¼ì²âÓëÍÑÀ§Âß¼£¬ÔÚÒÆ¶¯»·½ÚÌí¼Ó£º
;ÔÚ“ÕÒ¹ÖÓëÀ³¶Âß¼”ǰÌí¼ÓΧ¶Â¼ì²â
;¼ì²âÊÇ·ñ±»¹ÖÎïΧ¶Â£¨3¸ñÄÚ¹ÖÎïÊýÁ¿≥4Ö»£©
ifGetMonsterCountNearby(3)>=4then
SendMsgToPlayer"±»¹ÖÎïΧ¶Â£¬×¼±¸ÍÑÀ§£¡"
;Ëæ»úÏòÒ»¸ö·½ÏòÒÆ¶¯2¸ñÍÑÀ§
MoveToDirection(Random(14)2);Random(14)´ú±íÉÏÏÂ×óÓÒËĸö·½Ïò
Wait1000
;ÍÑÀ§ºóÊͷűùÅØÏøÇå³ö°²È«ÇøÓò
ifnotCheckSkillCD(MageAFK.GroupSkill2)then
CastSkill(MageAFK.GroupSkill2)
end
Wait500
end
Îå¡¢½Å±¾µ÷ÊÔÓë×¢ÒâÊÂÏî
1.ºËÐĵ÷ÊÔÒªµã
¢Ù²ÎÊýÊÊÅ䣺°´×ÔÉí·þÎñ¶Ëµ÷ÕûµØÍ¼ID¡¢¹ÖÎïID¡¢¼¼ÄÜID£¬¿ÉÔÚ·þÎñ¶Ë“DB/MapDB.ini”“DB/Skill.ini”Öвéѯ׼ȷ²ÎÊý£»
¢Úº¯ÊýÌæ»»£º²»Í¬ÒýÇæº¯ÊýÌæ»»£¬ÈçGOMÒýÇæ“¼ñÈ¡ÎïÆ·”ΪPickUpAll£¬HEROÒýÇæÎªHero_PickUpAll£¬Ðè²éÔĶÔÓ¦ÒýÇæÊֲ᣻
¢Û½Ú×à²âÊÔ£ºµ÷Õû¼¼ÄÜÊͷżä¸ô¡¢Òƶ¯¼ä¸ô£¬±ÜÃâÒò¼ä¸ô¹ý¶Ìµ¼Ö·þÎñÆ÷¸ºÔØÔö¼Ó£¬»ò¼ä¸ô¹ý³¤Ó°ÏìÉý¼¶Ð§ÂÊ£»
¢ÜÉú´æ²âÊÔ£º·Ö±ð²âÊÔսʿѪÁ¿µÍÓÚãÐÖµ¡¢·¨Ê¦À¶Á¿²»×ãʱµÄ²¹¸øÏìÓ¦£¬È·ÈÏҩƷʹÓÃÓë»Ø³ÇÂß¼Õý³£¡£
2.¹Ø¼üϸ½Ú²¹³ä
¢ÙÕϰÎï¹æ±Ü£º²¿·ÖÒýÇæÖ§³Ö“×Ô¶¯ÈÆÂ·”º¯Êý£¨ÈçAutoRoute£©£¬¿ÉÔÚÒÆ¶¯º¯ÊýÖÐÌí¼Ó£¬±ÜÃâ½ÇÉ«¿¨ÔÚµØÍ¼ÕϰÎï´¦£»
¢ÚÎïÆ·¹ýÂË£ºÌí¼Ó¼ñÈ¡¹ýÂ˺¯Êý£¨ÈçFilterItem<ÎïÆ·ID>£©£¬½ö¼ñȡҩƷ¡¢ÓÐÓÃ×°±¸£¬¹ýÂËÀ¬»øÎïÆ·£¬¼õÉÙ¼ñÈ¡ºÄʱ£»
¢Û¶à²ã¹Ò»ú£¨¿ÉÑ¡£©£ºÌí¼ÓµØÍ¼²ãÊýÇл»Âß¼£¬¼ì²âµ±Ç°²ã¹ÖÎïÃܶȣ¬ÃܶȹýµÍÔò×Ô¶¯Çл»µ½ÏÂÒ»²ã£¨ÈçÖí¶´1²ã→2²ã£©£»
¢ÜÀëÏß±£»¤£ºÌí¼ÓÀëÏß¼ì²âº¯Êý£¬¼ì²â½ÇÉ«ÀëÏß״̬£¬ÀëÏßǰ×Ô¶¯»Ø³Ç£¬±ÜÃâ½ÇÉ«ÔÚÒ°Íâ±»¹ÖÎï»÷ɱ¡£
Áù¡¢³£¼ûÎÊÌâÅŲ鷽·¨
1.½ÇɫԵز»¶¯£º¼ì²éµØÍ¼IDÓë×ø±ê·¶Î§ÊÇ·ñÕýÈ·£¬Òƶ¯º¯ÊýÊÇ·ñÊÊÅ䵱ǰÒýÇæ£¬»òÊÇ·ñ±»ÕϰÎï×èµ²£¬¿ÉÀ©´óÒÆ¶¯·¶Î§²âÊÔ£»
2.¼¼Äܲ»ÊÍ·Å£ºÑéÖ¤¼¼ÄÜIDÊÇ·ñÕýÈ·£¬¼¼ÄÜÀäÈ´¼ì²âº¯ÊýÊÇ·ñ·´Ð´£¨È罫“notCheckSkillCD”ÎóдΪ“CheckSkillCD”£©£»
3.²¹¸ø²»¼°Ê±£ºµ÷ÕûѪÁ¿/À¶Á¿ãÐÖµ£¬¼ì²éÒ©Æ·IDÊÇ·ñÕýÈ·£¬±ÜÃâÒòÒ©Æ·Ãû³ÆÓëID²»Æ¥Åäµ¼ÖÂÎÞ·¨Ê¹Óã»
4.·¨Ê¦±»Î§¶ÂÖÂËÀ£ºÀ©´ó°²È«¹¥»÷¾àÀ룬µ÷ÕûΧ¶Â¼ì²âµÄ¹ÖÎïÊýÁ¿ãÐÖµ£¬È·±£ÍÑÀ§Âß¼ÓÅÏÈÖ´ÐУ»
5.ÎÞ·¨¼ñÈ¡ÎïÆ·£º¼ì²é¼ñÈ¡º¯ÊýÊÇ·ñÕýÈ·£¬ÊÇ·ñÌí¼ÓÎïÆ·¹ýÂ˹æÔòµ¼ÖÂÓÐÓÃÎïÆ·±»Îó¹ýÂË¡£

