USE [msdb]
GO

/****** Object:  Job [Jobs 1 semana]    Script Date: 02/15/2017 00:46:58 ******/
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
/****** Object:  JobCategory [[Uncategorized (Local)]]]    Script Date: 02/15/2017 00:46:58 ******/
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'Jobs 1 semana', 
		@enabled=1, 
		@notify_level_eventlog=0, 
		@notify_level_email=0, 
		@notify_level_netsend=0, 
		@notify_level_page=0, 
		@delete_level=0, 
		@description=N'No description available.', 
		@category_name=N'[Uncategorized (Local)]', 
		@owner_login_name=N'sa', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object:  Step [rank anterior]    Script Date: 02/15/2017 00:46:59 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'rank anterior', 
		@step_id=1, 
		@cmdexec_success_code=0, 
		@on_success_action=3, 
		@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'declare 
    @char    nvarchar(10),
    @rank    int


    set @rank=1; 

DELETE FROM LOG_RANK 

declare tempvar scroll cursor for select top 200 [Name] from [Character] where nivel_gm < 2 order by masterresetcount desc, resetcount desc, clevel desc;
open tempvar
fetch next from tempvar into @char;
while @rank < 201
 begin
		INSERT INTO LOG_RANK VALUES ( @char, 1, @rank)
		set @rank        = @rank+1;

    fetch next from tempvar into @char;
end
close tempvar
deallocate tempvar

    set @rank=1;

declare tempvar scroll cursor for select top 200 [Name] from [Character] where nivel_gm < 2 order by resetcount desc, clevel desc;
open tempvar
fetch next from tempvar into @char;
while @rank < 201
 begin
		INSERT INTO LOG_RANK VALUES ( @char, 2, @rank)
		set @rank        = @rank+1;

    fetch next from tempvar into @char;
end
close tempvar
deallocate tempvar


    set @rank=1;

declare tempvar scroll cursor for select top 200 [Name] from [Character] where nivel_gm < 2 order by eventos desc, resetcount desc;
open tempvar
fetch next from tempvar into @char;
while @rank < 201
 begin
		INSERT INTO LOG_RANK VALUES ( @char, 3, @rank)
		set @rank        = @rank+1;

    fetch next from tempvar into @char;
end
close tempvar
deallocate tempvar

    set @rank=1;

declare tempvar scroll cursor for select top 200 [Name] from [Character] where nivel_gm < 2 order by exp_war desc, resetcount desc;
open tempvar
fetch next from tempvar into @char;
while @rank < 201
 begin
		INSERT INTO LOG_RANK VALUES ( @char, 4, @rank)
		set @rank        = @rank+1;

    fetch next from tempvar into @char;
end
close tempvar
deallocate tempvar

    set @rank=1;

declare tempvar scroll cursor for select top 200 [Name] from [Character] where nivel_gm < 2 order by z_rankpk desc, resetcount desc;
open tempvar
fetch next from tempvar into @char;
while @rank < 201
 begin
		INSERT INTO LOG_RANK VALUES ( @char, 5, @rank)
		set @rank        = @rank+1;

    fetch next from tempvar into @char;
end
close tempvar
deallocate tempvar

    set @rank=1;

declare tempvar scroll cursor for select top 200 [Name] from [Character] where nivel_gm < 2 order by z_rankhr desc, resetcount desc;
open tempvar
fetch next from tempvar into @char;
while @rank < 201
 begin
		INSERT INTO LOG_RANK VALUES ( @char, 6, @rank)
		set @rank        = @rank+1;

    fetch next from tempvar into @char;
end
close tempvar
deallocate tempvar
', 
		@database_name=N'MuOnline', 
		@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object:  Step [TOP RESETS]    Script Date: 02/15/2017 00:46:59 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'TOP RESETS', 
		@step_id=2, 
		@cmdexec_success_code=0, 
		@on_success_action=3, 
		@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'DECLARE
@name 		varchar(10),
@acc 		varchar(10),
@dado 		int,
@tipo 		smallint,
@WC int,
@WP int,
@GP int,
@XP int,
@VIP1 int,
@VIP2 int,
@VIP3 int,
@EVENTOS int

SET @tipo = ''1'';			-- Nao mudar

-- PRIMEIRO COLOCADO
SELECT TOP 1 @acc = AccountID, @name = Name, @dado = reset_semanal from  character order by reset_semanal desc,resetcount desc
 
IF @dado > 0 
BEGIN
SET @WC 	=5; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=1000;		-- premio em golds
SET @XP 	=1000;		-- premio em exp
SET @VIP1 	=0;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
EXEC PREMIAR_TOPS_MEDALHAS @acc, @name, 1
INSERT INTO top_semanal ( nome, dado,tipo,rank ) VALUES (@name,@dado,@tipo,''1'')

