µ±Ç°Î»Öà : 145zÓÎÏ·Õ¾¡¡|¡¡ÈÈѪ´«Ææ¡¡|¡¡¼¼Êõ½Ì³Ì¡¡|¡¡

´«Ææµ¥»ú¼ÜÉè½Ì³Ì£º´´½¨¡°×Ô¶¯Ë¢¹Ö³Ø¡±NPC (Ëþ·À²¨´Î/ÎÞÏÞ²¹¹Ö)

Èȶȣº
ÏëÔÚ´«Ææµ¥»ú°æÀï´òÔìÒ»¸ö×Ô¶¯Ë¢¹ÖµÄµØÍ¼»òÎÞÏÞË¢¹ÖµÄNPC£¿Ã»ÎÊÌ⣡ÕâÖֽű¾ÊÇ´«ÆæÒýÇæµÄºËÐŦÄÜÖ®Ò»£¬ÊµÏÖÆðÀ´·Ç³£ÇåÎú¡£ÏÂÃæÊÖ°ÑÊÖ½ÌÄãдÁ½ÖÖ¾­µäģʽµÄ½Å±¾£¨Ê¹Óó£¼ûÒýÇæÈçHeroM2ÒýÇæÓï·¨£©¡£

🎯 ºËÐÄ˼· & ±Ø±¸Ìõ¼þ
»ù´¡: ÄãÒѳɹ¦¼ÜÉèµ¥»ú´«Ææ·þÎñ¶Ë£¬»áÐÞ¸ÄNPC½Å±¾£¨Í¨³£Î»ÓÚ X:\MirServer\Mir200\Envir\Market_Def\ Ŀ¼£©¡£

»úÖÆÒÀÀµ:

µØÍ¼²ÎÊýÉèÖÃ: Ä¿±êË¢¹ÖµØÍ¼µÄ MapInfo.txt ÖпÉÄÜÐèÒªÉèÖà FIGHT »ò FIGHT3 µÈ²ÎÊý£¨Ê¹¹ÖÎïËÀÍöÄÜ´¥·¢½Å±¾Ê¼þ£©¡£

¹ÖÎïË¢ÐÂÃüÁî: MONGENEX (Ö¸¶¨×ø±êË¢ÐÂ) »ò ParamX ParamY (Ëæ»ú×ø±êË¢ÐÂ)¡£

±äÁ¿: Óà GLOBAL »ò ±¾µØ¸öÈ˱äÁ¿ ¼Ç¼²¨´Î¡¢Ê£Óà¹ÖÎïÊýµÈ¡£

¼ÆÊ±Æ÷: ADDTIMER + DELAYGOTO ʵÏÖµ¹¼ÆÊ±Ë¢ÐÂÏÂÒ»²¨¡£

📌 ·½°¸Ò»£ºËþ·À²¨´Îģʽ (½øÍ¼×Ô¶¯Ë¢£¬´òÍêµÈNÃëË¢ÐÂÏÂÒ»²¨)

[@Main]
if

act
µÚÒ»´Î¶Ô»°Ê±³õʼ»¯±äÁ¿

MOV G100 0 ; G100 ¼Ç¼µ±Ç°Êǵڼ¸²¨
MOV G101 0 ; G101 ¼Ç¼µ±Ç°µØÍ¼¹ÖÎïÊýÁ¿ (¿ÉÑ¡)
ADDTIMER 1 5 ; 5Ãëºó´¥·¢µÚ1´Î¶¨Ê±Æ÷
SENDMSG 0 "¡¸ÎÞ¾¡ÊÔÁ¶³¡¡¹ÒÑ¿ªÆô£¡ÓÂÊ¿[$USERNAME]½øÈëÕ½³¡£¬30ÃëºóµÚÒ»²¨¹ÖÎï¼´½«À´Ï®£¡"
BREAK

[@OnTimer1]
if
¼ì²éÊÇ·ñ»¹ÔÚÕâÕŵØÍ¼ (±ÈÈçµØÍ¼±àºÅ5)

CHECKMAPNAME <$MAP> 5
act

