Autor Tema: Configurar limite Reset/MasterReset (Muemu/Louis)  (Leído 5874 veces)

Desconectado Louis

  • *
  • *


  • 1263

    177

    25381
  • br
  • Louis Emulator
    • +55 15 997401274 +55 15 997401274
    • louisemulator louisemulator
Para quem gostaria de usar o limite de resets no muemu/louis siga os passos abaixo:

Reset Limite:
1 - Execute no sql server essas linhas:
Cita
ALTER TABLE [MuOnline].[dbo].[Character] ADD ResetDay INT NOT NULL DEFAULT ((0))
ALTER TABLE [MuOnline].[dbo].[Character] ADD ResetWek INT NOT NULL DEFAULT ((0))
ALTER TABLE [MuOnline].[dbo].[Character] ADD ResetMon INT NOT NULL DEFAULT ((0))

2 - Modifique a procedure WZ_SetResetInfo ou execute esse commando no sql server:
Cita
ALTER Procedure [dbo].[WZ_SetResetInfo]
@Account varchar(10),
@Name varchar(10),
@Reset int,
@ResetDay int,
@ResetWek int,
@ResetMon int
AS
BEGIN

SET NOCOUNT ON
SET XACT_ABORT ON

UPDATE Character SET ResetCount=@Reset, ResetDay=@ResetDay, ResetWek=@ResetWek, ResetMon=@ResetMon WHERE AccountID=@Account AND Name=@Name

SET NOCOUNT OFF
SET XACT_ABORT OFF

END

3 - Modifique a procedure WZ_GetResetInfo ou execute esse commando no sql server:
Cita
ALTER Procedure [dbo].[WZ_GetResetInfo]
@Account varchar(10),
@Name varchar(10)
AS
BEGIN

SET NOCOUNT ON
SET XACT_ABORT ON

DECLARE @Reset int
DECLARE @ResetDay int
DECLARE @ResetWek int
DECLARE @ResetMon int

SELECT @Reset=ResetCount,@ResetDay=ResetDay,@ResetWek=ResetWek,@ResetMon=ResetMon FROM Character WHERE AccountID=@Account AND Name=@Name

SELECT @Reset AS Reset,@ResetDay AS ResetDay,@ResetWek AS ResetWek,@ResetMon AS ResetMon

SET NOCOUNT OFF
SET XACT_ABORT OFF

END

Master Reset Limite:

1 - Execute no sql server essas linhas:
Cita
ALTER TABLE [MuOnline].[dbo].[Character] ADD MasterResetDay INT NOT NULL DEFAULT ((0))
ALTER TABLE [MuOnline].[dbo].[Character] ADD MasterResetWek INT NOT NULL DEFAULT ((0))
ALTER TABLE [MuOnline].[dbo].[Character] ADD MasterResetMon INT NOT NULL DEFAULT ((0))

2 - Modifique a procedure WZ_SetMasterResetInfo ou execute esse commando no sql server:
Cita
ALTER Procedure [dbo].[WZ_SetMasterResetInfo]
@Account varchar(10),
@Name varchar(10),
@Reset int,
@MasterReset int,
@MasterResetDay int,
@MasterResetWek int,
@MasterResetMon int
AS
BEGIN

SET NOCOUNT ON
SET XACT_ABORT ON

UPDATE Character SET ResetCount=@Reset,MasterResetCount=@MasterReset, MasterResetDay=@MasterResetDay, MasterResetWek=@MasterResetWek, MasterResetMon=@MasterResetMon WHERE AccountID=@Account AND Name=@Name

SET NOCOUNT OFF
SET XACT_ABORT OFF

END

3 - Modifique a procedure WZ_GetMasterResetInfo ou execute esse commando no sql server:
Cita
ALTER Procedure [dbo].[WZ_GetMasterResetInfo]
@Account varchar(10),
@Name varchar(10)
AS
BEGIN

SET NOCOUNT ON
SET XACT_ABORT ON

DECLARE @MasterReset int
DECLARE @MasterResetDay int
DECLARE @MasterResetWek int
DECLARE @MasterResetMon int

SELECT @MasterReset=MasterResetCount,@MasterResetDay=MasterResetDay,@MasterResetWek=MasterResetWek,@MasterResetMon=MasterResetMon FROM Character WHERE AccountID=@Account AND Name=@Name

SELECT @MasterReset AS MasterReset,@MasterResetDay AS MasterResetDay,@MasterResetWek AS MasterResetWek,@MasterResetMon AS MasterResetMon

