Resultados 1 a 6 de 6
  1. #1
    Iniciante MarquitoXx's Avatar
    Data de Ingresso
    May 2019
    Posts
    3
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Mencionado
    0 Post(s)
    País
    Argentina

    Unhappy Problema com o limite de resets

    Boa tarde membros de PerfectZone, queria fazer uma consulta ... Acontece que eu quero colocar r3sets por dia, semana e mês, eu li algum post sobre esse tópico e acho que configurei tudo corretamente ...
    O problema é este: Estes WZ_SetResetInfo e WZ_GetResetInfo, são redefinidos por dia? Se eu definir o limite 3 r3s3ts por dia e fizer os respectivos r3sets no jogo a tabela Character atualiza sua tabela ResetDay = 3, no dia seguinte a tabela será atualizada para 0?
    Eu queria fazer um teste ontem, mas o jogo continua dizendo que eu ultrapassei as reinicializações por dia, alguma ajuda ???

    Muito obrigado

  2. #2
    RoxGaming Developer Denis Alves's Avatar



    Data de Ingresso
    May 2017
    Posts
    299
    Thanks Thanks Given 
    215
    Thanks Thanks Received 
    705
    Thanked in
    118 Posts
    Mencionado
    36 Post(s)
    MEU HUMOR
    Amused
    País
    Brazil
    Citação Originally Posted by MarquitoXx Ver Post
    Boa tarde membros de PerfectZone, queria fazer uma consulta ... Acontece que eu quero colocar r3sets por dia, semana e mês, eu li algum post sobre esse tópico e acho que configurei tudo corretamente ...
    O problema é este: Estes WZ_SetResetInfo e WZ_GetResetInfo, são redefinidos por dia? Se eu definir o limite 3 r3s3ts por dia e fizer os respectivos r3sets no jogo a tabela Character atualiza sua tabela ResetDay = 3, no dia seguinte a tabela será atualizada para 0?
    Eu queria fazer um teste ontem, mas o jogo continua dizendo que eu ultrapassei as reinicializações por dia, alguma ajuda ???

    Muito obrigado
    Nesse caso a WZ_SetResetInfo e WZ_GetResetInfo são arquivos de configuração feitos para que manipule o armazenamento dos resets nas colunas específicas. Com base no que você especificou, o que quer é um sistema de ranking que zere a coluna (que seja diariamente, semanalmente ou mensalmente). Respectivamente, isso é feito através de sistema Jobs. Dê uma pesquisada no fórum que fala sobre preparo de Rankings Diario/Semanal/Mensal. Claro, você aplica o que você achar melhor.


    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Jobs: Reset Diário

    BEGIN TRANSACTION
    DECLARE @JobID BINARY(16)
    DECLARE @ReturnCode INT
    SELECT @ReturnCode = 0

    IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'[uncategorized (Local)]') < 1
    EXECUTE msdb.dbo.sp_add_category @name = N'[uncategorized (Local)]'

    SELECT @JobID = job_id FROM msdb.dbo.sysjobs WHERE (name = N'ResetDay')

    IF (@JobID IS NOT NULL)
    BEGIN

    IF (EXISTS (SELECT * FROM msdb.dbo.sysjobservers WHERE (job_id = @JobID) AND (server_id <> 0)))
    BEGIN

    RAISERROR (N'Unable to import job ''ResetDay'' since there is already a multi-server job with this name.', 16, 1)
    GOTO QuitWithRollback
    END
    ELSE
    EXECUTE msdb.dbo.sp_delete_job @job_name = N'ResetDay'
    SELECT @JobID = NULL
    END

    BEGIN

    EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT , @job_name = N'ResetDay', @owner_login_name = N'sa', @description = N'No description available.', @category_name = N'[uncategorized (Local)]', @enabled = 1, @notify_level_email = 0, @notify_level_page = 0, @notify_level_netsend = 0, @notify_level_eventlog = 2, @delete_level= 0
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 1, @step_name = N'ResetColumn', @command = N'UPDATE Character SET ResetDay = 0', @database_name = N'MuOnline', @server = N'', @database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0, @retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 1, @on_fail_step_id = 0, @on_fail_action = 2
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1

    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name = N'ResetDay', @enabled = 1, @freq_type = 4, @active_start_date = 20170329, @active_start_time = 0, @freq_interval = 1, @freq_subday_type = 1, @freq_subday_interval = 0, @freq_relative_interval = 0, @freq_recurrence_factor = 0, @active_end_date = 99991231, @active_end_time = 235959
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)'
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    END
    COMMIT TRANSACTION
    GOTO EndSave
    QuitWithRollback:
    IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
    EndSave:

    Job Reset Semanal

    BEGIN TRANSACTION
    DECLARE @JobID BINARY(16)
    DECLARE @ReturnCode INT
    SELECT @ReturnCode = 0

    IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'[uncategorized (Local)]') < 1
    EXECUTE msdb.dbo.sp_add_category @name = N'[uncategorized (Local)]'

    SELECT @JobID = job_id FROM msdb.dbo.sysjobs WHERE (name = N'ResetWek')

    IF (@JobID IS NOT NULL)
    BEGIN

    IF (EXISTS (SELECT * FROM msdb.dbo.sysjobservers WHERE (job_id = @JobID) AND (server_id <> 0)))
    BEGIN

    RAISERROR (N'Unable to import job ''ResetWek'' since there is already a multi-server job with this name.', 16, 1)
    GOTO QuitWithRollback
    END
    ELSE
    EXECUTE msdb.dbo.sp_delete_job @job_name = N'ResetWek'
    SELECT @JobID = NULL
    END

    BEGIN

    EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT , @job_name = N'ResetWek', @owner_login_name = N'sa', @description = N'No description available.', @category_name = N'[uncategorized (Local)]', @enabled = 0, @notify_level_email = 0, @notify_level_page = 0, @notify_level_netsend = 0, @notify_level_eventlog = 0, @delete_level= 0
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 1, @step_name = N'ResetColumn', @command = N'UPDATE Character SET ResetWek = 0', @database_name = N'MuOnline', @server = N'', @database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0, @retry_interval = 0, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 1, @on_fail_step_id = 0, @on_fail_action = 2
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1

    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name = N'ResetWek', @enabled = 1, @freq_type = 8, @active_start_date = 20170329, @active_start_time = 0, @freq_interval = 1, @freq_subday_type = 1, @freq_subday_interval = 0, @freq_relative_interval = 0, @freq_recurrence_factor = 1, @active_end_date = 99991231, @active_end_time = 235959
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)'
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    END
    COMMIT TRANSACTION
    GOTO EndSave
    QuitWithRollback:
    IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
    EndSave:
    Job Reset Mensal

    BEGIN TRANSACTION
    DECLARE @JobID BINARY(16)
    DECLARE @ReturnCode INT
    SELECT @ReturnCode = 0

    IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'[uncategorized (Local)]') < 1
    EXECUTE msdb.dbo.sp_add_category @name = N'[uncategorized (Local)]'

    SELECT @JobID = job_id FROM msdb.dbo.sysjobs WHERE (name = N'ResetMon')

    IF (@JobID IS NOT NULL)
    BEGIN

    IF (EXISTS (SELECT * FROM msdb.dbo.sysjobservers WHERE (job_id = @JobID) AND (server_id <> 0)))
    BEGIN

    RAISERROR (N'Unable to import job ''ResetMon'' since there is already a multi-server job with this name.', 16, 1)
    GOTO QuitWithRollback
    END
    ELSE
    EXECUTE msdb.dbo.sp_delete_job @job_name = N'ResetMon'
    SELECT @JobID = NULL
    END

    BEGIN

    EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT , @job_name = N'ResetMon', @owner_login_name = N'sa', @description = N'No description available.', @category_name = N'[uncategorized (Local)]', @enabled = 0, @notify_level_email = 0, @notify_level_page = 0, @notify_level_netsend = 0, @notify_level_eventlog = 0, @delete_level= 0
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 1, @step_name = N'ResetColumn', @command = N'UPDATE Character SET ResetMon = 0', @database_name = N'MuOnline', @server = N'', @database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0, @retry_interval = 0, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 1, @on_fail_step_id = 0, @on_fail_action = 2
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1

    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name = N'ResetMon', @enabled = 1, @freq_type = 16, @active_start_date = 20170329, @active_start_time = 0, @freq_interval = 1, @freq_subday_type = 1, @freq_subday_interval = 0, @freq_relative_interval = 0, @freq_recurrence_factor = 1, @active_end_date = 99991231, @active_end_time = 235959
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)'
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    END
    COMMIT TRANSACTION
    GOTO EndSave
    QuitWithRollback:
    IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
    EndSave:
    Vale lembrar que configure cada um com as colunas que você irá utilizar para zerar, ou seja, se for pra zerar ranking mensal procure a coluna "ResetMon" e configure com a tabela utilizada para tal ranking.
    Last edited by Denis Alves; 30/05/2019 at 01:41 AM.

  3. #3
    Iniciante MarquitoXx's Avatar
    Data de Ingresso
    May 2019
    Posts
    3
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Mencionado
    0 Post(s)
    País
    Argentina
    Caro denizinhu, antes de tudo, muito obrigado pela sua resposta, vou executar as querys que você mencionou e vou ver se funciona. Eu só tinha "configurado" tanto WZ_GetResetInfo e WZ_SetResetinfo como segue:


    USE [MuOnline]
    GO
    /****** Object: StoredProcedure [dbo].[WZ_GetResetInfo] Script Date: 05/30/2019 20:43:08 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER Procedure [dbo].[WZ_GetResetInfo] @[Somente membros podem ver os links. ] 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=Res etWek,@ResetMon=ResetMon FROM Character WHERE AccountID @[Somente membros podem ver os links. ] AND Name=@Name

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

    SET NOCOUNT OFF
    SET XACT_ABORT OFF

    END

    __________________________________________________ ________________________________________


    USE [MuOnline]
    GO
    /****** Object: StoredProcedure [dbo].[WZ_SetResetInfo] Script Date: 05/30/2019 20:43:36 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER Procedure [dbo].[WZ_SetResetInfo] @[Somente membros podem ver os links. ] 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 @[Somente membros podem ver os links. ] AND Name=@Name

    SET NOCOUNT OFF
    SET XACT_ABORT OFF

    END


    Peço desculpas por ser irritante e se surgir um problema eu notifico no post ...
    Mais uma vez, muito obrigado e vou estar relatando!

  4. #4
    RoxGaming Developer Denis Alves's Avatar



    Data de Ingresso
    May 2017
    Posts
    299
    Thanks Thanks Given 
    215
    Thanks Thanks Received 
    705
    Thanked in
    118 Posts
    Mencionado
    36 Post(s)
    MEU HUMOR
    Amused
    País
    Brazil
    Citação Originally Posted by MarquitoXx Ver Post
    Caro denizinhu, antes de tudo, muito obrigado pela sua resposta, vou executar as querys que você mencionou e vou ver se funciona. Eu só tinha "configurado" tanto WZ_GetResetInfo e WZ_SetResetinfo como segue:


    USE [MuOnline]
    GO
    /****** Object: StoredProcedure [dbo].[WZ_GetResetInfo] Script Date: 05/30/2019 20:43:08 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER Procedure [dbo].[WZ_GetResetInfo] @[Somente membros podem ver os links. ] 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=Res etWek,@ResetMon=ResetMon FROM Character WHERE AccountID @[Somente membros podem ver os links. ] AND Name=@Name

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

    SET NOCOUNT OFF
    SET XACT_ABORT OFF

    END

    __________________________________________________ ________________________________________


    USE [MuOnline]
    GO
    /****** Object: StoredProcedure [dbo].[WZ_SetResetInfo] Script Date: 05/30/2019 20:43:36 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER Procedure [dbo].[WZ_SetResetInfo] @[Somente membros podem ver os links. ] 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 @[Somente membros podem ver os links. ] AND Name=@Name

    SET NOCOUNT OFF
    SET XACT_ABORT OFF

    END


    Peço desculpas por ser irritante e se surgir um problema eu notifico no post ...
    Mais uma vez, muito obrigado e vou estar relatando!
    Tudo bem, qualquer coisa pode entrar em contato

  5. #5
    Iniciante MarquitoXx's Avatar
    Data de Ingresso
    May 2019
    Posts
    3
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Mencionado
    0 Post(s)
    País
    Argentina
    Citação Originally Posted by denizinhu Ver Post
    Tudo bem, qualquer coisa pode entrar em contato
    Eu atualizo o post, eu não posso executar os trabalhos acima mencionados. O erro que aparece é "SQLServerAgent is not currently running so it cannot be notified of this action." E eu acho que, infelizmente, eu não posso executar a consulta, eu não posso executar o SQL Agent, eu acho que um erro de "the request failed or the service did not respond in a timely fashion." Talvez fosse porque eu instalei o SQL errado... Estou pensando em reinstalar o programa, mas se houver alguma solução para isso me ajudaria muito!!!

  6. #6
    RoxGaming Developer Denis Alves's Avatar



    Data de Ingresso
    May 2017
    Posts
    299
    Thanks Thanks Given 
    215
    Thanks Thanks Received 
    705
    Thanked in
    118 Posts
    Mencionado
    36 Post(s)
    MEU HUMOR
    Amused
    País
    Brazil
    Citação Originally Posted by MarquitoXx Ver Post
    Eu atualizo o post, eu não posso executar os trabalhos acima mencionados. O erro que aparece é "SQLServerAgent is not currently running so it cannot be notified of this action." E eu acho que, infelizmente, eu não posso executar a consulta, eu não posso executar o SQL Agent, eu acho que um erro de "the request failed or the service did not respond in a timely fashion." Talvez fosse porque eu instalei o SQL errado... Estou pensando em reinstalar o programa, mas se houver alguma solução para isso me ajudaria muito!!!
    entre em contato!

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • You may not post Resposta(s)
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •  
Sobre nós
Somos uma comunidade em atividade a 8 anos que aborda assuntos relacionados a games em geral, principalmente games MMORPG. e que busca sempre ajudar os membros através de conteúdos, tutoriais e suporte...
Nossos anunciantes
Hinetworks
VelozHost
InovHost
Rede Sociais