´«Ææ°æ±¾½Å±¾Æµ·±ËÀÑ­»·ÅŲ飺GOTOµÝ¹éÓëQFunction´¥·¢±Õ»·ÐÞ¸´Êµ²Ù

À´Ô´£º ×÷Õߣº µã»÷£º
M2¿ØÖÆÌ¨µ¯“½Å±¾ËÀÑ­»·”“GOTO³¬¹ýÉÏÏÞ”“ScriptDeadLoop”£¬°éËæCPUÕ¼ÓÃ쭸ߡ¢µãNPC¿¨×¡¡¢½ÇÉ«µôÏß¡¢Mir200\Log\ScriptLog.txt²»Í£×·¼ÓͬһÎļþÃûºÍÐкţ¬±¾ÖÊÖ»ÓÐÒ»ÀàÎÊÌ⣺ij¶Î½Å±¾ÔÚÎÞÖÕÖ¹Ìõ¼þÏ·´¸´GOTO¡¢#CALL»ò´¥·¢×ÔÉí£¬ÒýÇæÌø³ö²»ÁËÖ´ÐÐÕ»¡£ÏÂÃæ°´¶¨Î»→³ÉÒò→ÐÞ·¨→²ÎÊý¶µµ×µÄ˳Ðò²ð¡£

Ò»¡¢ÏÈËøÎļþÓëÐкţ¨±ðϹ·­È«²¿½Å±¾£©
1. ¿´M2Server¿ØÖÆÌ¨±¨´íÔ­ÎÄ£¬¸ñʽͨ³£ÊÇ£º
½Å±¾Ö´Ðг¬Ê±£ºD:\MirServer\Mir200\Envir\QuestDiary\Ôª±¦¾èÏ×\¾èÏ×.txt µÚ38ÐÐ GOTO @Loop
Ö±½Ó°´Â·¾¶ÓÃNotepad++´ò¿ª¶ÔÓ¦Îļþ£¬Ìøµ½Ðкš£
2. ¿ØÖÆÌ¨Ö»Ð´NPCÃûûд·¾¶£ºÈ¥ Envir\Market_Def ÕÒͬÃûNPC½Å±¾£¬¿´ÀïÃæ #CALL »ò GOTO ÒýÏòÄĸö QuestDiary Îļþ£¬ÄǾÍÊÇÕæÐס£
3. Á¬NPCÃû¶¼Ã»ÓУºËÀÑ­»·¾Å³ÉÔÚÄã×î½üÐÂÔö/¸Ä¹ýµÄÎļþÀÓÅÏÈ·­ÕâËĸöĿ¼£º
• Envir\QuestDiary\ £¨ÈÎÎñ¡¢»î¶¯¡¢»ØÊÕ¡¢¾èÏס¢×ªÅÌ£©

• Envir\Market_Def\ £¨NPC¶Ô»°Ì壩

- Envir\MapQuest_def\ Óë QManage.txt £¨½øÍ¼/ÀëÏß´¥·¢£©
• Envir\QFunction-0.txt £¨¹¥»÷¡¢»ñ¾­Ñé¡¢µÇ¼¡¢ËÀÍöµÈÈ«¾Ö´¥·¢£©

¶þ¡¢ËÄÀà¸ßƵËÀÑ­»·Ð´·¨£¨¶ÔÕÕÄã½Å±¾¸Ä£©
1. ÎÞÌõ¼þGOTOÌø»Ø×ÔÉí»ò»¥Ìø
´íÎóʾ·¶£º
[@Main]
#ACT
SENDMSG 5 »¶Ó­
GOTO @Main
»ò [@A]Ìø[@B]¡¢[@B]ÓÖÌø[@A]£¬ÖмäûÓÐÈκΠ#IF ×è¶Ï¡£
ÐÞ·¨£ºÖ÷²Ëµ¥±ðдGOTO£¬ÈÃÒýÇæµÈÍæ¼ÒµãÑ¡Ï·ÇҪѭ»·¾Í¼Ó¼ÆÊýÆ÷£º
#IF LARGE HUMAN LoopCnt 3
#ACT BREAK
#ELSEACT
INC HUMAN LoopCnt 1
GOTO @Main

2. Ñ­»·»ØÊÕ/¼ì²â²»ÅжÏÍ˳öÌõ¼þ
×°±¸»ØÊսű¾³£¼û£º
#ACT
TAKE ×°±¸ 1
GOTO @Recycle
ûÏÈ CHECKITEM ×°±¸ 1£¬±³°ü¿ÕÁË»¹Ìø£¬Ö±½ÓËÀÑ­»·¡£
ÐÞ·¨£ºÑ­»·Èë¿ÚÏÈÅж¨£¬²»Âú×ã¾Í BREAK£º
#IF CHECKITEM ×°±¸ 1
#ACT TAKE ×°±¸ 1
GOTO @Recycle
#ELSEACT BREAK

3. QFunction / ´¥·¢Ê¼þ»¥ËøµÝ¹é£¨×îÒþ±Î£©
µäÐÍ£º[@GetExp] Àï GOTO @×ÚÅɾ­Ñ飬@×ÚÅɾ­ÑéÀï AddTextList дÎļþ±»ÒýÇæËã³É“ÓÖ»ñµÃ¾­Ñ锣¬ÔÙ´¥·¢ [@GetExp]£¬Ðγɓ»ñ¾­Ñé→дÎļþ→»ñ¾­Ñé”ÎÞÏ޵ݹ飻»òÕß [@PlayLevelUp] CALL »ØµÈ¼¶Ê¼þ±¾Éí¡£
ÐÞ·¨£º
• ÑϽûÔÚ [@GetExp]¡¢[@PlayLevelUp]¡¢[@OnLogin] ÀïÖ±½Ó GOTO »á·´´¥·¢µÄ¶Î£»

• ¾­Ñé½áËã¸Äµ½ RobotManage.txt ¶¨Ê±ÂÖѯ£¨[@OnTimer30] ÿ·ÖÖÓÅÜÒ»´Î£©£»

- »òŲµ½ [@KillMon]¡¢[@OnKillMob] ɱ¹Ö´¥·¢£¬±Ü¿ªµ×²ãʼþ£»
• ÁÙʱֹѪ£ºÔÚ [@GetExp] ¶ÎÊ×¼Ó // ×¢ÊÍ»òɾµôÄÇÐÐ GOTO£¬ÖØÆôM2¿´±¨´íÊÇ·ñÏûʧ¡£

4. Ò»¸ö #ACT ϹҶà¸ö GOTO / #CALL ǶÌ×
GOTO ÊǾø¶ÔÌø×ª£¬Ö´ÐеÚÒ»¸öºóºóÃæÈ«ºöÂÔ£¬µ«Èô¶à¸ö GOTO ·ÖÉ¢ÔÚ²»Í¬Åж¨¶Î»¥Ïà CALL£¬ÈÝÒ׳¬ÒýÇæÄ¬È϶ÑÕ»£¨GOMĬÈÏ30²ã£©¡£
ÐÞ·¨£ºµ¥¶ÎÖ»ÁôÒ»¸ö GOTO£»¶à¶Î²¢ÐÐÓà #IF ·ÖÖ§»ò #CALL ¶ÀÁ¢Îļþ£¬±ðÁ´Ê½»¥CALL£»Ç¶Ì×Ñ­»·³¬3²ã²ðÎļþ¡£

5. ±äÁ¿²»ÖØÖõ¼ÖÂÅж¨ºãÕæ
Èç CheckVar Human Flag 0 µ«ºóÃæÃ» SET Human Flag 1£¬Íæ¼Òÿ´Îµã¶¼½øÍ¬Ò»¶Î£»»ò GetRandomText ȡֵǰû mov Çå¿Õ£¬¼Ì³ÐÉϴεĿÕÖµ·´¸´ÅÜ¡£
ÐÞ·¨£ºÑ­»·Ç° mov Var 0 / movS $Temp £¬´¦ÀíÍêÁ¢¿Ì SET ±ê¼Ç£¬Ï´νøÀ´×ß #ELSEACT BREAK¡£

Èý¡¢¾ßÌåÐÞÕýƬ¶Î¶ÔÕÕ
´íÎó»ØÊնΣº
[@Recycle]
ACT

TAKE ÎÖÂê×°±¸ 1
GIVE Ôª±¦ 5
GOTO @Recycle

ÐÞÕýºó£º
[@Recycle]
IF CHECKITEM ÎÖÂê×°±¸ 1

ACT

TAKE ÎÖÂê×°±¸ 1
GIVE Ôª±¦ 5
INC HUMAN RecCnt 1
GOTO @Recycle
ELSEACT

