#### **Ò»¡¢ºËÐÄʵÏÖÔÀíÓë½Å±¾½á¹¹**
ÔÚ´«Ææ·þÎñ¶ËÖÐʵÏÖGMÉÏÏß×Ô¶¯´«Ë͵½Ö¸¶¨µØÍ¼£¬Ðèͨ¹ýÐÞ¸Ä **QManage.txt** µÇ¼½Å±¾Îļþ£¬²¢ÀûÓÃÒýÇæµÄ **Éí·Ý¼ì²âÃüÁî** ºÍ **µØÍ¼´«ËÍÖ¸Áî**¡£ºËÐÄÁ÷³ÌÈçÏ£º
1. **Éí·ÝÑéÖ¤**£ºÊ¹Óà `ISADMIN` ÃüÁî¼ì²âÍæ¼ÒÊÇ·ñΪGMȨÏÞÕ˺š£
2. **ȨÏÞÇ¿»¯**£ºÍ¨¹ý `CHANGEMODE` ¿ªÆôGMÒþÉí¡¢Î޵еȹÜÀíģʽ¡£
3. **×ø±ê´«ËÍ**£ºµ÷Óà `mapmove` ÃüÁî½«Íæ¼Ò´«ËÍÖÁÔ¤ÉèµÄGMרÓõØÍ¼×ø±ê¡£
**ºËÐĽű¾Ê¾Àý£¨HEROÒýÇæ£©**£º
```lua
; ·¾¶£ºMir200\Envir\MapQuest_def\QManage.txt
[@Login]
#IF
ISADMIN -- ¼ì²âÊÇ·ñΪGMÕ˺Å
#ACT
SETRANKLEVELNAME %s -- ÉèÖÃGMÍ·ÏÎ
CHANGEMODE 1 1 -- ¿ªÆôÒþÉíģʽ
CHANGEMODE 2 1 -- ¿ªÆôÎÞµÐģʽ
CHANGEMODE 3 1 -- ¿ªÆô¹ÜÀíȨÏÞ
mapmove G005 66 39 -- ´«ËÍÖÁµØÍ¼G005µÄ(66,39)×ø±ê
Break -- ÖÕÖ¹ºóÐø½Å±¾Ö´ÐÐ
```
> **²ÎÊý˵Ã÷**£º
> - `G005`£ºÐèÌáǰÔÚ·þÎñ¶ËÖд´½¨µÄGMרÓõØÍ¼±àºÅ£¨Èç²»´æÔÚÐèͨ¹ýMapInfo.txtÌí¼Ó£©¡£
> - `66 39`£ºÄ¿±êµØÍ¼µÄ×ø±êµã£¬½¨ÒéÉèÖÃÔÚNPC¾Û¼¯ÇøÓò¡£
---
#### **¶þ¡¢½ø½×¹¦ÄÜÀ©Õ¹**
##### **1. ¶¯Ì¬µØÍ¼±àºÅÓë×ø±êÅäÖÃ**
ͨ¹ý **±äÁ¿¶ÁÈ¡** ʵÏÖµØÍ¼±àºÅµÄÁé»îÅäÖ㬱ÜÃâÓ²±àÂëÎÊÌ⣺
```lua
#IF
ISADMIN
#ACT
MOV S10 G005 -- ½«µØÍ¼±àºÅ´æÈë±äÁ¿S10
MOV N50 66 -- X×ø±ê´æÈëN50
MOV N51 39 -- Y×ø±ê´æÈëN51
mapmove <$STR(S10)> <$STR(N50)> <$STR(N51)>
```
**ÓÅÊÆ**£ºÐ޸ĵØÍ¼Ê±ÎÞÐèÖØÐ´½Å±¾£¬½öÐèµ÷Õû±äÁ¿Öµ¡£
##### **2. GMרÊôµØÍ¼¹¦Äܼ¯³É**
ÔÚGMµØÍ¼Öм¯³É **¹ÜÀíNPC** Óë **µ÷ÊÔ¹¤¾ß**£º
- ÔÚ `NPC½Å±¾` ÖÐÌí¼Ó×°±¸·¢·Å¡¢¹ÖÎïˢпØÖÆ¡¢Íæ¼Ò²éѯµÈ¹¦ÄÜ¡£
- ʹÓà `CHECKUSERDATE` ¼ì²âGMµÇ¼ƵÂÊ£¬·ÀÖ¹ÀÄÓãº
```lua
#IF
CHECKUSERDATE ..\QuestDiary\GMµÇ¼¼Ç¼.txt < 1
#ACT
AddTextListEx ..\QuestDiary\GMµÇ¼¼Ç¼.txt <$USERNAME> <$DATETIME>
#ELSEACT
KICK -- Ƶ·±µÇ¼ÔòÌß³ö
```
##### **3. ¶à¼¶GMȨÏÞ·Ö²ã**
ͨ¹ý **±äÁ¿ÅжÏ** ʵÏÖ²»Í¬µÈ¼¶GMµÄ²îÒì´«ËÍ£º
```lua
#IF
ISADMIN
CHECKVAR GLOBAL GMµÈ¼¶ = 10 -- ¸ß¼¶GM
#ACT
mapmove G005 10 10
#ELSESAY
#IF
CHECKVAR GLOBAL GMµÈ¼¶ = 5 -- ÆÕͨGM
#ACT
mapmove G005 30 30
```
---
#### **Èý¡¢¿çÒýÇæÊÊÅä·½°¸**
²»Í¬ÒýÇæµÄÃüÁî²îÒ켰ʵÏÖ·½Ê½£º
| ÒýÇæÀàÐÍ | Éí·Ý¼ì²âÃüÁî | ´«ËÍÃüÁî | ÌØÐÔ˵Ã÷ |
|------------|-----------------------|-----------------------|---------------------------|
| **HERO** | `ISADMIN` | `mapmove` | ÐèÊÖ¶¯ÅäÖõØÍ¼²ÎÊý |
| **GOM** | `CheckAdmin` | `MAPMOVE` | Ö§³Ö¸¡µã×ø±ê¾«È·´«ËÍ |
| **GEE/V8** | `CHECKADMINLIST` | `Goto` | ¿É°ó¶¨×Ô¶¯Ñ°Â·¹¦ÄÜ |
**GOMÒýÇæÊ¾Àý**£º
```lua
[@Login]
#IF
CheckAdmin 3 -- ¼ì²â3¼¶¹ÜÀíÔ±
#ACT
MAPMOVE G005 66.5 39.2 -- Ö§³ÖСÊýµã×ø±ê
```
---
#### **ËÄ¡¢µ÷ÊÔÓë±Ü¿ÓÖ¸ÄÏ**
1. **³£¼û´íÎóÅŲé**£º
- **µØÍ¼²»´æÔÚ**£º¼ì²é `MapInfo.txt` ÖÐÊÇ·ñÕýÈ·¶¨ÒåÁËG005µØÍ¼¡£
- **ȨÏÞδÉúЧ**£ºÈ·ÈÏÕ˺ÅÔÚ `UserList.txt` Öбê¼ÇΪGM£¨È磺*Admin 10£©¡£
- **×ø±êÔ½½ç**£ºÊ¹Óà `CHECKINMAP` Ñé֤Ŀ±ê×ø±êÊÇ·ñÔÚÓÐЧ·¶Î§ÄÚ¡£
2. **ÐÔÄÜÓÅ»¯**£º
- ÔÚ `!Setup.txt` ÖÐÉèÖà `MaxAdminLogin=5` ÏÞÖÆÍ¬Ê±ÔÚÏßGMÊýÁ¿¡£
- ʹÓà `#CALL` µ÷ÓÃÍⲿ½Å±¾¼õÉÙQManage.txtÌå»ý¡£
3. **°²È«¼Ó¹Ì**£º
- ¼ÓÃÜ `QManage.txt` ·ÀÖ¹½Å±¾Ð¹Â¶£¨ÈçʹÓÃG¶Ü¼ÓÃܹ¤¾ß£©¡£
- ¼Ç¼GM²Ù×÷ÈÕÖ¾ÖÁ `QuestDiary\GM²Ù×÷¼Ç¼\` Ŀ¼¡£
---
#### **Î塢ʵս°¸Àý£ºGMºǫ́µØÍ¼½¨Éè**
1. **µØÍ¼Éè¼Æ**£º
- ÔÚ `MapInfo.txt` ÖÐÅäÖãº
```text
[G005 ÇàÁú¸ó] SAFE NORECALL NODEARRECALL NORANDOMMOVE
```
- Ìí¼ÓרÊôNPC£ººÏ³É´óʦ¡¢È«·þ¹«¸æ¡¢Êý¾ÝÇå³ýµÈ¡£
2. **¹¦ÄÜÕûºÏ½Å±¾**£º
```lua
[@GM¹¦ÄÜÖ÷²Ëµ¥]
#SAY
<·¢·Å²âÊÔ×°±¸/@GiveTestItem> <ÇåÀíÈ«·þÀ¬»ø/@ClearWorldItems> \
<µ÷ÕûÍæ¼ÒµÈ¼¶/@SetPlayerLevel> <Í˳öµØÍ¼/@ExitGMMap>
[@ExitGMMap]
#ACT
mapmove 3 330 330 -- ·µ»ØÃËÖØ°²È«Çø
```
---
#### **Áù¡¢À©Õ¹Ó¦Óãº×Ô¶¯´«ËÍÓëÆäËûϵͳÁª¶¯**
1. **Óë»î¶¯ÏµÍ³½áºÏ**£º
- GMµÇ¼ºó×Ô¶¯´¥·¢È«·þ¹ã²¥£º
```lua
#ACT
SENDMSG 0 [¹ÜÀíÔ±]GM¡¸<$USERNAME>¡¹ÒÑÉÏÏߣ¬½ô¼±ÎÊÌâ¿ÉÁªÏµ£¡
```
2. **Óë·´×÷±×ϵͳÁª¶¯**£º
- ¼ì²âµ½Òì³£Íæ¼Òʱ£¬GM×Ô¶¯´«Ë͵½Æä×ø±ê£º
```lua
[@CheatDetect]
#IF
CHECKSPEED > 10 -- ÒÆ¶¯ËÙ¶ÈÒì³£
#ACT
mapmove <$CURRMAP> <$X> <$Y>
```
---
#### **Æß¡¢×¢ÒâÊÂÏî**
1. **¼æÈÝÐÔÑéÖ¤**£º
- HEROÒýÇæµÄ `CHANGEMODE` ÔÚ²¿·Ö°æ±¾ÖÐÐèÌæ»»Îª `SETADMINMODE`¡£
2. **µØÍ¼±àºÅ¹æ·¶**£º
- ±ÜÃâʹÓà `0` »ò `B100-B999` µÈ±£Áô±àºÅ£¬·ÀÖ¹Ó븱±¾ÏµÍ³³åÍ»¡£
3. **ȨÏÞ·Ö¼¶¹ÜÀí**£º
- ÔÚ `UserList.txt` ÖÐͨ¹ýÊý×Ö±ê¼ÇGMµÈ¼¶£¨È磺*TestAdmin 5 ±íʾ5¼¶È¨ÏÞ£©¡£
---
**×ܽá**£ºÍ¨¹ýÐÞ¸Ä `QManage.txt` µÇ¼½Å±¾²¢ºÏÀíÔËÓà `ISADMIN` Óë `mapmove` ÃüÁ¿É¸ßЧʵÏÖGMÉÏÏß×Ô¶¯´«Ë͹¦ÄÜ¡£¿ª·¢ÕßÐè×¢ÒâµØÍ¼±àºÅºÏ·¨ÐÔ¡¢È¨ÏÞ·Ö²ãÉè¼Æ¼°°²È«·À»¤£¬½¨Òé½áºÏ `CHECKQUEST` µ÷ÓÃÍⲿ½Å±¾ÌáÉý¿Éά»¤ÐÔ¡£½ø½×¿ª·¢¿É̽Ë÷Óë×Ô¶¯Ñ°Â·ÏµÍ³£¨ÈçGEEµÄ `GotoNow`£©»ò¶¯Ì¬µØÍ¼Éú³É¼¼Êõ½áºÏ£¬´òÔì¸üÖÇÄܵÄGM¹ÜÀíÌåϵ¡£
ÔÚ´«Ææ·þÎñ¶ËÖÐʵÏÖGMÉÏÏß×Ô¶¯´«Ë͵½Ö¸¶¨µØÍ¼£¬Ðèͨ¹ýÐÞ¸Ä **QManage.txt** µÇ¼½Å±¾Îļþ£¬²¢ÀûÓÃÒýÇæµÄ **Éí·Ý¼ì²âÃüÁî** ºÍ **µØÍ¼´«ËÍÖ¸Áî**¡£ºËÐÄÁ÷³ÌÈçÏ£º
1. **Éí·ÝÑéÖ¤**£ºÊ¹Óà `ISADMIN` ÃüÁî¼ì²âÍæ¼ÒÊÇ·ñΪGMȨÏÞÕ˺š£
2. **ȨÏÞÇ¿»¯**£ºÍ¨¹ý `CHANGEMODE` ¿ªÆôGMÒþÉí¡¢Î޵еȹÜÀíģʽ¡£
3. **×ø±ê´«ËÍ**£ºµ÷Óà `mapmove` ÃüÁî½«Íæ¼Ò´«ËÍÖÁÔ¤ÉèµÄGMרÓõØÍ¼×ø±ê¡£
**ºËÐĽű¾Ê¾Àý£¨HEROÒýÇæ£©**£º
```lua
; ·¾¶£ºMir200\Envir\MapQuest_def\QManage.txt
[@Login]
#IF
ISADMIN -- ¼ì²âÊÇ·ñΪGMÕ˺Å
#ACT
SETRANKLEVELNAME %s -- ÉèÖÃGMÍ·ÏÎ
CHANGEMODE 1 1 -- ¿ªÆôÒþÉíģʽ
CHANGEMODE 2 1 -- ¿ªÆôÎÞµÐģʽ
CHANGEMODE 3 1 -- ¿ªÆô¹ÜÀíȨÏÞ
mapmove G005 66 39 -- ´«ËÍÖÁµØÍ¼G005µÄ(66,39)×ø±ê
Break -- ÖÕÖ¹ºóÐø½Å±¾Ö´ÐÐ
```
> **²ÎÊý˵Ã÷**£º
> - `G005`£ºÐèÌáǰÔÚ·þÎñ¶ËÖд´½¨µÄGMרÓõØÍ¼±àºÅ£¨Èç²»´æÔÚÐèͨ¹ýMapInfo.txtÌí¼Ó£©¡£
> - `66 39`£ºÄ¿±êµØÍ¼µÄ×ø±êµã£¬½¨ÒéÉèÖÃÔÚNPC¾Û¼¯ÇøÓò¡£
---
#### **¶þ¡¢½ø½×¹¦ÄÜÀ©Õ¹**
##### **1. ¶¯Ì¬µØÍ¼±àºÅÓë×ø±êÅäÖÃ**
ͨ¹ý **±äÁ¿¶ÁÈ¡** ʵÏÖµØÍ¼±àºÅµÄÁé»îÅäÖ㬱ÜÃâÓ²±àÂëÎÊÌ⣺
```lua
#IF
ISADMIN
#ACT
MOV S10 G005 -- ½«µØÍ¼±àºÅ´æÈë±äÁ¿S10
MOV N50 66 -- X×ø±ê´æÈëN50
MOV N51 39 -- Y×ø±ê´æÈëN51
mapmove <$STR(S10)> <$STR(N50)> <$STR(N51)>
```
**ÓÅÊÆ**£ºÐ޸ĵØÍ¼Ê±ÎÞÐèÖØÐ´½Å±¾£¬½öÐèµ÷Õû±äÁ¿Öµ¡£
##### **2. GMרÊôµØÍ¼¹¦Äܼ¯³É**
ÔÚGMµØÍ¼Öм¯³É **¹ÜÀíNPC** Óë **µ÷ÊÔ¹¤¾ß**£º
- ÔÚ `NPC½Å±¾` ÖÐÌí¼Ó×°±¸·¢·Å¡¢¹ÖÎïˢпØÖÆ¡¢Íæ¼Ò²éѯµÈ¹¦ÄÜ¡£
- ʹÓà `CHECKUSERDATE` ¼ì²âGMµÇ¼ƵÂÊ£¬·ÀÖ¹ÀÄÓãº
```lua
#IF
CHECKUSERDATE ..\QuestDiary\GMµÇ¼¼Ç¼.txt < 1
#ACT
AddTextListEx ..\QuestDiary\GMµÇ¼¼Ç¼.txt <$USERNAME> <$DATETIME>
#ELSEACT
KICK -- Ƶ·±µÇ¼ÔòÌß³ö
```
##### **3. ¶à¼¶GMȨÏÞ·Ö²ã**
ͨ¹ý **±äÁ¿ÅжÏ** ʵÏÖ²»Í¬µÈ¼¶GMµÄ²îÒì´«ËÍ£º
```lua
#IF
ISADMIN
CHECKVAR GLOBAL GMµÈ¼¶ = 10 -- ¸ß¼¶GM
#ACT
mapmove G005 10 10
#ELSESAY
#IF
CHECKVAR GLOBAL GMµÈ¼¶ = 5 -- ÆÕͨGM
#ACT
mapmove G005 30 30
```
---
#### **Èý¡¢¿çÒýÇæÊÊÅä·½°¸**
²»Í¬ÒýÇæµÄÃüÁî²îÒ켰ʵÏÖ·½Ê½£º
| ÒýÇæÀàÐÍ | Éí·Ý¼ì²âÃüÁî | ´«ËÍÃüÁî | ÌØÐÔ˵Ã÷ |
|------------|-----------------------|-----------------------|---------------------------|
| **HERO** | `ISADMIN` | `mapmove` | ÐèÊÖ¶¯ÅäÖõØÍ¼²ÎÊý |
| **GOM** | `CheckAdmin` | `MAPMOVE` | Ö§³Ö¸¡µã×ø±ê¾«È·´«ËÍ |
| **GEE/V8** | `CHECKADMINLIST` | `Goto` | ¿É°ó¶¨×Ô¶¯Ñ°Â·¹¦ÄÜ |
**GOMÒýÇæÊ¾Àý**£º
```lua
[@Login]
#IF
CheckAdmin 3 -- ¼ì²â3¼¶¹ÜÀíÔ±
#ACT
MAPMOVE G005 66.5 39.2 -- Ö§³ÖСÊýµã×ø±ê
```
---
#### **ËÄ¡¢µ÷ÊÔÓë±Ü¿ÓÖ¸ÄÏ**
1. **³£¼û´íÎóÅŲé**£º
- **µØÍ¼²»´æÔÚ**£º¼ì²é `MapInfo.txt` ÖÐÊÇ·ñÕýÈ·¶¨ÒåÁËG005µØÍ¼¡£
- **ȨÏÞδÉúЧ**£ºÈ·ÈÏÕ˺ÅÔÚ `UserList.txt` Öбê¼ÇΪGM£¨È磺*Admin 10£©¡£
- **×ø±êÔ½½ç**£ºÊ¹Óà `CHECKINMAP` Ñé֤Ŀ±ê×ø±êÊÇ·ñÔÚÓÐЧ·¶Î§ÄÚ¡£
2. **ÐÔÄÜÓÅ»¯**£º
- ÔÚ `!Setup.txt` ÖÐÉèÖà `MaxAdminLogin=5` ÏÞÖÆÍ¬Ê±ÔÚÏßGMÊýÁ¿¡£
- ʹÓà `#CALL` µ÷ÓÃÍⲿ½Å±¾¼õÉÙQManage.txtÌå»ý¡£
3. **°²È«¼Ó¹Ì**£º
- ¼ÓÃÜ `QManage.txt` ·ÀÖ¹½Å±¾Ð¹Â¶£¨ÈçʹÓÃG¶Ü¼ÓÃܹ¤¾ß£©¡£
- ¼Ç¼GM²Ù×÷ÈÕÖ¾ÖÁ `QuestDiary\GM²Ù×÷¼Ç¼\` Ŀ¼¡£
---
#### **Î塢ʵս°¸Àý£ºGMºǫ́µØÍ¼½¨Éè**
1. **µØÍ¼Éè¼Æ**£º
- ÔÚ `MapInfo.txt` ÖÐÅäÖãº
```text
[G005 ÇàÁú¸ó] SAFE NORECALL NODEARRECALL NORANDOMMOVE
```
- Ìí¼ÓרÊôNPC£ººÏ³É´óʦ¡¢È«·þ¹«¸æ¡¢Êý¾ÝÇå³ýµÈ¡£
2. **¹¦ÄÜÕûºÏ½Å±¾**£º
```lua
[@GM¹¦ÄÜÖ÷²Ëµ¥]
#SAY
<·¢·Å²âÊÔ×°±¸/@GiveTestItem> <ÇåÀíÈ«·þÀ¬»ø/@ClearWorldItems> \
<µ÷ÕûÍæ¼ÒµÈ¼¶/@SetPlayerLevel> <Í˳öµØÍ¼/@ExitGMMap>
[@ExitGMMap]
#ACT
mapmove 3 330 330 -- ·µ»ØÃËÖØ°²È«Çø
```
---
#### **Áù¡¢À©Õ¹Ó¦Óãº×Ô¶¯´«ËÍÓëÆäËûϵͳÁª¶¯**
1. **Óë»î¶¯ÏµÍ³½áºÏ**£º
- GMµÇ¼ºó×Ô¶¯´¥·¢È«·þ¹ã²¥£º
```lua
#ACT
SENDMSG 0 [¹ÜÀíÔ±]GM¡¸<$USERNAME>¡¹ÒÑÉÏÏߣ¬½ô¼±ÎÊÌâ¿ÉÁªÏµ£¡
```
2. **Óë·´×÷±×ϵͳÁª¶¯**£º
- ¼ì²âµ½Òì³£Íæ¼Òʱ£¬GM×Ô¶¯´«Ë͵½Æä×ø±ê£º
```lua
[@CheatDetect]
#IF
CHECKSPEED > 10 -- ÒÆ¶¯ËÙ¶ÈÒì³£
#ACT
mapmove <$CURRMAP> <$X> <$Y>
```
---
#### **Æß¡¢×¢ÒâÊÂÏî**
1. **¼æÈÝÐÔÑéÖ¤**£º
- HEROÒýÇæµÄ `CHANGEMODE` ÔÚ²¿·Ö°æ±¾ÖÐÐèÌæ»»Îª `SETADMINMODE`¡£
2. **µØÍ¼±àºÅ¹æ·¶**£º
- ±ÜÃâʹÓà `0` »ò `B100-B999` µÈ±£Áô±àºÅ£¬·ÀÖ¹Ó븱±¾ÏµÍ³³åÍ»¡£
3. **ȨÏÞ·Ö¼¶¹ÜÀí**£º
- ÔÚ `UserList.txt` ÖÐͨ¹ýÊý×Ö±ê¼ÇGMµÈ¼¶£¨È磺*TestAdmin 5 ±íʾ5¼¶È¨ÏÞ£©¡£
---
**×ܽá**£ºÍ¨¹ýÐÞ¸Ä `QManage.txt` µÇ¼½Å±¾²¢ºÏÀíÔËÓà `ISADMIN` Óë `mapmove` ÃüÁ¿É¸ßЧʵÏÖGMÉÏÏß×Ô¶¯´«Ë͹¦ÄÜ¡£¿ª·¢ÕßÐè×¢ÒâµØÍ¼±àºÅºÏ·¨ÐÔ¡¢È¨ÏÞ·Ö²ãÉè¼Æ¼°°²È«·À»¤£¬½¨Òé½áºÏ `CHECKQUEST` µ÷ÓÃÍⲿ½Å±¾ÌáÉý¿Éά»¤ÐÔ¡£½ø½×¿ª·¢¿É̽Ë÷Óë×Ô¶¯Ñ°Â·ÏµÍ³£¨ÈçGEEµÄ `GotoNow`£©»ò¶¯Ì¬µØÍ¼Éú³É¼¼Êõ½áºÏ£¬´òÔì¸üÖÇÄܵÄGM¹ÜÀíÌåϵ¡£

