Ir para conteúdo

Featured Replies

Postado

E o seguinte galera eu usei o script do que o comedinhass passo em outro topico segue ai o script

rateExp = 50 -- 0 a 20

rateExp1 = 40 -- 21 a 50

rateExp2 = 30 -- 51 a 100

rateExp3 = 15 -- 101 a 200

rateExp4 = 7 -- 201 a 300

rateExp5 = 5 -- 301 a 350

rateExp6 = 3 -- 351 em diante

bonus = 1 -- Bonus por estar com exp ring

expringid = 1000 -- Id do exp ring

------------------------------

function CalculeExp(monsterhp, exptotal, hit)

local x = hit <= monsterhp and math.ceil(exptotal * hit / monsterhp) or 0

local x2 = x - 20 + math.random(20)

return x2 > 0 and x2 or 0

end

function isSummon(uid)

return uid ~= getCreatureMaster(uid) or false

end

function onStatsChange(cid, attacker, type, combat, value)

if type == STATSCHANGE_HEALTHLOSS then

if isMonster(cid) then

if isCreature(attacker) then

local sid = isSummon(attacker) == true and getCreatureMaster(attacker) or attacker

if isPlayer(sid) and getPlayerLevel(sid) <= 20 then

local expg = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp, value)

doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg.." exp.")

doPlayerAddExp(sid, expg)

elseif isPlayer(sid) and getPlayerLevel(sid) > 21 and getPlayerLevel(sid) <= 50 then

local expg1 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp1, value)

doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg1.." exp.")

doPlayerAddExp(sid, expg1)

elseif isPlayer(sid) and getPlayerLevel(sid) > 51 and getPlayerLevel(sid) <= 100 then

local expg2 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp2, value)

doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg2.." exp.")

doPlayerAddExp(sid, expg2)

elseif isPlayer(sid) and getPlayerLevel(sid) > 101 and getPlayerLevel(sid) <= 200 then

local expg3 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp3, value)

doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg3.." exp.")

doPlayerAddExp(sid, expg3)

elseif isPlayer(sid) and getPlayerLevel(sid) > 201 and getPlayerLevel(sid) <= 300 then

local expg4 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp4, value)

doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg4.." exp.")

doPlayerAddExp(sid, expg4)

elseif isPlayer(sid) and getPlayerLevel(sid) > 301 and getPlayerLevel(sid) <= 350 then

local expg5 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp5, value)

doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg5.." exp.")

doPlayerAddExp(sid, expg5)

elseif isPlayer(sid) and getPlayerLevel(sid) > 351 then

local expg6 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp6, value)

doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg6.." exp.")

doPlayerAddExp(sid, expg6)

elseif isPlayer(sid) and item.itemid = expringid then

local expbonus = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * expbonus, value)

doPlayerSendTextMessage(sid, 23, "You gain "..expbonus.." bonus exp.")

doPlayerAddExp(sid, expbonus)

end

end

end

elseif type == STATSCHANGE_HEALTHGAIN then

return false

end

return true

end

function onCombat(cid, target)

if isMonster(target) and not isSummon(target) and not isPlayer(target) then

registerCreatureEvent(target, "ExpGain")

end

return true

end

Intao como ele e por stages, ao chegar no lvl 21, 51, 101, 201, 301 e 351 o player nao upa mais se o player estiiver lvl 22, 52, 102, 202, 302 , 352 ele upa >>e o pior é que nao da nenhum erro so nao up ai dou 1 lvl a mais ele up..

dou rep++ para quem ajudar :D

Editado por Fabiano Alberto (veja o histórico de edições)

SE AJUDEI REP+ ;D, NÃO CUSTA NADA.

uRti.png

<a href="http://central.evenhost.net/aff.php?aff=020"><img src="http://i.imm.io/uRti.png" width="500" height="82" border="0"></a>

Postado

tente agora:

rateExp = 50 -- 0 a 20

rateExp1 = 40 -- 21 a 50

rateExp2 = 30 -- 51 a 100

rateExp3 = 15 -- 101 a 200

rateExp4 = 7 -- 201 a 300

rateExp5 = 5 -- 301 a 350

rateExp6 = 3 -- 351 em diante

bonus = 1 -- Bonus por estar com exp ring

expringid = 1000 -- Id do exp ring

------------------------------

function CalculeExp(monsterhp, exptotal, hit)

local x = hit <= monsterhp and math.ceil(exptotal * hit / monsterhp) or 0

local x2 = x - 20 + math.random(20)

return x2 > 0 and x2 or 0

end

function isSummon(uid)

return uid ~= getCreatureMaster(uid) or false

end

function onStatsChange(cid, attacker, type, combat, value)

if type == STATSCHANGE_HEALTHLOSS then

if isMonster(cid) then

if isCreature(attacker) then

local sid = isSummon(attacker) == true and getCreatureMaster(attacker) or attacker

if isPlayer(sid) and getPlayerLevel(sid) <= 20 then

local expg = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp, value)

doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg.." exp.")

doPlayerAddExp(sid, expg)

elseif isPlayer(sid) and getPlayerLevel(sid) > 20 and getPlayerLevel(sid) <= 50 then

local expg1 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp1, value)

doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg1.." exp.")

doPlayerAddExp(sid, expg1)

elseif isPlayer(sid) and getPlayerLevel(sid) > 50 and getPlayerLevel(sid) <= 100 then

local expg2 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp2, value)

doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg2.." exp.")

doPlayerAddExp(sid, expg2)

elseif isPlayer(sid) and getPlayerLevel(sid) > 100 and getPlayerLevel(sid) <= 200 then

local expg3 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp3, value)

doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg3.." exp.")

doPlayerAddExp(sid, expg3)

elseif isPlayer(sid) and getPlayerLevel(sid) > 200 and getPlayerLevel(sid) <= 300 then

local expg4 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp4, value)

doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg4.." exp.")

doPlayerAddExp(sid, expg4)

elseif isPlayer(sid) and getPlayerLevel(sid) > 300 and getPlayerLevel(sid) <= 350 then

local expg5 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp5, value)

doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg5.." exp.")

doPlayerAddExp(sid, expg5)

elseif isPlayer(sid) and getPlayerLevel(sid) > 350 then

local expg6 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp6, value)

doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg6.." exp.")

doPlayerAddExp(sid, expg6)

elseif isPlayer(sid) and item.itemid = expringid then

local expbonus = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * expbonus, value)

doPlayerSendTextMessage(sid, 23, "You gain "..expbonus.." bonus exp.")

doPlayerAddExp(sid, expbonus)

end

end

end

elseif type == STATSCHANGE_HEALTHGAIN then

return false

end

return true

end

function onCombat(cid, target)

if isMonster(target) and not isSummon(target) and not isPlayer(target) then

registerCreatureEvent(target, "ExpGain")

end

return true

end

  • 5 months later...
Postado

amigo,

isso não deu certo aqui, uso TFS 0.4 e não funcionou.

pode dizer o que por no talktions e no login em scripts por favor?!

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo