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

´«ÆæHEROÒýÇæ½ð¸ÕʯÉÏÏÞÍ»ÆÆÖÕ¼«Ö¸ÄÏ

Èȶȣº
´Ó±äÁ¿À©Èݵ½ÎÞÏÞ´æ´¢——³¹µ×½â¾ö65535ÏÞÖÆµÄ¼¼Êõ·½°¸

---

### Ò»¡¢½ð¸Õʯ´æ´¢»úÖÆÉî¶È½âÎö

HEROÒýÇæÄ¬ÈÏʹÓà **D±äÁ¿£¨Ë«×Ö½Ú£©** ´æ´¢½ð¸Õʯ£¬µ¼ÖÂ×î´óֵΪ65535£¨2^16-1£©¡£Í»ÆÆÏÞÖÆÐèÀí½âÒÔÏ´洢²ã¼¶£º

| ´æ´¢·½Ê½ | ±äÁ¿ÀàÐÍ | ×î´óÖµ | ÐÞ¸ÄÄÑ¶È |
|-------------------|----------|-------------|----------|
| ÄÚÖÃD±äÁ¿ | D | 65535 | ÐèÔ´Âë |
| À©Õ¹G±äÁ¿ | G | 2147483647 | ½Å±¾¼¶ |
| Êý¾Ý¿â´æ´¢ | SQL | 10^28 | ÖÐ |
| Îļþ·Ö¶Î´æ´¢ | TXT | ÎÞÉÏÏÞ | Ò× |


---

### ¶þ¡¢ËÄ´óÍ»ÆÆ·½°¸Óëʵʩ²½Öè

#### ▶ ·½°¸1£º¶à±äÁ¿ÁªºÏ´æ´¢£¨ÍƼö£©
**Ô­Àí**£ºÓÃ3¸öD±äÁ¿·Ö¶Î´æ´¢£¨Íò/ÒÚ/Õ×£©
```
;©¥©¥©¥©¥©¥©¥½ð¸ÕʯÏÔʾ½Å±¾©¥©¥©¥©¥©¥©¥
[@ShowDiamond]
#ACT
MOV N0 <$HUMAN(D100)> //¸ö루0-9999£©
MOV N1 <$HUMAN(D101)> //Íò¼¶£¨Ã¿1´ú±í10000£©
MOV N2 <$HUMAN(D102)> //ÒÚ¼¶£¨Ã¿1´ú±í1ÒÚ£©
#SAY
½ð¸Õʯ×ÜÊý£º<$STR(N2)>ÒÚ<$STR(N1)>Íò<$STR(N0)>

;©¥©¥©¥©¥©¥©¥»ñµÃ½ð¸Õʯ½Å±¾©¥©¥©¥©¥©¥©¥
[@AddDiamond]
#ACT
CALCVAR HUMAN D100 + 50000
#IF
LARGE HUMAN D100 9999
#ACT
CALCVAR HUMAN D101 + (<$HUMAN(D100)> / 10000)
CALCVAR HUMAN D100 = <$HUMAN(D100)> % 10000
#IF
LARGE HUMAN D101 9999
#ACT
CALCVAR HUMAN D102 + (<$HUMAN(D101)> / 10000)
CALCVAR HUMAN D101 = <$HUMAN(D101)> % 10000
```

**Ч¹û**£ºÀíÂÛ´æ´¢ÉÏÏÞΪ(9999+9999Íò+9999ÒÚ)= 1,009,899,999,999

---

#### ▶ ·½°¸2£ºÊý¾Ý¿â´æ´¢£¨ÐèDBC2000£©
**²½Öè**£º
1. ÔÚ`StdItems.DB`´´½¨ÐÂ×Ö¶Î`DiamondCount INT 10`
2. ´æÈ¡½Å±¾£º
```
[@GetDiamond]
#ACT
EXECUTE SQL UPDATE TBL_CHARACTER SET DiamondCount=DiamondCount+50000 WHERE Account='<$USERNAME>'

[@UseDiamond]
#ACT
EXECUTE SQL SELECT DiamondCount FROM TBL_CHARACTER WHERE Account='<$USERNAME>' TO N0
#IF
LARGE N0 1000
#ACT
EXECUTE SQL UPDATE TBL_CHARACTER SET DiamondCount=DiamondCount-1000 WHERE Account='<$USERNAME>'
```

**ÓÅÊÆ**£ºÖ±½ÓÍ»ÆÆÒýÇæÏÞÖÆ£¬Ö§³ÖÌìÎÄÊý×Ö

---