INC G100 1 ; ²¨Êý+1
SENDMSG 0 "¡¸ÎÞ¾¡ÊÔÁ¶³¡¡¹µÚ<$STR(G100)>²¨¹ÖÎォÔÚ30Ãëºó³öÏÖ£¡×¼±¸Ó­Õ½£¡"
DELAYGOTO 30000 @SpawnWave_1 ; 30Ãë(30000ºÁÃë)ºóÖ´ÐÐË¢¹ÖÃüÁî
elseact
Èç¹ûÍæ¼Ò²»ÔÚÖ¸¶¨µØÍ¼£¬ÇåÀí¶¨Ê±Æ÷·ÀÖ¹ÄÚ´æÐ¹Â©

DELTIMER 1

[@SpawnWave_1]
ÔÚµØÍ¼5ÉÏË¢20ֻ׿ÂêµñÏñ(Mon134)£¬Ë¢ÐÂÇøÓòÊǵØÍ¼ÉϵÄ50,50µ½100,100µÄ¾ØÐη¶Î§

MONGENEX 5 50 50 100 100 ׿ÂêµñÏñ 20 ; £¨ÖØÒª²ÎÊý£ºµØÍ¼Ãû X1 Y1 X2 Y2 ¹ÖÎïÃû ÊýÁ¿£©
SENDMSG 0 "¡¸ÎÞ¾¡ÊÔÁ¶³¡¡¹µÚ<$STR(G100)>²¨£º20Ö»Ð×Ã͵Ä׿ÂêµñÏñÒѾ­Ë¢Ð£¡"
ÉèÖõØÍ¼²ÎÊýΪ¿É´¥·¢¹ÖÎïËÀÍöʼþ£¨¾ßÌå²ÎÊýÃû¿´ÒýÇæÎĵµ£©

MAP 5 FIGHT

¿ªÊ¼¼à¿ØÕâÒ»²¨¹ÖÎïÊÇ·ñÇåÀíÍ꣨ͨ³£ÐèÒªÅäºÏ²å¼þ»òÒýÇæµÄ¹ÖÎïËÀÍö´¥·¢¹¦ÄÜ£©

ÕâÀï¼ò»¯´¦Àí£º¼ÙÉè5·ÖÖÓºó×Ô¶¯Ë¢ÐÂÏÂÒ»²¨

ADDTIMER 1 300 ; 5·ÖÖÓ(300Ãë)ºó´¥·¢[@OnTimer1] ¿ªÆôÏÂÒ»²¨Ñ­»·
BREAK
˵Ã÷:
½Å±¾ºËÐÄͨ¹ý¼ÆÊ±Æ÷ [@OnTimer1] Ñ­»·´¥·¢ÏÂÒ»²¨¡£

DELAYGOTO ÓÃÓÚµ¹¼ÆÊ±ºóÖ´ÐÐË¢¹ÖÃüÁî¡£

SENDMSG 0 ÊÇÈ«·þ¹«¸æ¡£

ÐèÒªÒýÇæÖ§³Ö¹ÖÎïËÀÍö´¥·¢È«¾Ö½Å±¾Ê¼þÀ´¸ü¾«È·ÅжÏÒ»²¨ÊÇ·ñ´òÍ꣨ʵÏÖ·½Ê½ÒýÇæ¸÷Ò죩¡£

📌 ·½°¸¶þ£ºÎÞÏÞ²¹¹Öģʽ (µãNPCË¢¹Ö£¬±£³ÖµØÍ¼ÓÀÔ¶ÓÐ50Ö»¹Ö)

[@Main]
»¶Ó­À´µ½¡¸ÎÞÏÞɱ¾³¡¡¹£¡\
ÎÒ¿ÉÒÔÕÙ»½ÎÞ¾¡µÄµÐÈËÈÃÄãÄ¥Á·¼¼ÒÕ¡£\
ÿ´ÎÕÙ»½»áÈ·±£µØÍ¼ÉÏ<ÓÐ50Ö»¹ÖÎï/SCOLOR=249>£¬´òÍê»á×Ô¶¯²¹³ä£¡\
<¿ªÊ¼ÎÞ¾¡µÄÕ½¶·°É£¡/@StartSpawn>\
<À뿪ս³¡/@exit>

[@StartSpawn]
if
µÚÒ»´ÎÆô¶¯£¬³õʼ»¯È«¾Ö±äÁ¿

