Ir para conteúdo
  • 0

Shiny Charm


Step Records

Pergunta

Olá, eu tenho um problema com o sistema de charme brilhante, ou seja, no script você não pode definir o que é a chance de reviver o pokemon na versão brilhante. Obrigado antecipadamente e por ajuda +

Actions:

Citar

local day = 24 * 60 * 60

local shinyCharm = {
    [19582] = {time = 1 * day},
    [19581] = {time = 3 * day},
    [19274] = {time = 7 * day},
    [19277] = {time = 30 * day},
}

function onUse(cid, item, frompos, itemEx, topos)
    local charm = shinyCharm[item.itemid]
    if not charm then
        return true
    end
    
    if getPlayerStorageValue(cid, 4125) - os.time() > 0 then
        doPlayerSendCancel(cid, "You still have an active Shiny Charm!")
        return true
    end
    
    setPlayerStorageValue(cid, 4125, charm.time + os.time())
    doPlayerSendCancel(cid, "You have just activated a Shiny Charm with duration of "..charm.time/day.." days. Enjoy this Shiny Charm very well!")
    doRemoveItem(item.uid, 1)
    return true
end

 

Lib:
 

Citar

-- // Charm System // --
            
            local charmchance = 99999
            
            if isNpc(cid) and not isSummon(target) and not getCreatureName(target):find("Shiny ") and isShinyCharm(getCreatureName(target)) then
                if getPlayerStorageValue(getNpcMaster(cid), 4125) - os.time() > 0 then
                    if math.random(1, 1000) <= charmchance or isGod(getNpcMaster(cid)) then    
                        addEvent(doShiny, 1 * 1000, posC1, nameDeath)
                        doPlayerSendTextMessage(getNpcMaster(cid), 20, "[Shiny Charm]: Will be born in 5 seconds a Shiny "..getCreatureName(target)..".")        
                    end
                end
            end
            
            if isWild(target) and not getCreatureName(target):find("Shiny ") and isShinyCharm(getCreatureName(target)) then
                if getPlayerStorageValue(getCreatureMaster(cid), 4125) - os.time() > 0 then
                    if math.random(1, 1500) <= charmchance or isGod(getCreatureMaster(cid)) then    
                        addEvent(doShiny, 1 * 1000, posC1, nameDeath)
                        doPlayerSendTextMessage(getCreatureMaster(cid), 20, "[Shiny Charm]: Will be born in 5 seconds a Shiny "..getCreatureName(target)..".")        
                    end
                end
            end    

-- // Charm System // --
                    
            if corpse and not isSummon(target) then
                
                doItemSetAttribute(corpse, "pokeName", "fainted " .. nameDeath:lower())
                
                if nameDeath:find("Smeargle") then
                    doItemSetAttribute(corpse, "smeargleID", getPlayerStorageValue(target, storages.SmeargleID))
                end
                
                    doDecayItem(corpse)
                
                local name = getCreatureName(getCreatureMaster(cid))
                
                if isNpc(cid) then
                    doCorpseAddLoot(getCreatureName(target), corpse, getNpcMaster(cid), target)
                else
                    doCorpseAddLoot(getCreatureName(target), corpse, getCreatureMaster(cid), target)
                end
                
            end
        end
        
        if isSummon(cid) then
            doSendPlayerExtendedOpcode(getCreatureMaster(cid), 57,  "nothing|0|0")
        end    
            
        doRemoveCreature(target)    
    end    
end

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
7 horas atrás, kttallan disse:

 

é isso que está nesse script, não está funcionando, eu tentei o valor 1, 00,1 e aquele 9999 e todos os brilhantes estão saindo para todo mundo morto ..

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