µ±Ç°Î»Öà : 145zÓÎÏ·Õ¾¡¡|¡¡ÈÈѪ´«Ææ¡¡|¡¡¼¼Êõ½Ì³Ì¡¡|¡¡

±äÁ¿ÔÚ´«ÆæNPC½Å±¾ÎļþÖеÄÓ¦Óó¡¾°ÓÐÄÄЩ£¿

Èȶȣº
ÔÚ´«Ææ NPC ½Å±¾ÎļþÖУ¬±äÁ¿ÊǼ«Îª¹Ø¼üµÄÔªËØ£¬ËüÄÜÏÔÖøÔöÇ¿½Å±¾µÄÁé»îÐÔÓëÖÇÄÜÐÔ¡£ÒÔÏÂΪÄãÏêϸ½éÉܱäÁ¿ÔÚ²»Í¬Ó¦Óó¡¾°ÖеľßÌåÔËÓá£

### Ò»¡¢ÈÎÎñϵͳ
#### £¨Ò»£©ÈÎÎñ½ø¶È¸ú×Ù
½èÖú±äÁ¿¿ÉÒÔ¼ÇÂ¼Íæ¼ÒµÄÈÎÎñ½ø¶È¡£±ÈÈ磬ÔÚÒ»¸öÊÕ¼¯ÎïÆ·µÄÈÎÎñÀ¶¨ÒåÒ»¸ö±äÁ¿ `$CollectedItems` À´¼ÇÂ¼Íæ¼ÒÒѾ­ÊÕ¼¯µ½µÄÎïÆ·ÊýÁ¿¡£
```plaintext
[@ÈÎÎñ¿ªÊ¼]
#IF
#ACT
Set $CollectedItems 0 ; ³õʼ»¯ÊÕ¼¯ÎïÆ·ÊýÁ¿Îª 0
SendMsg 6 ÄãÒѽÓÊÜÊÕ¼¯ 10 ¸ö¿óʯµÄÈÎÎñ£¡

[@ÊÕ¼¯ÎïÆ·]
#IF
CheckItem ¿óʯ 1
#ACT
TakeItem ¿óʯ 1
Add $CollectedItems 1 ; ÿÊÕ¼¯Ò»¸ö¿óʯ£¬±äÁ¿Öµ¼Ó 1
SendMsg 6 ÄãÒÑÊÕ¼¯ÁË $CollectedItems ¸ö¿óʯ£¡
```

#### £¨¶þ£©ÈÎÎñÌõ¼þÅжÏ
±äÁ¿¿ÉÓÃÓÚÅжÏÍæ¼ÒÊÇ·ñÂú×ãÈÎÎñÍê³ÉÌõ¼þ¡£µ± `$CollectedItems` µÄÖµ´ïµ½ 10 ʱ£¬Íæ¼Ò¾ÍÄÜÍê³ÉÈÎÎñ¡£
```plaintext
[@¼ì²éÈÎÎñÍê³É]
#IF
Check $CollectedItems == 10
#ACT
Give ½ð±Ò 1000
Give ¾­ÑéÖµ 5000
SendMsg 6 ÄãÒѳɹ¦Íê³ÉÈÎÎñ£¬»ñµÃÁ˽±Àø£¡
```

### ¶þ¡¢ÎïÆ·½»Ò×ϵͳ
#### £¨Ò»£©¶¯Ì¬ÎïÆ·¼Û¸ñ
±äÁ¿¿ÉÒÔ¸ù¾Ý²»Í¬µÄÌõ¼þ¶¯Ì¬µ÷ÕûÎïÆ·µÄ¼Û¸ñ¡£ÀýÈ磬¶¨ÒåÒ»¸ö±äÁ¿ `$PriceFactor` ×÷Ϊ¼Û¸ñϵÊý£¬¸ù¾ÝÍæ¼ÒµÄ VIP µÈ¼¶À´¸Ä±äÕâ¸öϵÊý£¬´Ó¶øÓ°ÏìÎïÆ·¼Û¸ñ¡£
```plaintext
[@É̵ê½çÃæ]
#IF
CheckVipLevel 1
Set $PriceFactor 0.9 ; VIP1 Íæ¼ÒÏíÊÜ 9 ÕÛÓÅ»Ý
#ELSEIF
CheckVipLevel 2
Set $PriceFactor 0.8 ; VIP2 Íæ¼ÒÏíÊÜ 8 ÕÛÓÅ»Ý
#ELSE
Set $PriceFactor 1 ; ÆÕÍ¨Íæ¼ÒÔ­¼Û¹ºÂò
#ACT
Set $ItemPrice = 100 * $PriceFactor ; ¼ÆËãÎïÆ·µÄʵ¼Ê¼Û¸ñ
SendMsg 6 ¸ÃÎïÆ·µÄ¼Û¸ñÊÇ $ItemPrice ½ð±Ò¡£
```

