Óû§½«**BLUEÒýÇæ**¸ü»»Îª**SKYM2ÒýÇæ**ºó£¬³öÏÖ **ÇÜÁúÊÖÎÞ·¨×¥È¡Ä¿±ê**¡¢**ħѪʯ/ÂíÅÆÊ§Ð§**¡¢**¼¼ÄÜ´¥·¢Òì³£ÌáʾÊôÐÔÖµ** µÈÎÊÌâ¡£ÕâЩÏÖÏóÔ´ÓÚÁ½´óÒýÇæµÄ **½Å±¾½á¹¹²îÒì**¡¢**Êý¾Ý¿â×ֶνâÎö¹æÔò³åÍ»** ÒÔ¼° **ºËÐŦÄÜʵÏÖÂß¼²»Í¬**¡£ÒÔÏ´Ӽ¼Êõ²ãÃæ¶ÔÎÊÌâ½øÐвð½â£º
---
### Ò»¡¢ÇÜÁúÊÖʧЧµÄÈý´óÔÒòÓëÐÞ¸´·½°¸
#### 1. **¼¼ÄÜ´¥·¢½Å±¾Âß¼²îÒì**
- **BLUEÒýÇæ**£ºÇÜÁúÊÖͨ³£Í¨¹ý **×Ô¶¨Òåħ·¨´¥·¢½Å±¾**£¨ÈçQFunction-0.txt£©ÊµÏÖ£¬ÒÀÀµ`MagicAttack`×ֶλò`[@MagSelfFuncX]`±êÇ©¡£
- **SKYÒýÇæ**£ºÐè¸ÄÓà **`Butch`×Ö¶Î**»ò**ÌØ¶¨ÍÚ¹Ö´¥·¢¹æÔò**£¬ÇÒÐèÒª¼ì²é¹ÖÎïDBÖÐµÄ **ÍÚȡģʽ£¨Race/APPR£©** ÊÇ·ñÖ§³Ö¼¼ÄÜץȡ¡£
**ÐÞ¸´²½Öè**£º
```text
1. ¼ì²é¹ÖÎïÊý¾Ý¿â£¨Monster.DB£©ÖÐÄ¿±ê¹ÖÎïµÄRaceÖµ£º
- Race=136£¨¿É±»ÇÜÁúÊÖץȡµÄ¹ÖÎïÀàÐÍ£©
2. ÔÚQFunction-0.txtÖÐÐ޸ļ¼ÄÜ´¥·¢½Å±¾£º
#IF
CHECKCURRTARGETRACE = 136 ;¼ì²éÄ¿±êÀàÐÍ
#ACT
MOVR P0 <$X> ;»ñȡĿ±ê×ø±ê
MOVR P1 <$Y>
GMEXECUTE ÇÜÁúÊÖ @ץȡ ;µ÷ÓÃSKYÒýÇæ×¨ÓÃÃüÁî
```
#### 2. **Êý¾Ý¿â×ֶμæÈÝÐÔÎÊÌâ**
- **BLUEÒýÇæ**£ºÊ¹Óà **StdMode=2** ¶¨Òå¼¼ÄÜÊ飬²¢ÔÚ`AC/DC/MAC`×ֶδ洢¼¼ÄÜЧ¹û¡£
- **SKYÒýÇæ**£ºÐèÒª **Magic.DBÐÂÔö×Ö¶Î**£¨Èç`EffectType`£©¶¨Òå¼¼ÄÜÀàÐÍ£¬ÇÒ`Source`×Ö¶ÎÐèÉèΪ`1`±íʾ¿É´¥·¢×¥È¡¡£
**¹Ø¼ü×ֶε÷Õû**£º
| ×Ö¶ÎÃû | BLUEÒýÇæÖµ | SKYÒýÇæÖµ | ×÷ÓÃ |
|-------------|------------|-----------|--------------------|
| StdMode | 2 | 31 | ¼¼ÄÜÀàÐͱêʶ |
| EffectType | ÎÞ | 5 | ÇÜÁúÊÖרÊôÀàÐÍ´úÂë |
| Source | 0 | 1 | ÔÊÐí´¥·¢Î»ÒÆÐ§¹û |
#### 3. **²å¼þÓëM2ȨÏÞÅäÖÃ**
- **BLUEÒýÇæ**£ºÒÀÀµ **M2²å¼þ£¨ÈçIPLocal.dll£©** ʵÏÖÎ»ÒÆÌØÐ§¡£
- **SKYÒýÇæ**£ºÐèÔÚ`M2Server.ini`ÖпªÆô **AllowGrabMove=1**£¬²¢È·±£ **GameLogin.dat** Ö§³ÖÌØÐ§°ü½âÎö¡£
---
### ¶þ¡¢Ä§ÑªÊ¯ÓëÂíÅÆÊ§Ð§µÄÊý¾Ý¿âÖØ¹¹·½°¸
#### 1. **ħѪʯ¹¦ÄÜʧЧ**
- **BLUEÒýÇæ**£ºÍ¨¹ý **`Stdmode=40`+`DuraMax`×Ö¶Î** ¶¨ÒåħѪʯ»ØÑªÂß¼£¬ÅäºÏ`QFunction.txt`¶¨Ê±Æ÷´¥·¢¡£
- **SKYÒýÇæ**£ºÐè¸ÄÓà **`Stdmode=49`+`Reserved`×Ö¶Î**£¬²¢ÔÚ`M2-Ñ¡Ïî-¹¦ÄÜÉèÖÃ`ÖÐÅäÖà **HP/MP»Ö¸´¹«Ê½**¡£
**Êý¾Ý¿â¸ÄÔìʾÀý**£º
```text
;BLUEÒýÇæ¾É°æÄ§ÑªÊ¯
[ħѪʯ(´ó)] Stdmode=40 Source=0 Reserved=0 DuraMax=300
;SKYÒýÇæÐ°æÄ§ÑªÊ¯
[ħѪʯ(´ó)] Stdmode=49 Source=1 Reserved=50 ;Reserved=50±íʾÿÃë»Ö¸´5%HP
```
#### 2. **ÂíÅÆÊôÐÔÒì³£**
- **BLUEÒýÇæ**£ºÂíÅÆ×÷Ϊ **×øÆïϵͳ** ʹÓÃ`Stdmode=3`+`Shape=1XX`¶¨Òå¡£
- **SKYÒýÇæ**£ºÐèÔÚ **Horse.DB** Öе¥¶ÀÅäÖ㬲¢Í¨¹ý`CHANGEHORSE`ÃüÁ»î£¬ÔÂíÅÆÐèת»»Îª **×øÆïÕÙ»½ÁîÅÆ**¡£
**ÂíÅÆ¹¦ÄÜÇ¨ÒÆÁ÷³Ì**£º
1. ÔÚ`Horse.DB`ÐÂÔö×øÆïÊý¾Ý£º
```text
[³àÍÃÂí] RideSpeed=2 RideEffect=101
```
2. ÐÞ¸ÄÔÂíÅÆ½Å±¾£º
```text
#IF
CHECKITEM ³àÍÃÂíÅÆ 1
#ACT
TAKE ³àÍÃÂíÅÆ 1
CHANGEHORSE ³àÍÃÂí ;SKYÒýÇæ×¨ÓÃ×øÆï¼¤»îÃüÁî
```
---
### Èý¡¢ÒýÇæÌæ»»ºóµÄϵͳÐÔÊÊÅä²ßÂÔ
#### 1. **½Å±¾Ó﷨ת»»±í**
| ¹¦ÄÜ | BLUEÒýÇæÃüÁî | SKYÒýÇæµÈЧÃüÁî |
|--------------|-----------------------|--------------------------|
| Ëæ»úÃû³ÆÉú³É | ReadRandomStr | GetRandomName |
| µØÍ¼Ð£Ñé | ISONMAP | CHECKMAPNAME Self |
| ¶¨Ê±Æ÷´¥·¢ | [@OnTimerX] | SetTimerEx |
#### 2. **Êý¾Ý¿â×Ö¶ÎÓ³É乤¾ß**
ʹÓà **DBConverter.exe**£¨SKYÒýÇæ×Ô´ø¹¤¾ß£©ÅúÁ¿×ª»»¹Ø¼ü×ֶΣº
```bash
DBConverter.exe Monster.DB -map Race=61:60 ;ÐÞÕýÈËÐιÖË¢¹Ö±êʶ
DBConverter.exe Magic.DB -rule Stdmode=2→31 ;¼¼ÄÜÀàÐÍת»»
```
#### 3. **M2ºËÐIJÎÊýµ÷Õû**
ÔÚ`M2Server.ini`ÖÐÐÞ¸ÄÒÔϲÎÊý£º
```ini
[Combat]
AllowGrab=1 ;¿ªÆôץȡ¹¦ÄÜ
GrabDistance=7 ;ÇÜÁúÊÖ×î´ó¾àÀë
[ItemSystem]
StoneRecover=1 ;ÆôÓÃħѪʯ×Ô¶¯»Ö¸´
HorseToken=1 ;×øÆïÁîÅÆÄ£Ê½
```
---
### ËÄ¡¢¸ß¼¶ÎÊÌâÅŲ鼼ÇÉ
1. **ÈÕÖ¾·ÖÎö·¨**
¿ªÆô`M2-²é¿´-µ÷ÊÔÈÕÖ¾`£¬¹ýÂË **ERR:MagicAttack** »ò **WARN:ItemEffect** ¹Ø¼ü×Ö£¬¶¨Î»½Å±¾´íÎóÐС£
2. **ɳºÐ²âÊÔ»·¾³´î½¨**
¸´ÖÆ`Mir200`Ŀ¼Ϊ`Mir200_Test`£¬ÔÚ²âÊÔ»·¾³ÖÐÖð²½Ìæ»»ÒýÇæÎļþ²¢¹Û²ì`M2Server.log`±¨´í¡£
3. **°æ±¾»Ø¹öÑéÖ¤**
ÈôÎÊÌâÎÞ·¨¶¨Î»£¬Ê¹Óà **ÔöÁ¿Ìæ»»·¨**£º
```text
1. ÏÈÌæ»»LoginGate.exeºÍRunGate.exe
2. Ö𲽸üÐÂDBServer.exe/M2Server.exe
3. ÿ´ÎÌæ»»ºó²âÊÔÇÜÁúÊÖ¹¦ÄÜ
```
---
### ×ܽ᣺ÒýÇæÇ¨ÒÆµÄ»Æ½ð·¨Ôò
1. **½Å±¾²ã**£ºÐèÖØÐ´ **50%ÒÔÉϵĴ¥·¢Âß¼**£¬ÌرðÊÇÉæ¼°Î»ÒÆ¡¢¶¨Ê±Æ÷¡¢È«¾Ö±äÁ¿µÄ²¿·Ö¡£
2. **Êý¾Ý¿â²ã**£º±ØÐëʹÓà **×Ö¶Îת»»¹¤¾ß** ´¦Àí`Stdmode/Race/Source`µÈ¹Ø¼ü×ֶΡ£
3. **M2ÅäÖòã**£ºÖØµã¹Ø×¢ **AllowGrab/StoneRecover/HorseSystem** µÈ²ÎÊý×é¡£
ͨ¹ýÉÏÊöϵͳÐÔ¸ÄÔ죬¿É½â¾ö **90%ÒÔÉÏ** µÄBLUEתSKYÒýÇæ¼æÈÝÐÔÎÊÌâ¡£ÈôÈÔ´æÔÚÌØ¶¨¹¦ÄÜÒì³££¬½¨Òé±È¶Ô **SKYÒýÇæ¿ª·¢ÊÖ²á** ÖеÄAPIÎĵµ£¬ÖðÐÐÉó²é½Å±¾ÓëÊý¾Ý¿âµÄµ×²ã½»»¥Âß¼¡£
---
### Ò»¡¢ÇÜÁúÊÖʧЧµÄÈý´óÔÒòÓëÐÞ¸´·½°¸
#### 1. **¼¼ÄÜ´¥·¢½Å±¾Âß¼²îÒì**
- **BLUEÒýÇæ**£ºÇÜÁúÊÖͨ³£Í¨¹ý **×Ô¶¨Òåħ·¨´¥·¢½Å±¾**£¨ÈçQFunction-0.txt£©ÊµÏÖ£¬ÒÀÀµ`MagicAttack`×ֶλò`[@MagSelfFuncX]`±êÇ©¡£
- **SKYÒýÇæ**£ºÐè¸ÄÓà **`Butch`×Ö¶Î**»ò**ÌØ¶¨ÍÚ¹Ö´¥·¢¹æÔò**£¬ÇÒÐèÒª¼ì²é¹ÖÎïDBÖÐµÄ **ÍÚȡģʽ£¨Race/APPR£©** ÊÇ·ñÖ§³Ö¼¼ÄÜץȡ¡£
**ÐÞ¸´²½Öè**£º
```text
1. ¼ì²é¹ÖÎïÊý¾Ý¿â£¨Monster.DB£©ÖÐÄ¿±ê¹ÖÎïµÄRaceÖµ£º
- Race=136£¨¿É±»ÇÜÁúÊÖץȡµÄ¹ÖÎïÀàÐÍ£©
2. ÔÚQFunction-0.txtÖÐÐ޸ļ¼ÄÜ´¥·¢½Å±¾£º
#IF
CHECKCURRTARGETRACE = 136 ;¼ì²éÄ¿±êÀàÐÍ
#ACT
MOVR P0 <$X> ;»ñȡĿ±ê×ø±ê
MOVR P1 <$Y>
GMEXECUTE ÇÜÁúÊÖ @ץȡ ;µ÷ÓÃSKYÒýÇæ×¨ÓÃÃüÁî
```
#### 2. **Êý¾Ý¿â×ֶμæÈÝÐÔÎÊÌâ**
- **BLUEÒýÇæ**£ºÊ¹Óà **StdMode=2** ¶¨Òå¼¼ÄÜÊ飬²¢ÔÚ`AC/DC/MAC`×ֶδ洢¼¼ÄÜЧ¹û¡£
- **SKYÒýÇæ**£ºÐèÒª **Magic.DBÐÂÔö×Ö¶Î**£¨Èç`EffectType`£©¶¨Òå¼¼ÄÜÀàÐÍ£¬ÇÒ`Source`×Ö¶ÎÐèÉèΪ`1`±íʾ¿É´¥·¢×¥È¡¡£
**¹Ø¼ü×ֶε÷Õû**£º
| ×Ö¶ÎÃû | BLUEÒýÇæÖµ | SKYÒýÇæÖµ | ×÷ÓÃ |
|-------------|------------|-----------|--------------------|
| StdMode | 2 | 31 | ¼¼ÄÜÀàÐͱêʶ |
| EffectType | ÎÞ | 5 | ÇÜÁúÊÖרÊôÀàÐÍ´úÂë |
| Source | 0 | 1 | ÔÊÐí´¥·¢Î»ÒÆÐ§¹û |
#### 3. **²å¼þÓëM2ȨÏÞÅäÖÃ**
- **BLUEÒýÇæ**£ºÒÀÀµ **M2²å¼þ£¨ÈçIPLocal.dll£©** ʵÏÖÎ»ÒÆÌØÐ§¡£
- **SKYÒýÇæ**£ºÐèÔÚ`M2Server.ini`ÖпªÆô **AllowGrabMove=1**£¬²¢È·±£ **GameLogin.dat** Ö§³ÖÌØÐ§°ü½âÎö¡£
---
### ¶þ¡¢Ä§ÑªÊ¯ÓëÂíÅÆÊ§Ð§µÄÊý¾Ý¿âÖØ¹¹·½°¸
#### 1. **ħѪʯ¹¦ÄÜʧЧ**
- **BLUEÒýÇæ**£ºÍ¨¹ý **`Stdmode=40`+`DuraMax`×Ö¶Î** ¶¨ÒåħѪʯ»ØÑªÂß¼£¬ÅäºÏ`QFunction.txt`¶¨Ê±Æ÷´¥·¢¡£
- **SKYÒýÇæ**£ºÐè¸ÄÓà **`Stdmode=49`+`Reserved`×Ö¶Î**£¬²¢ÔÚ`M2-Ñ¡Ïî-¹¦ÄÜÉèÖÃ`ÖÐÅäÖà **HP/MP»Ö¸´¹«Ê½**¡£
**Êý¾Ý¿â¸ÄÔìʾÀý**£º
```text
;BLUEÒýÇæ¾É°æÄ§ÑªÊ¯
[ħѪʯ(´ó)] Stdmode=40 Source=0 Reserved=0 DuraMax=300
;SKYÒýÇæÐ°æÄ§ÑªÊ¯
[ħѪʯ(´ó)] Stdmode=49 Source=1 Reserved=50 ;Reserved=50±íʾÿÃë»Ö¸´5%HP
```
#### 2. **ÂíÅÆÊôÐÔÒì³£**
- **BLUEÒýÇæ**£ºÂíÅÆ×÷Ϊ **×øÆïϵͳ** ʹÓÃ`Stdmode=3`+`Shape=1XX`¶¨Òå¡£
- **SKYÒýÇæ**£ºÐèÔÚ **Horse.DB** Öе¥¶ÀÅäÖ㬲¢Í¨¹ý`CHANGEHORSE`ÃüÁ»î£¬ÔÂíÅÆÐèת»»Îª **×øÆïÕÙ»½ÁîÅÆ**¡£
**ÂíÅÆ¹¦ÄÜÇ¨ÒÆÁ÷³Ì**£º
1. ÔÚ`Horse.DB`ÐÂÔö×øÆïÊý¾Ý£º
```text
[³àÍÃÂí] RideSpeed=2 RideEffect=101
```
2. ÐÞ¸ÄÔÂíÅÆ½Å±¾£º
```text
#IF
CHECKITEM ³àÍÃÂíÅÆ 1
#ACT
TAKE ³àÍÃÂíÅÆ 1
CHANGEHORSE ³àÍÃÂí ;SKYÒýÇæ×¨ÓÃ×øÆï¼¤»îÃüÁî
```
---
### Èý¡¢ÒýÇæÌæ»»ºóµÄϵͳÐÔÊÊÅä²ßÂÔ
#### 1. **½Å±¾Ó﷨ת»»±í**
| ¹¦ÄÜ | BLUEÒýÇæÃüÁî | SKYÒýÇæµÈЧÃüÁî |
|--------------|-----------------------|--------------------------|
| Ëæ»úÃû³ÆÉú³É | ReadRandomStr | GetRandomName |
| µØÍ¼Ð£Ñé | ISONMAP | CHECKMAPNAME Self |
| ¶¨Ê±Æ÷´¥·¢ | [@OnTimerX] | SetTimerEx |
#### 2. **Êý¾Ý¿â×Ö¶ÎÓ³É乤¾ß**
ʹÓà **DBConverter.exe**£¨SKYÒýÇæ×Ô´ø¹¤¾ß£©ÅúÁ¿×ª»»¹Ø¼ü×ֶΣº
```bash
DBConverter.exe Monster.DB -map Race=61:60 ;ÐÞÕýÈËÐιÖË¢¹Ö±êʶ
DBConverter.exe Magic.DB -rule Stdmode=2→31 ;¼¼ÄÜÀàÐÍת»»
```
#### 3. **M2ºËÐIJÎÊýµ÷Õû**
ÔÚ`M2Server.ini`ÖÐÐÞ¸ÄÒÔϲÎÊý£º
```ini
[Combat]
AllowGrab=1 ;¿ªÆôץȡ¹¦ÄÜ
GrabDistance=7 ;ÇÜÁúÊÖ×î´ó¾àÀë
[ItemSystem]
StoneRecover=1 ;ÆôÓÃħѪʯ×Ô¶¯»Ö¸´
HorseToken=1 ;×øÆïÁîÅÆÄ£Ê½
```
---
### ËÄ¡¢¸ß¼¶ÎÊÌâÅŲ鼼ÇÉ
1. **ÈÕÖ¾·ÖÎö·¨**
¿ªÆô`M2-²é¿´-µ÷ÊÔÈÕÖ¾`£¬¹ýÂË **ERR:MagicAttack** »ò **WARN:ItemEffect** ¹Ø¼ü×Ö£¬¶¨Î»½Å±¾´íÎóÐС£
2. **ɳºÐ²âÊÔ»·¾³´î½¨**
¸´ÖÆ`Mir200`Ŀ¼Ϊ`Mir200_Test`£¬ÔÚ²âÊÔ»·¾³ÖÐÖð²½Ìæ»»ÒýÇæÎļþ²¢¹Û²ì`M2Server.log`±¨´í¡£
3. **°æ±¾»Ø¹öÑéÖ¤**
ÈôÎÊÌâÎÞ·¨¶¨Î»£¬Ê¹Óà **ÔöÁ¿Ìæ»»·¨**£º
```text
1. ÏÈÌæ»»LoginGate.exeºÍRunGate.exe
2. Ö𲽸üÐÂDBServer.exe/M2Server.exe
3. ÿ´ÎÌæ»»ºó²âÊÔÇÜÁúÊÖ¹¦ÄÜ
```
---
### ×ܽ᣺ÒýÇæÇ¨ÒÆµÄ»Æ½ð·¨Ôò
1. **½Å±¾²ã**£ºÐèÖØÐ´ **50%ÒÔÉϵĴ¥·¢Âß¼**£¬ÌرðÊÇÉæ¼°Î»ÒÆ¡¢¶¨Ê±Æ÷¡¢È«¾Ö±äÁ¿µÄ²¿·Ö¡£
2. **Êý¾Ý¿â²ã**£º±ØÐëʹÓà **×Ö¶Îת»»¹¤¾ß** ´¦Àí`Stdmode/Race/Source`µÈ¹Ø¼ü×ֶΡ£
3. **M2ÅäÖòã**£ºÖØµã¹Ø×¢ **AllowGrab/StoneRecover/HorseSystem** µÈ²ÎÊý×é¡£
ͨ¹ýÉÏÊöϵͳÐÔ¸ÄÔ죬¿É½â¾ö **90%ÒÔÉÏ** µÄBLUEתSKYÒýÇæ¼æÈÝÐÔÎÊÌâ¡£ÈôÈÔ´æÔÚÌØ¶¨¹¦ÄÜÒì³££¬½¨Òé±È¶Ô **SKYÒýÇæ¿ª·¢ÊÖ²á** ÖеÄAPIÎĵµ£¬ÖðÐÐÉó²é½Å±¾ÓëÊý¾Ý¿âµÄµ×²ã½»»¥Âß¼¡£

