Auto Reset
Autor: NelsonVilella | Publicado: 2010-03-16T14:54:00-07:00

1º Va em SLQ Server  Enterprise Manager.2º Va  em Databases, Muonline e Tables, na tabela Character Click com botão  direito, Design Table.3º Va  até o ultimo campo (collun name) escrito e crie um chamado Reset,Colunname = ResetDataType = intDefault value = 14º Agora em Management, va em SQL  Server Agent., va em Jobs, e click com botão direito e NewJob.5º Va em General coloque um nome  como AutoReset. depois vai em Steps, New em Steps em "name" coloque AutoReset tambem, va em  Type deixe Transact-SQL Script (TSQL).6º Em Database selecione MUOnline, no Command  coloque o seguinte codigo :      [[   [ Auto  Reset Para Vip na table MEMB_INFO ]--  =============================================-- Reset não  acumulativo (Pontos x Resets) + VIP--=============================================----  Definindo as variaveis (Não mexer)declare@MaxLevel int,@PontosReset  int,@ZenReq int,@Forca int,@Agilidade int,@Vitalidade  int,@Energia int,@MaxLevelVIP int,@PontosResetVIP int,@ZenReqVIP  int,@ForcaVIP int,@AgilidadeVIP int,@VitalidadeVIP int,@EnergiaVIP  int-- Definindo valor das variaveis (Configure conforme  necessário)---- Contas não VIPset @MaxLevel = 349 -- Level  ao qual poderá resetarset @PontosReset = 300 -- Pontos que ganhará  por reset (Pontos vezes Resets)set @ZenReq = 50000000 -- Zen  requerido para resetarset @Forca = 30 -- Ponto padrão de força que  ira retornar após resetarset @Agilidade = 30 -- Ponto padrão de  agilidade que ira retornar após resetarset @Vitalidade = 30 -- Ponto  padrão de vitalidade que ira retornar após resetarset @Energia = 30  -- Ponto padrão de energia que ira retornar após resetar--  Contas VIPset @MaxLevelVIP = 299 -- Level ao qual poderá resetarset  @PontosResetVIP = 400 -- Pontos que ganhará por reset (Pontos vezes  Resets)set @ZenReqVIP = 20000000 -- Zen requerido para resetarset  @ForcaVIP = 100 -- Ponto padrão de força que ira retornar após resetarset  @AgilidadeVIP = 100 -- Ponto padrão de agilidade que ira retornar após  resetarset @VitalidadeVIP = 100 -- Ponto padrão de vitalidade que  ira retornar após resetarset @EnergiaVIP = 100 -- Ponto padrão de  energia que ira retornar após resetar-- Execução do comando SQL  (Não mexer)---- Contas não VIPUPDATE CharacterSET  cLevel = 1,Experience = 0,LevelUpPoint = @PontosReset * (Resets +  1),Strength = @Forca,Dexterity = @Agilidade,Vitality =  @Vitalidade,Energy = @Energia,Money = Money - @ZenReq,Resets  = Resets + 1FROM CharacterJOIN MEMB_STAT ON  Character.AccountID=MEMB_STAT.memb___id COLLATE Latin1_General_CS_ASJOIN  MEMB_INFO ON Character.AccountID=MEMB_INFO.memb___id COLLATE  Latin1_General_CS_ASWHERE cLevel > (@MaxLevel - 1)AND  Money > (@ZenReq - 1)AND MEMB_STAT.ConnectStat = 0AND  MEMB_INFO.vip = 0AND Resets <= 150-- Contas VIPUPDATE  CharacterSET cLevel = 1,Experience = 0,LevelUpPoint =  @PontosResetVIP * (Resets + 1),Strength = @ForcaVIP,Dexterity =  @AgilidadeVIP,Vitality = @VitalidadeVIP,Energy = @EnergiaVIP,Money  = Money - @ZenReqVIP,Resets = Resets + 1FROM CharacterJOIN  MEMB_STAT ON Character.AccountID=MEMB_STAT.memb___id COLLATE  Latin1_General_CS_ASJOIN MEMB_INFO ON  Character.AccountID=MEMB_INFO.memb___id COLLATE Latin1_General_CS_ASWHERE  cLevel > (@MaxLevelVIP - 1)AND Money > (@ZenReqVIP - 1)AND  MEMB_STAT.ConnectStat = 0AND MEMB_INFO.vip = 1AND Resets <=  1000Mudando o  Código:LevelUpPoint= 300*ResetSignifica  que os pontos por reset vão ser definidos assim:300 multiplicado  pelo numero de resets atuais.Strength= ('20') , Dexterity=  ('20') , Vitality= ('20') , Energy= ('20')Isso são os atributos que o  char recomeça, ou seja, esse char recomeçaria com 20 pontos em todos os  atributos (skills).WHERE clevel>349Lvl de Reset ( deixe  -1 do lvl desejado ), nesse ele resetaria no 350.[[   [ Auto  Reset Para Vip na table Character ]  Auto Reset para GM'sUPDATE  CharacterSET clevel=('50'), Experience=('0'),Money=Money-('0'),  Reset=Reset+1, Strength=('32500'), Dexterity=('26000'),  Vitality=('32500'), Energy=('32500')FROM Character join Memb_Stat on  Character.Accountid=Memb_Stat.memb___idcollate Latin1_general_CI_ASWHERE  clevel>349 AND Vip = 8 AND Memb_Stat.ConnectStat = 0  Auto  Reset para Usuários Normais ( and Vip = 0 ) :Ganhando 350 pontos,  Resetando lvl 350UPDATE CharacterSET clevel=('1'),  Experience=('0'),Money=Money-('0'),LevelUpPoint=350+350*Reset,  Reset=Reset+1,Strength=('30'), Dexterity=('30'),  Vitality=('30'),Energy=('30')FROM Character join Memb_Stat on  Character.Accountid=Memb_Stat.memb___idcollate Latin1_general_CI_ASWHERE  clevel>349 AND Memb_Stat.ConnectStat = 0 and Vip = 0 and  Money>('0')  Auto Reset para Users Normais ( and Vip = 0  ) :Ganhando 350 pontos, Resetando lvl 350, Resetando ItensUPDATE  CharacterSET clevel=('1'),  Experience=('0'),Money=Money-('0'),LevelUpPoint=350+350*Reset,  Reset=Reset+1,Strength=('30'), Dexterity=('30'),  Vitality=('30'),Energy=('30'), Inventory=null, MagicList=nullFROM  Character join Memb_Stat on Character.Accountid=Memb_Stat.memb___idcollate  Latin1_general_CI_ASWHERE clevel>349 AND Memb_Stat.ConnectStat =  0 and Vip = 0 and Money>('0')  Auto Reset para Usuários  Vips ( and Vip = 1 ) : Ganhando 400 pontos, Resetando lvl 350UPDATE  CharacterSET clevel=('1'),  Experience=('0'),Money=Money-('0'),LevelUpPoint = 400+400*Reset,  Reset=Reset+1, Strength=('50'), Dexterity=('50'), Vitality=('50'),  Energy=('50')FROM Character join Memb_Stat on  Character.Accountid=Memb_Stat.memb___idcollate Latin1_general_CI_ASWHERE  clevel>349 AND Vip = 1 AND Memb_Stat.ConnectStat = 0  Auto  Reset para Qualquer Usuário Acumulativo : Resetando lvl 350 AcumulativoUPDATE  CharacterSET clevel= ('1') , experience= ('0')WHERE  clevel>3497º Depois  clique em Parse e de OK, va para Schedules.8º Em New Sechedule coloque tambem la AutoReset,  depois clique em Change, na primeira parte selecione Daily e deixe em  Every 1 day(s).9º Depois  selecione em baixo Occurs every e troque Hour(s) por Minute(s),  Duration selecione a data atual do dia e de ok.10º Agora e so finalizar dando  Aplicar e OK.11º  Sempre de Start no SQL Server Agent, e deixe como auto start para  facilitar.