| | |
| | | NetPackCommon.SendFakePack(curPlayer, sendPack)
|
| | | return
|
| | |
|
| | | #// B4 0E 设置玩家自身血量 #tagCMSetRoleHP
|
| | | #// B4 0E 玩家掉血 #tagCMRoleLostHP
|
| | | #
|
| | | #struct tagCMSetRoleHP
|
| | | #struct tagCMRoleLostHP
|
| | | #{
|
| | | # tagHead Head;
|
| | | # DWORD HP;
|
| | | # DWORD LostHP;
|
| | | #};
|
| | | def OnSetRoleHP(index, clientData, tick):
|
| | | def OnRoleLostHP(index, clientData, tick):
|
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | if not curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomScene):
|
| | | GameWorld.DebugLog("玩家当前不是在自定义场景中,不允许设置自身血量!")
|
| | | return
|
| | | setHP = max(1, min(clientData.HP, curPlayer.GetMaxHP()))
|
| | | curPlayer.SetHP(setHP)
|
| | | lostHP = clientData.LostHP
|
| | | curHP = curPlayer.GetHP()
|
| | | updHP = curHP - lostHP
|
| | | if updHP <= 0:
|
| | | #玩家已经死亡
|
| | | playerControl = PlayerControl.PlayerControl(curPlayer)
|
| | | playerControl.SetDead()
|
| | | else:
|
| | | curPlayer.SetHP(updHP)
|
| | | |
| | | return
|