ÔÚ´«ÆæÖУ¬NPC£¨·ÇÍæ¼Ò½ÇÉ«£©ÊÇÁ¬½ÓÍæ¼ÒÓëÓÎÏ·ÊÀ½çµÄÖØÒªÅ¦´ø¡£ËüÃDz»½öÌṩÈÎÎñ¡¢½»Òס¢´«Ë͵ȹ¦ÄÜ£¬¸üÊÇÓÎÏ·ÌåÑéµÄÁé»ê¡£È»¶ø£¬NPC½Å±¾µÄ±àдÓëά»¤³£ÃæÁÙÓï·¨´íÎó¡¢¹¦ÄÜʧЧ¡¢Âß¼»ìÂÒµÈÎÊÌâ¡£±¾ÎĽ«´Ó»ù´¡±àдµ½ÊµÕ½ÎÊÌâ£¬È«Ãæ½âÎöNPC½Å±¾µÄºËÐÄÒªµã£¬ÖúÄã´òÔìÁ÷³©µÄÊÀ½ç¡£
---
### Ò»¡¢NPC½Å±¾±àд»ù´¡
#### 1. **½Å±¾Îļþ½á¹¹**
- **ºËÐÄÎļþ·¾¶**£º
- NPCÅäÖÃÎļþ£º`Mir200\Envir\Merchant.txt`£¨¶¨ÒåNPCÃû³Æ¡¢µØÍ¼¡¢×ø±ê¡¢Íâ¹ÛµÈ£©¡£
- ½Å±¾¹¦ÄÜÎļþ£º`Mir200\Envir\Market_Def`»ò`QuestDiary`£¨´æ·Å¾ßÌå½»»¥Âß¼£©¡£
- **ʾÀý**£ºÌí¼ÓÒ»¸ö“×°±¸ÁìÈ¡”NPCÐèÔÚ`Merchant.txt`ÖÐÌí¼ÓÒ»ÐУº`×°±¸ÁìÈ¡ 3 331 332 ×°±¸ÁìÈ¡ 0 3 0`£¨µØÍ¼±àºÅ3£¬×ø±ê331,332£©¡£
#### 2. **½Å±¾Óï·¨ºËÐÄÒªËØ**
- **¶ÎÂä±êÇ©**£º
- `[@main]`£ºNPC¶Ô»°Èë¿Ú£¬Ð趨Òå³õʼ½»»¥ÄÚÈÝ¡£
- `#IF`/`#ACT`£ºÌõ¼þÅжÏÓëÖ´ÐÐÖ¸ÁÈç¼ì²âÍæ¼ÒµÈ¼¶¡¢¿Û³ý½ð±Ò£©¡£
- `GOTO`£º¶ÎÂäÌø×ª£¬ÊµÏÖ¶àÑ¡Ïî·ÖÖ§¡£
- **³£ÓÃÃüÁî**£º
- `CHECKITEM`£º¼ì²âÍæ¼Ò±³°üÎïÆ·¡£
- `TAKE`/`GIVE`£º¿Û³ý»ò¸øÓèÎïÆ·¡£
- `MAPMOVE`£º´«ËÍÍæ¼ÒÖÁÖ¸¶¨µØÍ¼¡£
#### 3. **»ù´¡½Å±¾Ê¾Àý**
```lua
[@main]
ÄãºÃ£¬ÓÂÊ¿£¡ÐèҪʲô·þÎñ£¿\
<ÁìÈ¡ÐÂÊÖ×°±¸/@get_equip>\
<´«Ë͵½±ÈÆæÊ¡/@teleport>\
<À뿪/@exit>
[@get_equip]
#IF
CHECKLEVELEX < 30
#ACT
GIVE ľ½£ 1
GIVE ²¼ÒÂ 1
SAY ×°±¸ÒÑ·¢·Å£¬×£ÄãºÃÔË£¡
#ELSEACT
SAY µÈ¼¶³¬¹ý30ÎÞ·¨ÁìÈ¡£¡
```
´Ë½Å±¾ÊµÏÖÐÂÊÖ×°±¸ÁìÈ¡ÓëµÈ¼¶Ð£Ñé¡£
---
### ¶þ¡¢³£¼ûÎÊÌâÓë½â¾ö·½°¸
#### 1. **NPCÎÞ·¨ÏÔʾ»òµã»÷ÎÞÏìÓ¦**
- **ÔÒò**£º
- ×ø±ê³¬³öµØÍ¼·¶Î§»òNPCδˢС£
- ½Å±¾±êǩƴд´íÎó£¨Èç`[@main]`ÎóдΪ`@main`£©¡£
- **½â¾ö**£º
- ¼ì²é`Merchant.txt`ÖеĵØÍ¼±àºÅÓë×ø±êÊÇ·ñºÏ·¨¡£
- ʹÓÃ`@reloadnpc`ÃüÁîÇ¿ÖÆË¢ÐÂNPC¡£
#### 2. **¶Ô»°Ñ¡ÏîÖ´ÐдíÎó**
- **µäÐͳ¡¾°**£º
- µã»÷Ñ¡ÏîºóÎÞ·´Ó¦»òÌø×ªÖÁ´íÎó¶ÎÂä¡£
- **ÅŲ鲽Öè**£º
1. ¼ì²é±êÇ©ÃûÊÇ·ñÒ»Ö£¨Èç`[@teleport]`Óë`GOTO @teleport`£©¡£
2. È·±£Ìõ¼þÃüÁîÂß¼ÕýÈ·£¨Èç`#IF CHECKGOLD > 1000`ÊÇ·ñÒÅ©·ûºÅ£©¡£
#### 3. **½Å±¾ËÀÑ»·µ¼Ö·þÎñÆ÷±ÀÀ£**
- **°¸Àý**£º
```lua
[@loop]
#ACT
GOTO @loop // ÎÞÏÞÌø×ª×ÔÉí¶ÎÂä
```
- **½â¾ö**£º
- Ìí¼ÓÑ»·ÖÕÖ¹Ìõ¼þ£¨ÈçÏÞÖÆÌø×ª´ÎÊý»ò¼ì²â±äÁ¿£©¡£
#### 4. **½»Ò×ÐÍNPC¿â´æÒì³£**
- **ÅäÖÃÒªµã**£º
- Ôڽű¾Ä©Î²Ìí¼Ó`[goods]`¶ÎÂ䶨Òå³öÊÛÎïÆ·Óë¼Û¸ñ¡£
- ʾÀý£º
```
[goods]
½ð´´Ò© 100 20
ħ·¨Ò© 150 20
```
±íʾ³öÊÛ½ð´´Ò©£¨µ¥¼Û100½ð±Ò£¬¿â´æ20£©¡£
---
### Èý¡¢½ø½×¼¼ÇÉÓëʵսӦÓÃ
#### 1. **×Ô¶¯»¯¹¦Äܽű¾**
- **×Ô¶¯»ØÊÕ×°±¸**£º
```lua
[@main]
Ò»¼ü»ØÊÕÀ¬»ø×°±¸£¬¶Ò»»Ôª±¦£¡\
<¿ªÊ¼»ØÊÕ/@recycle>
[@recycle]
#IF
CHECKITEM Çà͸« 1
#ACT
TAKE Çà͸« 1
GAMEGOLD + 1
SAY ³É¹¦»ØÊÕÇà͸«£¬»ñµÃ1Ôª±¦£¡
```
´Ë½Å±¾ÊµÏÖ×°±¸»ØÊÕÓëÔª±¦½±Àø¡£
#### 2. **¸ÅÂÊÓëËæ»úʼþ**
- **ʹÓÃ`RANDOM`ÃüÁî**£º
```lua
[@main]
ÊÔÊÔÊÖÆø£¬³é½±Ò»´ÎÐè1000½ð±Ò£¡\
<³é½±/@lottery>
[@lottery]
#IF
CHECKGOLD > 999
#ACT
TAKE GOLD 1000
RANDOM 3
#SAY
{¹§Ï²£¡»ñµÃÍÀÁúµ¶£¡|GIVE ÍÀÁúµ¶ 1} \
{°²Î¿½±£º100½ð±Ò£¡|GIVE GOLD 100} \
{лл²ÎÓ룡}
```
ͨ¹ý`RANDOM`ʵÏÖÈýÑ¡Ò»Ëæ»ú½±Àø¡£
#### 3. **¿ç½Å±¾µ÷ÓÃÓëͨÓÃÄ£°å**
- **ʹÓÃ`#CALL`Ö¸Áî**£º
```lua
[@main]
#CALL [\Market_Def\ͨÓÃÉÌÈË.txt] @shop
```
½«Í¨Óù¦ÄÜ£¨ÈçÉ̵êÂß¼£©¶ÀÁ¢ÎªÄ£°åÎļþ£¬¼õÉÙÖØ¸´´úÂë¡£
---
### ËÄ¡¢°²È«Óë·¨ÂÉ·çÏÕÌáʾ
- **¾¯ÌèºóÃŽű¾**£º
- ±ÜÃâʹÓÃÀ´Ô´²»Ã÷µÄÉÌÒµ°æ±¾£¬·ÀÖ¹½Å±¾ÖÐÖ²ÈëľÂí»ò©¶´¡£
- **ºÏ·¨ÐÔÎÊÌâ**£º
- ÔËÓª¿ÉÄÜÉæ¼°°æÈ¨ÕùÒ飬Ð޸Ľű¾Ðè½÷É÷¡£
---
### Ò»¡¢NPC½Å±¾±àд»ù´¡
#### 1. **½Å±¾Îļþ½á¹¹**
- **ºËÐÄÎļþ·¾¶**£º
- NPCÅäÖÃÎļþ£º`Mir200\Envir\Merchant.txt`£¨¶¨ÒåNPCÃû³Æ¡¢µØÍ¼¡¢×ø±ê¡¢Íâ¹ÛµÈ£©¡£
- ½Å±¾¹¦ÄÜÎļþ£º`Mir200\Envir\Market_Def`»ò`QuestDiary`£¨´æ·Å¾ßÌå½»»¥Âß¼£©¡£
- **ʾÀý**£ºÌí¼ÓÒ»¸ö“×°±¸ÁìÈ¡”NPCÐèÔÚ`Merchant.txt`ÖÐÌí¼ÓÒ»ÐУº`×°±¸ÁìÈ¡ 3 331 332 ×°±¸ÁìÈ¡ 0 3 0`£¨µØÍ¼±àºÅ3£¬×ø±ê331,332£©¡£
#### 2. **½Å±¾Óï·¨ºËÐÄÒªËØ**
- **¶ÎÂä±êÇ©**£º
- `[@main]`£ºNPC¶Ô»°Èë¿Ú£¬Ð趨Òå³õʼ½»»¥ÄÚÈÝ¡£
- `#IF`/`#ACT`£ºÌõ¼þÅжÏÓëÖ´ÐÐÖ¸ÁÈç¼ì²âÍæ¼ÒµÈ¼¶¡¢¿Û³ý½ð±Ò£©¡£
- `GOTO`£º¶ÎÂäÌø×ª£¬ÊµÏÖ¶àÑ¡Ïî·ÖÖ§¡£
- **³£ÓÃÃüÁî**£º
- `CHECKITEM`£º¼ì²âÍæ¼Ò±³°üÎïÆ·¡£
- `TAKE`/`GIVE`£º¿Û³ý»ò¸øÓèÎïÆ·¡£
- `MAPMOVE`£º´«ËÍÍæ¼ÒÖÁÖ¸¶¨µØÍ¼¡£
#### 3. **»ù´¡½Å±¾Ê¾Àý**
```lua
[@main]
ÄãºÃ£¬ÓÂÊ¿£¡ÐèҪʲô·þÎñ£¿\
<ÁìÈ¡ÐÂÊÖ×°±¸/@get_equip>\
<´«Ë͵½±ÈÆæÊ¡/@teleport>\
<À뿪/@exit>
[@get_equip]
#IF
CHECKLEVELEX < 30
#ACT
GIVE ľ½£ 1
GIVE ²¼ÒÂ 1
SAY ×°±¸ÒÑ·¢·Å£¬×£ÄãºÃÔË£¡
#ELSEACT
SAY µÈ¼¶³¬¹ý30ÎÞ·¨ÁìÈ¡£¡
```
´Ë½Å±¾ÊµÏÖÐÂÊÖ×°±¸ÁìÈ¡ÓëµÈ¼¶Ð£Ñé¡£
---
### ¶þ¡¢³£¼ûÎÊÌâÓë½â¾ö·½°¸
#### 1. **NPCÎÞ·¨ÏÔʾ»òµã»÷ÎÞÏìÓ¦**
- **ÔÒò**£º
- ×ø±ê³¬³öµØÍ¼·¶Î§»òNPCδˢС£
- ½Å±¾±êǩƴд´íÎó£¨Èç`[@main]`ÎóдΪ`@main`£©¡£
- **½â¾ö**£º
- ¼ì²é`Merchant.txt`ÖеĵØÍ¼±àºÅÓë×ø±êÊÇ·ñºÏ·¨¡£
- ʹÓÃ`@reloadnpc`ÃüÁîÇ¿ÖÆË¢ÐÂNPC¡£
#### 2. **¶Ô»°Ñ¡ÏîÖ´ÐдíÎó**
- **µäÐͳ¡¾°**£º
- µã»÷Ñ¡ÏîºóÎÞ·´Ó¦»òÌø×ªÖÁ´íÎó¶ÎÂä¡£
- **ÅŲ鲽Öè**£º
1. ¼ì²é±êÇ©ÃûÊÇ·ñÒ»Ö£¨Èç`[@teleport]`Óë`GOTO @teleport`£©¡£
2. È·±£Ìõ¼þÃüÁîÂß¼ÕýÈ·£¨Èç`#IF CHECKGOLD > 1000`ÊÇ·ñÒÅ©·ûºÅ£©¡£
#### 3. **½Å±¾ËÀÑ»·µ¼Ö·þÎñÆ÷±ÀÀ£**
- **°¸Àý**£º
```lua
[@loop]
#ACT
GOTO @loop // ÎÞÏÞÌø×ª×ÔÉí¶ÎÂä
```
- **½â¾ö**£º
- Ìí¼ÓÑ»·ÖÕÖ¹Ìõ¼þ£¨ÈçÏÞÖÆÌø×ª´ÎÊý»ò¼ì²â±äÁ¿£©¡£
#### 4. **½»Ò×ÐÍNPC¿â´æÒì³£**
- **ÅäÖÃÒªµã**£º
- Ôڽű¾Ä©Î²Ìí¼Ó`[goods]`¶ÎÂ䶨Òå³öÊÛÎïÆ·Óë¼Û¸ñ¡£
- ʾÀý£º
```
[goods]
½ð´´Ò© 100 20
ħ·¨Ò© 150 20
```
±íʾ³öÊÛ½ð´´Ò©£¨µ¥¼Û100½ð±Ò£¬¿â´æ20£©¡£
---
### Èý¡¢½ø½×¼¼ÇÉÓëʵսӦÓÃ
#### 1. **×Ô¶¯»¯¹¦Äܽű¾**
- **×Ô¶¯»ØÊÕ×°±¸**£º
```lua
[@main]
Ò»¼ü»ØÊÕÀ¬»ø×°±¸£¬¶Ò»»Ôª±¦£¡\
<¿ªÊ¼»ØÊÕ/@recycle>
[@recycle]
#IF
CHECKITEM Çà͸« 1
#ACT
TAKE Çà͸« 1
GAMEGOLD + 1
SAY ³É¹¦»ØÊÕÇà͸«£¬»ñµÃ1Ôª±¦£¡
```
´Ë½Å±¾ÊµÏÖ×°±¸»ØÊÕÓëÔª±¦½±Àø¡£
#### 2. **¸ÅÂÊÓëËæ»úʼþ**
- **ʹÓÃ`RANDOM`ÃüÁî**£º
```lua
[@main]
ÊÔÊÔÊÖÆø£¬³é½±Ò»´ÎÐè1000½ð±Ò£¡\
<³é½±/@lottery>
[@lottery]
#IF
CHECKGOLD > 999
#ACT
TAKE GOLD 1000
RANDOM 3
#SAY
{¹§Ï²£¡»ñµÃÍÀÁúµ¶£¡|GIVE ÍÀÁúµ¶ 1} \
{°²Î¿½±£º100½ð±Ò£¡|GIVE GOLD 100} \
{лл²ÎÓ룡}
```
ͨ¹ý`RANDOM`ʵÏÖÈýÑ¡Ò»Ëæ»ú½±Àø¡£
#### 3. **¿ç½Å±¾µ÷ÓÃÓëͨÓÃÄ£°å**
- **ʹÓÃ`#CALL`Ö¸Áî**£º
```lua
[@main]
#CALL [\Market_Def\ͨÓÃÉÌÈË.txt] @shop
```
½«Í¨Óù¦ÄÜ£¨ÈçÉ̵êÂß¼£©¶ÀÁ¢ÎªÄ£°åÎļþ£¬¼õÉÙÖØ¸´´úÂë¡£
---
### ËÄ¡¢°²È«Óë·¨ÂÉ·çÏÕÌáʾ
- **¾¯ÌèºóÃŽű¾**£º
- ±ÜÃâʹÓÃÀ´Ô´²»Ã÷µÄÉÌÒµ°æ±¾£¬·ÀÖ¹½Å±¾ÖÐÖ²ÈëľÂí»ò©¶´¡£
- **ºÏ·¨ÐÔÎÊÌâ**£º
- ÔËÓª¿ÉÄÜÉæ¼°°æÈ¨ÕùÒ飬Ð޸Ľű¾Ðè½÷É÷¡£

