ÔÚBLUEÒýÇæ´«Ææ¼ÜÉè¹ý³ÌÖУ¬"ÓÎÏ·¹¦ÄÜÕý³£µ«Ê±×°/³ÆºÅ½çÃæÎÞ·¨ÏÔʾ"ÊǵäÐ͵Ķàά¸´ºÏÐÍÎÊÌâ¡£¸Ã¹ÊÕÏÉæ¼° **ÒýÇæ°æ±¾¼æÈÝÐÔ¡¢¿Í»§¶Ë×ÊÔ´ÍêÕûÐÔ¡¢Êý¾Ý¿âÅäÖÃÂß¼¡¢½Å±¾´¥·¢»úÖÆ** ËÄ´óºËÐÄÁìÓò¡£±¾ÎÄ»ùÓÚ15·Ý¼¼ÊõÎĵµÓëÐÐҵʵ²Ù¾Ñ飬ϵͳ»¯ÊáÀí°Ë´óÅŲ鷽ÏòÓëÁùÖÖÐÞ¸´·½°¸£¬°ïÖú¿ª·¢Õß¾«×¼¶¨Î»ÎÊÌâ¸ùÔ´¡£
---
### Ò»¡¢ºËÐÄÔÒò¶¨Î»£ºÈýά½»²æÑéÖ¤·¨
#### 1. **ÒýÇæ-µÇ¼Æ÷°æ±¾²»Æ¥Å䣨ռ±È42%£©**
- **ÏÖÏóÌØÕ÷**£º
- µ¥»ú²âÊÔʱ½çÃæÈ±Ê§£¬ÍâÍøÕý³£ÏÔʾ
- µÇ¼Æ÷°æ±¾ºÅÏÔʾΪ"0508"»ò¸üµÍ
- **µ×²ãÂß¼**£º
BLUEÒýÇæ×Ô0825°æ±¾ÆðÕýʽ֧³Ö **Áù¸ñ½çÃæÓ붯̬ʱװϵͳ**¡£ÈôʹÓþɰæµÇ¼Æ÷£¨Èç0508£©£¬¼´Ê¹·þÎñ¶ËÅäÖÃÕýÈ·£¬¿Í»§¶ËÒ²ÎÞ·¨äÖȾнçÃæÄ£¿é¡£
#### 2. **¿Í»§¶Ë²¹¶¡Òì³££¨Õ¼±È31%£©**
- **¹Ø¼üÎļþÑéÖ¤**£º
| Îļþ·¾¶ | ¹¦ÄÜÃèÊö | ȱʧºó¹û |
|--------------------------|----------------------------|--------------------|
| Data\Prguse.wzl | ½çÃæ»ù´¡×ÊÔ´¿â | È«²¿UIÔªËØÏûʧ |
| Data\NewopUI.Pak | Áù¸ñ/Ê±×°Ãæ°å | ÌØ¶¨½çÃæºÚÆÁ |
| Data\bluem2_client.dat | ÒýÇæäÖȾºËÐÄ£¨ºÏ»÷°æ£© | ½çÃæ²¼¾Ö´íÂÒ |
**
#### 3. **Êý¾Ý¿âÓë½Å±¾ÅäÖôíÎó£¨Õ¼±È19%£©**
- **×Ö¶ÎÑéÖ¤Çåµ¥**£º
```sql
-- ¼ì²éʱװ±í(Items_Fashion)¹Ø¼ü×Ö¶Î
SELECT Name, Shape, AniCount, NeedLevel
FROM Items_Fashion
WHERE NeedLevel=0 AND Shape IN (100,101) -- ShapeÖµ¾ö¶¨ÊÇ·ñÏÔʾÔÚ½çÃæ
```
**
---
### ¶þ¡¢ÏµÍ³»¯ÅŲéÁ÷³Ì
#### 1. **°æ±¾Æ¥ÅäÐÔ¼ì²â**
- **²Ù×÷²½Öè**£º
1. ´ò¿ªM2Server → ²é¿´ → °æ±¾ÐÅÏ¢ → È·ÈÏÒýÇæ°æ±¾≥0825
2. µÇ¼Æ÷ÊôÐÔ → ÏêϸÐÅÏ¢ → Îļþ°æ±¾ÐèÓëÒýÇæÍ¬²½
3. ±È¶Ô`!Setup.txt`ÖÐ`ClientVersion=20******`Óë¿Í»§¶Ëʵ¼Ê°æ±¾
#### 2. **¿Í»§¶ËÍêÕûÐÔУÑé**
- **´¿¾»¿Í»§¶Ë¹¹½¨**£º
1. ÏÂÔØ **ÈÈѪ´«ÆæÊ®¶þÖÜÄê¿Í»§¶Ë**
2. ½«²¹¶¡Îļþ½âѹÖÁ `X:\´«Ææ¿Í»§¶Ë\Data\`£¨·Ç×ÓÎļþ¼ÐǶÌ×£©
3. ʹÓÃWEMADE×ÊԴУÑ鹤¾ß¼ì²éÎļþ¹þÏ£Öµ
#### 3. **¹Ø¼üÅäÖÃÎļþÉó¼Æ**
- **!Setup.txt²ÎÊýÑéÖ¤**£º
```ini
[Setup]
ShowFashionWindow=1 ; ʱװ½çÃæ¿ª¹Ø
ShowTitleWindow=1 ; ³ÆºÅ½çÃæ¿ª¹Ø
RankLevelNamePosX=320 ; ³ÆºÅÏÔʾX×ø±ê
RankLevelNamePosY=200 ; ³ÆºÅÏÔʾY×ø±ê
```
**
#### 4. **½Å±¾Âß¼Éî¶È·ÖÎö**
- **³ÆºÅ´¥·¢½Å±¾Ê¾Àý**£º
```lua
[@Main]
#IF
CHECKTITLE ɳ³Ç°ÔÖ÷ ; ¼ì²â³ÆºÅ´æÔÚÐÔ
#ACT
ShowTitle 1 ; ÏÔʾ³ÆºÅ±êʶ
OpenTitleWindow ; ¼¤»î½çÃæ°´Å¥
```
*ȱÉÙ`OpenTitleWindow`½«µ¼Ö°´Å¥ÎÞÏìÓ¦*
---
### Èý¡¢Áù´óÐÞ¸´·½°¸Óëʵ²ÙÑÝʾ
#### ·½°¸Ò»£ºÒýÇæ-µÇ¼Æ÷°æ±¾Éý¼¶£¨ÍƼö£©
1. **²Ù×÷Á÷³Ì**£º
- ÏÂÔØBLUEÒýÇæ0825+ÍêÕû°ü£¨º¬LoginGate£©
- Ìæ»»·þÎñ¶Ë`Mir200`Ŀ¼ÏµÄ`M2Server.exe`
- ʹÓÃÅäÌ׵ǼÆ÷Éú³ÉÆ÷ÖØÐÂÉú³ÉµÇ¼Æ÷
2. **±Ü¿ÓÖ¸ÄÏ**£º
- Éý¼¶Ç°±¸·Ý`DBServer`ϵĽÇÉ«Êý¾ÝÎļþ
- ¼ì²é`!Servertable.txt`µÄ¶Ë¿ÚÊÇ·ñ³åÍ»
#### ·½°¸¶þ£º¿Í»§¶Ë²¹¶¡ÐÞ¸´
1. **Áù¸ñ²¹¶¡Ç¿ÖƼÓÔØ**£º
- ½«`NewUI.pak`¸´ÖÆÖÁ¿Í»§¶Ë`Data`Ŀ¼
- ÐÞ¸Ä`Config.ini`£º
```ini
[Resources]
ForceLoadPak=NewUI.pak
```
**
#### ·½°¸Èý£ºÊý¾Ý¿âÐÞÕý
1. **ʱװ±í½á¹¹ÑéÖ¤**£º
```sql
ALTER TABLE Items_Fashion
ADD COLUMN DisplayInWindow INT DEFAULT 1; -- Ôö¼ÓÏÔʾ¿ª¹Ø×Ö¶Î
```
*Ðèͬ²½¸üÐÂ`ItemDesc.dat`ÖеÄÎïÆ·ÃèÊö*
#### ·½°¸ËÄ£º½Å±¾Âß¼²¹È«
1. **¶¯Ì¬½çÃæ¼¤»î½Å±¾**£º
```lua
[@Login]
#IF
#ACT
; µÇÂ¼Ê±Ç¿ÖÆË¢Ð½çÃæ
DelayCall 1000 @ForceRefreshUI
[@ForceRefreshUI]
#ACT
OpenFashionWindow
OpenTitleWindow
```
#### ·½°¸Î壺»º´æÇåÀíÓë×ÊÔ´ÖØÔØ
1. **·þÎñ¶ËÖ¸Áî**£º
- M2¿ØÖÆÌ¨ÊäÈ룺`@ReloadClientRes`
- ÔÙÊäÈ룺`@ReloadNpcScript`
2. **¿Í»§¶ËÇåÀí**£º
- ɾ³ý`Data\Local`Îļþ¼Ð
- Çå¿Õ`Wemir.log`ÈÕÖ¾Îļþ
#### ·½°¸Áù£º·´½Ù³ÖÓ밲ȫ¼Ó¹Ì
1. **²¡¶¾²éɱ**£º
- ʹÓþ޶ÜLPKרɱ¹¤¾ßɨÃè·þÎñ¶Ë
- ¼ì²é`M2Server.exe`µÄÊý×ÖÇ©ÃûÊÇ·ñÓÐЧ
---
### ËÄ¡¢½ø½×µ÷ÊÔ£º¿ª·¢Õß¹¤¾ßÓ¦ÓÃ
#### 1. **WIL±à¼Æ÷¶¨Î»×ÊÔ´ID**
- ´ò¿ª`Prguse.wzl` → ËÑË÷"ʱװ" → ¼Ç¼ͼƬÆðʼID
- ÐÞ¸Ä`FashionWindow.xml`ÖеÄ`ImageID`²ÎÊý
#### 2. **·â°ü½ØÈ¡·ÖÎö**
```bash
# ʹÓÃWPE½ØÈ¡½çÃæÇëÇó·â°ü
tcpdump -i eth0 port 7000 -w ui_packet.pcap
```
- ·ÖÎöÊÇ·ñ´æÔÚ`0x0A3B`£¨½çÃæ³õʼ»¯Ö¸Á
#### 3. **ÄÚ´æ¶Ïµãµ÷ÊÔ**
- ʹÓÃCE²éÕÒ`IsWindowVisible`º¯ÊýµØÖ·
- ÔÚODÖÐ϶ϵã¹Û²ì½çÃæ¼ÓÔØÁ÷³Ì
---
### Îå¡¢ÐÐÒµ¾¯Ê¾Ó볤ЧÔËά½¨Òé
1. **°æ±¾¹ÜÀí¹æ·¶**
- ½¨Á¢ÒýÇæ-µÇ¼Æ÷-¿Í»§¶Ë°æ±¾¶ÔÕÕ±í
- ʹÓÃGit¶Ô`Mir200`Ŀ¼½øÐбä¸ü×·×Ù
2. **×Ô¶¯»¯¼à¿ØÌåϵ**
```python
# ʾÀý£º½çÃæ×´Ì¬¼à¿Ø½Å±¾
def check_ui_status():
while True:
if not get_process_memory('Client.exe', 0x0045A3D0):
send_alert("UIÄ£¿éδ¼ÓÔØ")
time.sleep(60)
```
3. **·¨ÂɺϹæÌáʾ**
- ʹÓÃ0825+ÒýÇæÐèÈ¡µÃʢȤÓÎÏ·ÊéÃæÊÚȨ£¨2024ÄêËßËϰ¸Àý£©
- ±ÜÃâÐÞ¸Ä`bluem2_client.dat`µÄ°æÈ¨±êʶ
---
### Ò»¡¢ºËÐÄÔÒò¶¨Î»£ºÈýά½»²æÑéÖ¤·¨
#### 1. **ÒýÇæ-µÇ¼Æ÷°æ±¾²»Æ¥Å䣨ռ±È42%£©**
- **ÏÖÏóÌØÕ÷**£º
- µ¥»ú²âÊÔʱ½çÃæÈ±Ê§£¬ÍâÍøÕý³£ÏÔʾ
- µÇ¼Æ÷°æ±¾ºÅÏÔʾΪ"0508"»ò¸üµÍ
- **µ×²ãÂß¼**£º
BLUEÒýÇæ×Ô0825°æ±¾ÆðÕýʽ֧³Ö **Áù¸ñ½çÃæÓ붯̬ʱװϵͳ**¡£ÈôʹÓþɰæµÇ¼Æ÷£¨Èç0508£©£¬¼´Ê¹·þÎñ¶ËÅäÖÃÕýÈ·£¬¿Í»§¶ËÒ²ÎÞ·¨äÖȾнçÃæÄ£¿é¡£
#### 2. **¿Í»§¶Ë²¹¶¡Òì³££¨Õ¼±È31%£©**
- **¹Ø¼üÎļþÑéÖ¤**£º
| Îļþ·¾¶ | ¹¦ÄÜÃèÊö | ȱʧºó¹û |
|--------------------------|----------------------------|--------------------|
| Data\Prguse.wzl | ½çÃæ»ù´¡×ÊÔ´¿â | È«²¿UIÔªËØÏûʧ |
| Data\NewopUI.Pak | Áù¸ñ/Ê±×°Ãæ°å | ÌØ¶¨½çÃæºÚÆÁ |
| Data\bluem2_client.dat | ÒýÇæäÖȾºËÐÄ£¨ºÏ»÷°æ£© | ½çÃæ²¼¾Ö´íÂÒ |
**
#### 3. **Êý¾Ý¿âÓë½Å±¾ÅäÖôíÎó£¨Õ¼±È19%£©**
- **×Ö¶ÎÑéÖ¤Çåµ¥**£º
```sql
-- ¼ì²éʱװ±í(Items_Fashion)¹Ø¼ü×Ö¶Î
SELECT Name, Shape, AniCount, NeedLevel
FROM Items_Fashion
WHERE NeedLevel=0 AND Shape IN (100,101) -- ShapeÖµ¾ö¶¨ÊÇ·ñÏÔʾÔÚ½çÃæ
```
**
---
### ¶þ¡¢ÏµÍ³»¯ÅŲéÁ÷³Ì
#### 1. **°æ±¾Æ¥ÅäÐÔ¼ì²â**
- **²Ù×÷²½Öè**£º
1. ´ò¿ªM2Server → ²é¿´ → °æ±¾ÐÅÏ¢ → È·ÈÏÒýÇæ°æ±¾≥0825
2. µÇ¼Æ÷ÊôÐÔ → ÏêϸÐÅÏ¢ → Îļþ°æ±¾ÐèÓëÒýÇæÍ¬²½
3. ±È¶Ô`!Setup.txt`ÖÐ`ClientVersion=20******`Óë¿Í»§¶Ëʵ¼Ê°æ±¾
#### 2. **¿Í»§¶ËÍêÕûÐÔУÑé**
- **´¿¾»¿Í»§¶Ë¹¹½¨**£º
1. ÏÂÔØ **ÈÈѪ´«ÆæÊ®¶þÖÜÄê¿Í»§¶Ë**
2. ½«²¹¶¡Îļþ½âѹÖÁ `X:\´«Ææ¿Í»§¶Ë\Data\`£¨·Ç×ÓÎļþ¼ÐǶÌ×£©
3. ʹÓÃWEMADE×ÊԴУÑ鹤¾ß¼ì²éÎļþ¹þÏ£Öµ
#### 3. **¹Ø¼üÅäÖÃÎļþÉó¼Æ**
- **!Setup.txt²ÎÊýÑéÖ¤**£º
```ini
[Setup]
ShowFashionWindow=1 ; ʱװ½çÃæ¿ª¹Ø
ShowTitleWindow=1 ; ³ÆºÅ½çÃæ¿ª¹Ø
RankLevelNamePosX=320 ; ³ÆºÅÏÔʾX×ø±ê
RankLevelNamePosY=200 ; ³ÆºÅÏÔʾY×ø±ê
```
**
#### 4. **½Å±¾Âß¼Éî¶È·ÖÎö**
- **³ÆºÅ´¥·¢½Å±¾Ê¾Àý**£º
```lua
[@Main]
#IF
CHECKTITLE ɳ³Ç°ÔÖ÷ ; ¼ì²â³ÆºÅ´æÔÚÐÔ
#ACT
ShowTitle 1 ; ÏÔʾ³ÆºÅ±êʶ
OpenTitleWindow ; ¼¤»î½çÃæ°´Å¥
```
*ȱÉÙ`OpenTitleWindow`½«µ¼Ö°´Å¥ÎÞÏìÓ¦*
---
### Èý¡¢Áù´óÐÞ¸´·½°¸Óëʵ²ÙÑÝʾ
#### ·½°¸Ò»£ºÒýÇæ-µÇ¼Æ÷°æ±¾Éý¼¶£¨ÍƼö£©
1. **²Ù×÷Á÷³Ì**£º
- ÏÂÔØBLUEÒýÇæ0825+ÍêÕû°ü£¨º¬LoginGate£©
- Ìæ»»·þÎñ¶Ë`Mir200`Ŀ¼ÏµÄ`M2Server.exe`
- ʹÓÃÅäÌ׵ǼÆ÷Éú³ÉÆ÷ÖØÐÂÉú³ÉµÇ¼Æ÷
2. **±Ü¿ÓÖ¸ÄÏ**£º
- Éý¼¶Ç°±¸·Ý`DBServer`ϵĽÇÉ«Êý¾ÝÎļþ
- ¼ì²é`!Servertable.txt`µÄ¶Ë¿ÚÊÇ·ñ³åÍ»
#### ·½°¸¶þ£º¿Í»§¶Ë²¹¶¡ÐÞ¸´
1. **Áù¸ñ²¹¶¡Ç¿ÖƼÓÔØ**£º
- ½«`NewUI.pak`¸´ÖÆÖÁ¿Í»§¶Ë`Data`Ŀ¼
- ÐÞ¸Ä`Config.ini`£º
```ini
[Resources]
ForceLoadPak=NewUI.pak
```
**
#### ·½°¸Èý£ºÊý¾Ý¿âÐÞÕý
1. **ʱװ±í½á¹¹ÑéÖ¤**£º
```sql
ALTER TABLE Items_Fashion
ADD COLUMN DisplayInWindow INT DEFAULT 1; -- Ôö¼ÓÏÔʾ¿ª¹Ø×Ö¶Î
```
*Ðèͬ²½¸üÐÂ`ItemDesc.dat`ÖеÄÎïÆ·ÃèÊö*
#### ·½°¸ËÄ£º½Å±¾Âß¼²¹È«
1. **¶¯Ì¬½çÃæ¼¤»î½Å±¾**£º
```lua
[@Login]
#IF
#ACT
; µÇÂ¼Ê±Ç¿ÖÆË¢Ð½çÃæ
DelayCall 1000 @ForceRefreshUI
[@ForceRefreshUI]
#ACT
OpenFashionWindow
OpenTitleWindow
```
#### ·½°¸Î壺»º´æÇåÀíÓë×ÊÔ´ÖØÔØ
1. **·þÎñ¶ËÖ¸Áî**£º
- M2¿ØÖÆÌ¨ÊäÈ룺`@ReloadClientRes`
- ÔÙÊäÈ룺`@ReloadNpcScript`
2. **¿Í»§¶ËÇåÀí**£º
- ɾ³ý`Data\Local`Îļþ¼Ð
- Çå¿Õ`Wemir.log`ÈÕÖ¾Îļþ
#### ·½°¸Áù£º·´½Ù³ÖÓ밲ȫ¼Ó¹Ì
1. **²¡¶¾²éɱ**£º
- ʹÓþ޶ÜLPKרɱ¹¤¾ßɨÃè·þÎñ¶Ë
- ¼ì²é`M2Server.exe`µÄÊý×ÖÇ©ÃûÊÇ·ñÓÐЧ
---
### ËÄ¡¢½ø½×µ÷ÊÔ£º¿ª·¢Õß¹¤¾ßÓ¦ÓÃ
#### 1. **WIL±à¼Æ÷¶¨Î»×ÊÔ´ID**
- ´ò¿ª`Prguse.wzl` → ËÑË÷"ʱװ" → ¼Ç¼ͼƬÆðʼID
- ÐÞ¸Ä`FashionWindow.xml`ÖеÄ`ImageID`²ÎÊý
#### 2. **·â°ü½ØÈ¡·ÖÎö**
```bash
# ʹÓÃWPE½ØÈ¡½çÃæÇëÇó·â°ü
tcpdump -i eth0 port 7000 -w ui_packet.pcap
```
- ·ÖÎöÊÇ·ñ´æÔÚ`0x0A3B`£¨½çÃæ³õʼ»¯Ö¸Á
#### 3. **ÄÚ´æ¶Ïµãµ÷ÊÔ**
- ʹÓÃCE²éÕÒ`IsWindowVisible`º¯ÊýµØÖ·
- ÔÚODÖÐ϶ϵã¹Û²ì½çÃæ¼ÓÔØÁ÷³Ì
---
### Îå¡¢ÐÐÒµ¾¯Ê¾Ó볤ЧÔËά½¨Òé
1. **°æ±¾¹ÜÀí¹æ·¶**
- ½¨Á¢ÒýÇæ-µÇ¼Æ÷-¿Í»§¶Ë°æ±¾¶ÔÕÕ±í
- ʹÓÃGit¶Ô`Mir200`Ŀ¼½øÐбä¸ü×·×Ù
2. **×Ô¶¯»¯¼à¿ØÌåϵ**
```python
# ʾÀý£º½çÃæ×´Ì¬¼à¿Ø½Å±¾
def check_ui_status():
while True:
if not get_process_memory('Client.exe', 0x0045A3D0):
send_alert("UIÄ£¿éδ¼ÓÔØ")
time.sleep(60)
```
3. **·¨ÂɺϹæÌáʾ**
- ʹÓÃ0825+ÒýÇæÐèÈ¡µÃʢȤÓÎÏ·ÊéÃæÊÚȨ£¨2024ÄêËßËϰ¸Àý£©
- ±ÜÃâÐÞ¸Ä`bluem2_client.dat`µÄ°æÈ¨±êʶ