SET NOCOUNT OFF
SET XACT_ABORT OFF

END

Completando, job para resetar ranking diario semanal é mensal
Diario:
Cita
USE [msdb]
GO

/****** Object:  Job [ResetDay]    Script Date: 10/31/2015 11:40:37 AM ******/
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
/****** Object:  JobCategory [[Uncategorized (Local)]]]    Script Date: 10/31/2015 11:40:37 AM ******/
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'ResetDay',
      @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'VPS46658\Administrator', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object:  Step [ResetDay]    Script Date: 10/31/2015 11:40:37 AM ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'ResetDay',
      @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 ResetDay=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'ResetDay',
      @enabled=1,
      @freq_type=4,
      @freq_interval=1,
      @freq_subday_type=1,
      @freq_subday_interval=0,
      @freq_relative_interval=0,
      @freq_recurrence_factor=0,
      @active_start_date=20151031,
      @active_end_date=99991231,
      @active_start_time=0,
      @active_end_time=235959,
      @schedule_uid=N'e41a2b95-3f95-42fb-8b0b-abfa4bd70b4e'
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

Semanal:
Cita
USE [msdb]
GO

/****** Object:  Job [ResetWek]    Script Date: 10/31/2015 11:41:11 AM ******/
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
/****** Object:  JobCategory [[Uncategorized (Local)]]]    Script Date: 10/31/2015 11:41:11 AM ******/
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'ResetWek',
      @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'VPS46658\Administrator', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object:  Step [ResetWek]    Script Date: 10/31/2015 11:41:11 AM ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'ResetWek',
      @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 ResetWek=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'ResetDay',
      @enabled=1,
      @freq_type=8,
      @freq_interval=1,
      @freq_subday_type=1,
      @freq_subday_interval=0,
      @freq_relative_interval=0,
      @freq_recurrence_factor=1,
      @active_start_date=20151031,
      @active_end_date=99991231,
      @active_start_time=0,
      @active_end_time=235959,
      @schedule_uid=N'0cf9db0a-850d-445c-a43e-b858e4e73398'
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

Mensal:
Cita
USE [msdb]
GO

/****** Object:  Job [ResetMon]    Script Date: 10/31/2015 11:41:39 AM ******/
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
/****** Object:  JobCategory [[Uncategorized (Local)]]]    Script Date: 10/31/2015 11:41:39 AM ******/
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'ResetMon',
      @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'VPS46658\Administrator', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object:  Step [ResetMon]    Script Date: 10/31/2015 11:41:39 AM ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'ResetMon',
      @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 ResetMon=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'ResetMon',
      @enabled=1,
      @freq_type=16,
      @freq_interval=1,
      @freq_subday_type=1,
      @freq_subday_interval=0,
      @freq_relative_interval=0,
      @freq_recurrence_factor=1,
      @active_start_date=20151031,
      @active_end_date=99991231,
      @active_start_time=0,
      @active_end_time=235959,
      @schedule_uid=N'16066232-60ff-449e-a4f9-1e185d85286e'
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

Vídeos importantes:
Spoiler for Hiden:




Créditos:
Louis
Lorran Mota
« Última Modificación: Agosto 04, 2020, 07:39:56 pm por Louis »
Update 41 ready
www.jogandomu.com.br
Discord: louisemulator

Gracias:

mutinhyeu, FelipeFS, Felps, mututhan, thanhtamvt, maxwell360, Xaviierx, jrpatrian, robson, sauron215, MartinGlas

mutinhyeu

Hi, Louis!
I'm new member.
I have a problem looking forward to your help.
I want config to limit reset per day . Reset limit by Top 1 of Server.
For example : limit reset = 20 .
The first day, all members will be reset 20 . The following day, will count according to the reset of the top 1 + 20.

caiojuan92


barakuda21

sir i follow your guide where is bdo.WZ_SetResetInfo on MuOnline table? i cant see it! when i make table of this bdo.WZ_SetResetInfo its say already there but i cant see it!

Desconectado Louis

  • *
  • *


  • 1263

    177

    25381
  • br
  • Louis Emulator
    • +55 15 997401274 +55 15 997401274
    • louisemulator louisemulator
sir i follow your guide where is bdo.WZ_SetResetInfo on MuOnline table? i cant see it! when i make table of this bdo.WZ_SetResetInfo its say already there but i cant see it!

it's a store procedure.

Database > Programmability > Store procedures
Update 41 ready
www.jogandomu.com.br
Discord: louisemulator

Gracias:

barakuda21

 

.