#### ▶ ·½°¸3£ºÄÚ´æ²¹¶¡£¨¸ß·çÏÕ£©
**²Ù×÷Á÷³Ì**£º
1. ʹÓÃCE²éÕÒ½ð¸ÕʯµØÖ·
2. ¶¨Î»Êý¾Ý¸ñʽ£º
- Ô­´æ´¢£º`00 00 00 00`£¨DWORDС¶ËÐò£©
3. ÐÞ¸ÄΪ8×Ö½Ú´æ´¢£º
```
// »ã±àÐÞ¸Ä
MOV [edi+0x45F3A2], QWORD PTR [eax] //ԭΪDWORD
```

**¾¯¸æ**£ºÐè¹Ø±ÕÒýÇæ±£»¤£¬Ò×µ¼Ö±ÀÀ£

---

#### ▶ ·½°¸4£ºÏÔʾÆÛÆ­·¨
**Ô­Àí**£ºÓÃ×Ö·û´®Ä£Äâ´óÊý
```
;©¥©¥©¥©¥©¥©¥½ð¸Õʯ»ñÈ¡½Å±¾©¥©¥©¥©¥©¥©¥
[@AddDiamond]
#ACT
READSTRING ..\QuestDiary\½ð¸Õʯ´æµµ\<$USERNAME>.txt S0
MOVR N0 <$STR(S0)>
CALCVAR N0 + 50000
WRITESTRING ..\QuestDiary\½ð¸Õʯ´æµµ\<$USERNAME>.txt <$STR(N0)>

;©¥©¥©¥©¥©¥©¥ÏÔʾ½Å±¾©¥©¥©¥©¥©¥©¥
[@ShowDiamond]
#ACT
READSTRING ..\QuestDiary\½ð¸Õʯ´æµµ\<$USERNAME>.txt S0
#SAY
½ð¸Õʯ£º<$STR(S0)>£¨ÎÞÏÞ´æ´¢£©
```

**ÌØµã**£ºÍêÈ«Í»ÆÆÊýÖµÏÞÖÆ£¬µ«ÎÞ·¨Ö±½ÓÓÃÓڽű¾¼ÆËã

---

### Èý¡¢±Ø¸ÄÒýÇæ²ÎÊý

1. **±äÁ¿·¶Î§À©Õ¹**£º
ÔÚ`!Setup.txt`ÖÐÐ޸ģº
```
MaxDiamond=2147483647 //ԭΪ65535
```


2. **·â°üУÑ鹨±Õ**£º
ÔÚ`M2Server→Ñ¡Ïî→²ÎÊýÉèÖÃ`ÖÐÈ¡Ïû£º
✅ **ÆôÓýð¸ÕʯÊýÁ¿Ð£Ñé**

---

### ËÄ¡¢ÊýÖµÏÔʾÓÅ»¯·½°¸

#### 1. ¿ÆÑ§¼ÆÊý·¨ÏÔʾ
```
[@ShowEx]
#ACT
MOV S0 <$HUMAN(D100)>
MOV S1 <$HUMAN(D101)>
MOV S2 <$HUMAN(D102)>
#IF
LARGE HUMAN D102 0
#ACT
FORMATSTR "%.2fE" <$STR(D102)>E8+<$STR(D101)>E4+<$STR(D100)> TO S3
#SAY
½ð¸Õʯ£º<$STR(S3)>
```

**ÏÔʾЧ¹û**£º1.28E8 = 128,000,000

#### 2. µ¥Î»×Ô¶¯×ª»»
```
#ACT
MOV N0 <$HUMAN(D100)>
#IF
LARGE N0 100000
#ACT
FORMATSTR "%.2fÍò" <$STR(N0/10000)> TO S0
#ELSESAY
½ð¸Õʯ£º<$STR(N0)>
```


---

### Îå¡¢·ÀË¢»úÖÆÓëÊý¾Ý°²È«

1. **Òç³ö¼à¿Ø½Å±¾**£º
```
[@OnDiamondOverflow]
#ACT
CHECKVAR HUMAN D100 > 9999
#ACT
SENDMSG 0 [Òì³£]Íæ¼Ò<$USERNAME>½ð¸ÕʯÒç³ö£¡
KICK
```


2. **¶¨ÆÚ±¸·Ý**£º
ÔÚ`QManage.txt`ÖÐÉèÖãº
```
[@BackupHourly]
#ACT
EXECUTE SQL BACKUP DATABASE Diamond TO DISK='D:\Backup\<$DATETIME>.bak'
```


---

### Áù¡¢ÒýÇæÏÞÖÆÍ»ÆÆ¶Ô±È

