ÉîÈë½âÎöCHECKUSERDATEÓëDelUserDateµÄÓ¦ÓÃÓëʵ¼ù
---
### Ò»¡¢»áÔ±¼ì²âÃüÁîµÄºËÐÄ£ºCHECKUSERDATE
ÔÚ´«ÆæHEROÒýÇæÖУ¬**»áÔ±¼ì²â**µÄºËÐÄÃüÁîΪ **`CHECKUSERDATE`**£¬ÆäÓï·¨¸ñʽΪ£º
```
CHECKUSERDATE »áÔ±.txt < ÌìÊý p0 p1 [²ÎÊý]
```
- **¹¦ÄÜ**£º¼ì²âÖ¸¶¨»áÔ±Îļþ£¨Èç`»áÔ±.txt`£©ÖÐÍæ¼ÒµÄÊ£ÓàÌìÊý¡£
- **²ÎÊý˵Ã÷**£º
- `»áÔ±.txt`£º´æ´¢»áÔ±ÐÅÏ¢µÄÎı¾Îļþ£¨ÐèÔÚ·þÎñ¶Ë`QuestDiary`Ŀ¼ÏÂÅäÖã©¡£
- `< ÌìÊý`£º±È½ÏÌõ¼þ£¨¿ÉÌæ»»Îª`>`»ò`=`£©£¬ÓÃÓÚÅжÏÊ£ÓàÌìÊýÊÇ·ñÂú×ãÌõ¼þ¡£
- `p0`£ºÒÑʹÓÃÌìÊý±äÁ¿£¬¿Éͨ¹ý`<$STR(p0)>`Ôڽű¾Öе÷Óá£
- `p1`£ºÊ£ÓàÌìÊý±äÁ¿£¬Í¨¹ý`<$STR(p1)>`ÏÔʾ¡£
- `[²ÎÊý]`£º¿ÉÑ¡²ÎÊý`1`£¬±íʾºöÂÔÍæ¼ÒÃû³Æ¼ì²â£¨ÊÊÓÃÓÚͨÓüì²â³¡¾°£©¡£
**ʾÀý½Å±¾**£º
```
[@¼ì²â»áÔ±]
#IF
CHECKUSERDATE »áÔ±.txt < 30 p0 p1
#SAY
ÄúµÄ»áԱʣÓàÌìÊý£º<$STR(p1)>£¬Çë¼°Ê±Ðø·Ñ£¡
#ELSESAY
Äú²»ÊÇ»áÔ±»òÌìÊý²»×㣡
```
---
### ¶þ¡¢É¾³ý»áÔ±ÃüÁîµÄÕùÒéÓë½â¾ö·½°¸
#### 1. **HEROÒýÇæ¹Ù·½ÃüÁîµÄȱʧ**
¸ù¾ÝÏÖÓÐ×ÊÁÏ£¬**HEROÒýÇæÎ´Ö±½ÓÌṩɾ³ý»áÔ±µÄÄÚÖÃÃüÁî**¡£ÖÐÌáµ½µÄ`ADDUSERDATE`½öÓÃÓÚÌí¼Ó»áÔ±£¬¶øÃ÷ȷ˵Ã÷GEEÒýÇæÖ§³Ö`DelUserDate`ÃüÁµ«Î´Ìá¼°HEROÒýÇæ¼æÈÝÐÔ¡£
#### 2. **Ìæ´ú·½°¸£ºÍ¨¹ý½Å±¾²Ù×÷Îļþ**
ÈôÐèɾ³ý»áÔ±£¬¿Éͨ¹ý**½Å±¾Ö±½ÓÐ޸ĻáÔ±Îļþ**£¨Èç`»áÔ±.txt`£©ÊµÏÖ£º
```
[@ɾ³ý»áÔ±]
#ACT
MOV S$»áÔ±Îļþ·¾¶ ..\QuestDiary\Êý¾ÝÎļþ\»áÔ±ÈÕÆÚ365Ìì.txt
CALLFORMATSTR S$ɾ³ýÐÐ %sµÄ»áÔ±ÐÅÏ¢
FILEDELETE S$»áÔ±Îļþ·¾¶ S$ɾ³ýÐÐ
SENDMSG 7 ÒÑɾ³ýÖ¸¶¨»áÔ±ÐÅÏ¢£¡
```
´Ë½Å±¾Í¨¹ý¶¨Î»Îļþ·¾¶²¢É¾³ý¶ÔÓ¦ÐмǼ£¬¼ä½ÓʵÏÖ»áԱɾ³ý¹¦ÄÜ¡£
#### 3. **¹ØÓÚH.DelUserDateµÄÊÊÓÃÐÔÕùÒé**
Ìáµ½`H.DelUserDate`ÃüÁµ«Æäǰ׺`H.`¿ÉÄÜÖ¸´ú**Ó¢ÐÛ½ÇÉ«**£¨Hero£©¶ø·ÇHEROÒýÇæ¡£Êµ¼Ê²âÊÔ±íÃ÷£¬HEROÒýÇæÖиÃÃüÁî¿ÉÄÜÎÞЧ£¬Ðè½áºÏÒýÇæ°æ±¾ÑéÖ¤¡£
---
### Èý¡¢ÍêÕû²Ù×÷Á÷³Ì£º¼ì²âÓëɾ³ýʵս
#### ²½Öè1£ºÅäÖûáÔ±Îļþ
ÔÚ·þÎñ¶Ë`QuestDiary\Êý¾ÝÎļþ`Ŀ¼Ï´´½¨`»áÔ±.txt`£¬¸ñʽΪ£º
```
Íæ¼ÒÃû³Æ Ê£ÓàÌìÊý
```
#### ²½Öè2£º¼ì²â»áԱ״̬µÄ½Å±¾ÊµÏÖ
```
[@Main]
#IF
CHECKUSERDATE »áÔ±.txt > 0 p0 p1
#SAY
»¶Ó×ð¹ó»áÔ±£¡Ê£ÓàÌìÊý£º<$STR(p1)>¡£
#ELSESAY
ÄúÔÝÎÞ»áԱȨÏÞ£¡
```
#### ²½Öè3£ºÉ¾³ý»áÔ±µÄ½Å±¾ÊµÏÖ£¨·Ç¹Ù·½£©
```
[@ɾ³ý»áÔ±]
#ACT
GETUSERNAME <$USERNAME>
READLINE ..\QuestDiary\Êý¾ÝÎļþ\»áÔ±.txt <$STR(N0)> <$STR(S0)>
WHILE <$STR(N0)> != -1
IF EQUAL <$STR(S0)> <$USERNAME>
WRITELINE ..\QuestDiary\Êý¾ÝÎļþ\»áÔ±.txt <$STR(N0)> ""
BREAK
ENDIF
INC N0
READLINE ..\QuestDiary\Êý¾ÝÎļþ\»áÔ±.txt <$STR(N0)> <$STR(S0)>
ENDWHILE
SENDMSG 7 »áÔ±<$USERNAME>ÒÑɾ³ý£¡
```
---
### ËÄ¡¢³£¼ûÎÊÌâÓë·çÏÕÌáʾ
1. **Îļþ²Ù×÷·çÏÕ**£ºÖ±½ÓÐ޸ĻáÔ±Îļþ¿ÉÄܵ¼ÖÂÊý¾ÝË𻵣¬½¨Òé²Ù×÷ǰ±¸·Ý¡£
2. **ÒýÇæ¼æÈÝÐÔ**£º`H.DelUserDate`ÃüÁîÔÚ²¿·ÖHEROħ¸Ä°æ±¾ÖпÉÄÜÉúЧ£¬µ«Ðè²âÊÔÑéÖ¤¡£
3. **°²È«¾¯¸æ**£ºÓëÇ¿µ÷½ûÖ¹·¢²¼Éæ¶Ä½Å±¾£¬ÐèÈ·±£»áԱϵͳ·ûºÏ·¨ÂÉÒªÇó¡£
---
### Îå¡¢×ܽ᣺HEROÒýÇæ»áÔ±¹ÜÀíµÄ¾ÖÏÞÐÔ
HEROÒýÇæÔÚ»áÔ±¹ÜÀí¹¦ÄÜÉϽÏΪ»ù´¡£¬**¼ì²âÒÀÀµ`CHECKUSERDATE`£¬É¾³ýÐèÊÖ¶¯»òħ¸ÄʵÏÖ**¡£¶ÔÓÚÐè¸ßƵ²Ù×÷»áÔ±µÄ·þÎñÆ÷£¬½¨ÒéÉý¼¶ÖÁGEE»òV8ÒýÇæ£¨Ö§³Ö`DelUserDate`ÃüÁ£¬»òͨ¹ý²å¼þÀ©Õ¹¹¦ÄÜ¡£
ͨ¹ýºÏÀíÀûÓÃÏÖÓÐÃüÁîÓë½Å±¾´´Ð£¬ÈÔ¿ÉÔÚHEROÒýÇæÖй¹½¨Îȶ¨µÄ»áԱϵͳ£¬µ«Ðè×¢Òâ¼¼ÊõÏÞÖÆÓëºÏ¹æÐÔÒªÇó¡£
---
### Ò»¡¢»áÔ±¼ì²âÃüÁîµÄºËÐÄ£ºCHECKUSERDATE
ÔÚ´«ÆæHEROÒýÇæÖУ¬**»áÔ±¼ì²â**µÄºËÐÄÃüÁîΪ **`CHECKUSERDATE`**£¬ÆäÓï·¨¸ñʽΪ£º
```
CHECKUSERDATE »áÔ±.txt < ÌìÊý p0 p1 [²ÎÊý]
```
- **¹¦ÄÜ**£º¼ì²âÖ¸¶¨»áÔ±Îļþ£¨Èç`»áÔ±.txt`£©ÖÐÍæ¼ÒµÄÊ£ÓàÌìÊý¡£
- **²ÎÊý˵Ã÷**£º
- `»áÔ±.txt`£º´æ´¢»áÔ±ÐÅÏ¢µÄÎı¾Îļþ£¨ÐèÔÚ·þÎñ¶Ë`QuestDiary`Ŀ¼ÏÂÅäÖã©¡£
- `< ÌìÊý`£º±È½ÏÌõ¼þ£¨¿ÉÌæ»»Îª`>`»ò`=`£©£¬ÓÃÓÚÅжÏÊ£ÓàÌìÊýÊÇ·ñÂú×ãÌõ¼þ¡£
- `p0`£ºÒÑʹÓÃÌìÊý±äÁ¿£¬¿Éͨ¹ý`<$STR(p0)>`Ôڽű¾Öе÷Óá£
- `p1`£ºÊ£ÓàÌìÊý±äÁ¿£¬Í¨¹ý`<$STR(p1)>`ÏÔʾ¡£
- `[²ÎÊý]`£º¿ÉÑ¡²ÎÊý`1`£¬±íʾºöÂÔÍæ¼ÒÃû³Æ¼ì²â£¨ÊÊÓÃÓÚͨÓüì²â³¡¾°£©¡£
**ʾÀý½Å±¾**£º
```
[@¼ì²â»áÔ±]
#IF
CHECKUSERDATE »áÔ±.txt < 30 p0 p1
#SAY
ÄúµÄ»áԱʣÓàÌìÊý£º<$STR(p1)>£¬Çë¼°Ê±Ðø·Ñ£¡
#ELSESAY
Äú²»ÊÇ»áÔ±»òÌìÊý²»×㣡
```
---
### ¶þ¡¢É¾³ý»áÔ±ÃüÁîµÄÕùÒéÓë½â¾ö·½°¸
#### 1. **HEROÒýÇæ¹Ù·½ÃüÁîµÄȱʧ**
¸ù¾ÝÏÖÓÐ×ÊÁÏ£¬**HEROÒýÇæÎ´Ö±½ÓÌṩɾ³ý»áÔ±µÄÄÚÖÃÃüÁî**¡£ÖÐÌáµ½µÄ`ADDUSERDATE`½öÓÃÓÚÌí¼Ó»áÔ±£¬¶øÃ÷ȷ˵Ã÷GEEÒýÇæÖ§³Ö`DelUserDate`ÃüÁµ«Î´Ìá¼°HEROÒýÇæ¼æÈÝÐÔ¡£
#### 2. **Ìæ´ú·½°¸£ºÍ¨¹ý½Å±¾²Ù×÷Îļþ**
ÈôÐèɾ³ý»áÔ±£¬¿Éͨ¹ý**½Å±¾Ö±½ÓÐ޸ĻáÔ±Îļþ**£¨Èç`»áÔ±.txt`£©ÊµÏÖ£º
```
[@ɾ³ý»áÔ±]
#ACT
MOV S$»áÔ±Îļþ·¾¶ ..\QuestDiary\Êý¾ÝÎļþ\»áÔ±ÈÕÆÚ365Ìì.txt
CALLFORMATSTR S$ɾ³ýÐÐ %sµÄ»áÔ±ÐÅÏ¢
FILEDELETE S$»áÔ±Îļþ·¾¶ S$ɾ³ýÐÐ
SENDMSG 7 ÒÑɾ³ýÖ¸¶¨»áÔ±ÐÅÏ¢£¡
```
´Ë½Å±¾Í¨¹ý¶¨Î»Îļþ·¾¶²¢É¾³ý¶ÔÓ¦ÐмǼ£¬¼ä½ÓʵÏÖ»áԱɾ³ý¹¦ÄÜ¡£
#### 3. **¹ØÓÚH.DelUserDateµÄÊÊÓÃÐÔÕùÒé**
Ìáµ½`H.DelUserDate`ÃüÁµ«Æäǰ׺`H.`¿ÉÄÜÖ¸´ú**Ó¢ÐÛ½ÇÉ«**£¨Hero£©¶ø·ÇHEROÒýÇæ¡£Êµ¼Ê²âÊÔ±íÃ÷£¬HEROÒýÇæÖиÃÃüÁî¿ÉÄÜÎÞЧ£¬Ðè½áºÏÒýÇæ°æ±¾ÑéÖ¤¡£
---
### Èý¡¢ÍêÕû²Ù×÷Á÷³Ì£º¼ì²âÓëɾ³ýʵս
#### ²½Öè1£ºÅäÖûáÔ±Îļþ
ÔÚ·þÎñ¶Ë`QuestDiary\Êý¾ÝÎļþ`Ŀ¼Ï´´½¨`»áÔ±.txt`£¬¸ñʽΪ£º
```
Íæ¼ÒÃû³Æ Ê£ÓàÌìÊý
```
#### ²½Öè2£º¼ì²â»áԱ״̬µÄ½Å±¾ÊµÏÖ
```
[@Main]
#IF
CHECKUSERDATE »áÔ±.txt > 0 p0 p1
#SAY
»¶Ó×ð¹ó»áÔ±£¡Ê£ÓàÌìÊý£º<$STR(p1)>¡£
#ELSESAY
ÄúÔÝÎÞ»áԱȨÏÞ£¡
```
#### ²½Öè3£ºÉ¾³ý»áÔ±µÄ½Å±¾ÊµÏÖ£¨·Ç¹Ù·½£©
```
[@ɾ³ý»áÔ±]
#ACT
GETUSERNAME <$USERNAME>
READLINE ..\QuestDiary\Êý¾ÝÎļþ\»áÔ±.txt <$STR(N0)> <$STR(S0)>
WHILE <$STR(N0)> != -1
IF EQUAL <$STR(S0)> <$USERNAME>
WRITELINE ..\QuestDiary\Êý¾ÝÎļþ\»áÔ±.txt <$STR(N0)> ""
BREAK
ENDIF
INC N0
READLINE ..\QuestDiary\Êý¾ÝÎļþ\»áÔ±.txt <$STR(N0)> <$STR(S0)>
ENDWHILE
SENDMSG 7 »áÔ±<$USERNAME>ÒÑɾ³ý£¡
```
---
### ËÄ¡¢³£¼ûÎÊÌâÓë·çÏÕÌáʾ
1. **Îļþ²Ù×÷·çÏÕ**£ºÖ±½ÓÐ޸ĻáÔ±Îļþ¿ÉÄܵ¼ÖÂÊý¾ÝË𻵣¬½¨Òé²Ù×÷ǰ±¸·Ý¡£
2. **ÒýÇæ¼æÈÝÐÔ**£º`H.DelUserDate`ÃüÁîÔÚ²¿·ÖHEROħ¸Ä°æ±¾ÖпÉÄÜÉúЧ£¬µ«Ðè²âÊÔÑéÖ¤¡£
3. **°²È«¾¯¸æ**£ºÓëÇ¿µ÷½ûÖ¹·¢²¼Éæ¶Ä½Å±¾£¬ÐèÈ·±£»áԱϵͳ·ûºÏ·¨ÂÉÒªÇó¡£
---
### Îå¡¢×ܽ᣺HEROÒýÇæ»áÔ±¹ÜÀíµÄ¾ÖÏÞÐÔ
HEROÒýÇæÔÚ»áÔ±¹ÜÀí¹¦ÄÜÉϽÏΪ»ù´¡£¬**¼ì²âÒÀÀµ`CHECKUSERDATE`£¬É¾³ýÐèÊÖ¶¯»òħ¸ÄʵÏÖ**¡£¶ÔÓÚÐè¸ßƵ²Ù×÷»áÔ±µÄ·þÎñÆ÷£¬½¨ÒéÉý¼¶ÖÁGEE»òV8ÒýÇæ£¨Ö§³Ö`DelUserDate`ÃüÁ£¬»òͨ¹ý²å¼þÀ©Õ¹¹¦ÄÜ¡£
ͨ¹ýºÏÀíÀûÓÃÏÖÓÐÃüÁîÓë½Å±¾´´Ð£¬ÈÔ¿ÉÔÚHEROÒýÇæÖй¹½¨Îȶ¨µÄ»áԱϵͳ£¬µ«Ðè×¢Òâ¼¼ÊõÏÞÖÆÓëºÏ¹æÐÔÒªÇó¡£

