Autor Tema: Configurar o Master Reset  (Leído 2180 veces)

Desconectado athos47a

  • *


  • 2

    1

    7
  • br
Fala, pessoal! Boa tarde!

Estou precisando de uma ajuda para resolver um problema que o Louis não conseguiu solucionar.

Já joguei em dois servidores que implementaram a funcionalidade do comando /passedebatalha, que permite resetar as recompensas já coletadas no passe de batalha, possibilitando ao jogador pegar os itens novamente. No entanto, esse comando não existe no MU Server Season 6 do Louis. Mas eu descobri como esses servidores implementaram essa funcionalidade.

Como o comando é customizado, o que eles fizeram foi pegar o comando /mreset e modificar para /passedebatalha. Em seguida, foram até o banco de dados, na procedure WZ_SetMasterResetInfo, e alteraram a lógica para resetar o passe de batalha.

Ao invés de deixar assim:

Spoiler for Hiden:
UPDATE Character SET ResetCount=@reset, MasterResetCount=@MasterReset WHERE AccountID=@Account AND Name=@Name

Eles trocaram para:

Spoiler for Hiden:
DELETE FROM CustomBattlePassReward WHERE Name=@Name

Até aqui, tudo perfeito.

Seguindo esse passo a passo, você pode alterar o comando /mreset para /passedebatalha e modificar a procedure no banco de dados para resetar a tabela de recompensas do passe que o jogador já coletou.

No entanto, há um ponto muito importante nesse processo: a configuração no arquivo GameServerInfo - Command, que envolve o Master Reset.

Primeiro, precisamos garantir que o nível (Level) do personagem, o reset, e os pontos permaneçam inalterados após o uso do comando /passedebatalha.

O problema é que não estou conseguindo manter o mesmo nível do personagem após usar o comando. Se eu definir 0 nas configurações do Master Reset, o nível do personagem também é alterado para 0. Veja o exemplo abaixo:

Spoiler for Hiden:
;==================================================
; Configurações do Comando Master Reset
;==================================================
CommandMasterResetType = 0
CommandMasterResetCheckItem_AL0 = 0
CommandMasterResetCheckItem_AL1 = 0
CommandMasterResetCheckItem_AL2 = 0
CommandMasterResetCheckItem_AL3 = 0
CommandMasterResetMove_AL0 = 0
CommandMasterResetMove_AL1 = 0
CommandMasterResetMove_AL2 = 0
CommandMasterResetMove_AL3 = 0
CommandMasterResetQuest_AL0 = 0
CommandMasterResetQuest_AL1 = 0
CommandMasterResetQuest_AL2 = 0
CommandMasterResetQuest_AL3 = 0
CommandMasterResetSkill_AL0 = 0
CommandMasterResetSkill_AL1 = 0
CommandMasterResetSkill_AL2 = 0
CommandMasterResetSkill_AL3 = 0
CommandMasterResetLevel_AL0 = 0
CommandMasterResetLevel_AL1 = 0
CommandMasterResetLevel_AL2 = 0
CommandMasterResetLevel_AL3 = 0
CommandMasterResetReset_AL0 = 0
CommandMasterResetReset_AL1 = 0
CommandMasterResetReset_AL2 = 0
CommandMasterResetReset_AL3 = 0
CommandMasterResetMoney_AL0 = 0
CommandMasterResetMoney_AL1 = 0
CommandMasterResetMoney_AL2 = 0
CommandMasterResetMoney_AL3 = 0
CommandMasterResetCount_AL0 = 0               
CommandMasterResetCount_AL1 = 0   
CommandMasterResetCount_AL2 = 0   
CommandMasterResetCount_AL3 = 0
CommandMasterResetLimit_AL0 = 99999999
CommandMasterResetLimit_AL1 = 99999999
CommandMasterResetLimit_AL2 = 99999999
CommandMasterResetLimit_AL3 = 99999999
CommandMasterResetLimitDay_AL0 = 99999999
CommandMasterResetLimitDay_AL1 = 99999999
CommandMasterResetLimitDay_AL2 = 99999999
CommandMasterResetLimitDay_AL3 = 99999999
CommandMasterResetLimitWek_AL0 = 99999999
CommandMasterResetLimitWek_AL1 = 99999999
CommandMasterResetLimitWek_AL2 = 99999999
CommandMasterResetLimitWek_AL3 = 99999999
CommandMasterResetLimitMon_AL0 = 99999999
CommandMasterResetLimitMon_AL1 = 99999999
CommandMasterResetLimitMon_AL2 = 99999999
CommandMasterResetLimitMon_AL3 = 99999999
CommandMasterResetStartLevel_AL0 = 0
CommandMasterResetStartLevel_AL1 = 0
CommandMasterResetStartLevel_AL2 = 0
CommandMasterResetStartLevel_AL3 = 0
CommandMasterResetStartReset_AL0 = 0
CommandMasterResetStartReset_AL1 = 0
CommandMasterResetStartReset_AL2 = 0
CommandMasterResetStartReset_AL3 = 0
CommandMasterResetPoint_AL0 = 1
CommandMasterResetPoint_AL1 = 1
CommandMasterResetPoint_AL2 = 1
CommandMasterResetPoint_AL3 = 1
CommandMasterResetPointRateDW = 0
CommandMasterResetPointRateDK = 0
CommandMasterResetPointRateFE = 0
CommandMasterResetPointRateMG = 0
CommandMasterResetPointRateDL = 0
CommandMasterResetPointRateSU = 0
CommandMasterResetPointRateRF = 0
CommandMasterResetRemoveReset_AL0 = 0
CommandMasterResetRemoveReset_AL1 = 0
CommandMasterResetRemoveReset_AL2 = 0
CommandMasterResetRemoveReset_AL3 = 0
CommandMasterResetRewardCoin1Value_AL0 = 0
CommandMasterResetRewardCoin1Value_AL1 = 0
CommandMasterResetRewardCoin1Value_AL2 = 0
CommandMasterResetRewardCoin1Value_AL3 = 0
CommandMasterResetRewardCoin2Value_AL0 = 0
CommandMasterResetRewardCoin2Value_AL1 = 0
CommandMasterResetRewardCoin2Value_AL2 = 0
CommandMasterResetRewardCoin2Value_AL3 = 0
CommandMasterResetRewardCoin3Value_AL0 = 0
CommandMasterResetRewardCoin3Value_AL1 = 0
CommandMasterResetRewardCoin3Value_AL2 = 0
CommandMasterResetRewardCoin3Value_AL3 = 0
CommandMasterResetRequiredStr = 0
CommandMasterResetRequiredAgi = 0
CommandMasterResetRequiredVit = 0
CommandMasterResetRequiredEne = 0
CommandMasterResetRequiredCom = 0

Como podem ver, o tipo (type) está configurado como acumulativo para não zerar os pontos do jogador, e o nível (Level) foi provisoriamente definido como 0, assim como o reset.

Eu preciso de ajuda para configurar esse comando de forma que o nível do personagem permaneça o mesmo ao utilizar o comando /passedebatalha. Como mencionei, atualmente o nível sempre vai para zero, mas quero evitar que isso aconteça.

Gracias:


Desconectado jwait

  • *


  • 13

    8

    0
  • br
Não sei se assim irá crashar seu gs, tente aí.
CommandMasterResetStartLevel_AL0 = -1
CommandMasterResetStartLevel_AL1 = -1
CommandMasterResetStartLevel_AL2 = -1
CommandMasterResetStartLevel_AL3 = -1

Uma outra solução é você limitar o comando para dar o /passedebatalha no lvl400 e voltar pro lvl 400

 

.