SENDMSG 6 »ØÊÕÍê³É£¬¹²»ØÊÕ <$HUMAN(RecCnt)> ¼þ
SET HUMAN RecCnt 0
BREAK

QFunction¾­Ñé»¥ËøÐÞÕý£º
; ԭд·¨£¨É¾µô£©
; [@GetExp]
; #ACT
; GOTO @×ÚÅɾ­Ñé
; ÐÂд·¨£ºRobotManage.txt
[@OnTimer30]
IF CHECKNAMELIST ..\QuestDiary\×Úʦϵͳ\×ÚÖ÷Ãûµ¥.txt

ACT

CALCVAR HUMAN ZongMenExp + <$EXP>
BREAK

ËÄ¡¢ÒýÇæ²ã¶µµ×²ÎÊý£¨Öα겻Öα¾£¬µ«Ïȱ£¶Ë²»±À£©
1. ´ò¿ª Mir200\!Setup.txt »ò Setup.txt£¬ÕÒ£º
ScriptGotoCountLimit=20£¨»ò10/300£©
¸Ä³É 5000~50000 Ö®¼ä£¬±£´æÖØÆôM2£¬ÁÙʱ̧¸ßÌø×ªãÐÖµ²»ÔÙÃ뱨ËÀÑ­»·¡£
2. M2 → Ñ¡Ïî → ¹¦ÄÜÉèÖà → ÆäËü¿ØÖÆ → ½Å±¾Ñ­»·´ÎÊý£¬Ä¬ÈÏ20¸Ä50~100²âÊÔ¡£
3. µÝ¹éÉî¶È³¬Ï޵Ķˣ¨GOMµÈ£©£ºM2 → Ñ¡Ïî → ²ÎÊýÉèÖà → µÝ¹éÉî¶È ĬÈÏ50¸Ä200¡£
×¢Ò⣺¸Ä²ÎÊýÖ»ÊÇÑÓºó±¬Õ¨£¬Âß¼­±Õ»·²»²ðÕÕÑùÑ­»·£¬Ö»ÊDz»µ¯´°¶øÒÑ¡£

Îå¡¢±ê×¼ÅŲé˳Ðò£¨ÕÕ×öÊ®·ÖÖÓ¶¨Î»£©
1. ±¸·Ý±¨´í½Å±¾Îļþµ½×ÀÃæ£¬·ÀÖ¹¸Ä±À£»
2. ¿´M2/Log\ScriptLog.txt Ä÷¾¶Ðкţ»
3. Óà // Öð¶Î×¢ÊͽüÆÚ¸Ä¶¯£¬ÖØÆôM2£¬×¢Ê͵½²»±¨´íÄǶξÍÊÇÔ´Í·£»
4. °´ÉÏÃæËÄÀà³ÉÒò¸Ä£ºÈ¥ÎÞÌõ¼þGOTO¡¢¼ÓCHECKITEM/CHECKVARÍ˳ö¡¢²ðQFunctionµÝ¹é¡¢µ¥#ACTµ¥GOTO£»
5. ±£´æ→ÍêÈ«ÖØÆôM2£¨±ðÖ»ÖØÆôµÇ¼Æ÷£©→½øÓÎÏ·µã¶ÔÓ¦NPC/´¥·¢ÈÎÎñÑéÖ¤£»
6. ÈÔ±¨ÔÙ̧ ScriptGotoCountLimit£¬µ«¸ùÒò±ØÐëÐ޽ű¾¡£

³£¼û²È¿ÓÌáÐÑ£ºDelay ÉèΪ0Èû½øÑ­»·¡¢×ø±ê½ÚµãÎó²î¹ý´óµ¼ÖÂÀ´»ØÅܽű¾¿¨ËÀ¡¢GlobalVar.iniËð»µÈüì²âÃüÁî¿ÕµÈ¡¢²å¼þ£¨ÂÌÃË/945ÀࣩÓë DelayGoto ³åÍ»£¬ÕâЩ±íÏÖÏñËÀÑ­»·£¬Êµ¼ÊÊÇÊý¾Ý»òÍⲿÒÀÀµÒì³££¬²éµÄʱºòÒ»²¢¿´ÏÂÎļþÍêÕûÐԺͲå¼þÃüÁî¼æÈÝ¡£