Bem esse sistema você pode fazer ele tanto por producere como job no caso o sistema que trago a vocês e um sistema usando job infelismente esse sistema de patentes ou elo esta bem basico então presisa ser elaborado vale resaltar que para quem usa sql 2008 r2 ele pode ser mais presiso ja que no sql r2 e possivel criar uma job para rodar por segundos

então vamos começar rode a query para qual tipo de elo você quer no caso eu defini a tabela para ELO porem você pode definir como quiser ELO , PATENTE , RANKING , MERITO , TITULO , ETC....


Informação

ALTER TABLE character ADD [ELO] [varchar] (50) COLLATE Latin1_General_CI_AS NOT NULL DEFAULT 'NOME DA PATENTE INICIAL'



A QUERY ACIMA JA CRIA O PRIMEIRO ELO QUE NO CASO SERIA INICIANTE AGORA COMO DEFINO OS ELOS E SIMPLES PRIMEIRA MENTE VAI DEFINIR COMO VOCÊ QUER O SEU ELO SEJA DISTRIBUIDO


no meu caso eu quero que os elos seja definidos por resets então quando o player bater tantos resets ele sera consedido o ranking como sera feito essa query


Informação
update Character set ELO = 'INICIANTE' WHERE Resets = 2



a onde esta 'iniciante' você devera colocar o elo que quer por exemplo 'iniciante', 'soldado', 'recruta',etc.....
onde esta Resets = 2 e a tabela do seu reset então alguns mu usa uma tabela diferente para contar resets como por exemplo ResetsDay ResetsMonth , etc.... ai você escolhe como definir


para quem usa musite e facil de adicionar esses rankings no painel e tambem no perfil do ususario so a parte do ranking que eu não mexi ainda por que eu ainda estou trabalhando nisso


Para quem quiser abaixo esta uma job com os elos que eu criei usando o tipo de elo do combat arms ABAIXO A LISTA


Aviso
update Character set ELO = 'CADETE' WHERE Resets = 1
update Character set ELO = 'RECRUTA' WHERE Resets = 5
update Character set ELO = 'SOLDADO RASO' WHERE Resets = 10
update Character set ELO = 'SOLDADO PRIMEIRA CLASSE' WHERE Resets = 15
update Character set ELO = 'CABO' WHERE Resets = 20
update Character set ELO = 'SARGENTO' WHERE Resets = 25
update Character set ELO = 'PRIMEIRO SARGENTO - AJUDANTE' WHERE Resets = 30
update Character set ELO = 'SEGUNDO SARGENTO - AJUDANTE' WHERE Resets = 35
update Character set ELO = 'TERCEIRO SARGENTO - AJUDANTE' WHERE Resets = 40
update Character set ELO = 'PRIMEIRO SARGENTO - CHEFE' WHERE Resets = 45
update Character set ELO = 'SEGUNDO SARGENTO - CHEFE' WHERE Resets = 50
update Character set ELO = 'TERCEIRO SARGENTO - CHEFE' WHERE Resets = 55
update Character set ELO = 'PRIMEIRO SARGENTO MESTRE' WHERE Resets = 60
update Character set ELO = 'SEGUNDO SARGENTO MESTRE' WHERE Resets = 65
update Character set ELO = 'TERCEIRO SARGENTO MESTRE' WHERE Resets = 70
update Character set ELO = 'SARGENTO DO COMANDO' WHERE Resets = 75
update Character set ELO = 'PRIMEIRO TENENTE' WHERE Resets = 80
update Character set ELO = 'SEGUNDO TENENTE' WHERE Resets = 85
update Character set ELO = 'TERCEIRO TENENTE' WHERE Resets = 90
update Character set ELO = 'PRIMEIRO CAPITÃO' WHERE Resets = 95
update Character set ELO = 'SEGUNDO CAPITÃO' WHERE Resets = 100
update Character set ELO = 'TERCEIRO CAPITÃO' WHERE Resets = 105
update Character set ELO = 'PRIMEIRO MAJOR' WHERE Resets = 110
update Character set ELO = 'SEGUNDO MAJOR' WHERE Resets = 115
update Character set ELO = 'TERCEIRO MAJOR' WHERE Resets = 120
update Character set ELO = 'PRIMEIRO CORONEL' WHERE Resets = 125
update Character set ELO = 'SEGUNDO CORONEL' WHERE Resets = 130
update Character set ELO = 'TERCEIRO CORONEL' WHERE Resets = 135
update Character set ELO = 'PRIMEIRO GENERAL' WHERE Resets = 140
update Character set ELO = 'SEGUNDO GENERAL' WHERE Resets = 145
update Character set ELO = 'TERCEIRO GENERAL' WHERE Resets = 150



