Adicionando Auto resety no server
Autor: Slim Shady | Publicado: 2009-08-09T07:46:00-07:00

Auto Reset:  1Âº Va em SLQ Server Enterprise Manager. 2Âº Va em Databases, Muonline e Tables. 3Âº Na tabela Character Click com botão direito,  Design Table. 4Âº Va até o ultimo campo (collun name) escrito e crie um chamado Reset. 5Âº Colunname = Reset , DataType = int , Default value = 1 , salve e feche. 6Âº Agora em Management.  7Âº Va em  SQL Server Agent. 8Âº Va em Jobs, e click com botão direito e NewJob. 9Âº Va em General coloque um nome como AutoReset. 10Âº Depois vai em Steps. 11Âº New em Steps em "name" coloque AutoReset tambem. 12Âº Va em Type deixe Transact-SQL Script (TSQL). 13Âº Em Database selecione MUOnline.  14Âº 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 VIP set @MaxLevel = 349 -- Level ao qual poderá resetar set @PontosReset = 300 -- Pontos que ganhará por reset (Pontos vezes Resets) set @ZenReq = 50000000 -- Zen requerido para resetar set @Forca = 30 -- Ponto padrão de for´a que ira retornar após resetar set @Agilidade = 30 -- Ponto padrão de agilidade que ira retornar após resetar set @Vitalidade = 30 -- Ponto padrão de vitalidade que ira retornar após resetar set @Energia = 30 -- Ponto padrão de energia que ira retornar após resetar  -- Contas VIP set @MaxLevelVIP = 299 -- Level ao qual poderá resetar set @PontosResetVIP = 400 -- Pontos que ganhará por reset (Pontos vezes Resets) set @ZenReqVIP = 20000000 -- Zen requerido para resetar set @ForcaVIP = 100 -- Ponto padrão de for´a que ira retornar após resetar set @AgilidadeVIP = 100 -- Ponto padrão de agilidade que ira retornar após resetar set @VitalidadeVIP = 100 -- Ponto padrão de vitalidade que ira retornar após resetar set @EnergiaVIP = 100 -- Ponto padrão de energia que ira retornar após resetar  -- Execu´ão do comando SQL (Não mexer) -- -- Contas não VIP UPDATE Character  SET cLevel = 1, Experience = 0, LevelUpPoint = @PontosReset * (Resets + 1), Strength = @Forca, Dexterity = @Agilidade, Vitality = @Vitalidade, Energy = @Energia, Money = Money - @ZenReq, Resets = Resets + 1  FROM Character JOIN MEMB_STAT ON Character.AccountID=MEMB_STAT.memb___id COLLATE Latin1_General_CS_AS JOIN MEMB_INFO ON Character.AccountID=MEMB_INFO.memb___id COLLATE Latin1_General_CS_AS  WHERE cLevel > (@MaxLevel - 1) AND Money > (@ZenReq - 1) AND MEMB_STAT.ConnectStat = 0 AND MEMB_INFO.vip = 0 AND Resets <= 150  -- Contas VIP UPDATE Character  SET cLevel = 1, Experience = 0, LevelUpPoint = @PontosResetVIP * (Resets + 1), Strength = @ForcaVIP, Dexterity = @AgilidadeVIP, Vitality = @VitalidadeVIP, Energy = @EnergiaVIP, Money = Money - @ZenReqVIP, Resets = Resets + 1  FROM Character JOIN MEMB_STAT ON Character.AccountID=MEMB_STAT.memb___id COLLATE Latin1_General_CS_AS JOIN MEMB_INFO ON Character.AccountID=MEMB_INFO.memb___id COLLATE Latin1_General_CS_AS  WHERE cLevel > (@MaxLevelVIP - 1) AND Money > (@ZenReqVIP - 1) AND MEMB_STAT.ConnectStat = 0 AND MEMB_INFO.vip = 1 AND Resets <= 1000    E aqui estão alguns comandos de QUERY:   CODE -- Tornar uma conta VIP UPDATE MEMB_INFO SET vip=1 WHERE memb___id='nome_da_conta' -- Tornar uma conta Não VIP UPDATE MEMB_INFO SET vip=0 WHERE memb___id='nome_da_conta' -- Listar todas a contas VIP SELECT memb___id FROM MEMB_INFO WHERE vip=1 -- Listar todas a contas Não VIP SELECT memb___id FROM MEMB_INFO WHERE vip=0    Mudando o Código:  LevelUpPoint= 300*Reset  Significa 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>349 Lvl de Reset ( deixe -1 do lvl desejado ), nesse ele resetaria no 350.         [[   [ Auto Reset Para Vip na table Character ]     Auto Reset para GM's   UPDATE Character SET 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___id collate Latin1_general_CI_AS WHERE clevel>349 AND Vip = 8 AND Memb_Stat.ConnectStat = 0     Auto Reset para  Usuários Normais ( and Vip = 0 ) :Ganhando 350 pontos, Resetando lvl 350  UPDATE Character SET 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___id collate Latin1_general_CI_AS WHERE 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 Itens  UPDATE Character SET 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=null FROM Character join Memb_Stat on Character.Accountid=Memb_Stat.memb___id collate Latin1_general_CI_AS WHERE 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 350  UPDATE Character SET 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___id collate Latin1_general_CI_AS WHERE clevel>349 AND Vip = 1 AND Memb_Stat.ConnectStat = 0     Auto Reset para Qualquer Usuário Acumulativo : Resetando lvl 350 Acumulativo  UPDATE Character  SET clevel= ('1') , experience= ('0')  WHERE clevel>349     15Âº Depois clique em Parse e de OK.  16Âº Va para Schedules. 17Âº Em New Sechedule coloque tambem la AutoReset. 18Âº Depois clique em Change. 19Âº Na primeira parte selecione Daily e deixe em Every 1 day(s). 20Âº Depois selecione em baixo Occurs every e troque Hour(s) por Minute(s). 21Âº Duration selecione a data atual do dia e de ok.  22Âº Agora e so finalizar dando Aplicar e OK. 23Âº Pronto está feito AUTORESET.  24Âº Sempre de Start no SQL Server Agent, e deixe como auto start para facilitar.