Ir para conteúdo

[Pedido] Como adicionar +10% de (skills/ml/loot) para jogadores Premium

Featured Replies

Postado
13 horas atrás, Dwarfer disse:

 

  Ocultar conteúdo


local skill_rates = {
[SKILL_FIST] = 10, -- % aumentado
[SKILL_CLUB] = 10,   
[SKILL_SWORD] = 10, 
[SKILL_AXE] = 10,    
[SKILL_DISTANCE] = 10, 
[SKILL_SHIELD] = 10, 
[SKILL__MAGLEVEL] = 10
}

local storage = 21457 -- coloque sua storage aqui

function onLogin(cid)
local rateskill, rateML = getConfigValue("rateSkill"), getConfigValue("rateMagic")
if getPlayerStorageValue(cid, storage) == 1  then
    for skill, percent in pairs(skill_rates) do
        local rate = skill == SKILL__MAGLEVEL and rateML or rateskill
        doPlayerSetRate(cid, skill, (1+(percent/100)) * rate)
    end
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[Skill Rate] and [Loot Chance] bonus for premium players.")
end
return true
end

 

 

 

  Ocultar conteúdo


local BonusLoot = 10 -- % aumentado
local ignoredList = {1987} -- ids dos itens que não serão adicionados, pode deixar vazio {} caso queira que qualquer item seja adicionado

local storage = 21457 

function onKill(cid, target, damage, flags)
if isPlayer(target) or isMonster(cid) or (getPlayerStorageValue(cid, storage) == -1) then return true end
addEvent(addBonusLoot, 100, getCreaturePosition(target), getCreatureName(target), ignoredList) 
return true
end

function addBonusLoot(position, name, ignoredList)
    local check = false
    for i = 0, 255 do
        position.stackpos = i
        corpse = getTileThingByPos(position)
        if corpse.uid > 0 and isCorpse(corpse.uid) then
            check = true 
            break
        end
    end
    if check == true then
        local newRate = (1 + (BonusLoot/100)) * getConfigValue("rateLoot")
        local mainbp = doCreateItemEx(5949, 1)
        local monsterLoot = getMonsterLootList(name)
        for i, loot in pairs(monsterLoot) do
            if math.random(1, 100000) <= newRate * loot.chance then 
                if #ignoredList > 0 then
                    if (not isInArray(ignoredList, loot.id)) then
                        doAddContainerItem(mainbp, loot.id, loot.countmax and math.random(1, loot.countmax) or 1)
                    end
                else
                    doAddContainerItem(mainbp, loot.id, loot.countmax and math.random(1, loot.countmax) or 1)
                end
            end
        end
        doAddContainerItemEx(corpse.uid, mainbp)  
    end
end

 

 

Para adicionar outros itens eu uso ' , ' ou ' ; ' ?

  • Respostas 7
  • Visualizações 1.2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

Posted Images

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.6k

Informação Importante

Confirmação de Termo