#### £¨¶þ£©¿â´æ¹ÜÀí
ʹÓñäÁ¿À´¼Ç¼ÎïÆ·µÄ¿â´æÊýÁ¿¡£µ±Íæ¼Ò¹ºÂòÎïÆ·Ê±£¬¼õÉÙ¿â´æ±äÁ¿µÄÖµ£»µ±²¹³ä¿â´æÊ±£¬Ôö¼Ó¸Ã±äÁ¿µÄÖµ¡£
```plaintext
[@³õʼ»¯¿â´æ]
#IF
#ACT
Set $ItemStock 50 ; ³õʼ»¯ÎïÆ·¿â´æÎª 50

[@¹ºÂòÎïÆ·]
#IF
CheckMoneyGreater $ItemPrice
Check $ItemStock > 0
#ACT
TakeMoney $ItemPrice
Give ÎïÆ· 1
Sub $ItemStock 1 ; ¹ºÂò³É¹¦ºó£¬¿â´æÊýÁ¿¼õ 1
SendMsg 6 ÄãÒѳɹ¦¹ºÂòÎïÆ·£¬µ±Ç°¿â´æÎª $ItemStock¡£
```

### Èý¡¢Íæ¼Ò״̬¹ÜÀí
#### £¨Ò»£©¼ÇÂ¼Íæ¼ÒÊôÐÔ
¿ÉÒÔÓñäÁ¿¼ÇÂ¼Íæ¼ÒµÄ¸÷ÖÖÊôÐÔ£¬ÈçµÈ¼¶¡¢¾­ÑéÖµ¡¢ÉùÍûµÈ¡£ÀýÈ磬ʹÓà `$PlayerLevel` ¼ÇÂ¼Íæ¼ÒµÄµÈ¼¶¡£
```plaintext
[@ÏÔʾµÈ¼¶]
#IF
CheckLevel $PlayerLevel
#ACT
SendMsg 6 ÄãµÄµ±Ç°µÈ¼¶ÊÇ $PlayerLevel¡£
```

#### £¨¶þ£©×´Ì¬Åж¨Óë½±Àø
¸ù¾ÝÍæ¼ÒµÄ״̬±äÁ¿¸øÓ費ͬµÄ½±Àø¡£±ÈÈ磬µ±Íæ¼ÒµÈ¼¶´ïµ½Ò»¶¨³Ì¶Èʱ£¬¸øÓèÌØÊâ½±Àø¡£
```plaintext
[@µÈ¼¶½±Àø]
#IF
Check $PlayerLevel >= 50
#ACT
Give ¸ß¼¶×°±¸ 1
SendMsg 6 ¹§Ï²Äã´ïµ½ 50 ¼¶£¬»ñµÃ¸ß¼¶×°±¸½±Àø£¡
```

### ËÄ¡¢»î¶¯ÏµÍ³
#### £¨Ò»£©»î¶¯Ê±¼ä¿ØÖÆ
ÀûÓñäÁ¿¼Ç¼»î¶¯µÄ¿ªÊ¼Ê±¼ä¡¢½áÊøÊ±¼äºÍÊ£Óàʱ¼ä¡£ÀýÈ磬ʹÓà `$ActivityStartTime` ºÍ `$ActivityEndTime` À´¿ØÖƻµÄ¿ªÆôºÍ¹Ø±Õ¡£
```plaintext
[@»î¶¯¼ì²é]
#IF
CheckTimeGreater $ActivityStartTime
CheckTimeLess $ActivityEndTime
#ACT
SendMsg 6 »î¶¯ÕýÔÚ½øÐÐÖУ¬¿ìÀ´²ÎÓë°É£¡
#ELSE
SendMsg 6 »î¶¯ÉÐδ¿ªÊ¼»òÒѽáÊø¡£
```

#### £¨¶þ£©»î¶¯²ÎÓë´ÎÊýÏÞÖÆ
ͨ¹ý±äÁ¿ÏÞÖÆÍæ¼Ò²ÎÓë»î¶¯µÄ´ÎÊý¡£¶¨ÒåÒ»¸ö±äÁ¿ `$ActivityCount` À´¼ÇÂ¼Íæ¼ÒµÄ²ÎÓë´ÎÊý£¬µ±´ïµ½ÉÏÏÞʱ£¬½ûÖ¹Íæ¼ÒÔٴβÎÓë¡£
```plaintext
[@»î¶¯¿ªÊ¼]
#IF
Set $ActivityCount 0 ; ³õʼ»¯²ÎÓë´ÎÊýΪ 0
#ACT
SendMsg 6 »î¶¯¿ªÊ¼£¬Äã¿ÉÒÔ²ÎÓë±¾´Î»î¶¯¡£

[@²ÎÓë»î¶¯]
#IF
Check $ActivityCount < 3 ; ÏÞÖÆ²ÎÓë´ÎÊýΪ 3 ´Î
#ACT
Add $ActivityCount 1 ; ²ÎÓë´ÎÊý¼Ó 1
SendMsg 6 ÄãÒѲÎÓë»î¶¯ $ActivityCount ´Î¡£
```

±äÁ¿ÔÚ´«Ææ NPC ½Å±¾ÎļþÖÐÓÐ׏㷺µÄÓ¦Óó¡¾°£¬Í¨¹ýºÏÀíÔËÓñäÁ¿£¬¿ÉÒÔÈÃÓÎÏ·¸ü¼Ó·á¸»¶àÑù£¬ÎªÍæ¼Ò´øÀ´¸üºÃµÄÓÎÏ·ÌåÑé¡£