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

HEROÒýÇæµ¥»ú´«Ææ·þÎñ¶ËPVP½Å±¾µÄ´úÂëÈçºÎʵÏÖ£¿

Èȶȣº
ÒÔÏÂÊÇһЩ³£¼ûµÄ HERO ÒýÇæµ¥»ú´«Ææ·þÎñ¶Ë PVP ½Å±¾ÊµÏÖµÄʾÀý´úÂë¼°½âÊÍ£º
1. **»ù´¡ PVP É˺¦¼ÆËã½Å±¾**£º
- ÔÚ·þÎñ¶ËµÄ¹ÖÎï½Å±¾»òÍæ¼Ò¹¥»÷´¥·¢½Å±¾ÖУ¬¿ÉÒÔ¶¨Òå PVP É˺¦µÄ¼ÆË㷽ʽ¡£ÀýÈ磬ÔÚ `QFunction-0.txt` ÎļþÖÐÌí¼ÓÒÔÏ´úÂëÀ´ÊµÏÖ¼òµ¥µÄÍæ¼Ò¶ÔÍæ¼ÒµÄÉ˺¦¼ÆË㣺
```
# ¶¨ÒåÍæ¼Ò¹¥»÷´¥·¢º¯Êý
(@PlayerkillPlayer)
{
# »ñÈ¡¹¥»÷Õߺͱ»¹¥»÷ÕßµÄÐÅÏ¢
$Attacker = $Killer ;
$Target = $Dead ;

# ¶¨Òå»ù´¡É˺¦Öµ
$BaseDamage = 10 ;

# ¸ù¾Ý¹¥»÷ÕßµÄÊôÐÔ£¨Èç¹¥»÷Á¦£©Ôö¼ÓÉ˺¦
$AttackerAttack = $Attacker.GetAttack() ;
$Damage = $BaseDamage + $AttackerAttack ;

# ¿Û³ý±»¹¥»÷ÕßµÄÉúÃüÖµ
$Target.SetHP( $Target.GetHP() - $Damage ) ;

# ·¢ËÍÉ˺¦ÐÅÏ¢¸øÍæ¼Ò
SendMsgToPlayer( $Attacker, "Äã¶Ô [ $Target.Name ] Ôì³ÉÁË [ $Damage ] µãÉ˺¦£¡" ) ;
SendMsgToPlayer( $Target, "Äã±» [ $Attacker.Name ] ¹¥»÷£¬Êܵ½ÁË [ $Damage ] µãÉ˺¦£¡" ) ;
}
```
ÔÚÉÏÊö´úÂëÖУ¬`(@PlayerkillPlayer)` ÊÇÒ»¸ö×Ô¶¨ÒåµÄ½Å±¾´¥·¢Ê¼þ£¬µ±Íæ¼Ò¹¥»÷ÆäËûÍæ¼Òʱ»á´¥·¢Õâ¸öʼþ¡£´úÂëÖÐÊ×ÏÈ»ñÈ¡¹¥»÷Õߺͱ»¹¥»÷ÕߵĽÇÉ«ÐÅÏ¢£¬È»ºó¶¨ÒåÁËÒ»¸ö»ù´¡É˺¦Öµ£¬²¢¸ù¾Ý¹¥»÷ÕߵĹ¥»÷Á¦ÊôÐÔÔö¼ÓÉ˺¦£¬×îºó¿Û³ý±»¹¥»÷ÕßµÄÉúÃüÖµ£¬²¢ÏòË«·½Íæ¼Ò·¢ËÍÉ˺¦ÐÅÏ¢¡£
2. **PVP ¼¼Äܽű¾**£º
- ¼ÙÉèÄãÏëÒª´´½¨Ò»¸öÌØÊâµÄ PVP ¼¼ÄÜ£¬±ÈÈçÒ»¸ö¿ÉÒÔ˲¼äÔì³É´óÁ¿É˺¦µÄ“±©»÷¼¼ÄÜ”¡£ÔÚ `QFunction-0.txt` ÖÐÌí¼ÓÒÔÏ´úÂ룺
```
(@SkillCast_BigDamageSkill)
{
# »ñÈ¡¼¼ÄÜʹÓÃÕß
$Caster = $SkillCaster ;

# ¶¨Òå¼¼ÄܵÄÉ˺¦±¶Êý
$DamageMultiplier = 3 ;

# »ñȡĿ±êÍæ¼Ò
$Target = $TargetPlayer ;

# ¼ÆËã¼¼ÄÜÉ˺¦
$BaseDamage = 20 ;
$SkillDamage = $BaseDamage * $DamageMultiplier ;

# ¿Û³ýÄ¿±êÍæ¼ÒµÄÉúÃüÖµ
$Target.SetHP( $Target.GetHP() - $SkillDamage ) ;

# ·¢Ëͼ¼ÄÜʹÓÃÐÅÏ¢
SendMsgToPlayer( $Caster, "ÄãʹÓÃÁ˱©»÷¼¼ÄÜ£¬¶Ô [ $Target.Name ] Ôì³ÉÁË [ $SkillDamage ] µãÉ˺¦£¡" ) ;
SendMsgToPlayer( $Target, "Äã±» [ $Caster.Name ] µÄ±©»÷¼¼Äܹ¥»÷£¬Êܵ½ÁË [ $SkillDamage ] µãÉ˺¦£¡" ) ;
}
```
´Ë´úÂ붨ÒåÁËÒ»¸öÃûΪ `@SkillCast_BigDamageSkill` µÄ½Å±¾Ê¼þ£¬µ±Íæ¼ÒʹÓÃÕâ¸öÌØÊâµÄ±©»÷¼¼ÄÜʱ»á´¥·¢¡£´úÂëÖÐÉèÖÃÁËÉ˺¦±¶ÊýºÍ»ù´¡É˺¦Öµ£¬¼ÆËã³ö¼¼ÄܵÄ×ÜÉ˺¦£¬²¢¿Û³ýÄ¿±êÍæ¼ÒµÄÉúÃüÖµ£¬Í¬Ê±ÏòË«·½Íæ¼Ò·¢Ëͼ¼ÄÜʹÓõÄÐÅÏ¢¡£
3. **PVP ÇøÓòÏÞÖÆ½Å±¾**£º
- Èç¹ûÄãÏë´´½¨Ò»¸öÌØ¶¨µÄ PVP ÇøÓò£¬ÀýÈçÒ»¸ö¾º¼¼³¡£¬Íæ¼ÒÔÚ¸ÃÇøÓòÄÚ¿ÉÒÔ×ÔÓÉ PVP£¬¶øÔÚÇøÓòÍâÔò²»Äܹ¥»÷ÆäËûÍæ¼Ò¡£¿ÉÒÔÔÚµØÍ¼½Å±¾ÖÐÌí¼ÓÒÔÏ´úÂ룺
```
(@MapEnter_ArenaMap)
{
# ÉèÖÃÍæ¼Ò½øÈ뾺¼¼³¡ºóµÄ PVP ״̬Ϊ¿É¹¥»÷
$Player.SetPVPStatus( 1 ) ;
}

(@MapLeave_ArenaMap)
{
# ÉèÖÃÍæ¼ÒÀ뿪¾º¼¼³¡ºóµÄ PVP ״̬Ϊ²»¿É¹¥»÷
$Player.SetPVPStatus( 0 ) ;
}
```
ÉÏÊö´úÂëÖУ¬`@MapEnter_ArenaMap` Êǵ±Íæ¼Ò½øÈëÌØ¶¨µÄ¾º¼¼³¡µØÍ¼Ê±´¥·¢µÄ½Å±¾Ê¼þ£¬Ëü½«Íæ¼ÒµÄ PVP ״̬ÉèÖÃΪ¿É¹¥»÷¡£`@MapLeave_ArenaMap` Êǵ±Íæ¼ÒÀ뿪¾º¼¼³¡µØÍ¼Ê±´¥·¢µÄ½Å±¾Ê¼þ£¬½«Íæ¼ÒµÄ PVP ״̬ÉèÖÃΪ²»¿É¹¥»÷¡£ÕâÑù¾ÍʵÏÖÁË¶Ô PVP ÇøÓòµÄÏÞÖÆ¡£
4. **PVP ½±ÀøÓë³Í·£½Å±¾**£º
- ¶ÔÓÚ PVP ÐÐΪ£¬¿ÉÒÔ¸øÓèÍæ¼ÒÏàÓ¦µÄ½±Àø»ò³Í·£¡£ÀýÈ磬ÔÚÍæ¼Ò»÷ɱÆäËûÍæ¼Òºó£¬¸øÓèÒ»¶¨µÄ¾­ÑéºÍ½ð±Ò½±Àø£¬»òÕßÔÚÍæ¼Ò¶ñÒâ¹¥»÷ÆäËûÍæ¼Òʱ¸øÓè³Í·£¡£ÒÔÏÂÊÇÒ»¸ö¼òµ¥µÄ½±Àø½Å±¾Ê¾Àý£º
```
(@PlayerkillPlayer)
{
# »ñÈ¡¹¥»÷ÕßÐÅÏ¢
$Attacker = $Killer ;

# Ôö¼Ó¹¥»÷Õߵľ­ÑéºÍ½ð±Ò
$Attacker.AddExp( 100 ) ;
$Attacker.AddGold( 500 ) ;

# ·¢Ëͽ±ÀøÐÅÏ¢
SendMsgToPlayer( $Attacker, "Äã³É¹¦»÷ɱÁËÆäËûÍæ¼Ò£¬»ñµÃÁË 100 µã¾­ÑéºÍ 500 ½ð±ÒµÄ½±Àø£¡" ) ;
}
```
¶ø¶ÔÓڳͷ£½Å±¾£¬¿ÉÒÔÔÚÍæ¼ÒÎ¥·´ PVP ¹æÔò£¨Èç¶ñÒâ¹¥»÷ÐÂÊÖÍæ¼Ò£©Ê±£¬¿Û³ýÆä¾­Ñé¡¢½ð±Ò»òÕß½«Æä´«Ë͵½Ìض¨µÄ³Í·£ÇøÓòµÈ¡£¾ßÌåµÄʵÏÖ·½Ê½¿ÉÒÔ¸ù¾ÝÓÎÏ·µÄÐèÇó½øÐбàд¡£