update character set reset_semanal=0 where name = @name and reset_semanal > 0

END

-- SEGUNDO COLOCADO
SELECT TOP 1 @acc = AccountID, @name = Name, @dado = reset_semanal from  character order by reset_semanal desc,resetcount desc

IF @dado > 0 
BEGIN
SET @WC 	=4; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=500;		-- premio em golds
SET @XP 	=500;		-- premio em exp
SET @VIP1 	=0;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''2'')

update character set reset_semanal=0 where name = @name and reset_semanal > 0

END

-- TERCEIRO COLOCADO
SELECT TOP 1 @acc = AccountID, @name = Name, @dado = reset_semanal from  character order by reset_semanal desc,resetcount desc

IF @dado > 0 
BEGIN
SET @WC 	=3; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=300;		-- premio em golds
SET @XP 	=300;		-- premio em exp
SET @VIP1 	=0;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''3'')

END

update character set reset_semanal = 0 where reset_semanal > 0', 
		@database_name=N'MuOnline', 
		@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object:  Step [TOP MRESETS]    Script Date: 02/15/2017 00:46:59 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'TOP MRESETS', 
		@step_id=3, 
		@cmdexec_success_code=0, 
		@on_success_action=3, 
		@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'DECLARE
@name 		varchar(10),
@acc 		varchar(10),
@dado 		int,
@tipo 		smallint,
@WC int,
@WP int,
@GP int,
@XP int,
@VIP1 int,
@VIP2 int,
@VIP3 int,
@EVENTOS int

SET @tipo = ''2'';			-- Nao mudar

-- PRIMEIRO COLOCADO
SELECT TOP 1 @acc = AccountID, @name = Name, @dado = mresets_semanal from  character order by mresets_semanal desc,masterresetcount desc
 
IF @dado > 0 
BEGIN
SET @WC 	=5; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=2000;		-- premio em golds
SET @XP 	=2000;		-- premio em exp
SET @VIP1 	=0;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
EXEC PREMIAR_TOPS_MEDALHAS @acc, @name, 2
INSERT INTO top_semanal ( nome, dado,tipo,rank ) VALUES (@name,@dado,@tipo,''1'')

update character set mresets_semanal=0 where name = @name and mresets_semanal > 0

END

-- SEGUNDO COLOCADO
SELECT TOP 1 @acc = AccountID, @name = Name, @dado = mresets_semanal from  character order by mresets_semanal desc,masterresetcount desc

IF @dado > 0 
BEGIN
SET @WC 	=4; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=1000;		-- premio em golds
SET @XP 	=1000;		-- premio em exp
SET @VIP1 	=0;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''2'')

update character set mresets_semanal=0 where name = @name and mresets_semanal > 0

END

-- TERCEIRO COLOCADO
SELECT TOP 1 @acc = AccountID, @name = Name, @dado = mresets_semanal from  character order by mresets_semanal desc,masterresetcount desc

IF @dado > 0 
BEGIN
SET @WC 	=3; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=500;		-- premio em golds
SET @XP 	=500;		-- premio em exp
SET @VIP1 	=0;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''3'')

END

update character set mresets_semanal = 0 where mresets_semanal > 0', 
		@database_name=N'MuOnline', 
		@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object:  Step [TOP TEMPO]    Script Date: 02/15/2017 00:46:59 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'TOP TEMPO', 
		@step_id=4, 
		@cmdexec_success_code=0, 
		@on_success_action=3, 
		@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'DECLARE
@name 		varchar(10),
@acc 		varchar(10),
@dado 		int,
@tipo 		smallint,
@WC int,
@WP int,
@GP int,
@XP int,
@VIP1 int,
@VIP2 int,
@VIP3 int,
@EVENTOS int

SET @tipo = 3;			-- Nao mudar

-- PRIMEIRO COLOCADO
SELECT TOP 1 @acc = AccountID, @name = Name, @dado = tempo from  character order by tempo desc,resetcount desc
 
IF @dado > 0 
BEGIN
SET @WC 	=5; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=1000;		-- premio em golds
SET @XP 	=1000;		-- premio em exp
SET @VIP1 	=0;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
EXEC PREMIAR_TOPS_MEDALHAS @acc, @name, 3
INSERT INTO top_semanal ( nome, dado,tipo,rank ) VALUES (@name,@dado,@tipo,''1'')

update character set tempo=0 where name = @name and tempo > 0

END

-- SEGUNDO COLOCADO
SELECT TOP 1 @acc = AccountID, @name = Name, @dado = tempo from  character order by tempo desc,resetcount desc

IF @dado > 0 
BEGIN
SET @WC 	=4; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=500;		-- premio em golds
SET @XP 	=500;		-- premio em exp
SET @VIP1 	=0;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''2'')

update character set tempo=0 where name = @name and tempo > 0

END

-- TERCEIRO COLOCADO
SELECT TOP 1 @acc = AccountID, @name = Name, @dado = tempo from  character order by tempo desc,resetcount desc

IF @dado > 0 
BEGIN
SET @WC 	=3; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=300;		-- premio em golds
SET @XP 	=300;		-- premio em exp
SET @VIP1 	=0;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''3'')

END

update character set tempo = 0 where tempo > 0', 
		@database_name=N'MuOnline', 
		@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object:  Step [TOP EVENTOS]    Script Date: 02/15/2017 00:46:59 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'TOP EVENTOS', 
		@step_id=5, 
		@cmdexec_success_code=0, 
		@on_success_action=3, 
		@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'DECLARE
@name 		varchar(10),
@acc 		varchar(10),
@dado 		int,
@tipo 		smallint,
@WC int,
@WP int,
@GP int,
@XP int,
@VIP1 int,
@VIP2 int,
@VIP3 int,
@EVENTOS int

SET @tipo = 4;			-- Nao mudar

-- PRIMEIRO COLOCADO
SELECT TOP 1 @acc = AccountID, @name = Name, @dado = eventos_semanal from  character order by eventos_semanal desc,resetcount desc
 
IF @dado > 0 
BEGIN
SET @WC 	=5; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=1000;		-- premio em golds
SET @XP 	=1000;		-- premio em exp
SET @VIP1 	=0;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
EXEC PREMIAR_TOPS_MEDALHAS @acc, @name, 4
INSERT INTO top_semanal ( nome, dado,tipo,rank ) VALUES (@name,@dado,@tipo,''1'')

update character set eventos_semanal=0 where name = @name and eventos_semanal > 0

END

-- SEGUNDO COLOCADO
SELECT TOP 1 @acc = AccountID, @name = Name, @dado = eventos_semanal from  character order by eventos_semanal desc,resetcount desc

IF @dado > 0 
BEGIN
SET @WC 	=4; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=500;		-- premio em golds
SET @XP 	=500;		-- premio em exp
SET @VIP1 	=0;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''2'')

update character set eventos_semanal=0 where name = @name and eventos_semanal > 0

END

-- TERCEIRO COLOCADO
SELECT TOP 1 @acc = AccountID, @name = Name, @dado = eventos_semanal from  character order by eventos_semanal desc,resetcount desc

IF @dado > 0 
BEGIN
SET @WC 	=3; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=300;		-- premio em golds
SET @XP 	=300;		-- premio em exp
SET @VIP1 	=0;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''3'')

END

update character set eventos_semanal = 0 where eventos_semanal > 0', 
		@database_name=N'MuOnline', 
		@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object:  Step [TOP PK]    Script Date: 02/15/2017 00:46:59 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'TOP PK', 
		@step_id=6, 
		@cmdexec_success_code=0, 
		@on_success_action=3, 
		@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'DECLARE
@name 		varchar(10),
@acc 		varchar(10),
@dado 		int,
@tipo 		smallint,
@WC int,
@WP int,
@GP int,
@XP int,
@VIP1 int,
@VIP2 int,
@VIP3 int,
@EVENTOS int

SET @tipo = 5;			-- Nao mudar

-- PRIMEIRO COLOCADO
SELECT TOP 1 @acc = AccountID, @name = Name, @dado = z_rankpk_semanal from  character order by z_rankpk_semanal desc,resetcount desc
 
IF @dado > 0 
BEGIN
SET @WC 	=5; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=1000;		-- premio em golds
SET @XP 	=1000;		-- premio em exp
SET @VIP1 	=0;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
EXEC PREMIAR_TOPS_MEDALHAS @acc, @name, 5
INSERT INTO top_semanal ( nome, dado,tipo,rank ) VALUES (@name,@dado,@tipo,''1'')

update character set z_rankpk_semanal=0 where name = @name and z_rankpk_semanal > 0

END

-- SEGUNDO COLOCADO
SELECT TOP 1 @acc = AccountID, @name = Name, @dado = z_rankpk_semanal from  character order by z_rankpk_semanal desc,resetcount desc

IF @dado > 0 
BEGIN
SET @WC 	=4; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=500;		-- premio em golds
SET @XP 	=500;		-- premio em exp
SET @VIP1 	=0;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''2'')

update character set z_rankpk_semanal=0 where name = @name and z_rankpk_semanal > 0

END

-- TERCEIRO COLOCADO
SELECT TOP 1 @acc = AccountID, @name = Name, @dado = z_rankpk_semanal from  character order by z_rankpk_semanal desc,resetcount desc

IF @dado > 0 
BEGIN
SET @WC 	=3; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=300;		-- premio em golds
SET @XP 	=300;		-- premio em exp
SET @VIP1 	=0;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''3'')

END

update character set z_rankpk_semanal = 0 where z_rankpk_semanal > 0
', 
		@database_name=N'MuOnline', 
		@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object:  Step [TOP HR]    Script Date: 02/15/2017 00:46:59 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'TOP HR', 
		@step_id=7, 
		@cmdexec_success_code=0, 
		@on_success_action=3, 
		@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'DECLARE
@name 		varchar(10),
@acc 		varchar(10),
@dado 		int,
@tipo 		smallint,
@WC int,
@WP int,
@GP int,
@XP int,
@VIP1 int,
@VIP2 int,
@VIP3 int,
@EVENTOS int

SET @tipo = 13;			-- Nao mudar

-- PRIMEIRO COLOCADO
SELECT TOP 1 @acc = AccountID, @name = Name, @dado = z_rankhr_semanal from  character order by z_rankhr_semanal desc,resetcount desc
 
IF @dado > 0 
BEGIN
SET @WC 	=5; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=1000;		-- premio em golds
SET @XP 	=1000;		-- premio em exp
SET @VIP1 	=0;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
EXEC PREMIAR_TOPS_MEDALHAS @acc, @name, 6
INSERT INTO top_semanal ( nome, dado,tipo,rank ) VALUES (@name,@dado,@tipo,''1'')

update character set z_rankhr_semanal=0 where name = @name and z_rankhr_semanal > 0

END

-- SEGUNDO COLOCADO
SELECT TOP 1 @acc = AccountID, @name = Name, @dado = z_rankhr_semanal from  character order by z_rankhr_semanal desc,resetcount desc

IF @dado > 0 
BEGIN
SET @WC 	=4; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=500;		-- premio em golds
SET @XP 	=500;		-- premio em exp
SET @VIP1 	=0;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''2'')

update character set z_rankhr_semanal=0 where name = @name and z_rankhr_semanal > 0

END

-- TERCEIRO COLOCADO
SELECT TOP 1 @acc = AccountID, @name = Name, @dado = z_rankhr_semanal from  character order by z_rankhr_semanal desc,resetcount desc

IF @dado > 0 
BEGIN
SET @WC 	=3; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=300;		-- premio em golds
SET @XP 	=300;		-- premio em exp
SET @VIP1 	=0;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''3'')

END

update character set z_rankhr_semanal = 0 where z_rankhr_semanal > 0
', 
		@database_name=N'MuOnline', 
		@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object:  Step [TOP FENIX]    Script Date: 02/15/2017 00:46:59 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'TOP FENIX', 
		@step_id=8, 
		@cmdexec_success_code=0, 
		@on_success_action=3, 
		@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'DECLARE
@name 		varchar(10),
@acc 		varchar(10),
@dado 		int,
@tipo 		smallint,
@WC int,
@WP int,
@GP int,
@XP int,
@VIP1 int,
@VIP2 int,
@VIP3 int,
@EVENTOS int

SET @tipo = 12;			-- Nao mudar

-- PRIMEIRO COLOCADO
SELECT TOP 1 @acc = AccountID, @name = Name, @dado = fenix from  character order by fenix desc,resetcount desc
 
IF @dado > 0 
BEGIN
SET @WC 	=5; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=1000;		-- premio em golds
SET @XP 	=1000;		-- premio em exp
SET @VIP1 	=0;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
INSERT INTO top_semanal ( nome, dado,tipo,rank ) VALUES (@name,@dado,@tipo,''1'')

update character set fenix=0 where name = @name and fenix > 0

END

-- SEGUNDO COLOCADO
SELECT TOP 1 @acc = AccountID, @name = Name, @dado = fenix from  character order by fenix desc,resetcount desc

IF @dado > 0 
BEGIN
SET @WC 	=4; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=500;		-- premio em golds
SET @XP 	=500;		-- premio em exp
SET @VIP1 	=0;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''2'')

update character set fenix=0 where name = @name and fenix > 0

END

-- TERCEIRO COLOCADO
SELECT TOP 1 @acc = AccountID, @name = Name, @dado = fenix from  character order by fenix desc,resetcount desc

IF @dado > 0 
BEGIN
SET @WC 	=3; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=300;		-- premio em golds
SET @XP 	=300;		-- premio em exp
SET @VIP1 	=0;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''3'')

END

update character set fenix = 0 where fenix > 0
', 
		@database_name=N'MuOnline', 
		@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object:  Step [TOP DS]    Script Date: 02/15/2017 00:46:59 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'TOP DS', 
		@step_id=9, 
		@cmdexec_success_code=0, 
		@on_success_action=3, 
		@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'DECLARE
@name 		varchar(10),
@acc 		varchar(10),
@dado 		int,
@tipo 		smallint,
@WC int,
@WP int,
@GP int,
@XP int,
@VIP1 int,
@VIP2 int,
@VIP3 int,
@EVENTOS int

SET @tipo = 8;			-- Nao mudar

-- PRIMEIRO COLOCADO
SELECT TOP 1 @name = Name, @dado = score_semanal from rankingdevilsquare order by score_semanal desc
SELECT TOP 1 @acc = (select top 1 accountid from character where name = @name)
 
IF @dado > 0 
BEGIN
SET @WC 	=0; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=0;		-- premio em golds
SET @XP 	=2000;		-- premio em exp
SET @VIP1 	=7;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
EXEC PREMIAR_TOPS_MEDALHAS @acc, @name, 7
INSERT INTO top_semanal ( nome, dado,tipo,rank ) VALUES (@name,@dado,@tipo,''1'')

	update rankingdevilsquare set score_semanal = 0 where name = @name

END

-- SEGUNDO COLOCADO
SELECT TOP 1 @name = Name, @dado = score_semanal from rankingdevilsquare order by score_semanal desc
SELECT TOP 1 @acc = (select top 1 accountid from character where name = @name)
IF @dado > 0 
BEGIN
SET @WC 	=0; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=0;		-- premio em golds
SET @XP 	=1000;		-- premio em exp
SET @VIP1 	=6;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''2'')

	update rankingdevilsquare set score_semanal = 0 where name = @name

END

-- TERCEIRO COLOCADO
SELECT TOP 1 @name = Name, @dado = score_semanal from rankingdevilsquare order by score_semanal desc
SELECT TOP 1 @acc = (select top 1 accountid from character where name = @name)

IF @dado > 0 
BEGIN
SET @WC 	=0; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=0;		-- premio em golds
SET @XP 	=500;		-- premio em exp
SET @VIP1 	=5;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''3'')

END
	update rankingdevilsquare set score_semanal = 0 where score_semanal > 0
', 
		@database_name=N'MuOnline', 
		@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object:  Step [TOP BC]    Script Date: 02/15/2017 00:46:59 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'TOP BC', 
		@step_id=10, 
		@cmdexec_success_code=0, 
		@on_success_action=3, 
		@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'DECLARE
@name 		varchar(10),
@acc 		varchar(10),
@dado 		int,
@tipo 		smallint,
@WC int,
@WP int,
@GP int,
@XP int,
@VIP1 int,
@VIP2 int,
@VIP3 int,
@EVENTOS int

SET @tipo = 10;			-- Nao mudar

-- PRIMEIRO COLOCADO
SELECT TOP 1 @name = Name, @dado = score_semanal from rankingbloodcastle order by score_semanal desc
SELECT TOP 1 @acc = (select top 1 accountid from character where name = @name)
 
IF @dado > 0 
BEGIN
SET @WC 	=0; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=0;		-- premio em golds
SET @XP 	=2000;		-- premio em exp
SET @VIP1 	=7;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
EXEC PREMIAR_TOPS_MEDALHAS @acc, @name, 8
INSERT INTO top_semanal ( nome, dado,tipo,rank ) VALUES (@name,@dado,@tipo,''1'')

	update rankingbloodcastle set score_semanal = 0 where name = @name

END

-- SEGUNDO COLOCADO
SELECT TOP 1 @name = Name, @dado = score_semanal from rankingbloodcastle order by score_semanal desc
SELECT TOP 1 @acc = (select top 1 accountid from character where name = @name)
IF @dado > 0 
BEGIN
SET @WC 	=0; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=0;		-- premio em golds
SET @XP 	=1000;		-- premio em exp
SET @VIP1 	=6;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''2'')

	update rankingbloodcastle set score_semanal = 0 where name = @name

END

-- TERCEIRO COLOCADO
SELECT TOP 1 @name = Name, @dado = score_semanal from rankingbloodcastle order by score_semanal desc
SELECT TOP 1 @acc = (select top 1 accountid from character where name = @name)

IF @dado > 0 
BEGIN
SET @WC 	=0; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=0;		-- premio em golds
SET @XP 	=500;		-- premio em exp
SET @VIP1 	=5;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''3'')

END
	update rankingbloodcastle set score_semanal = 0 where score_semanal > 0
', 
		@database_name=N'MuOnline', 
		@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object:  Step [TOP DUELO]    Script Date: 02/15/2017 00:46:59 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'TOP DUELO', 
		@step_id=11, 
		@cmdexec_success_code=0, 
		@on_success_action=3, 
		@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'DECLARE
@name 		varchar(10),
@acc 		varchar(10),
@dado 		int,
@tipo 		smallint,
@WC int,
@WP int,
@GP int,
@XP int,
@VIP1 int,
@VIP2 int,
@VIP3 int,
@EVENTOS int

SET @tipo = 11;			-- Nao mudar

