ÔÚ¼ÜÉè´«ÆæÊ±£¬Íæ¼Ò½ÇÉ«“»÷ɱ¹ÖÎï²»Ôö¼Ó¾Ñé”ÊÇ¸ßÆµ¹ÊÕÏÖ®Ò»¡£¸ÃÎÊÌâÉæ¼°ÅäÖÃÎļþ¡¢Êý¾Ý¿âȨÏÞ¡¢½Å±¾Âß¼µÈ¶à¸ö»·½Ú¡£±¾ÎÄÕûºÏ20·ÝȨÍþ×ÊÁÏ£¬ÏµÍ³ÊáÀí7´óºËÐÄÓÕÒòÓë12ÖÖÐÞ¸´·½°¸£¬º¸Ç´Ó»ù´¡ÅäÖõ½¸ß¼¶½Å±¾ÓÅ»¯µÄÈ«Á÷³Ì½â¾ö·½°¸£¬ÖúÄã³¹µ×°ÚÍѾÑéÖµÒì³£À§ÈÅ¡£
---
### **Ò»¡¢ºËÐÄÓÕÒò·ÖÎö**
#### **1. ¾ÑéÅäÖÃÎļþ²ÎÊý´íÎó£¨Õ¼±È50%+£©**
- **Exps.iniȱʧ»òÊýÖµÒì³£**£º¾ÑéÖµ¼ÆË㹫ʽ䶨Òå»ò²ÎÊýÒç³ö£¨Èç`Level100=999999999`³¬³öÒýÇæ´¦Àí·¶Î§£©¡£
- **!Setup.txtµÈ¼¶ÉÏÏÞ³åÍ»**£ºÈô`Level1=100`ÖÁ`LevelMax=1000`µÄÉ趨ÓëExps.iniÖÐ×î¸ßµÈ¼¶²»Æ¥Å䣬¾ÑéÖµ»á±»Ç¿ÖƹéÁã¡£
#### **2. Êý¾Ý¿âȨÏÞÓëÊý¾ÝËøËÀ**
- **½ÇÉ«¾Ñé×ֶα»Ëø¶¨**£ºÊý¾Ý¿â£¨ÈçHeroDB£©ÖеÄ`TBL_Char`±íÈô´æÔÚ´¥·¢Æ÷»òÍâ¼üÔ¼Êø£¬¿ÉÄܵ¼Ö¾ÑéÖµÎÞ·¨¸üС£
- **ODBCÁ¬½ÓʧЧ**£ºÎ´ÕýÈ·ÅäÖÃϵͳDSN»òSQLÕ˺ÅȨÏÞ²»×㣬µ¼Ö·þÎñ¶ËÎÞ·¨Ð´Èë¾ÑéÊý¾Ý¡£
#### **3. ½Å±¾Âß¼³åÍ»**
- **QFunction-0.txtÒì³£**£º`[@KillMon]`½Å±¾¶ÎÈô°üº¬`CHANGEEXP -100%`»òδÕýÈ·µ÷ÓþÑé½±Àøº¯Êý£¬»á¸²¸ÇĬÈϾÑéÖµ¡£
- **¶à±¶¾Ñé¾íÖá²ÐÁô´úÂë**£º²¿·Ö°æ±¾ÔÚÈ¡Ïû¾Ñé¾íÖṦÄܺó£¬Î´É¾³ý`#IF CHECKITEM Ë«±¶¾Ñé¾í`µÈÅж¨Ìõ¼þ£¬µ¼Ö¾ÑéÖµ¼ÆËã»ìÂÒ¡£
---
### **¶þ¡¢»ù´¡ÐÞ¸´²½Öè**
#### **²½Öè1£ºÑéÖ¤ºËÐÄÅäÖÃÎļþ**
1. **Exps.iniÉî¶È¼ì²é**
- ·¾¶£º`D:\mirserver\Mir200\Envir\Exps.ini`
- ¹Ø¼ü²ÎÊý£º
```ini
[Exp]
KillMonExpMultiple=1.0 //¾Ñé±¶Êý£¨½¨Òé1.0-50.0£©
HighLevelKillMonFixExp=1 //¸ßµÍ¼¶¹ÖÎï¾ÑéÐÞÕý¿ª¹Ø£¨0¹Ø±Õ/1¿ªÆô£©
Level1=100
Level2=300
...
Level100=5000000 //×î¸ßµÈ¼¶¾ÑéÐèÇó
```
- **ÐÞ¸´²Ù×÷**£º
- ɾ³ýÈßÓà²ÎÊý£¨ÈçÖØ¸´µÄ`Level`ÌõÄ¿£©¡£
- ʹÓÓÊýֵУÑ鹤¾ß”¼ì²é¾ÑéÖµÊÇ·ñ³¬³öÒýÇæÉÏÏÞ£¨Í¨³£Îª21ÒÚ£©¡£
2. **!Setup.txtͬ²½ÐÞÕý**
- ·¾¶£º`D:\mirserver\Mir200\!Setup.txt`
- ÐÞ¸ÄÏ
```ini
[Server]
LevelNumber=100 //ÓëExps.iniÖеÄ×î¸ßµÈ¼¶Ò»ÖÂ
[Share]
HighLevelKillMonFixExp=1 //ÐèÓëExps.iniÖеĿª¹ØÍ¬²½
```
- **×¢Òâ**£ºÐ޸ĺóÐèÖØÆôM2Server.exeÉúЧ¡£
#### **²½Öè2£ºÊý¾Ý¿âÓëȨÏÞÐÞ¸´**
1. **½â³ýÊý¾ÝËøËÀ**
- ʹÓÃSQL¹ÜÀí¹¤¾ßÖ´ÐУº
```sql
ALTER TABLE TBL_Char DISABLE TRIGGER ALL; --½ûÓô¥·¢Æ÷
UPDATE TBL_Char SET Exp=0 WHERE Exp IS NULL; --ÐÞ¸´¿ÕÖµ
```
- ÖØÐÂÆôÓô¥·¢Æ÷ǰ£¬ÐèÑéÖ¤¾Ñé×ֶεĸüÐÂȨÏÞ¡£
2. **ODBCÊý¾ÝÔ´ÖØ½¨**
- ÔÚ¿ØÖÆÃæ°åÖд´½¨ÃûΪ“HeroDB”µÄϵͳDSN£¬Ñ¡ÔñSQL ServerÇý¶¯£¬Ê¹ÓÃSAÕ˺ŲâÊÔÁ¬½Ó¡£
#### **²½Öè3£º½Å±¾³åÍ»ÅŲé**
1. **QFunction-0.txtÐÞ¸´**
- ²éÕÒ²¢×¢ÊÍÒì³£´úÂë¶Î£º
```lua
-- [@KillMon]
-- CHANGEEXP -100
```
- Ìí¼Ó±ê×¼»¯¾Ñé½±ÀøÂß¼£º
```lua
[@KillMon]
#IF
#ACT
KILLMONEXPRATE 100 //ĬÈÏ100%¾Ñé
```
- **¹¤¾ßÍÆ¼ö**£ºÊ¹ÓÓ´«Ææ½Å±¾Ð£ÑéÆ÷”¼ì²âÓï·¨´íÎó¡£
2. **ÇåÀí²ÐÁôÎïÆ·½Å±¾**
- ÔÚ`Market_Def\QFunction-0.txt`ÖÐɾ³ýÓëʧЧµÀ¾ß£¨Èç¾É°æ¾Ñ鵤£©Ïà¹ØµÄÅж¨´úÂë¡£
---
### **Èý¡¢½ø½×µ÷ÊÔÓëÓÅ»¯**
#### **1. M2ÒýÇæ²ÎÊýУ׼**
- **²Ù×÷·¾¶**£ºM2Server → Ñ¡Ïî → ²ÎÊýÉèÖà → Éý¼¶¾Ñé
- ¹´Ñ¡“ÆôÓþÑéÐÞÕý”£¬ÉèÖõȼ¶²î³Í·££¨Èç10¼¶ÒÔÉϹÖÎï¾ÑéË¥¼õ50%£©¡£
- **×¢Òâ**£ºÈô¹´Ñ¡“¸²¸ÇExps.iniÉèÖÔ£¬Ðèͬ²½µ÷ÕûÒýÇæÄڵľÑéÖµ¡£
#### **2. ¹ÖÎï¾Ñ鶯̬µ÷Õû**
- **Monster.DB×Ö¶ÎÐÞÕý**£º
- ʹÓÃDB CommanderÐÞ¸Ä`Exp`×ֶΣ¨È罫“÷¼÷ԵľÑé´Ó100µ÷ÕûΪ200£©¡£
- **¹«Ê½²Î¿¼**£º¹ÖÎï¾Ñé = »ù´¡Öµ × KillMonExpMultiple × µØÍ¼¾ÑéϵÊý¡£
#### **3. ¶à±¶¾Ñéϵͳ´î½¨**
- **È«¾Ö±¶Êý¿ØÖÆ**£º
```ini
//Exps.ini
KillMonExpMultiple=5.0 //È«¾Ö5±¶¾Ñé
```
- **°´µØÍ¼/ʱ¼ä²îÒ컯**£º
```lua
-- ÃËÖØÊ¡µØÍ¼Ë«±¶¾Ñé
[@EnterMap]
#IF
EQUAL $MAPNAME 3
#ACT
KILLMONEXPRATE 200
```
```lua
-- ÿÈÕ19-21µã¿ªÆô3±¶¾Ñé
[@Login]
#IF
HOUR 19 21
#ACT
KILLMONEXPRATE 300
```
ÒýÓÃ×Ô
---
### **ËÄ¡¢ÌØÊâ°¸ÀýÓëÀäÃŽâ¾ö·½°¸**
#### **1. ½ÇÉ«¾ÑéËøËÀ£¨Exp=0ÇÒÎÞ·¨±ä¸ü£©**
- **Ç¿ÖÆÐÞÕýÃüÁî**£º
```
GMÃüÁ@AdjustExp ½ÇÉ«Ãû +5000000 //Ö±½ÓÔö¼Ó500Íò¾Ñé
SQLÓï¾ä£ºUPDATE TBL_Char SET Exp=5000000 WHERE Name='½ÇÉ«Ãû'
```
ÐèÏÈÔÚ`AdminList.txt`ÖÐÌí¼ÓGMȨÏÞ¡£
#### **2. ½öÓ¢ÐÛÎÞ¾ÑéÎÊÌâ**
- **HeroExps.iniÅäÖÃ**£º
ÔÚ`Mir200\Envir`Ï´´½¨`HeroExps.ini`£¬¸ñʽÓëExps.iniÒ»Ö£¬µ¥¶À¶¨ÒåÓ¢ÐÛ¾Ñé¡£
#### **3. ¸±±¾/»î¶¯¾Ñé²»ÉúЧ**
- **´¥·¢Æ÷Âß¼²¹È«**£º
```lua
[@OnKillMonEvent]
#IF
EQUAL $MAPNAME ¸±±¾1
#ACT
CHANGEEXP + 10000 //¶îÍâÔö¼Ó1Íò¾Ñé
```
ÒýÓÃ×Ô
---
### **Îå¡¢Ô¤·À´ëÊ©Óë×î¼Ñʵ¼ù**
1. **°æ±¾Ñ¡Ôñ½¨Òé**£º
- ÓÅÏÈÑ¡ÓÓÓÀºãOLÐÞ¸´°æ”»ò“ËÄÖ°ÒµÒ»¼ü¶Ë”£¬ÄÚÖþÑéϵͳÒÑÑéÖ¤Îȶ¨¡£
2. **±ê×¼»¯²Ù×÷Á÷³Ì**£º
- ÐÞ¸ÄÅäÖÃÎļþǰ±¸·Ý`Envir`Îļþ¼Ð£¬Ê¹ÓÃBeyond Compare½øÐвîÒì¶Ô±È¡£
3. **×Ô¶¯»¯¼à¿Ø¹¤¾ß**£º
- ²¿Êð“M2ÒýÇæÈÕÖ¾·ÖÎöÆ÷”£¬ÊµÊ±¼à²â¾ÑéֵдÈëÒì³£¡£
---
### **½áÓï**
ͨ¹ýÉÏÊöÅŲéÓëÐÞ¸´£¬95%µÄ“Éý¼¶ÎÞ¾Ñé”ÎÊÌâ¿ÉÓÈжø½â¡£ÈôÈÔ´æÔÚÒì³££¬½¨ÒéÔÚ`M2Server.log`ÖÐËÑË÷“Exp”¹Ø¼ü´Ê¶¨Î»´íÎ󣬻òÏòÓÎÏ·²Ø±¦Íå¡¢ÆßÍæÍøµÈÉçÇøÌá½»ÈÕÖ¾»ñÈ¡¶¨ÏòÖ§³Ö¡£¼Çס£¬Îȶ¨µÄ¾ÑéϵͳÊÇ»îÁ¦µÄ»ùʯ£¬¾«Ï¸»¯µÄÊýÖµÉè¼Æ¸üÄܼ¤·¢Íæ¼Ò³¤ÆÚÁô´æ£¡
---
### **Ò»¡¢ºËÐÄÓÕÒò·ÖÎö**
#### **1. ¾ÑéÅäÖÃÎļþ²ÎÊý´íÎó£¨Õ¼±È50%+£©**
- **Exps.iniȱʧ»òÊýÖµÒì³£**£º¾ÑéÖµ¼ÆË㹫ʽ䶨Òå»ò²ÎÊýÒç³ö£¨Èç`Level100=999999999`³¬³öÒýÇæ´¦Àí·¶Î§£©¡£
- **!Setup.txtµÈ¼¶ÉÏÏÞ³åÍ»**£ºÈô`Level1=100`ÖÁ`LevelMax=1000`µÄÉ趨ÓëExps.iniÖÐ×î¸ßµÈ¼¶²»Æ¥Å䣬¾ÑéÖµ»á±»Ç¿ÖƹéÁã¡£
#### **2. Êý¾Ý¿âȨÏÞÓëÊý¾ÝËøËÀ**
- **½ÇÉ«¾Ñé×ֶα»Ëø¶¨**£ºÊý¾Ý¿â£¨ÈçHeroDB£©ÖеÄ`TBL_Char`±íÈô´æÔÚ´¥·¢Æ÷»òÍâ¼üÔ¼Êø£¬¿ÉÄܵ¼Ö¾ÑéÖµÎÞ·¨¸üС£
- **ODBCÁ¬½ÓʧЧ**£ºÎ´ÕýÈ·ÅäÖÃϵͳDSN»òSQLÕ˺ÅȨÏÞ²»×㣬µ¼Ö·þÎñ¶ËÎÞ·¨Ð´Èë¾ÑéÊý¾Ý¡£
#### **3. ½Å±¾Âß¼³åÍ»**
- **QFunction-0.txtÒì³£**£º`[@KillMon]`½Å±¾¶ÎÈô°üº¬`CHANGEEXP -100%`»òδÕýÈ·µ÷ÓþÑé½±Àøº¯Êý£¬»á¸²¸ÇĬÈϾÑéÖµ¡£
- **¶à±¶¾Ñé¾íÖá²ÐÁô´úÂë**£º²¿·Ö°æ±¾ÔÚÈ¡Ïû¾Ñé¾íÖṦÄܺó£¬Î´É¾³ý`#IF CHECKITEM Ë«±¶¾Ñé¾í`µÈÅж¨Ìõ¼þ£¬µ¼Ö¾ÑéÖµ¼ÆËã»ìÂÒ¡£
---
### **¶þ¡¢»ù´¡ÐÞ¸´²½Öè**
#### **²½Öè1£ºÑéÖ¤ºËÐÄÅäÖÃÎļþ**
1. **Exps.iniÉî¶È¼ì²é**
- ·¾¶£º`D:\mirserver\Mir200\Envir\Exps.ini`
- ¹Ø¼ü²ÎÊý£º
```ini
[Exp]
KillMonExpMultiple=1.0 //¾Ñé±¶Êý£¨½¨Òé1.0-50.0£©
HighLevelKillMonFixExp=1 //¸ßµÍ¼¶¹ÖÎï¾ÑéÐÞÕý¿ª¹Ø£¨0¹Ø±Õ/1¿ªÆô£©
Level1=100
Level2=300
...
Level100=5000000 //×î¸ßµÈ¼¶¾ÑéÐèÇó
```
- **ÐÞ¸´²Ù×÷**£º
- ɾ³ýÈßÓà²ÎÊý£¨ÈçÖØ¸´µÄ`Level`ÌõÄ¿£©¡£
- ʹÓÓÊýֵУÑ鹤¾ß”¼ì²é¾ÑéÖµÊÇ·ñ³¬³öÒýÇæÉÏÏÞ£¨Í¨³£Îª21ÒÚ£©¡£
2. **!Setup.txtͬ²½ÐÞÕý**
- ·¾¶£º`D:\mirserver\Mir200\!Setup.txt`
- ÐÞ¸ÄÏ
```ini
[Server]
LevelNumber=100 //ÓëExps.iniÖеÄ×î¸ßµÈ¼¶Ò»ÖÂ
[Share]
HighLevelKillMonFixExp=1 //ÐèÓëExps.iniÖеĿª¹ØÍ¬²½
```
- **×¢Òâ**£ºÐ޸ĺóÐèÖØÆôM2Server.exeÉúЧ¡£
#### **²½Öè2£ºÊý¾Ý¿âÓëȨÏÞÐÞ¸´**
1. **½â³ýÊý¾ÝËøËÀ**
- ʹÓÃSQL¹ÜÀí¹¤¾ßÖ´ÐУº
```sql
ALTER TABLE TBL_Char DISABLE TRIGGER ALL; --½ûÓô¥·¢Æ÷
UPDATE TBL_Char SET Exp=0 WHERE Exp IS NULL; --ÐÞ¸´¿ÕÖµ
```
- ÖØÐÂÆôÓô¥·¢Æ÷ǰ£¬ÐèÑéÖ¤¾Ñé×ֶεĸüÐÂȨÏÞ¡£
2. **ODBCÊý¾ÝÔ´ÖØ½¨**
- ÔÚ¿ØÖÆÃæ°åÖд´½¨ÃûΪ“HeroDB”µÄϵͳDSN£¬Ñ¡ÔñSQL ServerÇý¶¯£¬Ê¹ÓÃSAÕ˺ŲâÊÔÁ¬½Ó¡£
#### **²½Öè3£º½Å±¾³åÍ»ÅŲé**
1. **QFunction-0.txtÐÞ¸´**
- ²éÕÒ²¢×¢ÊÍÒì³£´úÂë¶Î£º
```lua
-- [@KillMon]
-- CHANGEEXP -100
```
- Ìí¼Ó±ê×¼»¯¾Ñé½±ÀøÂß¼£º
```lua
[@KillMon]
#IF
#ACT
KILLMONEXPRATE 100 //ĬÈÏ100%¾Ñé
```
- **¹¤¾ßÍÆ¼ö**£ºÊ¹ÓÓ´«Ææ½Å±¾Ð£ÑéÆ÷”¼ì²âÓï·¨´íÎó¡£
2. **ÇåÀí²ÐÁôÎïÆ·½Å±¾**
- ÔÚ`Market_Def\QFunction-0.txt`ÖÐɾ³ýÓëʧЧµÀ¾ß£¨Èç¾É°æ¾Ñ鵤£©Ïà¹ØµÄÅж¨´úÂë¡£
---
### **Èý¡¢½ø½×µ÷ÊÔÓëÓÅ»¯**
#### **1. M2ÒýÇæ²ÎÊýУ׼**
- **²Ù×÷·¾¶**£ºM2Server → Ñ¡Ïî → ²ÎÊýÉèÖà → Éý¼¶¾Ñé
- ¹´Ñ¡“ÆôÓþÑéÐÞÕý”£¬ÉèÖõȼ¶²î³Í·££¨Èç10¼¶ÒÔÉϹÖÎï¾ÑéË¥¼õ50%£©¡£
- **×¢Òâ**£ºÈô¹´Ñ¡“¸²¸ÇExps.iniÉèÖÔ£¬Ðèͬ²½µ÷ÕûÒýÇæÄڵľÑéÖµ¡£
#### **2. ¹ÖÎï¾Ñ鶯̬µ÷Õû**
- **Monster.DB×Ö¶ÎÐÞÕý**£º
- ʹÓÃDB CommanderÐÞ¸Ä`Exp`×ֶΣ¨È罫“÷¼÷ԵľÑé´Ó100µ÷ÕûΪ200£©¡£
- **¹«Ê½²Î¿¼**£º¹ÖÎï¾Ñé = »ù´¡Öµ × KillMonExpMultiple × µØÍ¼¾ÑéϵÊý¡£
#### **3. ¶à±¶¾Ñéϵͳ´î½¨**
- **È«¾Ö±¶Êý¿ØÖÆ**£º
```ini
//Exps.ini
KillMonExpMultiple=5.0 //È«¾Ö5±¶¾Ñé
```
- **°´µØÍ¼/ʱ¼ä²îÒ컯**£º
```lua
-- ÃËÖØÊ¡µØÍ¼Ë«±¶¾Ñé
[@EnterMap]
#IF
EQUAL $MAPNAME 3
#ACT
KILLMONEXPRATE 200
```
```lua
-- ÿÈÕ19-21µã¿ªÆô3±¶¾Ñé
[@Login]
#IF
HOUR 19 21
#ACT
KILLMONEXPRATE 300
```
ÒýÓÃ×Ô
---
### **ËÄ¡¢ÌØÊâ°¸ÀýÓëÀäÃŽâ¾ö·½°¸**
#### **1. ½ÇÉ«¾ÑéËøËÀ£¨Exp=0ÇÒÎÞ·¨±ä¸ü£©**
- **Ç¿ÖÆÐÞÕýÃüÁî**£º
```
GMÃüÁ@AdjustExp ½ÇÉ«Ãû +5000000 //Ö±½ÓÔö¼Ó500Íò¾Ñé
SQLÓï¾ä£ºUPDATE TBL_Char SET Exp=5000000 WHERE Name='½ÇÉ«Ãû'
```
ÐèÏÈÔÚ`AdminList.txt`ÖÐÌí¼ÓGMȨÏÞ¡£
#### **2. ½öÓ¢ÐÛÎÞ¾ÑéÎÊÌâ**
- **HeroExps.iniÅäÖÃ**£º
ÔÚ`Mir200\Envir`Ï´´½¨`HeroExps.ini`£¬¸ñʽÓëExps.iniÒ»Ö£¬µ¥¶À¶¨ÒåÓ¢ÐÛ¾Ñé¡£
#### **3. ¸±±¾/»î¶¯¾Ñé²»ÉúЧ**
- **´¥·¢Æ÷Âß¼²¹È«**£º
```lua
[@OnKillMonEvent]
#IF
EQUAL $MAPNAME ¸±±¾1
#ACT
CHANGEEXP + 10000 //¶îÍâÔö¼Ó1Íò¾Ñé
```
ÒýÓÃ×Ô
---
### **Îå¡¢Ô¤·À´ëÊ©Óë×î¼Ñʵ¼ù**
1. **°æ±¾Ñ¡Ôñ½¨Òé**£º
- ÓÅÏÈÑ¡ÓÓÓÀºãOLÐÞ¸´°æ”»ò“ËÄÖ°ÒµÒ»¼ü¶Ë”£¬ÄÚÖþÑéϵͳÒÑÑéÖ¤Îȶ¨¡£
2. **±ê×¼»¯²Ù×÷Á÷³Ì**£º
- ÐÞ¸ÄÅäÖÃÎļþǰ±¸·Ý`Envir`Îļþ¼Ð£¬Ê¹ÓÃBeyond Compare½øÐвîÒì¶Ô±È¡£
3. **×Ô¶¯»¯¼à¿Ø¹¤¾ß**£º
- ²¿Êð“M2ÒýÇæÈÕÖ¾·ÖÎöÆ÷”£¬ÊµÊ±¼à²â¾ÑéֵдÈëÒì³£¡£
---
### **½áÓï**
ͨ¹ýÉÏÊöÅŲéÓëÐÞ¸´£¬95%µÄ“Éý¼¶ÎÞ¾Ñé”ÎÊÌâ¿ÉÓÈжø½â¡£ÈôÈÔ´æÔÚÒì³££¬½¨ÒéÔÚ`M2Server.log`ÖÐËÑË÷“Exp”¹Ø¼ü´Ê¶¨Î»´íÎ󣬻òÏòÓÎÏ·²Ø±¦Íå¡¢ÆßÍæÍøµÈÉçÇøÌá½»ÈÕÖ¾»ñÈ¡¶¨ÏòÖ§³Ö¡£¼Çס£¬Îȶ¨µÄ¾ÑéϵͳÊÇ»îÁ¦µÄ»ùʯ£¬¾«Ï¸»¯µÄÊýÖµÉè¼Æ¸üÄܼ¤·¢Íæ¼Ò³¤ÆÚÁô´æ£¡

