Ir para conteúdo

Premmy Exp Com Stages.


Lolksky

Posts Recomendados

Servidor utilizado: baiak yourots

versão: 8.60

nível de experiência: médio

adcionais: me informe se precisa registrar no "login.LUA", e se o exprate do config.LUA precisa estar alterado.

 

Aew galera, eu utilizo um script que permite 30% mais exp para os players premmy (não é promotion). Só que ele só funciona SEM stage na exp.

Portanto gostaria dum script que permitise mais exp rate para premmy, e com stage

 

0 - 50 = 70x 90x

51 - 100 = 50x 65x

151 - 200 = 40x 52x

251 - 300 = 30x 39x

301 - 350 = 20x 26x

351 - 400 = 10x 13x

400 - ...... = 6x 9x (qualquer coisa coloque pra ajusta, que eu me viro)

 

Legenda

azul = exp para free

vermelho = exp para premmy

 

Então é isso, colocar a stage com exp bonus para premmy.

 

o script atual que usso é esse:

function onLogin(cid)

 

registerCreatureEvent(cid, "PremiumExp")

 

local rate = 1.3 -- 30%

 

if isPremium(cid) ~= FALSE then

doPlayerSetExperienceRate(cid, rate)

end

return TRUE

end

Editado por Lolksky
Link para o comentário
Compartilhar em outros sites

tenta isso:

function onLogin(cid)
if isPremium(cid) ~= FALSE then
if (getPlayerLevel(cid) <= 50) then
doPlayerSetExperienceRate(cid, 90)
   end
if (getPlayerLevel(cid) >= 51 and getPlayerLevel(cid) <= 100) then
doPlayerSetExperienceRate(cid, 65)
   end
if (getPlayerLevel(cid) >= 101 and getPlayerLevel(cid) <= 200) then
doPlayerSetExperienceRate(cid, 52)
   end
if (getPlayerLevel(cid) >= 201 and getPlayerLevel(cid) <= 300) then
doPlayerSetExperienceRate(cid, 39)
   end
if (getPlayerLevel(cid) >= 301 and getPlayerLevel(cid) <= 350) then
doPlayerSetExperienceRate(cid, 26)
   end
if (getPlayerLevel(cid) >= 351 and getPlayerLevel(cid) <= 400) then
doPlayerSetExperienceRate(cid, 13)
   end
if (getPlayerLevel(cid) > 400) then
doPlayerSetExperienceRate(cid, 9)
   end
end
return TRUE
end

Link para o comentário
Compartilhar em outros sites

tenta isso:

function onLogin(cid)
if isPremium(cid) ~= FALSE then
if (getPlayerLevel(cid) <= 50) then
doPlayerSetExperienceRate(cid, 90)
end
if (getPlayerLevel(cid) >= 51 and getPlayerLevel(cid) <= 100) then
doPlayerSetExperienceRate(cid, 65)
end
if (getPlayerLevel(cid) >= 101 and getPlayerLevel(cid) <= 200) then
doPlayerSetExperienceRate(cid, 52)
end
if (getPlayerLevel(cid) >= 201 and getPlayerLevel(cid) <= 300) then
doPlayerSetExperienceRate(cid, 39)
end
if (getPlayerLevel(cid) >= 301 and getPlayerLevel(cid) <= 350) then
doPlayerSetExperienceRate(cid, 26)
end
if (getPlayerLevel(cid) >= 351 and getPlayerLevel(cid) <= 400) then
doPlayerSetExperienceRate(cid, 13)
end
if (getPlayerLevel(cid) > 400) then
doPlayerSetExperienceRate(cid, 9)
end
end
return TRUE
end

 

Preciso deixar ativado o "experiencestage" no config.LUA?

Link para o comentário
Compartilhar em outros sites

poem 1 no config.lua

 

Coloquei rate 1 e ativei o experienceStages.

A exp free ta normal com rates. Mas as de Premmy, multiplicam absurdamente, era pra dar 3600 exp mas ta dando 378000 o.O

Link para o comentário
Compartilhar em outros sites

que merda hdasdsahu, vai diminuindo os exp ali do script e vai testando até achar o certo.

Muda as tags desse tipo: doPlayerSetExperienceRate(cid, 90) -- diminiu o 90, o 65 e assim por diante.

 

--multiplicam absurdamente, era pra dar 3600 exp mas ta dando 378000

regra de 3: 90*3600 = 378000*x

x = 324000 / 378000

x = 0.85

então o primeiro: doPlayerSetExperienceRate(cid, 90) troca pra

doPlayerSetExperienceRate(cid, 0.85)

 

vê se funciona e me avisa. Se funcionar vais te que m falar quanto de xp que ta dando a cada estagio e quando que era pra dar.

Editado por Jhon992
Link para o comentário
Compartilhar em outros sites

que merda hdasdsahu, vai diminuindo os exp ali do script e vai testando até achar o certo.

Muda as tags desse tipo: doPlayerSetExperienceRate(cid, 90) -- diminiu o 90, o 65 e assim por diante.

 

--multiplicam absurdamente, era pra dar 3600 exp mas ta dando 378000

regra de 3: 90*3600 = 378000*x

x = 324000 / 378000

x = 0.85

então o primeiro: doPlayerSetExperienceRate(cid, 90) troca pra

doPlayerSetExperienceRate(cid, 0.85)

 

vê se funciona e me avisa. Se funcionar vais te que m falar quanto de xp que ta dando a cada estagio e quando que era pra dar.

 

agora deu, não deu exatos 3600 (deu 3570) mais ta sussa.

 

Estranho que as demais exp (stages) estão normais, era só a primeira que tava dando aquilo tudo.

Link para o comentário
Compartilhar em outros sites

  • 4 weeks later...

e onde eu boto esse script ??

function onLogin(cid)

if isPremium(cid) ~= FALSE then

if (getPlayerLevel(cid) <= 50) then

doPlayerSetExperienceRate(cid, 90)

end

if (getPlayerLevel(cid) >= 51 and getPlayerLevel(cid) <= 100) then

doPlayerSetExperienceRate(cid, 65)

end

if (getPlayerLevel(cid) >= 101 and getPlayerLevel(cid) <= 200) then

doPlayerSetExperienceRate(cid, 52)

end

if (getPlayerLevel(cid) >= 201 and getPlayerLevel(cid) <= 300) then

doPlayerSetExperienceRate(cid, 39)

end

if (getPlayerLevel(cid) >= 301 and getPlayerLevel(cid) <= 350) then

doPlayerSetExperienceRate(cid, 26)

end

if (getPlayerLevel(cid) >= 351 and getPlayerLevel(cid) <= 400) then

doPlayerSetExperienceRate(cid, 13)

end

if (getPlayerLevel(cid) > 400) then

doPlayerSetExperienceRate(cid, 9)

end

end

return TRUE

end

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...