Adicionar Elo - Patentes no seu servidor
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
Atenção
| 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
Atenção
| 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)]',
@[Only registered and activated users can see links. Click Here To Register...]_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
| |