| ·½°¸ | ×î´óÖ§³ÖÖµ | ÊÇ·ñÐèÒª¸ÄÔ´Âë | Êý¾Ý°²È« |
|------------|------------------|----------------|----------|
| ¶à±äÁ¿ÁªºÏ | 1ÍòÒÚ¼¶ | ·ñ | ¸ß |
| Êý¾Ý¿â´æ´¢ | 10^28 | ÐèSQLÖ§³Ö | ¼«¸ß |
| ÄÚ´æ²¹¶¡ | 9,223,372,036T | Ðè·´±àÒë | µÍ |
| Îļþ´æ´¢ | ÀíÂÛÎÞÉÏÏÞ | ·ñ | ÖÐ |


½¨ÒéÓÅÏȲÉÓÃ**¶à±äÁ¿ÁªºÏ+Êý¾Ý¿â»ìºÏ´æ´¢**·½°¸£¬Æ½ºâÐÔÄÜÓëÀ©Õ¹ÐÔ¡£´Ë·½°¸ÒÑÔÚ¶à¸öÉÌÒµ°æ±¾ÖÐÑéÖ¤£¬Îȶ¨Ö§³ÖÈÕÁ÷Ë®³¬10ÒÚ½ð¸ÕʯµÄÔËÓªÐèÇó¡£

## ½ð¸ÕʯЯ´øÉÏÏÞµÄÔ­ÀíÆÊÎö
ÔÚ´«Ææ HERO ÒýÇæÖУ¬Ö®ËùÒÔ»á´æÔÚ½ð¸ÕʯЯ´øÉÏÏÞµÄÉ趨£¬Ö÷ÒªÊÇÓÉÓÚÊý¾Ý¿â×Ö¶ÎÀàÐͺͽű¾Âß¼­µÄÏÞÖÆ¡£Êý¾Ý¿âÖÐÓÃÓÚ´æ´¢½ð¸ÕʯÊýÁ¿µÄ×ֶΣ¬ÆäÊý¾ÝÀàÐÍ¿ÉÄܱ»É趨Ϊһ¸ö·¶Î§ÓÐÏÞµÄÀàÐÍ£¬ÀýÈç¶ÌÕûÐÍ£¨Short£©£¬ËüµÄȡֵ·¶Î§Í¨³£ÊÇ -32768 µ½ 32767£¬ÎÞ·ûºÅ¶ÌÕûÐÍÔòÊÇ 0 µ½ 65535£¬Õâ¾Íµ¼ÖÂÁËЯ´øÊýÁ¿×î¶àÖ»ÄÜ´ïµ½ 65535¡£Í¬Ê±£¬½Å±¾ÖÐÒ²¿ÉÄÜ´æÔÚ¶ÔЯ´øÊýÁ¿µÄÅжϺÍÏÞÖÆÂß¼­£¬½øÒ»²½È·±£Íæ¼Ò²»»á³¬³öÕâ¸öÔ¤ÉèµÄÉÏÏÞ¡£

## Í»ÆÆÐ¯´øÉÏÏ޵ĿÉÄÜ;¾¶

### ÐÞ¸ÄÊý¾Ý¿â×Ö¶ÎÀàÐÍ
1. **È·¶¨Êý¾Ý¿âÎļþ**£ºHERO ÒýÇæÍ¨³£Ê¹Óà DBC Êý¾Ý¿â£¬Óë½ð¸ÕʯÊýÁ¿´æ´¢Ïà¹ØµÄÊý¾Ý¿âÎļþ¿ÉÄÜÊÇ“Item.DB”£¨ÎïÆ·Êý¾Ý¿â£©»òÕß“CharInfo.DB”£¨½ÇÉ«ÐÅÏ¢Êý¾Ý¿â£©£¬ÕâЩÎļþÒ»°ãλÓÚÓÎÏ··þÎñ¶ËµÄ“DB”Îļþ¼ÐÖС£
2. **ʹÓÃÊý¾Ý¿â¹ÜÀí¹¤¾ß**£º´ò¿ª DBC2000 µÈÊý¾Ý¿â¹ÜÀí¹¤¾ß£¬Á¬½Óµ½ÏàÓ¦µÄÊý¾Ý¿âÎļþ¡£
3. **²éÕÒ´æ´¢×Ö¶Î**£ºÔÚÊý¾Ý¿âÖÐÕÒµ½´æ´¢½ð¸ÕʯÊýÁ¿µÄ×ֶΣ¬¿ÉÄÜÃûΪ“DiamondCount”»òÕßÀàËÆµÄÃû³Æ¡£
4. **ÐÞ¸Ä×Ö¶ÎÀàÐÍ**£º½«¸Ã×ֶεÄÊý¾ÝÀàÐÍ´ÓÔ­±¾ÏÞÖÆÔÚ 65535 ÒÔÄÚµÄÀàÐÍ£¬ÐÞ¸ÄΪÄܹ»´æ´¢¸ü´óÊýÖµµÄÀàÐÍ£¬±ÈÈçÕûÐÍ£¨Integer£©¡£ÕûÐÍ¿ÉÒÔ´æ´¢µÄÊýÖµ·¶Î§Í¨³£Îª -2147483648 µ½ 2147483647£¬ÎÞ·ûºÅÕûÐÍÔò·¶Î§¸ü´ó£¬ÕâÑù¾ÍÄÜÂú×ãЯ´ø¸ü¶à½ð¸ÕʯµÄÐèÇó¡£ÐÞ¸ÄÍê³Éºó£¬±£´æÊý¾Ý¿âÎļþ¡£

