Ò»¡¢Ô½Å±¾Ê§Ð§ÔÒò·ÖÎö
1. º¯ÊýʹÓôíÎó
`HumanHP` Êǹýʱд·¨£¬ÕýȷӦʹÓà `SetHumanHP` º¯Êý
2. ÊýÖµÉ趨²»ºÏÀí
Ö±½Ó¼Ó 65530 ¿ÉÄܳ¬³öÉÏÏÞ£¨½¨ÒéÓðٷֱȻò×î´óÖµ£©
3. Ä¿±êÅж¨È±Ê§
ûÓмì²âÄ¿±êÊÇ·ñΪÆäËûÍæ¼Ò£¬ÇÒδÅųý×Ô¼º
4. ¼¼ÄÜÅäÖò»ÍêÕû
Ðèͬ²½ÅäÖà DBC ÎļþºÍ¼¼ÄÜÊôÐÔ
---
¶þ¡¢ÐÞÕý°æ½Å±¾´úÂë
```lua
[@MagSelfFunc200]
#ACT
// »ñÈ¡Êó±êÖ¸ÏòÄ¿±ê
let target = GetTarget()
if target == 0 then
SendMsg(6, "ÇëÏÈÑ¡ÖÐÄ¿±ê")
break
end
// Åųý×Ô¼º
if GetCharName(target) == GetCharName(0) then
SendMsg(6, "²»ÄܶÔ×Ô¼ºÊ¹ÓÃ")
break
end
// ÉèÖÃÄ¿±êÉúÃüֵΪÂúÖµ
SetHumanHP(target, GetMaxHP(target))
SendMsg(6, "ÒÑΪ"..GetCharName(target).."»Ö¸´È«²¿ÉúÃüÖµ")
break
```
---
Èý¡¢ÅäÌ×ÅäÖò½Öè
1. DBC Êý¾Ý¿âÅäÖÃ
ÔÚ `Skill.dbc` ÖÐÌí¼ÓмǼ£º
```ini
ID=200 | Name=ȺÌåÖÎÁÆÊõ | Type=3 |
Level=1 | MaxLevel=1 |
CastTime=0 | CoolDown=5000
```
2. ¼¼ÄÜͼ±êÅäÖÃ
ÔÚ¿Í»§¶ËͼƬĿ¼Ìí¼Ó¶ÔÓ¦¼¼ÄÜͼ±ê£¨Í¨³£Î»ÓÚ Image\Skill Ŀ¼£©
3. ȨÏÞ¿ª·Å
ÔÚ adminlist.txt Ìí¼Ó£º
```ini
200 1 0 0 0 0 ¼¼ÄܹÜÀíÔ±
```
---
ËÄ¡¢µ÷ÊÔ¼¼ÇÉ
1. Ôڽű¾ÖÐÌí¼Óµ÷ÊÔÐÅÏ¢£º
```lua
Log("³¢ÊÔ¶Ô "..GetCharName(target).." Ê©·ÅÖÎÁÆ")
```
2. ²é¿´·þÎñÆ÷ÈÕÖ¾ `Log/GameLog.txt`
3. ʹÓÿͻ§¶Ë¿ØÖÆÌ¨ÊäÈë `#showskill 200` ¼ì²é¼¼ÄÜ״̬
---
Îå¡¢½ø½×ÓÅ»¯½¨Òé
1. Ìí¼ÓÊ©·¨ÌØÐ§£º
```lua
PlayEffect(1002, target) // ÏÔʾÂÌÉ«¹â»·ÌØÐ§
```
2. Ìí¼ÓÒôЧ£º
```lua
PlaySound(8001, target) // ²¥·ÅÖÎÓúÒôЧ
```
3. ÏÞÖÆÊ¹ÓÃÌõ¼þ£º
```lua
if GetMP(0) < 10 then
SendMsg(6, "ħ·¨Öµ²»×ã")
break
end
```
---
³£¼ûÎÊÌâÅŲé±í
| ÏÖÏó | ¿ÉÄÜÔÒò | ½â¾ö·½·¨ |
|---------------------|--------------------------|---------------------------|
| ¼¼ÄÜͼ±ê²»ÏÔʾ | DBCÅäÖÃδÉúЧ | ÖØÆô·þÎñ¶Ë²¢¼ì²éDBCÎļþ |
| ÎÞ·¨Ñ¡ÔñÄ¿±ê | ¼¼ÄÜ·¶Î§ÉèÖùýС | ÔÚSkill.dbcÐÞ¸ÄRangeÖµ |
| Ö»ÄÜÖÎÁÆ×Ô¼º | Ä¿±êÅж¨Âß¼´íÎó | ¼ì²é GetCharName Âß¼ |
| ÊýÖµ²»ÉúЧ | δµ÷Óà SetHumanHP | È·ÈÏʹÓÃÕýÈ·¸³Öµº¯Êý |
½¨Òéͨ¹ý·þÎñ¶Ë¹ÜÀíÆ÷ÖØÐ¼ÓÔØ¼¼ÄÜÅäÖ㬲¢ÔÚ²âÊÔ·þ½øÐÐÑéÖ¤ºóÔÙ²¿Êðµ½Õýʽ»·¾³¡£
1. º¯ÊýʹÓôíÎó
`HumanHP` Êǹýʱд·¨£¬ÕýȷӦʹÓà `SetHumanHP` º¯Êý
2. ÊýÖµÉ趨²»ºÏÀí
Ö±½Ó¼Ó 65530 ¿ÉÄܳ¬³öÉÏÏÞ£¨½¨ÒéÓðٷֱȻò×î´óÖµ£©
3. Ä¿±êÅж¨È±Ê§
ûÓмì²âÄ¿±êÊÇ·ñΪÆäËûÍæ¼Ò£¬ÇÒδÅųý×Ô¼º
4. ¼¼ÄÜÅäÖò»ÍêÕû
Ðèͬ²½ÅäÖà DBC ÎļþºÍ¼¼ÄÜÊôÐÔ
---
¶þ¡¢ÐÞÕý°æ½Å±¾´úÂë
```lua
[@MagSelfFunc200]
#ACT
// »ñÈ¡Êó±êÖ¸ÏòÄ¿±ê
let target = GetTarget()
if target == 0 then
SendMsg(6, "ÇëÏÈÑ¡ÖÐÄ¿±ê")
break
end
// Åųý×Ô¼º
if GetCharName(target) == GetCharName(0) then
SendMsg(6, "²»ÄܶÔ×Ô¼ºÊ¹ÓÃ")
break
end
// ÉèÖÃÄ¿±êÉúÃüֵΪÂúÖµ
SetHumanHP(target, GetMaxHP(target))
SendMsg(6, "ÒÑΪ"..GetCharName(target).."»Ö¸´È«²¿ÉúÃüÖµ")
break
```
---
Èý¡¢ÅäÌ×ÅäÖò½Öè
1. DBC Êý¾Ý¿âÅäÖÃ
ÔÚ `Skill.dbc` ÖÐÌí¼ÓмǼ£º
```ini
ID=200 | Name=ȺÌåÖÎÁÆÊõ | Type=3 |
Level=1 | MaxLevel=1 |
CastTime=0 | CoolDown=5000
```
2. ¼¼ÄÜͼ±êÅäÖÃ
ÔÚ¿Í»§¶ËͼƬĿ¼Ìí¼Ó¶ÔÓ¦¼¼ÄÜͼ±ê£¨Í¨³£Î»ÓÚ Image\Skill Ŀ¼£©
3. ȨÏÞ¿ª·Å
ÔÚ adminlist.txt Ìí¼Ó£º
```ini
200 1 0 0 0 0 ¼¼ÄܹÜÀíÔ±
```
---
ËÄ¡¢µ÷ÊÔ¼¼ÇÉ
1. Ôڽű¾ÖÐÌí¼Óµ÷ÊÔÐÅÏ¢£º
```lua
Log("³¢ÊÔ¶Ô "..GetCharName(target).." Ê©·ÅÖÎÁÆ")
```
2. ²é¿´·þÎñÆ÷ÈÕÖ¾ `Log/GameLog.txt`
3. ʹÓÿͻ§¶Ë¿ØÖÆÌ¨ÊäÈë `#showskill 200` ¼ì²é¼¼ÄÜ״̬
---
Îå¡¢½ø½×ÓÅ»¯½¨Òé
1. Ìí¼ÓÊ©·¨ÌØÐ§£º
```lua
PlayEffect(1002, target) // ÏÔʾÂÌÉ«¹â»·ÌØÐ§
```
2. Ìí¼ÓÒôЧ£º
```lua
PlaySound(8001, target) // ²¥·ÅÖÎÓúÒôЧ
```
3. ÏÞÖÆÊ¹ÓÃÌõ¼þ£º
```lua
if GetMP(0) < 10 then
SendMsg(6, "ħ·¨Öµ²»×ã")
break
end
```
---
³£¼ûÎÊÌâÅŲé±í
| ÏÖÏó | ¿ÉÄÜÔÒò | ½â¾ö·½·¨ |
|---------------------|--------------------------|---------------------------|
| ¼¼ÄÜͼ±ê²»ÏÔʾ | DBCÅäÖÃδÉúЧ | ÖØÆô·þÎñ¶Ë²¢¼ì²éDBCÎļþ |
| ÎÞ·¨Ñ¡ÔñÄ¿±ê | ¼¼ÄÜ·¶Î§ÉèÖùýС | ÔÚSkill.dbcÐÞ¸ÄRangeÖµ |
| Ö»ÄÜÖÎÁÆ×Ô¼º | Ä¿±êÅж¨Âß¼´íÎó | ¼ì²é GetCharName Âß¼ |
| ÊýÖµ²»ÉúЧ | δµ÷Óà SetHumanHP | È·ÈÏʹÓÃÕýÈ·¸³Öµº¯Êý |
½¨Òéͨ¹ý·þÎñ¶Ë¹ÜÀíÆ÷ÖØÐ¼ÓÔØ¼¼ÄÜÅäÖ㬲¢ÔÚ²âÊÔ·þ½øÐÐÑéÖ¤ºóÔÙ²¿Êðµ½Õýʽ»·¾³¡£

