コード例 #1
0
ファイル: Hack.cs プロジェクト: Rakiah/Aeternam
    public override void RegisterKill(int Killer, int Killed, int weapon, int BodyPart)
    {
        if (Killer < 0)
        {
            Killer = Killed;
        }

        PlayerStats KillerStats = AeCore.m_pCoreGame.m_pNetworkHandler.LPlayerStats[Killer];
        PlayerStats KilledStats = AeCore.m_pCoreGame.m_pNetworkHandler.LPlayerStats[Killed];

        Weapon weap = AeTools.GetWeaponById(weapon);

        bool headshot = BodyPart == 1 ? true : false;

        int Money = PointsPerKill(headshot);

        AeScoreBoard scoreboard = AeCore.m_pCoreGame.m_pNetworkHandler.m_pScoreBoard;

        if (Killer != Killed)
        {
            KillerStats.m_iNbKills++;
            KillerStats.m_iMonneyRecolted += Money;
            if (Killer == AeCore.m_pCoreGame.MyStats.m_iPlayerID)
            {
                if (AeCore.m_pCoreGame.MyStats.PlayerComponents.m_pHud)
                {
                    AeCore.m_pCoreGame.MyStats.PlayerComponents.m_pHud.MadeAKill(headshot, Money, KilledStats.m_sPseudo, KillerStats.m_iMonneyRecolted - Money);
                }
            }

            if (scoreboard)
            {
                scoreboard.ReOrganizeText(Killer);
            }
        }


        KilledStats.m_iNbDeaths++;
        KilledStats.m_bDied = true;


        if (scoreboard)
        {
            scoreboard.ReOrganizeText(Killed); scoreboard.ReMakeAlive(Killed);
        }

        AeCore.m_pCoreGame.m_pNetworkHandler.m_pChat.AddKillBar(KillerStats, KilledStats, weap, headshot);

        if (Network.isServer)
        {
            AeCore.m_pCoreGame.networkView.RPC("RegisterKillRPC", RPCMode.Others, Killer, Killed, weapon, BodyPart);

            if (Killer != Killed)
            {
                AeDataRequest.m_pAeDataRequest.RegisterKill(KillerStats.m_sPseudo, true, PointsPerKill(headshot));
            }
            AeDataRequest.m_pAeDataRequest.RegisterKill(KilledStats.m_sPseudo, false, 0);
            RegisterObjective(Killed);
        }
    }