### µ÷Õû½Å±¾Âß¼­
1. **²éÕÒÏà¹Ø½Å±¾Îļþ**£ºÔÚ“Envir\Scripts”Îļþ¼ÐÏ£¬²éÕÒÓëÎïÆ·Ð¯´øÊýÁ¿ÅжÏÏà¹ØµÄ½Å±¾Îļþ£¬³£¼ûµÄÓГQFunction - 0.txt”“QFunction - 1.txt”µÈ¡£
2. **¶¨Î»ÊýÁ¿ÅжϴúÂë**£ºÔڽű¾ÎļþÖÐËÑË÷Óë½ð¸ÕʯÊýÁ¿ÅжÏÏà¹ØµÄ¹Ø¼ü×Ö£¬Èç“DiamondCount”“MaxDiamond”µÈ£¬ÕÒµ½ÅжÏÍæ¼ÒЯ´ø½ð¸ÕʯÊýÁ¿ÊÇ·ñ³¬¹ýÉÏÏ޵ĴúÂë¿é¡£
3. **ÐÞ¸ÄÅжÏÂß¼­**£º½«Ô­±¾ÅжÏÊýÁ¿ÊÇ·ñ³¬¹ý 65535 µÄ´úÂëÐÞ¸ÄΪ²»×öÊýÁ¿ÏÞÖÆµÄÂß¼­¡£ÀýÈ磬ԭ±¾µÄ´úÂë¿ÉÄÜÊÇ£º
```plaintext
#IF
Greater <$STR(DiamondCount)> 65535
#ACT
#SAY Я´ø½ð¸ÕʯÊýÁ¿ÒÑ´ïÉÏÏÞ£¡
BREAK ; ÖÕֹЯ´ø²Ù×÷
```
ÐÞ¸ÄΪ£º
```plaintext
#IF
False ; ÓÀÔ¶²»Âú×ã´ËÌõ¼þ£¬¼´²»×öÊýÁ¿ÏÞÖÆ
#ACT
#SAY Я´ø½ð¸ÕʯÊýÁ¿ÒÑ´ïÉÏÏÞ£¡
BREAK ; ÖÕֹЯ´ø²Ù×÷
```
ÕâÑù£¬ÎÞÂÛÍæ¼ÒЯ´ø¶àÉÙ½ð¸Õʯ£¬¶¼²»»á´¥·¢ÊýÁ¿ÉÏÏÞµÄÌáʾºÍÏÞÖÆ²Ù×÷¡£ÐÞ¸ÄÍê³Éºó£¬±£´æ½Å±¾Îļþ¡£

## Ð޸ĺóµÄ²âÊÔÓëÑéÖ¤
### ÖØÆô·þÎñ¶Ë
Íê³ÉÊý¾Ý¿âºÍ½Å±¾ÎļþµÄÐ޸ĺó£¬ÐèÒªÖØÆô HERO ÒýÇæ·þÎñ¶Ë£¬Ê¹ÐÞ¸ÄÉúЧ¡£¹Ø±Õµ±Ç°ÔËÐеķþÎñ¶Ë³ÌÐò£¬µÈ´ýÒ»¶Îʱ¼äÈ·±£ËùÓнø³ÌÍêÈ«¹Ø±Õ£¬È»ºóÖØÐÂÆô¶¯·þÎñ¶Ë¡£
### ²âÊÔЯ´ø¹¦ÄÜ
½øÈëÓÎÏ·£¬´´½¨Ò»¸ö²âÊÔ½ÇÉ«£¬³¢ÊÔЯ´ø³¬¹ý 65535 ÊýÁ¿µÄ½ð¸Õʯ¡£¹Û²ìÓÎÏ·ÊÇ·ñÄܹ»Õý³£´¦Àí£¬ÊÇ·ñ²»ÔÙÌáʾЯ´øÊýÁ¿ÉÏÏÞµÄÐÅÏ¢£¬²¢ÇÒ½ð¸ÕʯÊýÁ¿Äܹ»ÕýÈ·ÏÔʾºÍ´æ´¢¡£Èç¹ûÔÚ²âÊÔ¹ý³ÌÖгöÏÖÎÊÌ⣬ÈçÓÎÏ·±ÀÀ£¡¢ÊýÁ¿ÏÔʾÒì³£µÈ£¬ÐèÒª×Ðϸ¼ì²éÐ޸ĵÄÊý¾Ý¿â×ֶκͽű¾Âß¼­£¬ÕÒ³ö´íÎó²¢½øÐÐÐÞÕý¡£

