quinta-feira, 4 de dezembro de 2008

Auto Reset:

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 aki 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.

Nenhum comentário:

Postar um comentário