## **Ò»¡¢ÎªÊ²Ã´ÄãµÄ×°±¸»ØÊսű¾×ܳö´í£¿**
ÎÞÂÛÊÇ´«Ææ¼ÜÉ軹Êǵ¥»úµ÷ÊÔ£¬×°±¸»ØÊսű¾µÄÎȶ¨ÐÔÖ±½ÓÓ°ÏìÍæ¼ÒÌåÑé¡£¸ù¾Ý½ü3ÄêÉçÇø·´À¡Í³¼Æ£¬**90%µÄ½Å±¾´íÎó¼¯ÖÐÔÚËÀÑ»·¡¢Â·¾¶ÅäÖᢲÎÊýÒì³£¡¢Êý¾Ý¿âÁ¬½ÓËÄ´óÀà**¡£ÕâЩ´íÎóÇáÔòµ¼Ö»ØÊÕ¹¦ÄÜʧЧ£¬ÖØÔòÒý·¢·þÎñÆ÷±ÀÀ£¡£±¾ÎĽáºÏ17·ÝȨÍþ×ÊÁÏ£¬Éî¶È²ð½â¸÷ÀàÎÊÌâ³ÉÒòÓëÐÞ¸´·½°¸¡£
---
## **¶þ¡¢ËÄ´óºËÐÄ´íÎóÀàÐÍÓë½â¾ö·½°¸**
### **1. ËÀÑ»·´íÎó£¨Õ¼±È45%£©**
**µäÐͱíÏÖ**£º
- µã»÷»ØÊÕ°´Å¥ºó½çÃæ¿¨ËÀ
- ·þÎñÆ÷CPUÕ¼ÓÃÂÊìÉý
- ÈÕÖ¾ÖгöÏÖ"ÎÞÏ޵ݹé"¾¯¸æ
**Éî²ãÔÒò**£º
¢Ù **Âß¼ÅжÏʧÎó**£¨ÈçÌõ¼þÓÀÔ¶ÎªÕæ£©
```
[@»ØÊÕ×°±¸]
#IF
#ACT
MOV N$»ØÊÕ´ÎÊý 0
WHILE N$»ØÊÕ´ÎÊý < 10
Take ºÚÌúÍ·¿ø 1
GameGird + 1000
INC N$»ØÊÕ´ÎÊý 1
#SAY
×°±¸ÒÑ»ØÊÕ£¡
```
*´íÎóµã£ºÈ±ÉÙÌø³öÑ»·µÄÌõ¼þÅжÏ*
¢Ú **µÝ¹éµ÷ÓÃʧ¿Ø**
```
[@»ØÊÕ¼ì²â]
#IF
CheckItem ÍÀÁú 1
#ACT
GOTO @»ØÊÕ¼ì²â
```
*´íÎóµã£ºÎ´ÉèÖõݹéÖÕÖ¹Ìõ¼þ*
**½â¾ö·½°¸**£º
- Ìí¼Ó**Ñ»·¼ÆÊýÆ÷**£º`#IF EQUAL N$Ñ»·´ÎÊý 10 THEN BREAK`
- Ç¿ÖÆÉèÖÃ**µÝ¹éÉî¶ÈÏÞÖÆ**£º
```
[@main]
#IF
LARGE N$µÝ¹é²ãÊý 5
#ACT
MESSAGEBOX ´íÎ󣺵ݹ鳬¹ý5²ã£¡
BREAK
```
- ʹÓÃ**¼ÆÊ±Æ÷ÖжÏ**£º`DelayGoto 1000 @°²È«»ØÊÕ`
---
### **2. ·¾¶ÅäÖôíÎó£¨Õ¼±È30%£©**
**¾µä±¨´í**£º
- "script error, load fail"
- "File not found: QuestDiary\»ØÊÕϵͳ\×°±¸Áбí.txt"
**ÅŲéÁ÷³Ìͼ**£º
```
¼ì²éMerChant.txtÅäÖà → ÑéÖ¤Market_def½Å±¾Â·¾¶ → ºË¶ÔµØÍ¼±àºÅ¹ØÁª → ¼ì²âÎļþ±àÂë¸ñʽ
```
**ʵս°¸Àý**£º
µ±´´½¨"ÃË֨װ±¸»ØÊÕÔ±"ʱ£º
1. ÔÚ`D:\MirServer\Mir200\Envir\MerChant.txt`Ìí¼Ó£º
```
ÃËÖØÊ¡/»ØÊÕ×°±¸ 3 330 330 »ØÊÕ×°±¸ 0 8 0 0 0
```
2. ÔÚ`Market_Def`Ŀ¼´´½¨`»ØÊÕ×°±¸-3.txt`
3. ÌØ±ð×¢Ò⣺**ÎļþÃûÖеÄ"-3"±ØÐëÓëMerChant.txtµÚ2ÁÐÊý×ÖÒ»ÖÂ**
**±Ü¿ÓÖ¸ÄÏ**£º
- ·¾¶ÖнûÖ¹³öÏÖÖÐÎÄ£º`D:\´«Ææ·þÎñ¶Ë\»ØÊÕϵͳ` → ¸ÄΪ`D:\mirserver\recycle`
- ʹÓÃUnix¸ñʽб¸Ü£º`QuestDiary/×°±¸»ØÊÕ/Áбí.txt`
---
### **3. ²ÎÊýÒì³£´íÎó£¨Õ¼±È15%£©**
**¸ßƵ´íÎ󳡾°**£º
| ´íÎó½Å±¾ | Õýȷд·¨ | ½âÎö |
|---------|---------|-----|
| `CHECKGAMEGOLD > <str(g55)>` | `CHECKGAMEGOLD > <$STR(G55)>` | ±äÁ¿Ãû±ØÐëÈ«´óд |
| `Take ÍÀÁúµ¶ 1` | `Take ÍÀÁú 1` | ÎïÆ·Êý¾Ý¿âÃû³Æ²»Æ¥Åä |
| `#IF CheckLevel > 50` | `#IF CHECKLEVELEX > 50` | ÃüÁîÆ´Ð´´íÎó |
**µ÷ÊÔ¼¼ÇÉ**£º
1. ²åÈëµ÷ÊÔÐÅÏ¢£º
```
#ACT
SENDMSG 6 "µ±Ç°Ôª±¦£º<$GAMEGOLD>£¬°ü¹ü¿Õ¸ñ£º<$BAGITEMCOUNT>"
```
2. ʹÓÃM2ServerµÄ**½Å±¾µ÷ÊÔģʽ**£º
- ´ò¿ª`M2Server→Ñ¡Ïî→µ÷ÊÔÐÅÏ¢→ÏÔʾ½Å±¾´íÎó`
- ʵʱ²é¿´±äÁ¿Öµ±ä»¯
---
### **4. Êý¾Ý¿âÁ¬½Ó´íÎó£¨Õ¼±È10%£©**
**µäÐͱíÏÖ**£º
- "ÎÞ·¨Á¬½ÓÊý¾Ý¿â"
- "½ÇÉ«Êý¾Ý¶Áȡʧ°Ü"
**ÅŲ鲽Öè**£º
1. ¼ì²é`DBC2000`ÅäÖãº
- È·ÈÏ`HeroDB`±ðÃûÖ¸ÏòÕýÈ·Êý¾Ý¿â·¾¶
- ²âÊÔÁ¬½Ó£º´ò¿ª`DB Commander→File→Open→Ñ¡ÔñHeroDB`
2. ȨÏÞ¼ì²â£º
```
ÓÒ¼üÊý¾Ý¿âÎļþ→ÊôÐÔ→°²È«→Ìí¼ÓEveryoneÍêÈ«¿ØÖÆÈ¨ÏÞ
```
3. ½â¾ö"Borland Database Engine ´íÎó"£º
- ɾ³ý`C:\Windows\PDOXUSRS.NET`
- ÖØÆô·þÎñ¶Ë
---
## **Èý¡¢½ø½×ÓÅ»¯·½°¸**
### **1. ·´×÷±×»úÖÆÉè¼Æ**
```
[@»ØÊÕ¿ªÊ¼]
#IF
CheckOnline // ±ØÐëÔÚÏß
CheckSpeed < 5 // ÒÆ¶¯Ëٶȼì²â
#ACT
LogQuest ..\QuestDiary\»ØÊÕÈÕÖ¾\Íæ¼Ò_<$USERNAME>_<$DATETIME>.txt
```
*¼Ç¼²Ù×÷¹ì¼£·ÀÖ¹Íâ¹Ò*
### **2. ¶¯Ì¬¶¨¼Ûϵͳ**
```
#CALL [..\QuestDiary\Îï¼Ûϵͳ\½ñÈÕ½ð¼Û.txt]
[@»ØÊղþö]
#IF
CHECKITEM ²Ã¾öÖ®ÕÈ 1
#ACT
CALCVAR GAMEGOLD + <$GOLD_PRICE>*0.8
```
*ͨ¹ýÍⲿÎļþʵÏÖ¼Û¸ñ¸¡¶¯*
### **3. ¶àḬ̈߳²È«´¦Àí**
```
#ACT
Lock
Take Ê¥Õ½½äÖ¸ 1
UnLock
```
*·Àֹͬʱ»ØÊÕµ¼ÖÂÎïÆ·¸´ÖÆ*
---
## **ËÄ¡¢¾µä°¸Àý¸´ÅÌ**
### **°¸Àý1£ºµã»÷»ØÊÕÎÞ·´Ó¦**
**ÅŲé¹ý³Ì**£º
1. ¼ì²é`MerChant.txt`·¢ÏÖNPC×ø±ê±»³ÇǽÕÚµ²
2. ÐÞ¸Ä×ø±êΪ°²È«ÇøÓò£º`330 330 → 330 340`
3. ÖØÔØNPC£º`M2→¿ØÖÆ→ÖØÐ¼ÓÔØ→NPC½Å±¾`
### **°¸Àý2£º»ØÊÕ»ñµÃË«±¶Ôª±¦**
**´íÎó¸ùÔ´**£º
```
#ACT
GameGird + 1000
GAMEGIRD + 1000
```
*±äÁ¿Ãû´óСд²»Í³Ò»µ¼ÖÂÖØ¸´Ö´ÐÐ*
---
## **Îå¡¢Ô¤·ÀÐÔά»¤Ö¸ÄÏ**
1. **°æ±¾¿ØÖÆ**£º
- ʹÓÃGit¹ÜÀí½Å±¾°æ±¾
- ÿ´ÎÐÞ¸ÄǰִÐÐ`±¸·Ý½Å±¾.bat`£º
```
xcopy D:\mirserver\Mir200\Envir\Market_Def E:\backup\%date:~0,4%%date:~5,2%%date:~8,2%\ /s /e /h
```
2. **ѹÁ¦²âÊÔ·½°¸**£º
- ʹÓÃJMeterÄ£Äâ100ÈËͬʱ»ØÊÕ
- ¼à¿Ø·þÎñÆ÷ÄÚ´æÕ¼ÓÃÇúÏß
3. **×Ô¶¯»¯¼ì²é½Å±¾**£º
```python
# ɨÃèËÀÑ»·.py
import re
with open("»ØÊսű¾.txt") as f:
if re.search(r'GOTO @\w+\s*$', f.read()):
print("·¢ÏÖËÀÑ»··çÏÕ£¡")
ÎÞÂÛÊÇ´«Ææ¼ÜÉ軹Êǵ¥»úµ÷ÊÔ£¬×°±¸»ØÊսű¾µÄÎȶ¨ÐÔÖ±½ÓÓ°ÏìÍæ¼ÒÌåÑé¡£¸ù¾Ý½ü3ÄêÉçÇø·´À¡Í³¼Æ£¬**90%µÄ½Å±¾´íÎó¼¯ÖÐÔÚËÀÑ»·¡¢Â·¾¶ÅäÖᢲÎÊýÒì³£¡¢Êý¾Ý¿âÁ¬½ÓËÄ´óÀà**¡£ÕâЩ´íÎóÇáÔòµ¼Ö»ØÊÕ¹¦ÄÜʧЧ£¬ÖØÔòÒý·¢·þÎñÆ÷±ÀÀ£¡£±¾ÎĽáºÏ17·ÝȨÍþ×ÊÁÏ£¬Éî¶È²ð½â¸÷ÀàÎÊÌâ³ÉÒòÓëÐÞ¸´·½°¸¡£
---
## **¶þ¡¢ËÄ´óºËÐÄ´íÎóÀàÐÍÓë½â¾ö·½°¸**
### **1. ËÀÑ»·´íÎó£¨Õ¼±È45%£©**
**µäÐͱíÏÖ**£º
- µã»÷»ØÊÕ°´Å¥ºó½çÃæ¿¨ËÀ
- ·þÎñÆ÷CPUÕ¼ÓÃÂÊìÉý
- ÈÕÖ¾ÖгöÏÖ"ÎÞÏ޵ݹé"¾¯¸æ
**Éî²ãÔÒò**£º
¢Ù **Âß¼ÅжÏʧÎó**£¨ÈçÌõ¼þÓÀÔ¶ÎªÕæ£©
```
[@»ØÊÕ×°±¸]
#IF
#ACT
MOV N$»ØÊÕ´ÎÊý 0
WHILE N$»ØÊÕ´ÎÊý < 10
Take ºÚÌúÍ·¿ø 1
GameGird + 1000
INC N$»ØÊÕ´ÎÊý 1
#SAY
×°±¸ÒÑ»ØÊÕ£¡
```
*´íÎóµã£ºÈ±ÉÙÌø³öÑ»·µÄÌõ¼þÅжÏ*
¢Ú **µÝ¹éµ÷ÓÃʧ¿Ø**
```
[@»ØÊÕ¼ì²â]
#IF
CheckItem ÍÀÁú 1
#ACT
GOTO @»ØÊÕ¼ì²â
```
*´íÎóµã£ºÎ´ÉèÖõݹéÖÕÖ¹Ìõ¼þ*
**½â¾ö·½°¸**£º
- Ìí¼Ó**Ñ»·¼ÆÊýÆ÷**£º`#IF EQUAL N$Ñ»·´ÎÊý 10 THEN BREAK`
- Ç¿ÖÆÉèÖÃ**µÝ¹éÉî¶ÈÏÞÖÆ**£º
```
[@main]
#IF
LARGE N$µÝ¹é²ãÊý 5
#ACT
MESSAGEBOX ´íÎ󣺵ݹ鳬¹ý5²ã£¡
BREAK
```
- ʹÓÃ**¼ÆÊ±Æ÷ÖжÏ**£º`DelayGoto 1000 @°²È«»ØÊÕ`
---
### **2. ·¾¶ÅäÖôíÎó£¨Õ¼±È30%£©**
**¾µä±¨´í**£º
- "script error, load fail"
- "File not found: QuestDiary\»ØÊÕϵͳ\×°±¸Áбí.txt"
**ÅŲéÁ÷³Ìͼ**£º
```
¼ì²éMerChant.txtÅäÖà → ÑéÖ¤Market_def½Å±¾Â·¾¶ → ºË¶ÔµØÍ¼±àºÅ¹ØÁª → ¼ì²âÎļþ±àÂë¸ñʽ
```
**ʵս°¸Àý**£º
µ±´´½¨"ÃË֨װ±¸»ØÊÕÔ±"ʱ£º
1. ÔÚ`D:\MirServer\Mir200\Envir\MerChant.txt`Ìí¼Ó£º
```
ÃËÖØÊ¡/»ØÊÕ×°±¸ 3 330 330 »ØÊÕ×°±¸ 0 8 0 0 0
```
2. ÔÚ`Market_Def`Ŀ¼´´½¨`»ØÊÕ×°±¸-3.txt`
3. ÌØ±ð×¢Ò⣺**ÎļþÃûÖеÄ"-3"±ØÐëÓëMerChant.txtµÚ2ÁÐÊý×ÖÒ»ÖÂ**
**±Ü¿ÓÖ¸ÄÏ**£º
- ·¾¶ÖнûÖ¹³öÏÖÖÐÎÄ£º`D:\´«Ææ·þÎñ¶Ë\»ØÊÕϵͳ` → ¸ÄΪ`D:\mirserver\recycle`
- ʹÓÃUnix¸ñʽб¸Ü£º`QuestDiary/×°±¸»ØÊÕ/Áбí.txt`
---
### **3. ²ÎÊýÒì³£´íÎó£¨Õ¼±È15%£©**
**¸ßƵ´íÎ󳡾°**£º
| ´íÎó½Å±¾ | Õýȷд·¨ | ½âÎö |
|---------|---------|-----|
| `CHECKGAMEGOLD > <str(g55)>` | `CHECKGAMEGOLD > <$STR(G55)>` | ±äÁ¿Ãû±ØÐëÈ«´óд |
| `Take ÍÀÁúµ¶ 1` | `Take ÍÀÁú 1` | ÎïÆ·Êý¾Ý¿âÃû³Æ²»Æ¥Åä |
| `#IF CheckLevel > 50` | `#IF CHECKLEVELEX > 50` | ÃüÁîÆ´Ð´´íÎó |
**µ÷ÊÔ¼¼ÇÉ**£º
1. ²åÈëµ÷ÊÔÐÅÏ¢£º
```
#ACT
SENDMSG 6 "µ±Ç°Ôª±¦£º<$GAMEGOLD>£¬°ü¹ü¿Õ¸ñ£º<$BAGITEMCOUNT>"
```
2. ʹÓÃM2ServerµÄ**½Å±¾µ÷ÊÔģʽ**£º
- ´ò¿ª`M2Server→Ñ¡Ïî→µ÷ÊÔÐÅÏ¢→ÏÔʾ½Å±¾´íÎó`
- ʵʱ²é¿´±äÁ¿Öµ±ä»¯
---
### **4. Êý¾Ý¿âÁ¬½Ó´íÎó£¨Õ¼±È10%£©**
**µäÐͱíÏÖ**£º
- "ÎÞ·¨Á¬½ÓÊý¾Ý¿â"
- "½ÇÉ«Êý¾Ý¶Áȡʧ°Ü"
**ÅŲ鲽Öè**£º
1. ¼ì²é`DBC2000`ÅäÖãº
- È·ÈÏ`HeroDB`±ðÃûÖ¸ÏòÕýÈ·Êý¾Ý¿â·¾¶
- ²âÊÔÁ¬½Ó£º´ò¿ª`DB Commander→File→Open→Ñ¡ÔñHeroDB`
2. ȨÏÞ¼ì²â£º
```
ÓÒ¼üÊý¾Ý¿âÎļþ→ÊôÐÔ→°²È«→Ìí¼ÓEveryoneÍêÈ«¿ØÖÆÈ¨ÏÞ
```
3. ½â¾ö"Borland Database Engine ´íÎó"£º
- ɾ³ý`C:\Windows\PDOXUSRS.NET`
- ÖØÆô·þÎñ¶Ë
---
## **Èý¡¢½ø½×ÓÅ»¯·½°¸**
### **1. ·´×÷±×»úÖÆÉè¼Æ**
```
[@»ØÊÕ¿ªÊ¼]
#IF
CheckOnline // ±ØÐëÔÚÏß
CheckSpeed < 5 // ÒÆ¶¯Ëٶȼì²â
#ACT
LogQuest ..\QuestDiary\»ØÊÕÈÕÖ¾\Íæ¼Ò_<$USERNAME>_<$DATETIME>.txt
```
*¼Ç¼²Ù×÷¹ì¼£·ÀÖ¹Íâ¹Ò*
### **2. ¶¯Ì¬¶¨¼Ûϵͳ**
```
#CALL [..\QuestDiary\Îï¼Ûϵͳ\½ñÈÕ½ð¼Û.txt]
[@»ØÊղþö]
#IF
CHECKITEM ²Ã¾öÖ®ÕÈ 1
#ACT
CALCVAR GAMEGOLD + <$GOLD_PRICE>*0.8
```
*ͨ¹ýÍⲿÎļþʵÏÖ¼Û¸ñ¸¡¶¯*
### **3. ¶àḬ̈߳²È«´¦Àí**
```
#ACT
Lock
Take Ê¥Õ½½äÖ¸ 1
UnLock
```
*·Àֹͬʱ»ØÊÕµ¼ÖÂÎïÆ·¸´ÖÆ*
---
## **ËÄ¡¢¾µä°¸Àý¸´ÅÌ**
### **°¸Àý1£ºµã»÷»ØÊÕÎÞ·´Ó¦**
**ÅŲé¹ý³Ì**£º
1. ¼ì²é`MerChant.txt`·¢ÏÖNPC×ø±ê±»³ÇǽÕÚµ²
2. ÐÞ¸Ä×ø±êΪ°²È«ÇøÓò£º`330 330 → 330 340`
3. ÖØÔØNPC£º`M2→¿ØÖÆ→ÖØÐ¼ÓÔØ→NPC½Å±¾`
### **°¸Àý2£º»ØÊÕ»ñµÃË«±¶Ôª±¦**
**´íÎó¸ùÔ´**£º
```
#ACT
GameGird + 1000
GAMEGIRD + 1000
```
*±äÁ¿Ãû´óСд²»Í³Ò»µ¼ÖÂÖØ¸´Ö´ÐÐ*
---
## **Îå¡¢Ô¤·ÀÐÔά»¤Ö¸ÄÏ**
1. **°æ±¾¿ØÖÆ**£º
- ʹÓÃGit¹ÜÀí½Å±¾°æ±¾
- ÿ´ÎÐÞ¸ÄǰִÐÐ`±¸·Ý½Å±¾.bat`£º
```
xcopy D:\mirserver\Mir200\Envir\Market_Def E:\backup\%date:~0,4%%date:~5,2%%date:~8,2%\ /s /e /h
```
2. **ѹÁ¦²âÊÔ·½°¸**£º
- ʹÓÃJMeterÄ£Äâ100ÈËͬʱ»ØÊÕ
- ¼à¿Ø·þÎñÆ÷ÄÚ´æÕ¼ÓÃÇúÏß
3. **×Ô¶¯»¯¼ì²é½Å±¾**£º
```python
# ɨÃèËÀÑ»·.py
import re
with open("»ØÊսű¾.txt") as f:
if re.search(r'GOTO @\w+\s*$', f.read()):
print("·¢ÏÖËÀÑ»··çÏÕ£¡")

