quarta-feira, 14 de março de 2012

Fórmula de Reset - Servidor Mu4Fun - By PeaceMaker & DMenoR

 Fórmula utilizada em meu servidor a 04 anos atrás e que agradava muitos aos jogadores.
Decidi compartilhar pois é uma fórmula diferente, com variação de pontos por níveis de resets, porém com sistema de bonûs de pontos para fazer com que a fórmula se mantenha sempre crescente..

Ex: De 1 a 10 Resets o personagem ganha 100 pontos por resete + 100 de bônus.
Quando chegar ao Reset 10 ele teria (100*10+100) = 1100 pontos pra distribuir.
Porém quando chegasse ao Reset 11, o critério de pontos mudaria e ele passaria a ganhar 80 pontos.
Então no 11° Reset ele teria (80*11+80) = 960 pontos, ou seja, no Reset 11 ele ganharia menos pontos do que no Reset 10. Então a fórmula não seria sempre crescente. Então pensamos que teriamos que mudar algo para fazer a fórmula continuar sempre crescente.
Pela lógica quando o jogador chegasse ao 11° Reset deveria ganhar os 1100 pontos que ele havia ganhado no seu 10° Reset e + os 80 do 11° Reset, somando no total 1180 pontos.
Então para se tirar a diferença entre 1180 e 960, chegamos ao número de ponts bônus que devemos adicionar a fórmula para mante-la crescente e chegarmos ao número de pontos que queremos..
1º a 10º reset- 100+100*resets - No Reset 1 - 200 pontos - No Reset 10 - 1100 pontos
11 a 50º reset- 220+80+80*resets - No Reset 11- 1180 pontos - No Reset 50 - 4300 pontos
51º ao 300º reset - 1240+60+60*resets - No Reset 51 - 4360 Pontos - No Reset 300 - 19300
E assim por diante..
Espero que tenham entendido o sistema e tenham gostado também.


-- 1º a 10º reset
UPDATE Character
        SET clevel=('1'),
        Experience=('0'),
        Money=Money-('20000000'),
        LevelUpPoint=100+100*resets,
        resets=resets+1,
        Strength=('18'),
        Dexterity=('18'),
        Vitality=('15'),
        Energy=('30')
       
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>369
        AND Memb_Stat.ConnectStat = 0
        and Money>('20000000')
        AND MEMB_INFO.vip = 1
        and resets<10


-- 11 a 50º reset
        UPDATE Character
        SET clevel=('1'),
        Experience=('0'),
        Money=Money-('20000000'),
        LevelUpPoint=220+80+80*resets,
        resets=resets+1,
        Strength=('18'),
        Dexterity=('18'),
        Vitality=('15'),
        Energy=('30')
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>369
        AND Memb_Stat.ConnectStat = 0
        and Money>('20000000')
        AND MEMB_INFO.vip = 1
        and resets>= 10 and resets<50


-- 51º ao 300º reset
UPDATE Character
        SET clevel=('1'),
        Experience=('0'),
        Money=Money-('20000000'),
        LevelUpPoint=1240+60+60*resets,
        resets=resets+1,
        Strength=('18'),
        Dexterity=('18'),
        Vitality=('15'),
        Energy=('30')
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>369
        AND Memb_Stat.ConnectStat = 0
        and Money>('20000000')
        AND MEMB_INFO.vip = 1
        and resets>= 50 and resets<300

-- 301º ao 1000º reset
UPDATE Character
        SET clevel=('1'),
        Experience=('0'),
        Money=Money-('20000000'),
        LevelUpPoint=7260+40+40*resets,
        resets=resets+1,
        Strength=('18'),
        Dexterity=('18'),
        Vitality=('15'),
        Energy=('30')
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>369
        AND Memb_Stat.ConnectStat = 0
        and Money>('20000000')
        AND MEMB_INFO.vip = 1
        and resets>= 300 and resets<1000

-- 1001 até o fim
UPDATE Character
        SET clevel=('1'),
        Experience=('0'),
        Money=Money-('20000000'),
        LevelUpPoint=27280+20+20*resets,
        resets=resets+1,
        Strength=('18'),
        Dexterity=('18'),
        Vitality=('15'),
        Energy=('30')
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>369
        AND Memb_Stat.ConnectStat = 0
        and Money>('20000000')
        AND MEMB_INFO.vip = 1
        and resets>= 1000

Nenhum comentário:

Postar um comentário