Ir para conteúdo

[Ajuda] Exp Enforced !


jacking

Posts Recomendados

Bom, estou fazendo um OT de war. mais não está subindo experiencia para os players quando se matam... quero uma tipo stage ex: (level 150 ganha 10 de xp) 180 (5 de xp) 200 (1 de xp)

SÓ UM EXEMPLO...

 

creio eu que seja nessa config:

 

function onLogin(cid)

local rebalanceStor = getPlayerStorageValue(cid, 37454)

 

if rebalanceStor == -1 and getPlayerLevel(cid) >= 250 then

doPlayerAddExperience(cid, (getExperienceForLevel(200) - getPlayerExperience(cid)))

setPlayerStorageValue(cid, 37454, 1)

 

elseif rebalanceStor == -1 and getPlayerLevel(cid) > 255 and getPlayerLevel(cid) < 160 then

doPlayerAddExperience(cid, (getExperienceForLevel(200) - getPlayerExperience(cid)))

setPlayerStorageValue(cid, 37454, 1)

 

elseif rebalanceStor == -1 and getPlayerLevel(cid) < 260 then

doPlayerAddExperience(cid, (getExperienceForLevel(250) - getPlayerExperience(cid)))

setPlayerStorageValue(cid, 37454, 1)

 

else setPlayerStorageValue(cid, 37454, 1)

 

end

return TRUE

end

Link para o comentário
Compartilhar em outros sites

function onKill(cid, target)
local lvl = getPlayerLevel(cid) --players level
local nlvl = getPlayerLevel(cid) + 5 -- add 5 levels
local config = {
useExpStages = true,
stages = {
[1] = {min = 150, max = 180, rate = 10},
[2] = {min = 181, max = 200, rate = 5},
[3] = {min = 200, max = false, rate = 1}
}
}

local exprate = 1
stg = config.stages
for x=1,table.maxn(config.stages) do
if lvl >= stg[x].min then
if stg[x].max == false or stg[x].max <= lvl then  
exprate = stg[x].rate
break
end
end
end

   if isPlayer(target) == TRUE then
       if getPlayerIp(cid) ~= getPlayerIp(target) then
                       local exp = (50 * (lvl) * (lvl) * (lvl) - 150 * (lvl) * (lvl) + 400 * (lvl)) / 5
                       local nexp = (50 * (nlvl) * (nlvl) * (nlvl) - 150 * (nlvl) * (nlvl) + 400 * (nlvl)) / 5
                       local newexp = nexp - exp
                       doPlayerAddExp(cid, config.useExpStages and newexp*exprate or newexp)
                       doSendAnimatedText(getPlayerPosition(cid), "+EXP!", 198)
               else
           doPlayerAddExperience(cid, -50000)
           doSendAnimatedText(getPlayerPosition(cid), "-EXP!", 198)
           doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"You have been punished for killing a player of the same IP.")
       end
       end
   return TRUE
end

 

Nao testei.

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

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...