-- PRIMEIRO COLOCADO
SELECT TOP 1 @name = Name, @dado = winscore_semanal from rankingduel order by winscore_semanal desc
SELECT TOP 1 @acc = (select top 1 accountid from character where name = @name)
 
IF @dado > 0 
BEGIN
SET @WC 	=0; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=1000;		-- premio em golds
SET @XP 	=1000;		-- premio em exp
SET @VIP1 	=5;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
EXEC PREMIAR_TOPS_MEDALHAS @acc, @name, 10
INSERT INTO top_semanal ( nome, dado,tipo,rank ) VALUES (@name,@dado,@tipo,''1'')

	update rankingduel set winscore_semanal = 0 where name = @name

END

-- SEGUNDO COLOCADO
SELECT TOP 1 @name = Name, @dado = winscore_semanal from rankingduel order by winscore_semanal desc
SELECT TOP 1 @acc = (select top 1 accountid from character where name = @name)
IF @dado > 0 
BEGIN
SET @WC 	=0; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=500;		-- premio em golds
SET @XP 	=500;		-- premio em exp
SET @VIP1 	=5;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''2'')

	update rankingduel set winscore_semanal = 0 where name = @name

END

-- TERCEIRO COLOCADO
SELECT TOP 1 @name = Name, @dado = winscore_semanal from rankingduel order by winscore_semanal desc
SELECT TOP 1 @acc = (select top 1 accountid from character where name = @name)

IF @dado > 0 
BEGIN
SET @WC 	=0; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=300;		-- premio em golds
SET @XP 	=300;		-- premio em exp
SET @VIP1 	=5;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''3'')

END
	update rankingduel set winscore_semanal = 0 where winscore_semanal > 0
', 
		@database_name=N'MuOnline', 
		@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object:  Step [TOP CC]    Script Date: 02/15/2017 00:46:59 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'TOP CC', 
		@step_id=12, 
		@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'DECLARE
@name 		varchar(10),
@acc 		varchar(10),
@dado 		int,
@tipo 		smallint,
@WC int,
@WP int,
@GP int,
@XP int,
@VIP1 int,
@VIP2 int,
@VIP3 int,
@EVENTOS int

SET @tipo = 14;			-- Nao mudar

-- PRIMEIRO COLOCADO
SELECT TOP 1 @name = Name, @dado = score_semanal from rankingchaoscastle order by score_semanal desc
SELECT TOP 1 @acc = (select top 1 accountid from character where name = @name)
 
IF @dado > 0 
BEGIN
SET @WC 	=0; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=0;		-- premio em golds
SET @XP 	=2000;		-- premio em exp
SET @VIP1 	=7;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
EXEC PREMIAR_TOPS_MEDALHAS @acc, @name, 9
INSERT INTO top_semanal ( nome, dado,tipo,rank ) VALUES (@name,@dado,@tipo,''1'')

	update rankingchaoscastle set score_semanal = 0 where name = @name

END

-- SEGUNDO COLOCADO
SELECT TOP 1 @name = Name, @dado = score_semanal from rankingchaoscastle order by score_semanal desc
SELECT TOP 1 @acc = (select top 1 accountid from character where name = @name)
IF @dado > 0 
BEGIN
SET @WC 	=0; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=0;		-- premio em golds
SET @XP 	=1000;		-- premio em exp
SET @VIP1 	=6;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''2'')

	update rankingchaoscastle set score_semanal = 0 where name = @name

END

-- TERCEIRO COLOCADO
SELECT TOP 1 @name = Name, @dado = score_semanal from rankingchaoscastle order by score_semanal desc
SELECT TOP 1 @acc = (select top 1 accountid from character where name = @name)

IF @dado > 0 
BEGIN
SET @WC 	=0; 		-- premio em creditos
SET @WP 	=0;		-- premio em mgolds
SET @GP 	=0;		-- premio em golds
SET @XP 	=500;		-- premio em exp
SET @VIP1 	=5;		-- premio apenas para vip nivel 0 e 1
SET @VIP2 	=0;		-- premio apenas para vip nivel 2
SET @VIP3 	=0;		-- premio apenas para vip nivel 3
SET @EVENTOS 	=0;		-- premio em pontos de eventos geral

EXEC PREMIAR_TOPS @acc, @name, @WC, @WP, @GP, @XP, @VIP1, @VIP2, @VIP3, @EVENTOS
Insert into top_semanal ( nome, dado, tipo, rank ) values (@name,@dado,@tipo,''3'')

END
	update rankingchaoscastle set score_semanal = 0 where score_semanal > 0
', 
		@database_name=N'MuOnline', 
		@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object:  Step [TOP CS]    Script Date: 02/15/2017 00:46:59 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'TOP CS', 
		@step_id=13, 
		@cmdexec_success_code=0, 
		@on_success_action=3, 
		@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'declare @nome varchar(10),