¼ÙÉèÓÃG102¼Ç¼Ŀ±êÊýÁ¿(50)£¬G103¼Ç¼µ±Ç°µØÍ¼¹ÖÎïÊý(Æô¶¯Ê±Îª0)

EQUAL G102 0
act

MOV G102 50 ; Ä¿±ê¹ÖÎïÊýÁ¿=50
MOV G103 0 ; µ±Ç°¹ÖÎïÊýÁ¿=0
ADDTIMER 2 10 ; ÿ10ÃëÖ´ÐÐÒ»´Î²¹¹Ö¼ì²é(@CheckSpawn)
SENDMSG 0 "ÓÂÊ¿[$USERNAME]¿ªÆôÁË¡¸ÎÞÏÞɱ¾³¡¡¹£¬µØÍ¼¹ÖÎïÄ¿±êÊý£º50Ö»£¡ËÀÍö¼´¿Ì²¹³ä£¡"
GOTO @DoSpawn_First
BREAK

[@DoSpawn_First]
µÚÒ»´ÎÖ±½ÓË¢Âú50Ö»

MONGENEX <MAP> <X> <Y> <X+100> <$Y+100> ħÁúÁ¦Ê¿ 50
MOV G103 50 ; ¸üе±Ç°¹ÖÎïÊý=50
BREAK

[@CheckSpawn]
if

CHECKMAPNAME <$MAP> 5 ; È·±£Íæ¼Ò»¹ÔÚ5ºÅµØÍ¼
(ÖØÒª! ÐèÒªÒýÇæ²å¼þ£ºÃ¿µ±µØÍ¼5ÓйÖÎïËÀÍö£¬G103×Ô¶¯¼õ1)

(ÕâÀï¼ò»¯Âß¼­£ºÃ¿10Ãë¼ì²éÒ»´ÎÊÇ·ñÐèÒª²¹¹Ö)

LARGE G102 G103 ; Èç¹ûÄ¿±êÊý > µ±Ç°Êý
act
¼ÆËãÐèÒª²¹³äµÄÊýÁ¿

MOV M1 <$STR(G102)>
DEC M1 <$STR(G103)>
SENDMSG 6 "¼ì²âµ½¹ÖÎïÊýÁ¿²»×㣡ÕýÔÚ²¹³ä<$STR(M1)>Ö»..."
Ë¢¹Ö

MONGENEX <MAP> <X> <Y> <X+100> <Y+100> ħÁúÁ¦Ê¿ <STR(M1)>
MOV G103 <$STR(G102)> ; ¸üе±Ç°¹ÖÎïÊý=Ä¿±êÊý
elseact

BREAK

🔧 ¹Ø¼üʵÏÖϸ½Ú & ×¢ÒâÊÂÏî
µØÍ¼²ÎÊý(FIGHT/FIGHT3):

±ØÐëÔÚ MapInfo.txt ÖÐΪˢ¹ÖµØÍ¼ÉèÖà FIGHT »ò FIGHT3 ±êÖ¾£¨¾ßÌå²ÎÊýÃû¿´ÒýÇæÊֲᣩ¡£

×÷ÓãºÈùÖÎïËÀÍöʱÄÜ´¥·¢Ìض¨µÄÈ«¾Ö½Å±¾(QManage.txt »òÌØ¶¨NPC½Å±¾)¡£
¾«È·¼ì²â¹ÖÎïÊýÁ¿ÓëËÀÍö£º

ÕâÊǶ¯Ì¬²¹¹ÖģʽµÄºËÐÄÄѵ㡣

ͨÓ÷½·¨£º ÔÚ QManage.txt »òµÇ¼½Å±¾Àï¼ÓÈë¹ÖÎïËÀÍö´¥·¢¡£

[@OnKillMob]
¼ÙÉèµØÍ¼5

#IF
EQUAL <$MAP> 5
ÿ´Î¹ÖÎïËÀÍö£¬È«¾Ö±äÁ¿ G103 ¼õ1

#ACT
DEC G103 1

²å¼þÒÀÀµ£º ²¿·ÖÒýÇæÐè°²×°ÌØ¶¨²å¼þ²ÅÄܲ¶»ñ¸Ãʼþ£¨Èçôá·çÒýÇæµÈ£©¡£
±äÁ¿×÷ÓÃÓò£º