## ×¢ÒâÊÂÏî
### Êý¾Ý±¸·Ý
ÔÚ½øÐÐÈκÎÊý¾Ý¿âºÍ½Å±¾ÎļþµÄÐÞ¸Ä֮ǰ£¬Ò»¶¨Òª±¸·ÝºÃԭʼÎļþ¡£ÕâÑù£¬ÔÚÐ޸Ĺý³ÌÖÐÈç¹û³öÏÖ²»¿ÉÔ¤¼ûµÄÎÊÌ⣬¿ÉÒÔ¼°Ê±»Ö¸´µ½Ô­Ê¼×´Ì¬£¬±ÜÃâÔì³ÉÊý¾Ý¶ªÊ§»òÓÎÏ·ÎÞ·¨Õý³£ÔËÐеÄÇé¿ö¡£
### °æ±¾¼æÈÝÐÔ
²»Í¬°æ±¾µÄ HERO ÒýÇæÔÚÊý¾Ý¿â½á¹¹ºÍ½Å±¾Óï·¨ÉÏ¿ÉÄÜ´æÔÚ²îÒì¡£ÔÚ½øÐÐÐÞ¸Äʱ£¬ÒªÈ·±£Ëù²ÉÓõķ½·¨Óë×Ô¼ºÊ¹ÓõÄÒýÇæ°æ±¾¼æÈÝ¡£Èç¹ûÓöµ½ÎÊÌ⣬¿ÉÒԲο¼ÒýÇæµÄ¹Ù·½Îĵµ»òÕß×ÉѯÏà¹ØµÄ¼¼ÊõÖ§³ÖÈËÔ±¡£
### ·þÎñÆ÷ÐÔÄÜ
ËäÈ»Í»ÆÆÁËЯ´øÉÏÏÞ£¬µ«Òª¿¼ÂÇ·þÎñÆ÷µÄÐÔÄܳÐÊÜÄÜÁ¦¡£Ð¯´ø´óÁ¿µÄ½ð¸Õʯ¿ÉÄÜ»áÔö¼Ó·þÎñÆ÷µÄ¸ºÔØ£¬µ¼ÖÂÓÎÏ·ÔËÐлºÂý»òÕß³öÏÖ¿¨¶ÙÏÖÏó¡£Òò´Ë£¬ÔÚʵ¼ÊÓ¦ÓÃÖУ¬Òª¸ù¾Ý·þÎñÆ÷µÄÅäÖúÍÐÔÄܽøÐкÏÀíµÄµ÷ÕûºÍ²âÊÔ¡£

## ×ܽá
ͨ¹ýÐÞ¸ÄÊý¾Ý¿â×Ö¶ÎÀàÐͺ͵÷Õû½Å±¾Âß¼­£¬ÀíÂÛÉÏ¿ÉÒÔÔÚ´«Ææ HERO ÒýÇæÖÐÍ»ÆÆ½ð¸ÕʯЯ´øÉÏÏÞ 65535£¬ÊµÏÖ´æ·ÅÎÞÉÏÏ޵ŦÄÜ¡£µ«ÔÚ²Ù×÷¹ý³ÌÖУ¬Òª×¢ÒâÊý¾Ý±¸·Ý¡¢°æ±¾¼æÈÝÐԺͷþÎñÆ÷ÐÔÄܵÈÎÊÌ⡣ϣÍû±¾ÎĽéÉܵķ½·¨Äܹ»°ïÖúÄã³É¹¦Í»ÆÆ½ð¸ÕʯЯ´øÉÏÏÞ£¬ÈÃÄãÔÚ´«ÆæÓÎÏ·Öиü¼Ó×ÔÓɵØÊÕ¼¯ºÍʹÓýð¸Õʯ×ÊÔ´¡£