@acc varchar(10),
@guild varchar(8)


DECLARE LISTA CURSOR LOCAL FOR 
select Name from Guildmember where G_name = (select owner_guild from mucastle_data) 
OPEN LISTA 
FETCH NEXT FROM LISTA INTO @nome
WHILE @@FETCH_STATUS = 0 
begin 

IF @nome is not null
BEGIN

if (select resetcount from Character where Name= @nome) > 85
begin
UPDATE Character set exp_war = exp_war + 2000 where Name = @nome

	if exists (select Name from MK_MEDALHAS where Name = @nome)
	begin
		update MK_MEDALHAS set medal_rei = 1 where Name = @nome and medal_rei=0
	end

	else
	begin 
		SET @Acc = (select top 1 dbo.fn_acc(@nome))
		INSERT INTO MK_MEDALHAS (login,Name,medal_rei) VALUES (@Acc, @nome, 1)
	end

end

END

FETCH NEXT FROM LISTA INTO @nome
end 
CLOSE LISTA 
DEALLOCATE LISTA 


DECLARE LISTA CURSOR LOCAL FOR 
select G_Name from Guild where G_union = (select G_union from guild where g_name = (select owner_guild from mucastle_data)) and g_name <> (select owner_guild from mucastle_data)
OPEN LISTA 
FETCH NEXT FROM LISTA INTO @guild
WHILE @@FETCH_STATUS = 0 
begin 

DECLARE LISTA2 CURSOR LOCAL FOR 
select Name from Guildmember where G_name = @guild
OPEN LISTA2 
FETCH NEXT FROM LISTA2 INTO @nome
WHILE @@FETCH_STATUS = 0 
begin 

IF @nome is not null
BEGIN

if (select resetcount from Character where Name= @nome) > 85
	UPDATE Character set exp_war = exp_war + 1000 where Name = @nome

END

FETCH NEXT FROM LISTA2 INTO @nome
end 
CLOSE LISTA2 
DEALLOCATE LISTA2 


FETCH NEXT FROM LISTA INTO @guild
end 
CLOSE LISTA 
DEALLOCATE LISTA 

', 
		@database_name=N'MuOnline', 
		@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object:  Step [TOP REI DO MU]    Script Date: 02/15/2017 00:46:59 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'TOP REI DO MU', 
		@step_id=14, 
		@cmdexec_success_code=0, 
		@on_success_action=3, 
		@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'declare @name varchar(10),
@acc varchar(10),
@num int,
@g1 varchar(10),
@g2 varchar(10),
@g3 varchar(10),
@gm1 varchar(10),
@gm2 varchar(10),
@gm3 varchar(10)
set @num = 0

set @g1 = (select top 1 g_name from guild order by owner_time desc)
set @g2 = (select top 1 g_name from guild where g_name <> @g1 order by owner_time desc)
set @g3 = (select top 1 g_name from guild where g_name <> @g1 and g_name <> @g2 order by owner_time desc)
set @gm1 = (select top 1 accountid from character where name=(select top 1 g_master from guild order by owner_time desc) collate database_default)
set @gm2 = (select top 1 accountid from character where name=(select top 1 g_master from guild where g_name <> @g1 order by owner_time desc) collate database_default)
set @gm3 = (select top 1 accountid from character where name=(select top 1 g_master from guild where g_name <> @g1 and g_name <> @g2 order by owner_time desc) collate database_default)
 
DECLARE LISTA CURSOR LOCAL FOR 
select name from guildmember where g_name = @g1 order by event_count desc
OPEN LISTA 
FETCH NEXT FROM LISTA INTO @name
WHILE @@FETCH_STATUS = 0  
begin 

set @num = @num+1

if @num > 0 and @num <6
begin
set @acc = (select top 1 accountid from character where name = @name)
update character set exp_war=exp_war+3000 where name=@name
Update CashShopData set wCoinC = wCoinC + 10 where accountid=@acc
end 

if @num > 5
begin
update character set exp_war=exp_war+3000 where name = @name
end 

FETCH NEXT FROM LISTA INTO @name
end 
CLOSE LISTA 
DEALLOCATE LISTA

set @num = 0

DECLARE LISTA CURSOR LOCAL FOR 
select name from guildmember where g_name = @g2 order by event_count desc
OPEN LISTA 
FETCH NEXT FROM LISTA INTO @name
WHILE @@FETCH_STATUS = 0  
begin 

set @num = @num+1

if @num > 0 and @num <6
begin
set @acc = (select top 1 accountid from character where name = @name)
update character set exp_war=exp_war+2000 where name=@name
end 

if @num > 5
begin
update character set exp_war=exp_war+2000 where name = @name
end 