GLOBAL (GXXX)£ºÈ«·þ¹²Ïí£¬ÊʺϼǼ²¨´Î (G100) ºÍ¹ÖÎï×ÜÊý (G103)¡£

LOCAL (AXXX / PXXX)£ºÍæ¼Ò˽ÓУ¬¼ÇÂ¼Íæ¼Ò¸öÈ˽øÈ벨´Îʱ¼äµÈ¡£
¹ÖÎïË¢ÐÂλÖãº

MONGENEX ¿ØÖÆ×ø±êµãˢУ¨ÊʺϹ̶¨Â·¾¶£©¡£

µØÍ¼ X1,Y1,X2,Y2 ¶¨Ò徨ÐÎÇøÓòËæ»úË¢¹Ö¡£
°²È«ÐÔ£º

Íæ¼ÒÍ˳öµØÍ¼Ê±£¬Óà [@PlayExitMap] »ò [@PlayLeaveMap] Çå³ý¶¨Ê±Æ÷ (DELTIMER X) ±ÜÃâ²ÐÁô¡£

🎮 Á½ÖÖÄ£Ê½ÌØÉ«¶Ô±È
¹¦ÄÜ Ëþ·À²¨´Îģʽ ÎÞÏÞ²¹¹Öģʽ

´¥·¢·½Ê½ Íæ¼Ò½øÈëµØÍ¼×Ô¶¯Æô¶¯ µã»÷NPC¶Ô»°Æô¶¯
½Ú×à¿ØÖÆ ÿ²¨¼ä¸ô¹Ì¶¨Ê±¼ä ¹ÖÎïËÀÍöºó×Ô¶¯ÊµÊ±²¹³ä
¹ÖÎïÊýÁ¿ ÿ²¨¹Ì¶¨ÊýÁ¿ ¶¯Ì¬Î¬³ÖÉ趨ÊýÁ¿(Èç50Ö»)
ÓÎÏ·ÌåÑé ÀàËÆTDÓÎÏ·£¬ÓÐÃ÷È·²¨´ÎºÍ´­Ï¢ÆÚ ³ÖÐø¸ßѹ£¬ÀàËÆ“Éú´æÄ£Ê½”
ʵÏÖ¸´ÔÓ¶È ¡ï¡ï¡î¡î¡î (ÖеÈ) ¡ï¡ï¡ï¡î¡î (½Ï¸ß£¬Ðè¹ÖÎïËÀÍö¼ÆÊý)
Êʺϳ¡¾° ¸±±¾¡¢ÊØÎÀÈÎÎñ Á·¹¦·¿¡¢¹Ò»úµØÍ¼¡¢×ÊÔ´ÌôÕ½

✅ ²¿Êð²½Öè
±¸·ÝÎļþ: ÐÞ¸Äǰ±¸·Ý MapInfo.txt, NPC½Å±¾Îļþ, QManage.txt¡£

±à¼­µØÍ¼²ÎÊý: ÔÚ MapInfo.txt ÀïΪˢ¹ÖµØÍ¼¼ÓÉÏ [FIGHT] »ò FIGHT3¡£

±àдNPC½Å±¾: ½«·½°¸1»ò·½°¸2´úÂë±£´æÎª¶ÀÁ¢µÄNPC½Å±¾Îļþ¡£

Ìí¼ÓÈ«¾Ö´¥·¢(²¹¹Öģʽ): ÔÚ QManage.txt ÖÐÌí¼Ó [@OnKillMob] Âß¼­¶¯Ì¬Ë¢Ð¼ÆÊý¡£

ÖØÆô·þÎñ¶Ë: ¼ÓÔØÐ޸ĺóµÄÅäÖá£

½øÓÎÏ·²âÊÔ: ¹Û²ìË¢¹ÖÂß¼­ÊÇ·ñ·ûºÏÔ¤ÆÚ¡£

💡 Ö»ÒªÀí½â “¼ÆÊ±Æ÷ + È«¾Ö±äÁ¿ + Ë¢¹ÖÃüÁî + ËÀÍö¼ÆÊý” Õ⼸¸öºËÐÄ»úÖÆ£¬¾ÍÄÜÇáËɹ¹½¨ÊôÓÚ×Ô¼ºµÄ´«ÆæË¢¹ÖÕ½³¡£¡¶¯ÊÖÊÔÊÔ°É£¡