### Ò»¡¢ÐèÇó²ð½âÓë¼¼ÊõÑ¡ÐÍ£¨ºËÐÄÂß¼¼Ü¹¹£©
¸ù¾ÝÓû§ÐèÇó"ÿÌì²»ÏÞʱ¶Î½øÈë3´Î"£¬ÐèʵÏÖÒÔϼ¼ÊõÄ¿±ê£º
1. **¶ÀÁ¢¼ÆÊý**£ºÃ¿¸ö½ÇÉ«¶ÀÁ¢¼Ç¼µ±ÈÕ½øÈë´ÎÊý£¬±ÜÃâÈ«¾Ö¹²Ïíµ¼Ö¼ÆÊý»ìÂÒ
2. **¿çÌìÖØÖÃ**£ºÃ¿ÈÕ0µã×Ô¶¯ÇåÁã¼ÆÊý£¬ÎÞÐèÈ˹¤¸ÉÔ¤
3. **ÎÞʱ¶ÎÏÞÖÆ**£º²»°ó¶¨¾ßÌåʱ¼ä¶Î£¬24СʱÄÚÀۼƴÎÊý
4. **ÈÝ´í»úÖÆ**£º·ÀÖ¹ÍøÂ粨¶¯µ¼ÖÂÖØ¸´¼ÆÊý
#### ¼¼Êõ·½°¸¶Ô±È
| ·½°¸ | Óŵã | ȱµã | ÊÊÓó¡¾° |
|---------------------|-----------------------|-----------------------|-------------------|
| **½ÇÉ«±äÁ¿+HOURCHECK** | ʵʱÐÔÇ¿£¬¿ª·¢¼òµ¥ | Ðè´îÅä»úÆ÷È˽ű¾ | ÖÐСÐͰ汾 |
| **SQLÊý¾Ý¿â¼Ç¼** | Êý¾Ý¿É×·ËÝ£¬Ö§³Ö¸´ÔÓ²éѯ | Ôö¼Ó·þÎñÆ÷¸ºÔØ | ´óÐÍÉÌÒµ»¯°æ±¾ |
| **ÄÚ´æÁÙʱ±äÁ¿** | ÁãÑÓ³Ù | ÖØÆô·þÎñÆ÷Êý¾Ý¶ªÊ§ | ²âÊÔ»·¾³ |
---
### ¶þ¡¢»ù´¡½Å±¾ÊµÏÖ£¨ÒÔGOMÒýÇæÎªÀý£©
#### £¨Ò»£©NPC¶Ô»°Óë¼ÆÊý¼ì²â
```lua
[@Main]
#IF
#ACT
OPENMERCHANTBIGDLG 1 803 1 4 0 0 0 1 420 8
#SAY
<ÿÈÕÏ޴εØÍ¼/SCOLOR=249> \
<µ±Ç°Ê£Óà´ÎÊý£º/SCOLOR=254><$HUMAN(½øÈë¼ÆÊý)><3-SUB(<$HUMAN(½øÈë¼ÆÊý)>)>/SCOLOR=250>´Î\
<µã»÷½øÈë/@½øÈë> \
<×¢ÒâÊÂÏÿÈÕ0µã×Ô¶¯ÖØÖôÎÊý£¬ÇëºÏÀí°²ÅÅʱ¼ä/SCOLOR=253>
[@½øÈë]
#IF
SMALL <$HUMAN(½øÈë¼ÆÊý)> 3 -- ¼ì²é½øÈë´ÎÊýÊÇ·ñСÓÚ3
#ACT
INC <$HUMAN(½øÈë¼ÆÊý)> 1 -- Ôö¼Ó¼ÆÊý
MAPMOVE Ï޴εØÍ¼ 50 50 -- ´«ËÍÖÁÄ¿±êµØÍ¼
SENDMSG 6 ³É¹¦½øÈë[Ï޴εØÍ¼]£¬½ñÈÕÊ£Óà´ÎÊý£º<$STR(N1)>´Î
#ELSESAY
Äú½ñÈÕÒÑÓÃÍê3´Î½øÈë»ú»á£¬ÇëÃ÷ÈÕÔÙÀ´£¡\
```
#### £¨¶þ£©±äÁ¿³õʼ»¯Óë±£»¤
ÔÚ`QManage.txt`µÇ¼´¥·¢¶ÎÌí¼Ó£º
```lua
[@Login]
#IF
CHECKVARLIST <$USERNAME> ..\QuestDiary\½ÇÉ«±äÁ¿\½øÈë¼ÆÊý.txt
#ACT
LOADVAR <$USERNAME> ½øÈë¼ÆÊý ..\QuestDiary\½ÇÉ«±äÁ¿\½øÈë¼ÆÊý.txt
#ELSEACT
CALCVAR <$USERNAME> ½øÈë¼ÆÊý = 0 -- Ê״εǼ³õʼ»¯
SAVEVAR <$USERNAME> ½øÈë¼ÆÊý ..\QuestDiary\½ÇÉ«±äÁ¿\½øÈë¼ÆÊý.txt
```
---
### Èý¡¢¿çÌìÖØÖÃ×Ô¶¯»¯£¨»úÆ÷È˽ű¾ÅäÖã©
#### £¨Ò»£©RobotManage.txtÅäÖÃ
```lua
; ÿÈÕ0µã´¥·¢ÖØÖÃ
[@DailyReset]
#IF
EQUAL <$HOUR> 0 -- 0µã´¥·¢
#ACT
CLEARVARCALCULATE ..\QuestDiary\½ÇÉ«±äÁ¿\½øÈë¼ÆÊý.txt -- Çå¿ÕËùÓнÇÉ«¼ÆÊý
SENDMSG 0 [ϵͳ]ËùÓÐÍæ¼ÒÿÈÕÏ޴εØÍ¼´ÎÊýÒÑÖØÖã¡
```
#### £¨¶þ£©¶àÒýÇæ¼æÈÝд·¨
| ÒýÇæÀàÐÍ | ÖØÖÃÃüÁî | ´æ´¢Â·¾¶ÅäÖà |
|------------|---------------------------|-------------------------------|
| GOM | CLEARVARCALCULATE | QuestDiary\½ÇÉ«±äÁ¿\ |
| HERO | CLEARGLOBALVAR | Envir\GlobalVar\ |
| BLUE | RESETUSERDATA ½øÈë¼ÆÊý | Envir\UserData\ |
---
### ËÄ¡¢½ø½×¹¦ÄÜÀ©Õ¹
#### £¨Ò»£©´ÎÊý¹ºÂòϵͳ
```lua
[@¹ºÂò´ÎÊý]
#IF
CHECKGAMEGOLD > 99 -- ¼ì²âÔª±¦≥100
#ACT
GAMEGOLD - 100
CALCVAR <$USERNAME> ½øÈë¼ÆÊý = <$HUMAN(½øÈë¼ÆÊý)> - 1 -- Ôö¼Ó1´Î»ú»á
SAVEVAR <$USERNAME> ½øÈë¼ÆÊý ..\QuestDiary\½ÇÉ«±äÁ¿\½øÈë¼ÆÊý.txt
SENDMSG 6 ³É¹¦¹ºÂò1´Î½øÈë»ú»á£¬ÏûºÄ100Ôª±¦£¡
```
#### £¨¶þ£©¶àµØÍ¼Áª¶¯¼ÆÊý
ÔÚ`QFunction-0.txt`ÖÐÌí¼Óͳһ¿Û¼õÂß¼£º
```lua
[@_½øÈëÈÎÒâÏ޴εØÍ¼]
#IF
#ACT
INC <$HUMAN(×ܽøÈë¼ÆÊý)> 1
SAVEVAR <$USERNAME> ×ܽøÈë¼ÆÊý ..\QuestDiary\½ÇÉ«±äÁ¿\×ܽøÈë¼ÆÊý.txt
```
---
### Îå¡¢·À×÷±×ÓëÈÕÖ¾Éó¼Æ
#### £¨Ò»£©ÄÚ´æ´Û¸Ä·À»¤
```lua
#IF
CHECKVAR <$USERNAME> ½øÈë¼ÆÊý > 3 -- Òì³£Öµ¼ì²â
#ACT
KICK ¼ì²âµ½·Ç·¨Êý¾Ý´Û¸Ä£¡
SENDMSG 0 Íæ¼Ò[<$USERNAME>]ÊÔͼÐ޸ĽøÈë´ÎÊý£¬ÒÑÇ¿ÖÆÏÂÏߣ¡
```
#### £¨¶þ£©²Ù×÷ÈÕÖ¾¼Ç¼
ÔÚ`QuestDiary`Ŀ¼´´½¨`½øÈëÈÕÖ¾.csv`£º
```lua
#ACT
CALL [¼Ç¼ÈÕÖ¾] "<$USERNAME>", "<$DATETIME>", "½øÈëÏ޴εØÍ¼", <$HUMAN(½øÈë¼ÆÊý)>
```
---
### Áù¡¢³£¼ûÎÊÌâÅŲéÖ¸ÄÏ
| ¹ÊÕÏÏÖÏó | ¿ÉÄÜÔÒò | ½â¾ö·½°¸ |
|-------------------------|---------------------------|-------------------------------|
| ´ÎÊýÎ´ÖØÖà | RobotManageδ¼ÓÔØ | ¼ì²éM2¿ØÖÆÌ¨-»úÆ÷ÈËÅäÖà |
| ±äÁ¿ÏÔʾN/A | ´æ´¢Â·¾¶È¨ÏÞ²»×ã | ÉèÖÃEveryone¶ÁдȨÏÞ |
| ¿ç½ÇÉ«¹²Ïí¼ÆÊý | ÎóÓÃGLOBAL´úÌæHUMAN | Ìæ»»±äÁ¿ÀàÐͲ¢ÖØÐ³õʼ»¯ |
| µØÍ¼´«Ëͺóδ¿Û¼õ´ÎÊý | MAPMOVEǰȱÉÙINCÃüÁî | µ÷Õû½Å±¾Ö´ÐÐ˳Ðò |
---
### ½áÓï
ͨ¹ý½ÇÉ«±äÁ¿+»úÆ÷È˽ű¾µÄ×éºÏ·½°¸£¬¼È¿ÉʵÏÖ¾«×¼µÄÿÈÕÏ޴οØÖÆ£¬ÓÖÄÜͨ¹ýÈÕ־ϵͳ׷ËÝÒì³£²Ù×÷¡£½¨Ò鿪·¢Íê³ÉºóʹÓÃJmeter½øÐи߲¢·¢Ñ¹Á¦²âÊÔ£¬ÑéÖ¤¼ÆÊýÆ÷µÄÔ×ÓÐÔ²Ù×÷ÄÜÁ¦¡£¶ÔÓÚÉÌÒµ»¯°æ±¾£¬¿É½áºÏSQLÊý¾Ý¿âʵÏÖ¸ü¸´ÔӵĴÎÊý×âÁÞ¡¢´ÎÊý½»Ò×µÈÑÜÉú¹¦ÄÜ¡£
¸ù¾ÝÓû§ÐèÇó"ÿÌì²»ÏÞʱ¶Î½øÈë3´Î"£¬ÐèʵÏÖÒÔϼ¼ÊõÄ¿±ê£º
1. **¶ÀÁ¢¼ÆÊý**£ºÃ¿¸ö½ÇÉ«¶ÀÁ¢¼Ç¼µ±ÈÕ½øÈë´ÎÊý£¬±ÜÃâÈ«¾Ö¹²Ïíµ¼Ö¼ÆÊý»ìÂÒ
2. **¿çÌìÖØÖÃ**£ºÃ¿ÈÕ0µã×Ô¶¯ÇåÁã¼ÆÊý£¬ÎÞÐèÈ˹¤¸ÉÔ¤
3. **ÎÞʱ¶ÎÏÞÖÆ**£º²»°ó¶¨¾ßÌåʱ¼ä¶Î£¬24СʱÄÚÀۼƴÎÊý
4. **ÈÝ´í»úÖÆ**£º·ÀÖ¹ÍøÂ粨¶¯µ¼ÖÂÖØ¸´¼ÆÊý
#### ¼¼Êõ·½°¸¶Ô±È
| ·½°¸ | Óŵã | ȱµã | ÊÊÓó¡¾° |
|---------------------|-----------------------|-----------------------|-------------------|
| **½ÇÉ«±äÁ¿+HOURCHECK** | ʵʱÐÔÇ¿£¬¿ª·¢¼òµ¥ | Ðè´îÅä»úÆ÷È˽ű¾ | ÖÐСÐͰ汾 |
| **SQLÊý¾Ý¿â¼Ç¼** | Êý¾Ý¿É×·ËÝ£¬Ö§³Ö¸´ÔÓ²éѯ | Ôö¼Ó·þÎñÆ÷¸ºÔØ | ´óÐÍÉÌÒµ»¯°æ±¾ |
| **ÄÚ´æÁÙʱ±äÁ¿** | ÁãÑÓ³Ù | ÖØÆô·þÎñÆ÷Êý¾Ý¶ªÊ§ | ²âÊÔ»·¾³ |
---
### ¶þ¡¢»ù´¡½Å±¾ÊµÏÖ£¨ÒÔGOMÒýÇæÎªÀý£©
#### £¨Ò»£©NPC¶Ô»°Óë¼ÆÊý¼ì²â
```lua
[@Main]
#IF
#ACT
OPENMERCHANTBIGDLG 1 803 1 4 0 0 0 1 420 8
#SAY
<ÿÈÕÏ޴εØÍ¼/SCOLOR=249> \
<µ±Ç°Ê£Óà´ÎÊý£º/SCOLOR=254><$HUMAN(½øÈë¼ÆÊý)><3-SUB(<$HUMAN(½øÈë¼ÆÊý)>)>/SCOLOR=250>´Î\
<µã»÷½øÈë/@½øÈë> \
<×¢ÒâÊÂÏÿÈÕ0µã×Ô¶¯ÖØÖôÎÊý£¬ÇëºÏÀí°²ÅÅʱ¼ä/SCOLOR=253>
[@½øÈë]
#IF
SMALL <$HUMAN(½øÈë¼ÆÊý)> 3 -- ¼ì²é½øÈë´ÎÊýÊÇ·ñСÓÚ3
#ACT
INC <$HUMAN(½øÈë¼ÆÊý)> 1 -- Ôö¼Ó¼ÆÊý
MAPMOVE Ï޴εØÍ¼ 50 50 -- ´«ËÍÖÁÄ¿±êµØÍ¼
SENDMSG 6 ³É¹¦½øÈë[Ï޴εØÍ¼]£¬½ñÈÕÊ£Óà´ÎÊý£º<$STR(N1)>´Î
#ELSESAY
Äú½ñÈÕÒÑÓÃÍê3´Î½øÈë»ú»á£¬ÇëÃ÷ÈÕÔÙÀ´£¡\
```
#### £¨¶þ£©±äÁ¿³õʼ»¯Óë±£»¤
ÔÚ`QManage.txt`µÇ¼´¥·¢¶ÎÌí¼Ó£º
```lua
[@Login]
#IF
CHECKVARLIST <$USERNAME> ..\QuestDiary\½ÇÉ«±äÁ¿\½øÈë¼ÆÊý.txt
#ACT
LOADVAR <$USERNAME> ½øÈë¼ÆÊý ..\QuestDiary\½ÇÉ«±äÁ¿\½øÈë¼ÆÊý.txt
#ELSEACT
CALCVAR <$USERNAME> ½øÈë¼ÆÊý = 0 -- Ê״εǼ³õʼ»¯
SAVEVAR <$USERNAME> ½øÈë¼ÆÊý ..\QuestDiary\½ÇÉ«±äÁ¿\½øÈë¼ÆÊý.txt
```
---
### Èý¡¢¿çÌìÖØÖÃ×Ô¶¯»¯£¨»úÆ÷È˽ű¾ÅäÖã©
#### £¨Ò»£©RobotManage.txtÅäÖÃ
```lua
; ÿÈÕ0µã´¥·¢ÖØÖÃ
[@DailyReset]
#IF
EQUAL <$HOUR> 0 -- 0µã´¥·¢
#ACT
CLEARVARCALCULATE ..\QuestDiary\½ÇÉ«±äÁ¿\½øÈë¼ÆÊý.txt -- Çå¿ÕËùÓнÇÉ«¼ÆÊý
SENDMSG 0 [ϵͳ]ËùÓÐÍæ¼ÒÿÈÕÏ޴εØÍ¼´ÎÊýÒÑÖØÖã¡
```
#### £¨¶þ£©¶àÒýÇæ¼æÈÝд·¨
| ÒýÇæÀàÐÍ | ÖØÖÃÃüÁî | ´æ´¢Â·¾¶ÅäÖà |
|------------|---------------------------|-------------------------------|
| GOM | CLEARVARCALCULATE | QuestDiary\½ÇÉ«±äÁ¿\ |
| HERO | CLEARGLOBALVAR | Envir\GlobalVar\ |
| BLUE | RESETUSERDATA ½øÈë¼ÆÊý | Envir\UserData\ |
---
### ËÄ¡¢½ø½×¹¦ÄÜÀ©Õ¹
#### £¨Ò»£©´ÎÊý¹ºÂòϵͳ
```lua
[@¹ºÂò´ÎÊý]
#IF
CHECKGAMEGOLD > 99 -- ¼ì²âÔª±¦≥100
#ACT
GAMEGOLD - 100
CALCVAR <$USERNAME> ½øÈë¼ÆÊý = <$HUMAN(½øÈë¼ÆÊý)> - 1 -- Ôö¼Ó1´Î»ú»á
SAVEVAR <$USERNAME> ½øÈë¼ÆÊý ..\QuestDiary\½ÇÉ«±äÁ¿\½øÈë¼ÆÊý.txt
SENDMSG 6 ³É¹¦¹ºÂò1´Î½øÈë»ú»á£¬ÏûºÄ100Ôª±¦£¡
```
#### £¨¶þ£©¶àµØÍ¼Áª¶¯¼ÆÊý
ÔÚ`QFunction-0.txt`ÖÐÌí¼Óͳһ¿Û¼õÂß¼£º
```lua
[@_½øÈëÈÎÒâÏ޴εØÍ¼]
#IF
#ACT
INC <$HUMAN(×ܽøÈë¼ÆÊý)> 1
SAVEVAR <$USERNAME> ×ܽøÈë¼ÆÊý ..\QuestDiary\½ÇÉ«±äÁ¿\×ܽøÈë¼ÆÊý.txt
```
---
### Îå¡¢·À×÷±×ÓëÈÕÖ¾Éó¼Æ
#### £¨Ò»£©ÄÚ´æ´Û¸Ä·À»¤
```lua
#IF
CHECKVAR <$USERNAME> ½øÈë¼ÆÊý > 3 -- Òì³£Öµ¼ì²â
#ACT
KICK ¼ì²âµ½·Ç·¨Êý¾Ý´Û¸Ä£¡
SENDMSG 0 Íæ¼Ò[<$USERNAME>]ÊÔͼÐ޸ĽøÈë´ÎÊý£¬ÒÑÇ¿ÖÆÏÂÏߣ¡
```
#### £¨¶þ£©²Ù×÷ÈÕÖ¾¼Ç¼
ÔÚ`QuestDiary`Ŀ¼´´½¨`½øÈëÈÕÖ¾.csv`£º
```lua
#ACT
CALL [¼Ç¼ÈÕÖ¾] "<$USERNAME>", "<$DATETIME>", "½øÈëÏ޴εØÍ¼", <$HUMAN(½øÈë¼ÆÊý)>
```
---
### Áù¡¢³£¼ûÎÊÌâÅŲéÖ¸ÄÏ
| ¹ÊÕÏÏÖÏó | ¿ÉÄÜÔÒò | ½â¾ö·½°¸ |
|-------------------------|---------------------------|-------------------------------|
| ´ÎÊýÎ´ÖØÖà | RobotManageδ¼ÓÔØ | ¼ì²éM2¿ØÖÆÌ¨-»úÆ÷ÈËÅäÖà |
| ±äÁ¿ÏÔʾN/A | ´æ´¢Â·¾¶È¨ÏÞ²»×ã | ÉèÖÃEveryone¶ÁдȨÏÞ |
| ¿ç½ÇÉ«¹²Ïí¼ÆÊý | ÎóÓÃGLOBAL´úÌæHUMAN | Ìæ»»±äÁ¿ÀàÐͲ¢ÖØÐ³õʼ»¯ |
| µØÍ¼´«Ëͺóδ¿Û¼õ´ÎÊý | MAPMOVEǰȱÉÙINCÃüÁî | µ÷Õû½Å±¾Ö´ÐÐ˳Ðò |
---
### ½áÓï
ͨ¹ý½ÇÉ«±äÁ¿+»úÆ÷È˽ű¾µÄ×éºÏ·½°¸£¬¼È¿ÉʵÏÖ¾«×¼µÄÿÈÕÏ޴οØÖÆ£¬ÓÖÄÜͨ¹ýÈÕ־ϵͳ׷ËÝÒì³£²Ù×÷¡£½¨Ò鿪·¢Íê³ÉºóʹÓÃJmeter½øÐи߲¢·¢Ñ¹Á¦²âÊÔ£¬ÑéÖ¤¼ÆÊýÆ÷µÄÔ×ÓÐÔ²Ù×÷ÄÜÁ¦¡£¶ÔÓÚÉÌÒµ»¯°æ±¾£¬¿É½áºÏSQLÊý¾Ý¿âʵÏÖ¸ü¸´ÔӵĴÎÊý×âÁÞ¡¢´ÎÊý½»Ò×µÈÑÜÉú¹¦ÄÜ¡£

