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 pontos11 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