essa trigger faz contagem de ranking de PK e Hero, que conta os kills com mais precisão.

Sem mais enrolação:

♦ Versão atual do Script:

- TRIGGER: 1.0.0

♦ ALTER TABLES

USE [MUOnline]
GO

ALTER TABLE [dbo].[Character]
ADD [PkCountDay] [INT] DEFAULT ((0)) NOT NULL
GO

ALTER TABLE [dbo].[Character]
ADD [PkCountWeek] [INT] DEFAULT ((0)) NOT NULL
GO

ALTER TABLE [dbo].[Character]
ADD [PkCountMonth] [INT] DEFAULT ((0)) NOT NULL
GO

ALTER TABLE [dbo].[Character]
ADD [PkCountTotal] [INT] DEFAULT ((0)) NOT NULL
GO

ALTER TABLE [dbo].[Character]
ADD [HeroCount] [INT] DEFAULT ((0)) NOT NULL
GO

ALTER TABLE [dbo].[Character]
ADD [HeroCountDay] [INT] DEFAULT ((0)) NOT NULL
GO

ALTER TABLE [dbo].[Character]
ADD [HeroCountWeek] [INT] DEFAULT ((0)) NOT NULL
GO

ALTER TABLE [dbo].[Character]
ADD [HeroCountMonth] [INT] DEFAULT ((0)) NOT NULL
GO
♦ TRIGGER - RankingHeroPK

/*
| @author - Renato Valer
| @version - 1.0.0
| @last update - 2016/04/30 - 11h53min
| @warning: Não me responsabilizo por uso incorreto e possíveis deadlocks. Use por sua conta e risco.
*/

USE MuOnline
GO

IF EXISTS (SELECT name FROM sysobjects WHERE name = 'RankingHeroPK' AND type = 'TR')
DROP TRIGGER [RankingHeroPK]
GO

CREATE TRIGGER [dbo].[RankingHeroPK]
ON [dbo].[Character]
AFTER UPDATE AS
SET NOCOUNT ON

IF UPDATE(PkCount)
BEGIN SET NOCOUNT ON;

DECLARE @Name varchar(12);
DECLARE @PKOld int;
DECLARE @PkNew int;
DECLARE @DIF int;

SELECT @Name = Name FROM INSERTED;
SELECT @PKOld = PkCount FROM DELETED;
SELECT @PKNew = PkCount FROM INSERTED;

SET @DIF = @PKNew - @PKOld;

IF(@PkNew > 0)

UPDATE [Character] SET
PkCountDay = PkCountDay + @DIF,
PkCountWeek = PkCountWeek + @DIF,
PkCountMonth = PkCountMonth + @DIF,
PkCountTotal = PkCountTotal + @DIF
WHERE Name = @Name AND PkCount > 0;
ELSE BEGIN

UPDATE [Character] SET
HeroCountDay = HeroCountDay - @DIF,
HeroCountWeek = HeroCountWeek - @DIF,
HeroCountMonth = HeroCountMonth - @DIF,
HeroCount = HeroCount - @DIF
WHERE Name = @Name AND PkCount < 0;
END

SET NOCOUNT OFF
END
Criem as Jobs manualmente igual ranking de resets diário, semanal e mensal... Precisam ser zerados.

UPDATE Character SET PkCountDay = 0
UPDATE Character SET PkCountWeek = 0
UPDATE Character SET PkCountMonth = 0
UPDATE Character SET HeroCountDay = 0
UPDATE Character SET HeroCountWeek = 0
UPDATE Character SET HeroCountMonth = 0
ATENÇÃO

Não me responsabilizo por uso incorreto.
Não me responsabilizo por eventuais deadlocks. Usem por conta e risco.

Créditos:
Renato