FETCH NEXT FROM LISTA INTO @name
end 
CLOSE LISTA 
DEALLOCATE LISTA

set @num = 0

DECLARE LISTA CURSOR LOCAL FOR 
select name from guildmember where g_name = @g3 order by event_count desc
OPEN LISTA 
FETCH NEXT FROM LISTA INTO @name
WHILE @@FETCH_STATUS = 0  
begin 

set @num = @num+1

if @num > 0 and @num <6
begin
set @acc = (select top 1 accountid from character where name = @name)
update character set exp_war=exp_war+1000 where name=@name
end 

if @num > 5
begin
update character set exp_war=exp_war+1000 where name = @name
end 

FETCH NEXT FROM LISTA INTO @name
end 
CLOSE LISTA 
DEALLOCATE LISTA

update CashShopData set wCoinC = wCoinC+20 where AccountID=@gm1
update CashShopData set wCoinC = wCoinC+15 where AccountID=@gm2
update CashShopData set wCoinC = wCoinC+10 where AccountID=@gm3

insert into log_creditos ( login, valor, ip, tipo ) values (@gm1,''20'',''1'',''10'')
insert into log_creditos ( login, valor, ip, tipo ) values (@gm2,''15'',''1'',''10'')
insert into log_creditos ( login, valor, ip, tipo ) values (@gm3,''10'',''1'',''10'')

declare @dado int

select @dado = (select top 1 owner_time from guild where g_name=@g1)
Insert into top_semanal ( nome, dado, tipo, rank ) values (@g1,@dado,''7'',''1'')

select @dado = (select top 1 owner_time from guild where g_name=@g2)
Insert into top_semanal ( nome, dado, tipo, rank ) values (@g2,@dado,''7'',''2'')

select @dado = (select top 1 owner_time from guild where g_name=@g3)
Insert into top_semanal ( nome, dado, tipo, rank ) values (@g3,@dado,''7'',''3'')

update guild set owner_time = 0,owner=0,owner_count=0', 
		@database_name=N'MuOnline', 
		@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object:  Step [TOP REI DO MU INDIVIDUAL]    Script Date: 02/15/2017 00:46:59 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'TOP REI DO MU INDIVIDUAL', 
		@step_id=15, 
		@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'declare @nome varchar(10),
@acc varchar(10),
@dado int,
@tipo smallint,
@data smalldatetime

select @nome = (select top 1 name from guildmember order by event_count desc)
select @dado = (select top 1 event_count from guildmember order by event_count desc)
select @tipo = ''9''

Insert into top_semanal ( nome, dado,tipo, rank ) values (@nome,@dado,@tipo,1)

update character set exp_war=exp_war+5000 where name = @nome

update guildmember set event_count = 0 where name = @nome

select @nome = (select top 1 name from guildmember order by event_count desc)
select @dado = (select top 1 event_count from guildmember order by event_count desc)
select @tipo = ''9''

Insert into top_semanal ( nome, dado,tipo, rank ) values (@nome,@dado,@tipo,2)

update character set exp_war=exp_war+4000 where name = @nome

update guildmember set event_count = 0 where name = @nome

select @nome = (select top 1 name from guildmember order by event_count desc)
select @dado = (select top 1 event_count from guildmember order by event_count desc)
select @tipo = ''9''

Insert into top_semanal ( nome, dado,tipo, rank ) values (@nome,@dado,@tipo,3)

update character set exp_war=exp_war+3000 where name = @nome

update guildmember set event_count = 0 where name = @nome

select @nome = (select top 1 name from guildmember order by event_count desc)
select @dado = (select top 1 event_count from guildmember order by event_count desc)
select @tipo = ''9''

Insert into top_semanal ( nome, dado,tipo, rank ) values (@nome,@dado,@tipo,4)

update character set exp_war=exp_war+2000 where name = @nome

update guildmember set event_count = 0 where name = @nome

select @nome = (select top 1 name from guildmember order by event_count desc)
select @dado = (select top 1 event_count from guildmember order by event_count desc)
select @tipo = ''9''

Insert into top_semanal ( nome, dado,tipo, rank ) values (@nome,@dado,@tipo,5)

update character set exp_war=exp_war+1000 where name = @nome

update guildmember set event_count = 0 where  event_count>0
', 
		@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'time', 
		@enabled=1, 
		@freq_type=8, 
		@freq_interval=2, 
		@freq_subday_type=1, 
		@freq_subday_interval=0, 
		@freq_relative_interval=0, 
		@freq_recurrence_factor=1, 
		@active_start_date=20160803, 
		@active_end_date=99991231, 
		@active_start_time=0, 
		@active_end_time=235959, 
		@schedule_uid=N'30ea7a24-a51b-438c-a899-59c09c0bf180'
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


