public void OnDeath(string eventName, List <Object> data) { if (eventName != "CEventNetworkEntityDamage") { return; } Entity attacker = Entity.FromHandle(int.Parse(data[1].ToString())); if (attacker == null || attacker.Handle != Game.PlayerPed.Handle) { return; } bool victimDied = int.Parse(data[3].ToString()) == 1; if (!victimDied) { return; } Entity victim = Entity.FromHandle(int.Parse(data[0].ToString())); if (victim == null || !(victim is Ped v) || !v.IsPlayer) { return; } var rp = "+20"; if (v.Bones.LastDamaged == Bone.SKEL_Head) { rp = "+100"; } var gainedEffect = new GainedEffect(victim.Position, rp, "mp_anim_rp", 1.0f, 25, Game.FPS); m_gainedEffects.Add(gainedEffect); }
private void DrawGainedEffect(GainedEffect gainedEffect, Size screenRes) { var screenY = gainedEffect.Fade; SetDrawOrigin(gainedEffect.VictimPosition.X, gainedEffect.VictimPosition.Y, gainedEffect.VictimPosition.Z + 0.95f, 0); SetTextFont(4); SetTextColour(255, 255, 255, 255); SetTextScale(0.45f, 0.45f); SetTextDropShadow(); SetTextOutline(); BeginTextCommandDisplayText("GAIN_FX"); AddTextComponentSubstringPlayerName(gainedEffect.Text); EndTextCommandDisplayText(25f / screenRes.Width, (-17f - screenY) / screenRes.Height); DrawSprite("MPHud", gainedEffect.Type, 0f, -screenY / screenRes.Height, size.Width / screenRes.Width, size.Height / screenRes.Height, 0f, 255, 255, 255, 255); ClearDrawOrigin(); if (gainedEffect.FadeAfter <= 0) { gainedEffect.Fade = gainedEffect.Fade * 1.15f; } gainedEffect.Ticks--; gainedEffect.FadeAfter--; }