e a job pronta ela esta programada para rodar o dia todo a cada 10 segundos



Aviso
USE [msdb]
GO


/****** Object: Job [PATENTE RANKING] Script Date: 09/20/2018 05:52:04 ******/
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
/****** Object: JobCategory [[Uncategorized (Local)]]] Script Date: 09/20/2018 05:52:04 ******/
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1)
BEGIN
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback


END


DECLARE @jobId BINARY(16)
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'PATENTE RANKING',
@enabled=1,
@notify_level_eventlog=0,
@notify_level_email=0,
@notify_level_netsend=0,
@notify_level_page=0,
@delete_level=0,
@description=N'ATUALIZAR RANKING DE PATENTES A CADA 10 SEGUNDOS',
@category_name=N'[Uncategorized (Local)]',
@owner_login_name=N'sa', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object: Step [ATUALIZAR PATENTE QUERY] Script Date: 09/20/2018 05:52:05 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'ATUALIZAR PATENTE QUERY',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'TSQL',
@command=N'update Character set ELO = ''CADETE'' WHERE Resets = 1
update Character set ELO = ''RECRUTA'' WHERE Resets = 5
update Character set ELO = ''SOLDADO RASO'' WHERE Resets = 10
update Character set ELO = ''SOLDADO PRIMEIRA CLASSE'' WHERE Resets = 15
update Character set ELO = ''CABO'' WHERE Resets = 20
update Character set ELO = ''SARGENTO'' WHERE Resets = 25
update Character set ELO = ''PRIMEIRO SARGENTO - AJUDANTE'' WHERE Resets = 30
update Character set ELO = ''SEGUNDO SARGENTO - AJUDANTE'' WHERE Resets = 35
update Character set ELO = ''TERCEIRO SARGENTO - AJUDANTE'' WHERE Resets = 40
update Character set ELO = ''PRIMEIRO SARGENTO - CHEFE'' WHERE Resets = 45
update Character set ELO = ''SEGUNDO SARGENTO - CHEFE'' WHERE Resets = 50
update Character set ELO = ''TERCEIRO SARGENTO - CHEFE'' WHERE Resets = 55
update Character set ELO = ''PRIMEIRO SARGENTO MESTRE'' WHERE Resets = 60
update Character set ELO = ''SEGUNDO SARGENTO MESTRE'' WHERE Resets = 65
update Character set ELO = ''TERCEIRO SARGENTO MESTRE'' WHERE Resets = 70
update Character set ELO = ''SARGENTO DO COMANDO'' WHERE Resets = 75
update Character set ELO = ''PRIMEIRO TENENTE'' WHERE Resets = 80
update Character set ELO = ''SEGUNDO TENENTE'' WHERE Resets = 85
update Character set ELO = ''TERCEIRO TENENTE'' WHERE Resets = 90
update Character set ELO = ''PRIMEIRO CAPITÃO'' WHERE Resets = 95
update Character set ELO = ''SEGUNDO CAPITÃO'' WHERE Resets = 100
update Character set ELO = ''TERCEIRO CAPITÃO'' WHERE Resets = 105
update Character set ELO = ''PRIMEIRO MAJOR'' WHERE Resets = 110
update Character set ELO = ''SEGUNDO MAJOR'' WHERE Resets = 115
update Character set ELO = ''TERCEIRO MAJOR'' WHERE Resets = 120
update Character set ELO = ''PRIMEIRO CORONEL'' WHERE Resets = 125
update Character set ELO = ''SEGUNDO CORONEL'' WHERE Resets = 130
update Character set ELO = ''TERCEIRO CORONEL'' WHERE Resets = 135
update Character set ELO = ''PRIMEIRO GENERAL'' WHERE Resets = 140
update Character set ELO = ''SEGUNDO GENERAL'' WHERE Resets = 145
update Character set ELO = ''TERCEIRO GENERAL'' WHERE Resets = 150',
@database_name=N'MuOnline',
@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'ATUALIZAR PATENTES TIMER 10 SEGS',
@enabled=1,
@freq_type=4,
@freq_interval=1,
@freq_subday_type=2,
@freq_subday_interval=10,
@freq_relative_interval=0,
@freq_recurrence_factor=0,
@active_start_date=20180920,
@active_end_date=99991231,
@active_start_time=0,
@active_end_time=235959,
@schedule_uid=N'fe9faa9f-cdfe-4bd1-a447-5aad918d0631'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:


GO