ÔÚ´«Ææ£¨Private Server£©ÖУ¬±¦ÏäϵͳÊÇÎüÒýÍæ¼Ò²ÎÓëºÍÌáÉýÓÎϷȤζÐÔµÄÖØÒª¹¦ÄÜÖ®Ò»¡£Í¨¹ýÉè¼ÆÒ»¸ö´øÓÐËæ»ú½±ÀøµÄ±¦Ïä½Å±¾£¬Íæ¼Ò¿ÉÒÔÔÚ²åÈëÔ¿³×ºó£¬ÌåÑéÀàËÆ“9¸ñתÅÌ”µÄ³é½±Ð§¹û£¬×îÖÕ»ñµÃËæ»ú½±Àø¡£±¾ÎĽ«Ïêϸ½éÉÜÈçºÎÉè¼Æ²¢ÊµÏÖÕâÒ»±¦Ïä½Å±¾£¬º¸ÇתÅÌЧ¹û¡¢Ëæ»ú½±ÀøÂß¼ÒÔ¼°½Å±¾µÄ¾ßÌåʵÏÖ·½·¨¡£
---
### Ò»¡¢±¦Ïä½Å±¾µÄ»ù±¾¹¦ÄÜ
1. **²åÈëÔ¿³×´¥·¢**£º
- Íæ¼ÒÐèҪʹÓÃÔ¿³×µÀ¾ßÀ´¿ªÆô±¦Ïä¡£
- ²åÈëÔ¿³×ºó£¬±¦ÏäÆô¶¯×ªÅÌЧ¹û¡£
2. **9¸ñתÅÌЧ¹û**£º
- ±¦Ïä½çÃæÏÔʾ9¸ö¸ñ×Ó£¬Ã¿¸ö¸ñ×Ó¶ÔÓ¦²»Í¬µÄ½±Àø¡£
- תÅÌ¿ªÊ¼Ðýת£¬×îÖÕÍ£ÔÚÆäÖÐÒ»¸ö¸ñ×ÓÉÏ¡£
3. **Ëæ»ú½±ÀøÂß¼**£º
- ÿ¸ö¸ñ×Ó¶ÔÓ¦²»Í¬µÄ½±Àø£¨ÈçÔª±¦¡¢×°±¸¡¢¾ÑéµÈ£©¡£
- ½±ÀøµÄ·ÖÅä¿ÉÒÔ¸ù¾Ý¸ÅÂʽøÐÐÉèÖá£
4. **½±Àø·¢·Å**£º
- תÅÌÍ£Ö¹ºó£¬ÏµÍ³×Ô¶¯·¢·Å¶ÔÓ¦¸ñ×ӵĽ±Àø¡£
---
### ¶þ¡¢½Å±¾Éè¼ÆË¼Â·
ÒÔÏÂÊÇÒ»¸ö»ùÓÚLua½Å±¾µÄʵÏÖ˼·£¬¼ÙÉèÒýÇæÖ§³ÖLua½Å±¾À©Õ¹¡£
#### 1. ¶¨Ò屦ÏäºÍ½±Àø
```lua
-- ±¦ÏäIDºÍÃû³Æ
local chestID = 1001
local chestName = "ÉñÃØ±¦Ïä"
-- 9¸ö¸ñ×ӵĽ±ÀøÅäÖÃ
local rewards = {
{item = "Ôª±¦", amount = 100, probability = 20}, -- 20%¸ÅÂÊ»ñµÃ100Ôª±¦
{item = "Ôª±¦", amount = 200, probability = 15}, -- 15%¸ÅÂÊ»ñµÃ200Ôª±¦
{item = "Ôª±¦", amount = 500, probability = 5}, -- 5%¸ÅÂÊ»ñµÃ500Ôª±¦
{item = "×°±¸", name = "ÍÀÁúµ¶", probability = 10}, -- 10%¸ÅÂÊ»ñµÃÍÀÁúµ¶
{item = "×°±¸", name = "Ê¥Õ½½äÖ¸", probability = 10}, -- 10%¸ÅÂÊ»ñµÃÊ¥Õ½½äÖ¸
{item = "¾Ñé", amount = 10000, probability = 20}, -- 20%¸ÅÂÊ»ñµÃ10000¾Ñé
{item = "¾Ñé", amount = 20000, probability = 10}, -- 10%¸ÅÂÊ»ñµÃ20000¾Ñé
{item = "¿Õ", probability = 5}, -- 5%¸ÅÂÊ»ñµÃ¿Õ½±Àø
{item = "ÌØÊâµÀ¾ß", name = "¸´»îʯ", probability = 5} -- 5%¸ÅÂÊ»ñµÃ¸´»îʯ
}
```
#### 2. ²åÈëÔ¿³×´¥·¢±¦Ïä
```lua
-- Íæ¼Ò²åÈëÔ¿³×ʱµÄ»Øµ÷º¯Êý
function OnUseKey(player, chest)
if chest:GetID() == chestID then
-- ¼ì²éÍæ¼ÒÊÇ·ñÓÐÔ¿³×
if player:HasItem("±¦ÏäÔ¿³×", 1) then
player:RemoveItem("±¦ÏäÔ¿³×", 1) -- ÏûºÄÔ¿³×
StartChestSpin(player) -- Æô¶¯±¦ÏäתÅÌ
else
player:SendMessage("ÄãûÓб¦ÏäÔ¿³×£¬ÎÞ·¨¿ªÆô±¦Ïä¡£")
end
end
end
```
#### 3. Æô¶¯±¦ÏäתÅÌ
```lua
-- Æô¶¯±¦ÏäתÅÌ
function StartChestSpin(player)
player:SendMessage("±¦ÏäÆô¶¯ÖУ¬ÇëÉÔºò...")
-- Ä£ÄâתÅÌÐýתЧ¹û
for i = 1, 10 do
player:SendMessage("תÅÌÐýתÖÐ... (" .. i .. "/10)")
Sleep(500) -- Ä£ÄâÑÓ³Ù£¬µ¥Î»£ººÁÃë
end
-- Ëæ»úÑ¡ÔñÒ»¸ö½±Àø
local reward = GetRandomReward()
GiveReward(player, reward) -- ·¢·Å½±Àø
end
```
#### 4. Ëæ»úÑ¡Ôñ½±Àø
```lua
-- ¸ù¾Ý¸ÅÂÊËæ»úÑ¡ÔñÒ»¸ö½±Àø
function GetRandomReward()
local totalProbability = 0
for _, reward in ipairs(rewards) do
totalProbability = totalProbability + reward.probability
end
local randomValue = math.random(1, totalProbability)
local cumulativeProbability = 0
for _, reward in ipairs(rewards) do
cumulativeProbability = cumulativeProbability + reward.probability
if randomValue <= cumulativeProbability then
return reward
end
end
end
```
#### 5. ·¢·Å½±Àø
```lua
-- ·¢·Å½±Àø¸øÍæ¼Ò
function GiveReward(player, reward)
if reward.item == "Ôª±¦" then
player:AddYuanbao(reward.amount)
player:SendMessage("¹§Ï²Äã»ñµÃ" .. reward.amount .. "Ôª±¦£¡")
elseif reward.item == "×°±¸" then
player:AddItem(reward.name, 1)
player:SendMessage("¹§Ï²Äã»ñµÃ×°±¸£º" .. reward.name .. "£¡")
elseif reward.item == "¾Ñé" then
player:AddExp(reward.amount)
player:SendMessage("¹§Ï²Äã»ñµÃ" .. reward.amount .. "¾Ñ飡")
elseif reward.item == "ÌØÊâµÀ¾ß" then
player:AddItem(reward.name, 1)
player:SendMessage("¹§Ï²Äã»ñµÃÌØÊâµÀ¾ß£º" .. reward.name .. "£¡")
elseif reward.item == "¿Õ" then
player:SendMessage("ºÜÒź¶£¬±¾´Îδ»ñµÃÈκν±Àø¡£")
end
end
```
---
### Èý¡¢¹Ø¼üµã½âÎö
1. **½±Àø¸ÅÂÊÅäÖÃ**£º
- ÿ¸ö¸ñ×ӵĽ±ÀøÅäÖÃÁ˲»Í¬µÄ¸ÅÂÊ£¬È·±£½±Àø·ÖÅäµÄËæ»úÐÔ¡£
2. **תÅÌЧ¹ûÄ£Äâ**£º
- ͨ¹ýÑ»·ºÍÑÓ³ÙÄ£ÄâתÅÌÐýתµÄЧ¹û£¬ÔöÇ¿Íæ¼ÒµÄ²ÎÓë¸Ð¡£
3. **Ëæ»ú½±ÀøÂß¼**£º
- ʹÓÃ`math.random`º¯Êý¸ù¾Ý¸ÅÂÊËæ»úÑ¡ÔñÒ»¸ö½±Àø¡£
4. **½±Àø·¢·Å**£º
- ¸ù¾Ý½±ÀøÀàÐÍ£¨Ôª±¦¡¢×°±¸¡¢¾ÑéµÈ£©£¬µ÷ÓÃÏàÓ¦µÄº¯Êý·¢·Å½±Àø¡£
---
### ËÄ¡¢À©Õ¹¹¦ÄÜ
1. **¶à±¶½±Àø»úÖÆ**£º
- ¿ÉÒÔÉè¼Æ¶à±¶½±Àø»úÖÆ£¬ÀýÈçʹÓÓÐÒÔË·û”µÀ¾ßÌáÉý½±Àø±¶Êý¡£
2. **±¦ÏäµÈ¼¶**£º
- ¸ù¾Ý±¦ÏäµÈ¼¶ÉèÖò»Í¬µÄ½±Àø³Ø£¬¸ßµÈ¼¶±¦Ïä½±Àø¸ü·áºñ¡£
3. **תÅ̶¯»**£º
- Èç¹ûÒýÇæÖ§³Ö£¬¿ÉÒÔÌí¼ÓתÅ̶¯»Ð§¹û£¬ÌáÉýÊÓ¾õÌåÑé¡£
4. **±£µ×½±Àø**£º
- ÉèÖñ£µ×½±Àø»úÖÆ£¬ÀýÈçÁ¬Ðø¶à´Îδ»ñµÃ½±Àøºó£¬±Ø¶¨»ñµÃÏ¡ÓеÀ¾ß¡£
---
### Îå¡¢×ܽá
ͨ¹ýÉè¼ÆÒ»¸ö´øÓÐ9¸ñתÅÌЧ¹ûµÄ±¦Ïä½Å±¾£¬¿ÉÒÔÏÔÖøÌáÉý´«ÆæµÄÓÎϷȤζÐÔºÍÍæ¼Ò²ÎÓë¶È¡£±¾ÎÄÏêϸ½éÉÜÁ˱¦Ïä½Å±¾µÄÉè¼ÆË¼Â·ºÍʵÏÖ·½·¨£¬°üÀ¨×ªÅÌЧ¹û¡¢Ëæ»ú½±ÀøÂß¼ÒÔ¼°½±Àø·¢·Å»úÖÆ¡£¿ª·¢Õß¿ÉÒÔ¸ù¾Ýʵ¼ÊÐèÇ󣬽øÒ»²½À©Õ¹½Å±¾¹¦ÄÜ£¬´òÔì¸ü¼Ó·á¸»¶àÑùµÄ±¦Ïäϵͳ¡£
---
### ¸½Â¼£º³£¼ûÎÊÌâÓë½â¾ö·½°¸
1. **תÅÌЧ¹û¿¨¶Ù**£º
- ÓÅ»¯½Å±¾ÖеÄÑÓ³ÙÂß¼£¬±ÜÃâÒòÑÓ³Ù¹ý³¤µ¼Ö¿¨¶Ù¡£
2. **½±Àø¸ÅÂʲ»×¼È·**£º
- È·±£¸ÅÂÊ×ܺÍΪ100£¬²¢¼ì²éËæ»úÊýÉú³ÉÂß¼¡£
3. **½±ÀøÎ´·¢·Å**£º
- ¼ì²é½±Àø·¢·Åº¯ÊýÊÇ·ñÕýÈ·µ÷Ó㬲¢È·±£Íæ¼Ò±³°üÓÐ×ã¹»¿Õ¼ä¡£
4. **¶àÍæ¼Òͬʱ¿ªÆô±¦Ïä**£º
- È·±£±¦Ïä½Å±¾Ö§³Ö¶àÍæ¼Òͬʱ²Ù×÷£¬±ÜÃâÊý¾Ý³åÍ»¡£
ͨ¹ýÒÔÉÏ·½·¨£¬Äú¿ÉÒÔÇáËÉʵÏÖ´«ÆæÖеı¦Ïä½Å±¾£¬ÎªÍæ¼Ò´øÀ´¸ü¶àÀÖȤºÍ¾ªÏ²£¡
ÔÚ´«ÆæÖУ¬±¦ÏäÍæ·¨Ò»Ö±ÊÇÉîÊÜÍæ¼Òϲ°®µÄÌØÉ«ÄÚÈÝÖ®Ò»¡£ÄÇÖÖ²åÈëÔ¿³×ºó£¬¾Å¸ö¿ò¿ò·ÉËÙת¶¯£¬×îÖÕ¶¨¸ñ»ñµÃ½±ÀøµÄ½ôÕŴ̼¤¸Ð£¬ÎªÓÎÏ·ÔöÌíÁËÎÞÏÞÀÖȤ¡£±¾ÎĽ«Ïêϸ½éÉÜÈçºÎ±àдһ¸ö´«Ææ±¦Ïä½Å±¾£¬ÊµÏÖ²åÈëÔ¿³×ºó¾Å¸ö¿ò¿òת¶¯²¢Ëæ»ú»ñµÃÆäÖÐÒ»¸ö½±ÀøµÄ¹¦ÄÜ¡£
## ½Å±¾ÊµÏÖµÄÕûÌå˼·
ҪʵÏÖ±¦Ïä½Å±¾£¬Ö÷Òª·ÖΪÒÔϼ¸¸ö²½Ö裺Ê×ÏÈÊdzõʼ»¯±¦Ïä½çÃæ£¬ÏÔʾ¾Å¸ö¿ò¿ò£»½Ó×ÅÄ£Äâ²åÈëÔ¿³×µÄ²Ù×÷£»È»ºóÈÿò¿ò¿ªÊ¼×ª¶¯£»×îºóËæ»úֹͣת¶¯²¢È·¶¨Íæ¼Ò»ñµÃµÄ½±Àø¡£
## ½Å±¾±àдǰµÄ×¼±¸
### È·¶¨½±ÀøÁбí
ÔÚ±àд½Å±¾Ö®Ç°£¬ÐèÒªÃ÷È·±¦ÏäÖеĽ±ÀøÄÚÈÝ¡£¿ÉÒÔ×¼±¸Ò»¸ö°üº¬¸÷ÖÖ½±ÀøµÄÁÐ±í£¬ÀýÈ磺
| ½±Àø±àºÅ | ½±ÀøÃû³Æ |
| --- | --- |
| 1 | ÍÀÁúµ¶ |
| 2 | ħ·¨³¤ÅÛ |
| 3 | Õ½Éñ¿ø¼× |
| 4 | ×£¸£ÓÍ |
| 5 | Ì«ÑôË® |
| 6 | ǿЧħ·¨Ò© |
| 7 | Á¶Óü |
| 8 | ²Ã¾öÖ®ÕÈ |
| 9 | ÉúÃüÏîÁ´ |
### ×¼±¸½Å±¾±àд»·¾³
ÎÒÃÇÒÔ³£¼ûµÄ Mir2 ½Å±¾ÓïÑÔΪÀý½øÐбàд£¬È·±£ÄãÒѾÊìϤ¸Ã½Å±¾ÓïÑԵĻù±¾Óï·¨ºÍÃüÁî¡£
## ±¦Ïä½Å±¾µÄÏêϸ±àд
### ³õʼ»¯±¦Ïä½çÃæ
```plaintext
// ³õʼ»¯±¦Ïä½çÃæ½Å±¾
[@OpenTreasureBoxUI]
#IF
#ACT
// ÏÔʾ±¦Ïä½çÃæÌáʾÐÅÏ¢
SENDMSG 0 ÄãÃæÇ°³öÏÖÁËÒ»¸öÉñÃØµÄ±¦Ï䣬²åÈëÔ¿³×¼´¿É¿ªÆô£¡
// ³õʼ»¯¾Å¸ö¿ò¿òµÄÏÔʾ
SET @Box1Reward 1 // ¼ÙÉè¿ò 1 ³õʼÏÔʾ½±Àø±àºÅΪ 1 µÄÍÀÁúµ¶
SET @Box2Reward 2
SET @Box3Reward 3
SET @Box4Reward 4
SET @Box5Reward 5
SET @Box6Reward 6
SET @Box7Reward 7
SET @Box8Reward 8
SET @Box9Reward 9
// ÏÔʾ¾Å¸ö¿ò¿òµÄ½±ÀøÐÅÏ¢
SENDMSG 0 ¿ò 1: [½±Àø±àºÅ: @Box1Reward]
SENDMSG 0 ¿ò 2: [½±Àø±àºÅ: @Box2Reward]
SENDMSG 0 ¿ò 3: [½±Àø±àºÅ: @Box3Reward]
SENDMSG 0 ¿ò 4: [½±Àø±àºÅ: @Box4Reward]
SENDMSG 0 ¿ò 5: [½±Àø±àºÅ: @Box5Reward]
SENDMSG 0 ¿ò 6: [½±Àø±àºÅ: @Box6Reward]
SENDMSG 0 ¿ò 7: [½±Àø±àºÅ: @Box7Reward]
SENDMSG 0 ¿ò 8: [½±Àø±àºÅ: @Box8Reward]
SENDMSG 0 ¿ò 9: [½±Àø±àºÅ: @Box9Reward]
```
### ²åÈëÔ¿³×²Ù×÷
```plaintext
// ²åÈëÔ¿³×½Å±¾
[@InsertKey]
#IF
HAVEITEM ±¦ÏäÔ¿³× 1 // ¼ì²éÍæ¼ÒÊÇ·ñÓµÓб¦ÏäÔ¿³×
#ACT
// ¿Û³ýÍæ¼ÒµÄ±¦ÏäÔ¿³×
TAKE ±¦ÏäÔ¿³× 1
// ÌáÊ¾Íæ¼ÒÔ¿³×ÒѲåÈ룬¿ò¿ò¿ªÊ¼×ª¶¯
SENDMSG 0 Äã²åÈëÁ˱¦ÏäÔ¿³×£¬±¦ÏäµÄ¾Å¸ö¿ò¿ò¿ªÊ¼×ª¶¯£¡
// µ÷Óÿò¿òת¶¯½Å±¾
Goto @RotateBoxes
```
### ¿ò¿òת¶¯½Å±¾
```plaintext
// ¿ò¿òת¶¯½Å±¾
[@RotateBoxes]
#IF
#ACT
// Ä£Äâ¿ò¿òת¶¯Ò»¶¨´ÎÊý
For 10 // ת¶¯ 10 ´Î£¬¿É¸ù¾Ýʵ¼ÊÇé¿öµ÷Õû
// ´òÂҾŸö¿ò¿òµÄ½±Àø±àºÅ˳Ðò
RANDOM 1 9 @NewBox1Reward
RANDOM 1 9 @NewBox2Reward
RANDOM 1 9 @NewBox3Reward
RANDOM 1 9 @NewBox4Reward
RANDOM 1 9 @NewBox5Reward
RANDOM 1 9 @NewBox6Reward
RANDOM 1 9 @NewBox7Reward
RANDOM 1 9 @NewBox8Reward
RANDOM 1 9 @NewBox9Reward
// ¸üпò¿òÏÔʾµÄ½±Àø±àºÅ
SET @Box1Reward @NewBox1Reward
SET @Box2Reward @NewBox2Reward
SET @Box3Reward @NewBox3Reward
SET @Box4Reward @NewBox4Reward
SET @Box5Reward @NewBox5Reward
SET @Box6Reward @NewBox6Reward
SET @Box7Reward @NewBox7Reward
SET @Box8Reward @NewBox8Reward
SET @Box9Reward @NewBox9Reward
// ÏÔʾµ±Ç°¿ò¿òת¶¯ºóµÄ½±ÀøÐÅÏ¢
SENDMSG 0 ¿ò 1: [½±Àø±àºÅ: @Box1Reward]
SENDMSG 0 ¿ò 2: [½±Àø±àºÅ: @Box2Reward]
SENDMSG 0 ¿ò 3: [½±Àø±àºÅ: @Box3Reward]
SENDMSG 0 ¿ò 4: [½±Àø±àºÅ: @Box4Reward]
SENDMSG 0 ¿ò 5: [½±Àø±àºÅ: @Box5Reward]
SENDMSG 0 ¿ò 6: [½±Àø±àºÅ: @Box6Reward]
SENDMSG 0 ¿ò 7: [½±Àø±àºÅ: @Box7Reward]
SENDMSG 0 ¿ò 8: [½±Àø±àºÅ: @Box8Reward]
SENDMSG 0 ¿ò 9: [½±Àø±àºÅ: @Box9Reward]
// ÿ´Îת¶¯¼ä¸ôÒ»¶¨Ê±¼ä£¬Ôö¼ÓÕæÊµ¸Ð
DELAY 500
Next
// ת¶¯½áÊø£¬µ÷ÓÃÈ·¶¨½±Àø½Å±¾
Goto @DetermineReward
```
### È·¶¨½±Àø½Å±¾
```plaintext
// È·¶¨½±Àø½Å±¾
[@DetermineReward]
#IF
#ACT
// Ëæ»úÑ¡ÔñÒ»¸ö¿ò¿ò×÷Ϊ×îÖÕ½±Àø¿ò
RANDOM 1 9 @FinalBox
// ¸ù¾Ý×îÖÕ½±Àø¿òµÄ±àºÅÈ·¶¨½±Àø±àºÅ
IF
EQUAL @FinalBox 1
THENACT
SET @FinalReward @Box1Reward
ELSEIF
EQUAL @FinalBox 2
THENACT
SET @FinalReward @Box2Reward
ELSEIF
EQUAL @FinalBox 3
THENACT
SET @FinalReward @Box3Reward
ELSEIF
EQUAL @FinalBox 4
THENACT
SET @FinalReward @Box4Reward
ELSEIF
EQUAL @FinalBox 5
THENACT
SET @FinalReward @Box5Reward
ELSEIF
EQUAL @FinalBox 6
THENACT
SET @FinalReward @Box6Reward
ELSEIF
EQUAL @FinalBox 7
THENACT
SET @FinalReward @Box7Reward
ELSEIF
EQUAL @FinalBox 8
THENACT
SET @FinalReward @Box8Reward
ELSEIF
EQUAL @FinalBox 9
THENACT
SET @FinalReward @Box9Reward
ENDIF
// ¸ù¾Ý½±Àø±àºÅ·¢·Å½±Àø
IF
EQUAL @FinalReward 1
THENACT
ADDITEM ÍÀÁúµ¶ 1
SENDMSG 0 ¹§Ï²Äã»ñµÃÁËÍÀÁúµ¶£¡
ELSEIF
EQUAL @FinalReward 2
THENACT
ADDITEM ħ·¨³¤ÅÛ 1
SENDMSG 0 ¹§Ï²Äã»ñµÃÁËħ·¨³¤ÅÛ£¡
// ÒÔ´ËÀàÍÆ£¬ÎªÃ¿¸ö½±Àø±àºÅÌí¼Ó¶ÔÓ¦µÄ½±Àø·¢·ÅÂß¼
ELSE
SENDMSG 0 ºÜÒź¶£¬Î´ÕÒµ½¶ÔÓ¦µÄ½±Àø£¬¿ÉÄܳöÏÖÁË´íÎó¡£
ENDIF
```
## ½«½Å±¾Ó¦Óõ½´«Ææ
### ÕÒµ½ºÏÊʵĽű¾Îļþ
ͨ³£ÔÚ´«Ææ·þÎñ¶ËµÄ `D:\MirServer\Mir200\Envir\Market_Def` »ò `D:\MirServer\Mir200\Envir\QuestDiary` Îļþ¼ÐÏÂÕÒµ½Ïà¹ØµÄ½Å±¾Îļþ£¬ÀýÈç `QManage.txt` »ò `Quest.txt`¡£
### ²åÈë½Å±¾ÄÚÈÝ
½«ÉÏÊö±àдºÃµÄ½Å±¾ÄÚÈݰ´ÕÕ¶ÔÓ¦µÄ±êÇ©£¨Èç `[@OpenTreasureBoxUI]`¡¢`[@InsertKey]` µÈ£©²åÈëµ½½Å±¾ÎļþÖС£
### ±£´æ²¢ÖØÆô·þÎñ¶Ë
²åÈë½Å±¾ºó£¬±£´æ½Å±¾Îļþ£¬È»ºóÖØÆô´«ÆæµÄ·þÎñ¶Ë£¬Ê¹ÐµĽű¾ÉèÖÃÉúЧ¡£
## ×¢ÒâÊÂÏî
- **½±ÀøÆ½ºâ**£ºÔÚÉèÖý±ÀøÁбíʱ£¬Òª×¢Òâ½±ÀøµÄƽºâÐÔ£¬±ÜÃâ³öÏÖijЩ½±Àø¹ýÓÚÇ¿´ó»ò¹ýÓÚÈÝÒ×»ñµÃµÄÇé¿ö£¬Ó°ÏìÓÎÏ·µÄ¹«Æ½ÐÔºÍȤζÐÔ¡£
- **½Å±¾µ÷ÊÔ**£ºÔÚ½«½Å±¾Ó¦Óõ½Êµ¼ÊÓÎÏ·ÖÐ֮ǰ£¬Òª½øÐгä·ÖµÄµ÷ÊÔ£¬È·±£½Å±¾µÄÂß¼ÕýÈ·£¬¿ò¿òת¶¯¡¢½±Àø·¢·ÅµÈ¹¦Äܶ¼ÄÜÕý³£ÊµÏÖ¡£
- **¼æÈÝÐÔ**£º²»Í¬°æ±¾µÄ´«Ææ·þÎñ¶Ë¿ÉÄܶԽű¾µÄÓï·¨ºÍÃüÁîÓÐϸ΢²îÒ죬ÔÚʹÓýű¾Ê±ÒªÈ·±£ÆäÓëÄãËùʹÓõķþÎñ¶Ë°æ±¾¼æÈÝ¡£
ͨ¹ýÒÔÉϲ½Ö裬Äã¾Í¿ÉÒÔÔÚ´«ÆæÖÐʵÏÖÒ»¸öÓÐȤµÄ±¦Ïä½Å±¾£¬ÎªÍæ¼Ò´øÀ´¸ü¶àµÄ¾ªÏ²ºÍÀÖȤ¡£
---
### Ò»¡¢±¦Ïä½Å±¾µÄ»ù±¾¹¦ÄÜ
1. **²åÈëÔ¿³×´¥·¢**£º
- Íæ¼ÒÐèҪʹÓÃÔ¿³×µÀ¾ßÀ´¿ªÆô±¦Ïä¡£
- ²åÈëÔ¿³×ºó£¬±¦ÏäÆô¶¯×ªÅÌЧ¹û¡£
2. **9¸ñתÅÌЧ¹û**£º
- ±¦Ïä½çÃæÏÔʾ9¸ö¸ñ×Ó£¬Ã¿¸ö¸ñ×Ó¶ÔÓ¦²»Í¬µÄ½±Àø¡£
- תÅÌ¿ªÊ¼Ðýת£¬×îÖÕÍ£ÔÚÆäÖÐÒ»¸ö¸ñ×ÓÉÏ¡£
3. **Ëæ»ú½±ÀøÂß¼**£º
- ÿ¸ö¸ñ×Ó¶ÔÓ¦²»Í¬µÄ½±Àø£¨ÈçÔª±¦¡¢×°±¸¡¢¾ÑéµÈ£©¡£
- ½±ÀøµÄ·ÖÅä¿ÉÒÔ¸ù¾Ý¸ÅÂʽøÐÐÉèÖá£
4. **½±Àø·¢·Å**£º
- תÅÌÍ£Ö¹ºó£¬ÏµÍ³×Ô¶¯·¢·Å¶ÔÓ¦¸ñ×ӵĽ±Àø¡£
---
### ¶þ¡¢½Å±¾Éè¼ÆË¼Â·
ÒÔÏÂÊÇÒ»¸ö»ùÓÚLua½Å±¾µÄʵÏÖ˼·£¬¼ÙÉèÒýÇæÖ§³ÖLua½Å±¾À©Õ¹¡£
#### 1. ¶¨Ò屦ÏäºÍ½±Àø
```lua
-- ±¦ÏäIDºÍÃû³Æ
local chestID = 1001
local chestName = "ÉñÃØ±¦Ïä"
-- 9¸ö¸ñ×ӵĽ±ÀøÅäÖÃ
local rewards = {
{item = "Ôª±¦", amount = 100, probability = 20}, -- 20%¸ÅÂÊ»ñµÃ100Ôª±¦
{item = "Ôª±¦", amount = 200, probability = 15}, -- 15%¸ÅÂÊ»ñµÃ200Ôª±¦
{item = "Ôª±¦", amount = 500, probability = 5}, -- 5%¸ÅÂÊ»ñµÃ500Ôª±¦
{item = "×°±¸", name = "ÍÀÁúµ¶", probability = 10}, -- 10%¸ÅÂÊ»ñµÃÍÀÁúµ¶
{item = "×°±¸", name = "Ê¥Õ½½äÖ¸", probability = 10}, -- 10%¸ÅÂÊ»ñµÃÊ¥Õ½½äÖ¸
{item = "¾Ñé", amount = 10000, probability = 20}, -- 20%¸ÅÂÊ»ñµÃ10000¾Ñé
{item = "¾Ñé", amount = 20000, probability = 10}, -- 10%¸ÅÂÊ»ñµÃ20000¾Ñé
{item = "¿Õ", probability = 5}, -- 5%¸ÅÂÊ»ñµÃ¿Õ½±Àø
{item = "ÌØÊâµÀ¾ß", name = "¸´»îʯ", probability = 5} -- 5%¸ÅÂÊ»ñµÃ¸´»îʯ
}
```
#### 2. ²åÈëÔ¿³×´¥·¢±¦Ïä
```lua
-- Íæ¼Ò²åÈëÔ¿³×ʱµÄ»Øµ÷º¯Êý
function OnUseKey(player, chest)
if chest:GetID() == chestID then
-- ¼ì²éÍæ¼ÒÊÇ·ñÓÐÔ¿³×
if player:HasItem("±¦ÏäÔ¿³×", 1) then
player:RemoveItem("±¦ÏäÔ¿³×", 1) -- ÏûºÄÔ¿³×
StartChestSpin(player) -- Æô¶¯±¦ÏäתÅÌ
else
player:SendMessage("ÄãûÓб¦ÏäÔ¿³×£¬ÎÞ·¨¿ªÆô±¦Ïä¡£")
end
end
end
```
#### 3. Æô¶¯±¦ÏäתÅÌ
```lua
-- Æô¶¯±¦ÏäתÅÌ
function StartChestSpin(player)
player:SendMessage("±¦ÏäÆô¶¯ÖУ¬ÇëÉÔºò...")
-- Ä£ÄâתÅÌÐýתЧ¹û
for i = 1, 10 do
player:SendMessage("תÅÌÐýתÖÐ... (" .. i .. "/10)")
Sleep(500) -- Ä£ÄâÑÓ³Ù£¬µ¥Î»£ººÁÃë
end
-- Ëæ»úÑ¡ÔñÒ»¸ö½±Àø
local reward = GetRandomReward()
GiveReward(player, reward) -- ·¢·Å½±Àø
end
```
#### 4. Ëæ»úÑ¡Ôñ½±Àø
```lua
-- ¸ù¾Ý¸ÅÂÊËæ»úÑ¡ÔñÒ»¸ö½±Àø
function GetRandomReward()
local totalProbability = 0
for _, reward in ipairs(rewards) do
totalProbability = totalProbability + reward.probability
end
local randomValue = math.random(1, totalProbability)
local cumulativeProbability = 0
for _, reward in ipairs(rewards) do
cumulativeProbability = cumulativeProbability + reward.probability
if randomValue <= cumulativeProbability then
return reward
end
end
end
```
#### 5. ·¢·Å½±Àø
```lua
-- ·¢·Å½±Àø¸øÍæ¼Ò
function GiveReward(player, reward)
if reward.item == "Ôª±¦" then
player:AddYuanbao(reward.amount)
player:SendMessage("¹§Ï²Äã»ñµÃ" .. reward.amount .. "Ôª±¦£¡")
elseif reward.item == "×°±¸" then
player:AddItem(reward.name, 1)
player:SendMessage("¹§Ï²Äã»ñµÃ×°±¸£º" .. reward.name .. "£¡")
elseif reward.item == "¾Ñé" then
player:AddExp(reward.amount)
player:SendMessage("¹§Ï²Äã»ñµÃ" .. reward.amount .. "¾Ñ飡")
elseif reward.item == "ÌØÊâµÀ¾ß" then
player:AddItem(reward.name, 1)
player:SendMessage("¹§Ï²Äã»ñµÃÌØÊâµÀ¾ß£º" .. reward.name .. "£¡")
elseif reward.item == "¿Õ" then
player:SendMessage("ºÜÒź¶£¬±¾´Îδ»ñµÃÈκν±Àø¡£")
end
end
```
---
### Èý¡¢¹Ø¼üµã½âÎö
1. **½±Àø¸ÅÂÊÅäÖÃ**£º
- ÿ¸ö¸ñ×ӵĽ±ÀøÅäÖÃÁ˲»Í¬µÄ¸ÅÂÊ£¬È·±£½±Àø·ÖÅäµÄËæ»úÐÔ¡£
2. **תÅÌЧ¹ûÄ£Äâ**£º
- ͨ¹ýÑ»·ºÍÑÓ³ÙÄ£ÄâתÅÌÐýתµÄЧ¹û£¬ÔöÇ¿Íæ¼ÒµÄ²ÎÓë¸Ð¡£
3. **Ëæ»ú½±ÀøÂß¼**£º
- ʹÓÃ`math.random`º¯Êý¸ù¾Ý¸ÅÂÊËæ»úÑ¡ÔñÒ»¸ö½±Àø¡£
4. **½±Àø·¢·Å**£º
- ¸ù¾Ý½±ÀøÀàÐÍ£¨Ôª±¦¡¢×°±¸¡¢¾ÑéµÈ£©£¬µ÷ÓÃÏàÓ¦µÄº¯Êý·¢·Å½±Àø¡£
---
### ËÄ¡¢À©Õ¹¹¦ÄÜ
1. **¶à±¶½±Àø»úÖÆ**£º
- ¿ÉÒÔÉè¼Æ¶à±¶½±Àø»úÖÆ£¬ÀýÈçʹÓÓÐÒÔË·û”µÀ¾ßÌáÉý½±Àø±¶Êý¡£
2. **±¦ÏäµÈ¼¶**£º
- ¸ù¾Ý±¦ÏäµÈ¼¶ÉèÖò»Í¬µÄ½±Àø³Ø£¬¸ßµÈ¼¶±¦Ïä½±Àø¸ü·áºñ¡£
3. **תÅ̶¯»**£º
- Èç¹ûÒýÇæÖ§³Ö£¬¿ÉÒÔÌí¼ÓתÅ̶¯»Ð§¹û£¬ÌáÉýÊÓ¾õÌåÑé¡£
4. **±£µ×½±Àø**£º
- ÉèÖñ£µ×½±Àø»úÖÆ£¬ÀýÈçÁ¬Ðø¶à´Îδ»ñµÃ½±Àøºó£¬±Ø¶¨»ñµÃÏ¡ÓеÀ¾ß¡£
---
### Îå¡¢×ܽá
ͨ¹ýÉè¼ÆÒ»¸ö´øÓÐ9¸ñתÅÌЧ¹ûµÄ±¦Ïä½Å±¾£¬¿ÉÒÔÏÔÖøÌáÉý´«ÆæµÄÓÎϷȤζÐÔºÍÍæ¼Ò²ÎÓë¶È¡£±¾ÎÄÏêϸ½éÉÜÁ˱¦Ïä½Å±¾µÄÉè¼ÆË¼Â·ºÍʵÏÖ·½·¨£¬°üÀ¨×ªÅÌЧ¹û¡¢Ëæ»ú½±ÀøÂß¼ÒÔ¼°½±Àø·¢·Å»úÖÆ¡£¿ª·¢Õß¿ÉÒÔ¸ù¾Ýʵ¼ÊÐèÇ󣬽øÒ»²½À©Õ¹½Å±¾¹¦ÄÜ£¬´òÔì¸ü¼Ó·á¸»¶àÑùµÄ±¦Ïäϵͳ¡£
---
### ¸½Â¼£º³£¼ûÎÊÌâÓë½â¾ö·½°¸
1. **תÅÌЧ¹û¿¨¶Ù**£º
- ÓÅ»¯½Å±¾ÖеÄÑÓ³ÙÂß¼£¬±ÜÃâÒòÑÓ³Ù¹ý³¤µ¼Ö¿¨¶Ù¡£
2. **½±Àø¸ÅÂʲ»×¼È·**£º
- È·±£¸ÅÂÊ×ܺÍΪ100£¬²¢¼ì²éËæ»úÊýÉú³ÉÂß¼¡£
3. **½±ÀøÎ´·¢·Å**£º
- ¼ì²é½±Àø·¢·Åº¯ÊýÊÇ·ñÕýÈ·µ÷Ó㬲¢È·±£Íæ¼Ò±³°üÓÐ×ã¹»¿Õ¼ä¡£
4. **¶àÍæ¼Òͬʱ¿ªÆô±¦Ïä**£º
- È·±£±¦Ïä½Å±¾Ö§³Ö¶àÍæ¼Òͬʱ²Ù×÷£¬±ÜÃâÊý¾Ý³åÍ»¡£
ͨ¹ýÒÔÉÏ·½·¨£¬Äú¿ÉÒÔÇáËÉʵÏÖ´«ÆæÖеı¦Ïä½Å±¾£¬ÎªÍæ¼Ò´øÀ´¸ü¶àÀÖȤºÍ¾ªÏ²£¡
ÔÚ´«ÆæÖУ¬±¦ÏäÍæ·¨Ò»Ö±ÊÇÉîÊÜÍæ¼Òϲ°®µÄÌØÉ«ÄÚÈÝÖ®Ò»¡£ÄÇÖÖ²åÈëÔ¿³×ºó£¬¾Å¸ö¿ò¿ò·ÉËÙת¶¯£¬×îÖÕ¶¨¸ñ»ñµÃ½±ÀøµÄ½ôÕŴ̼¤¸Ð£¬ÎªÓÎÏ·ÔöÌíÁËÎÞÏÞÀÖȤ¡£±¾ÎĽ«Ïêϸ½éÉÜÈçºÎ±àдһ¸ö´«Ææ±¦Ïä½Å±¾£¬ÊµÏÖ²åÈëÔ¿³×ºó¾Å¸ö¿ò¿òת¶¯²¢Ëæ»ú»ñµÃÆäÖÐÒ»¸ö½±ÀøµÄ¹¦ÄÜ¡£
## ½Å±¾ÊµÏÖµÄÕûÌå˼·
ҪʵÏÖ±¦Ïä½Å±¾£¬Ö÷Òª·ÖΪÒÔϼ¸¸ö²½Ö裺Ê×ÏÈÊdzõʼ»¯±¦Ïä½çÃæ£¬ÏÔʾ¾Å¸ö¿ò¿ò£»½Ó×ÅÄ£Äâ²åÈëÔ¿³×µÄ²Ù×÷£»È»ºóÈÿò¿ò¿ªÊ¼×ª¶¯£»×îºóËæ»úֹͣת¶¯²¢È·¶¨Íæ¼Ò»ñµÃµÄ½±Àø¡£
## ½Å±¾±àдǰµÄ×¼±¸
### È·¶¨½±ÀøÁбí
ÔÚ±àд½Å±¾Ö®Ç°£¬ÐèÒªÃ÷È·±¦ÏäÖеĽ±ÀøÄÚÈÝ¡£¿ÉÒÔ×¼±¸Ò»¸ö°üº¬¸÷ÖÖ½±ÀøµÄÁÐ±í£¬ÀýÈ磺
| ½±Àø±àºÅ | ½±ÀøÃû³Æ |
| --- | --- |
| 1 | ÍÀÁúµ¶ |
| 2 | ħ·¨³¤ÅÛ |
| 3 | Õ½Éñ¿ø¼× |
| 4 | ×£¸£ÓÍ |
| 5 | Ì«ÑôË® |
| 6 | ǿЧħ·¨Ò© |
| 7 | Á¶Óü |
| 8 | ²Ã¾öÖ®ÕÈ |
| 9 | ÉúÃüÏîÁ´ |
### ×¼±¸½Å±¾±àд»·¾³
ÎÒÃÇÒÔ³£¼ûµÄ Mir2 ½Å±¾ÓïÑÔΪÀý½øÐбàд£¬È·±£ÄãÒѾÊìϤ¸Ã½Å±¾ÓïÑԵĻù±¾Óï·¨ºÍÃüÁî¡£
## ±¦Ïä½Å±¾µÄÏêϸ±àд
### ³õʼ»¯±¦Ïä½çÃæ
```plaintext
// ³õʼ»¯±¦Ïä½çÃæ½Å±¾
[@OpenTreasureBoxUI]
#IF
#ACT
// ÏÔʾ±¦Ïä½çÃæÌáʾÐÅÏ¢
SENDMSG 0 ÄãÃæÇ°³öÏÖÁËÒ»¸öÉñÃØµÄ±¦Ï䣬²åÈëÔ¿³×¼´¿É¿ªÆô£¡
// ³õʼ»¯¾Å¸ö¿ò¿òµÄÏÔʾ
SET @Box1Reward 1 // ¼ÙÉè¿ò 1 ³õʼÏÔʾ½±Àø±àºÅΪ 1 µÄÍÀÁúµ¶
SET @Box2Reward 2
SET @Box3Reward 3
SET @Box4Reward 4
SET @Box5Reward 5
SET @Box6Reward 6
SET @Box7Reward 7
SET @Box8Reward 8
SET @Box9Reward 9
// ÏÔʾ¾Å¸ö¿ò¿òµÄ½±ÀøÐÅÏ¢
SENDMSG 0 ¿ò 1: [½±Àø±àºÅ: @Box1Reward]
SENDMSG 0 ¿ò 2: [½±Àø±àºÅ: @Box2Reward]
SENDMSG 0 ¿ò 3: [½±Àø±àºÅ: @Box3Reward]
SENDMSG 0 ¿ò 4: [½±Àø±àºÅ: @Box4Reward]
SENDMSG 0 ¿ò 5: [½±Àø±àºÅ: @Box5Reward]
SENDMSG 0 ¿ò 6: [½±Àø±àºÅ: @Box6Reward]
SENDMSG 0 ¿ò 7: [½±Àø±àºÅ: @Box7Reward]
SENDMSG 0 ¿ò 8: [½±Àø±àºÅ: @Box8Reward]
SENDMSG 0 ¿ò 9: [½±Àø±àºÅ: @Box9Reward]
```
### ²åÈëÔ¿³×²Ù×÷
```plaintext
// ²åÈëÔ¿³×½Å±¾
[@InsertKey]
#IF
HAVEITEM ±¦ÏäÔ¿³× 1 // ¼ì²éÍæ¼ÒÊÇ·ñÓµÓб¦ÏäÔ¿³×
#ACT
// ¿Û³ýÍæ¼ÒµÄ±¦ÏäÔ¿³×
TAKE ±¦ÏäÔ¿³× 1
// ÌáÊ¾Íæ¼ÒÔ¿³×ÒѲåÈ룬¿ò¿ò¿ªÊ¼×ª¶¯
SENDMSG 0 Äã²åÈëÁ˱¦ÏäÔ¿³×£¬±¦ÏäµÄ¾Å¸ö¿ò¿ò¿ªÊ¼×ª¶¯£¡
// µ÷Óÿò¿òת¶¯½Å±¾
Goto @RotateBoxes
```
### ¿ò¿òת¶¯½Å±¾
```plaintext
// ¿ò¿òת¶¯½Å±¾
[@RotateBoxes]
#IF
#ACT
// Ä£Äâ¿ò¿òת¶¯Ò»¶¨´ÎÊý
For 10 // ת¶¯ 10 ´Î£¬¿É¸ù¾Ýʵ¼ÊÇé¿öµ÷Õû
// ´òÂҾŸö¿ò¿òµÄ½±Àø±àºÅ˳Ðò
RANDOM 1 9 @NewBox1Reward
RANDOM 1 9 @NewBox2Reward
RANDOM 1 9 @NewBox3Reward
RANDOM 1 9 @NewBox4Reward
RANDOM 1 9 @NewBox5Reward
RANDOM 1 9 @NewBox6Reward
RANDOM 1 9 @NewBox7Reward
RANDOM 1 9 @NewBox8Reward
RANDOM 1 9 @NewBox9Reward
// ¸üпò¿òÏÔʾµÄ½±Àø±àºÅ
SET @Box1Reward @NewBox1Reward
SET @Box2Reward @NewBox2Reward
SET @Box3Reward @NewBox3Reward
SET @Box4Reward @NewBox4Reward
SET @Box5Reward @NewBox5Reward
SET @Box6Reward @NewBox6Reward
SET @Box7Reward @NewBox7Reward
SET @Box8Reward @NewBox8Reward
SET @Box9Reward @NewBox9Reward
// ÏÔʾµ±Ç°¿ò¿òת¶¯ºóµÄ½±ÀøÐÅÏ¢
SENDMSG 0 ¿ò 1: [½±Àø±àºÅ: @Box1Reward]
SENDMSG 0 ¿ò 2: [½±Àø±àºÅ: @Box2Reward]
SENDMSG 0 ¿ò 3: [½±Àø±àºÅ: @Box3Reward]
SENDMSG 0 ¿ò 4: [½±Àø±àºÅ: @Box4Reward]
SENDMSG 0 ¿ò 5: [½±Àø±àºÅ: @Box5Reward]
SENDMSG 0 ¿ò 6: [½±Àø±àºÅ: @Box6Reward]
SENDMSG 0 ¿ò 7: [½±Àø±àºÅ: @Box7Reward]
SENDMSG 0 ¿ò 8: [½±Àø±àºÅ: @Box8Reward]
SENDMSG 0 ¿ò 9: [½±Àø±àºÅ: @Box9Reward]
// ÿ´Îת¶¯¼ä¸ôÒ»¶¨Ê±¼ä£¬Ôö¼ÓÕæÊµ¸Ð
DELAY 500
Next
// ת¶¯½áÊø£¬µ÷ÓÃÈ·¶¨½±Àø½Å±¾
Goto @DetermineReward
```
### È·¶¨½±Àø½Å±¾
```plaintext
// È·¶¨½±Àø½Å±¾
[@DetermineReward]
#IF
#ACT
// Ëæ»úÑ¡ÔñÒ»¸ö¿ò¿ò×÷Ϊ×îÖÕ½±Àø¿ò
RANDOM 1 9 @FinalBox
// ¸ù¾Ý×îÖÕ½±Àø¿òµÄ±àºÅÈ·¶¨½±Àø±àºÅ
IF
EQUAL @FinalBox 1
THENACT
SET @FinalReward @Box1Reward
ELSEIF
EQUAL @FinalBox 2
THENACT
SET @FinalReward @Box2Reward
ELSEIF
EQUAL @FinalBox 3
THENACT
SET @FinalReward @Box3Reward
ELSEIF
EQUAL @FinalBox 4
THENACT
SET @FinalReward @Box4Reward
ELSEIF
EQUAL @FinalBox 5
THENACT
SET @FinalReward @Box5Reward
ELSEIF
EQUAL @FinalBox 6
THENACT
SET @FinalReward @Box6Reward
ELSEIF
EQUAL @FinalBox 7
THENACT
SET @FinalReward @Box7Reward
ELSEIF
EQUAL @FinalBox 8
THENACT
SET @FinalReward @Box8Reward
ELSEIF
EQUAL @FinalBox 9
THENACT
SET @FinalReward @Box9Reward
ENDIF
// ¸ù¾Ý½±Àø±àºÅ·¢·Å½±Àø
IF
EQUAL @FinalReward 1
THENACT
ADDITEM ÍÀÁúµ¶ 1
SENDMSG 0 ¹§Ï²Äã»ñµÃÁËÍÀÁúµ¶£¡
ELSEIF
EQUAL @FinalReward 2
THENACT
ADDITEM ħ·¨³¤ÅÛ 1
SENDMSG 0 ¹§Ï²Äã»ñµÃÁËħ·¨³¤ÅÛ£¡
// ÒÔ´ËÀàÍÆ£¬ÎªÃ¿¸ö½±Àø±àºÅÌí¼Ó¶ÔÓ¦µÄ½±Àø·¢·ÅÂß¼
ELSE
SENDMSG 0 ºÜÒź¶£¬Î´ÕÒµ½¶ÔÓ¦µÄ½±Àø£¬¿ÉÄܳöÏÖÁË´íÎó¡£
ENDIF
```
## ½«½Å±¾Ó¦Óõ½´«Ææ
### ÕÒµ½ºÏÊʵĽű¾Îļþ
ͨ³£ÔÚ´«Ææ·þÎñ¶ËµÄ `D:\MirServer\Mir200\Envir\Market_Def` »ò `D:\MirServer\Mir200\Envir\QuestDiary` Îļþ¼ÐÏÂÕÒµ½Ïà¹ØµÄ½Å±¾Îļþ£¬ÀýÈç `QManage.txt` »ò `Quest.txt`¡£
### ²åÈë½Å±¾ÄÚÈÝ
½«ÉÏÊö±àдºÃµÄ½Å±¾ÄÚÈݰ´ÕÕ¶ÔÓ¦µÄ±êÇ©£¨Èç `[@OpenTreasureBoxUI]`¡¢`[@InsertKey]` µÈ£©²åÈëµ½½Å±¾ÎļþÖС£
### ±£´æ²¢ÖØÆô·þÎñ¶Ë
²åÈë½Å±¾ºó£¬±£´æ½Å±¾Îļþ£¬È»ºóÖØÆô´«ÆæµÄ·þÎñ¶Ë£¬Ê¹ÐµĽű¾ÉèÖÃÉúЧ¡£
## ×¢ÒâÊÂÏî
- **½±ÀøÆ½ºâ**£ºÔÚÉèÖý±ÀøÁбíʱ£¬Òª×¢Òâ½±ÀøµÄƽºâÐÔ£¬±ÜÃâ³öÏÖijЩ½±Àø¹ýÓÚÇ¿´ó»ò¹ýÓÚÈÝÒ×»ñµÃµÄÇé¿ö£¬Ó°ÏìÓÎÏ·µÄ¹«Æ½ÐÔºÍȤζÐÔ¡£
- **½Å±¾µ÷ÊÔ**£ºÔÚ½«½Å±¾Ó¦Óõ½Êµ¼ÊÓÎÏ·ÖÐ֮ǰ£¬Òª½øÐгä·ÖµÄµ÷ÊÔ£¬È·±£½Å±¾µÄÂß¼ÕýÈ·£¬¿ò¿òת¶¯¡¢½±Àø·¢·ÅµÈ¹¦Äܶ¼ÄÜÕý³£ÊµÏÖ¡£
- **¼æÈÝÐÔ**£º²»Í¬°æ±¾µÄ´«Ææ·þÎñ¶Ë¿ÉÄܶԽű¾µÄÓï·¨ºÍÃüÁîÓÐϸ΢²îÒ죬ÔÚʹÓýű¾Ê±ÒªÈ·±£ÆäÓëÄãËùʹÓõķþÎñ¶Ë°æ±¾¼æÈÝ¡£
ͨ¹ýÒÔÉϲ½Ö裬Äã¾Í¿ÉÒÔÔÚ´«ÆæÖÐʵÏÖÒ»¸öÓÐȤµÄ±¦Ïä½Å±¾£¬ÎªÍæ¼Ò´øÀ´¸ü¶àµÄ¾ªÏ²ºÍÀÖȤ¡£

