Jump to content
  • 0

Daily Itens por LVL!


wenderotpoke
 Share

Question

Salve Galerinha, seguinte preciso de um help aqui, bom essa é a Daily Itens usada no PokeMasterX, porem quero dar uma alterada, ali nos itens eu coloquei apenas os itens mais caros e os mais raros, como stones, Bone, Bone Mask, Andarilho Claw, etc... 

O que eu preciso é de dividir pra um determinado nivel, tipo antes do LVL 50 o player pega Andarilho Claw, Magikarp Fins, Blue Vines, que são dos pokes lvl baixo, depois do 100, passa a ter Gyarados Tail, Magma Foot, Palm, etc.. isso é possivel?? só preciso de uma base pra ter noção do que fazer, as edicçoes eu mesmo faço depois...

VLWWW REP++

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 1

Ficaria nessa pegada, não está 100%, nem que dar uma ajustada ai
 

local dailyItens = {
    itemQ_before_50 = {
        12193, 13863, 19530, 12272, 12184, 13892, 12270, 13901, 12203, 
        13900, 12208, 12268, 13898, 12276, 12275, 19527, 12169, 19531, 12199, 
        13874, 12204, 12334, 13889, 12182, 19539, 13867, 12148, 12191, 19543, 
        19540, 12168, 12269, 19535, 12195, 13873, 12280, 12166, 12284, 12141, 
        12285, 19528, 12178, 19526, 12167, 13864, 12178, 12341, 19534, 19536, 
        12154, 13897, 12160
    },
    itemQ_after_50 = {
        12244, 12242, 11446, 12232, 11454,
        19202, 11452, 11447, 11443, 11450,
        11449, 11445, 11448, 11453, 11444,
        11441, 11442
    },
    minCount = 15,
    maxCount = 30,
    ItemRare = {
        12244, 12242, 11446, 12232, 11454,
        19202, 11452, 11447, 11443, 11450,
        11449, 11445, 11448, 11453, 11444,
        11441,11442
    },
    minRcount = 2,
    maxRcount = 5
}

local count = 0
for i=1,dailyItens.minCount do
    local item = dailyItens.itemQ_before_50[math.random(#dailyItens.itemQ_before_50)]
    table.insert(itens, { itemid = item, count = 1, valor = cash[item] })
    count = count + 1
end
for i=dailyItens.minCount+1,dailyItens.maxCount do
    local item = nil
    if count < 50 then
        item = dailyItens.itemQ_before_50[math.random(#dailyItens.itemQ_before_50)]
    else
        item = dailyItens.itemQ_after_50[math.random(#dailyItens.itemQ_after_50)]
    end
    table.insert(itens, { itemid = item, count = 1, valor = cash[item] })
    count = count + 1
end
for i=1,math.random(dailyItens.minRcount, dailyItens.maxRcount) do
    local item = dailyItens.ItemRare[math.random(#dailyItens.ItemRare)]
    table.insert(itens, { itemid = item, count = 1,valor = cash[item] })
end

 

Link to comment
Share on other sites

  • 0
Spoiler

local dailyItens = {
    itemQ = {
        12193, 13863, 19530, 12272, 12184, 13892, 12270, 13901, 12203, 
        13900, 12208, 12268, 13898, 12276, 12275, 19527, 12169, 19531, 12199, 
        13874, 12204, 12334, 13889, 12182, 19539, 13867, 12148, 12191, 19543, 
        19540, 12168, 12269, 19535, 12195, 13873, 12280, 12166, 12284, 12141, 
        12285, 19528, 12178, 19526, 12167, 13864, 12178, 12341, 19534, 19536, 
        12154, 13897, 12160},
    minCount = 15,
    maxCount = 30,
    ItemRare = {
        12244, 12242, 11446, 12232, 11454,
        19202, 11452, 11447, 11443, 11450,
        11449, 11445, 11448, 11453, 11444,
        11441,11442},
    minRcount = 2,
    maxRcount = 5
}
    
local cash = {
-- ItemQ

    {item = 12193, valor = 250},
    {item = 13863, valor = 50},
    {item = 19530, valor = 250},
    {item = 12272, valor = 500},
    {item = 12184, valor = 50},
    {item = 13892, valor = 250},
    {item = 12270, valor = 250},
    {item = 13901, valor = 150},
    {item = 12203, valor = 50},
    {item = 13900, valor = 150},
    {item = 12208, valor = 150},
    {item = 12268, valor = 500},
    {item = 13898, valor = 250},
    {item = 12276, valor = 500},
    {item = 12275, valor = 500},
    {item = 19527, valor = 50},
    {item = 12169, valor = 500},
    {item = 19531, valor = 150},
    {item = 12199, valor = 250},
    {item = 13874, valor = 150},
    {item = 12204, valor = 250},
    {item = 12334, valor = 10},
    {item = 13889, valor = 250},
    {item = 12182, valor = 50},
    {item = 19539, valor = 150},
    {item = 13867, valor = 150},
    {item = 12148, valor = 500},
    {item = 12191, valor = 150},
    {item = 19543, valor = 150},
    {item = 19540, valor = 500},
    {item = 12168, valor = 250},
    {item = 12269, valor = 500},
    {item = 19535, valor = 250},
    {item = 12195, valor = 500},
    {item = 13873, valor = 500},
    {item = 12280, valor = 250},
    {item = 12166, valor = 500},
    {item = 12284, valor = 250},
    {item = 12141, valor = 250},
    {item = 12285, valor = 500},
    {item = 19528, valor = 150},
    {item = 12178, valor = 150},
    {item = 19526, valor = 250},
    {item = 12167, valor = 500},
    {item = 13864, valor = 250},
    {item = 12341, valor = 150},
    {item = 19534, valor = 50},
    {item = 19536, valor = 250},
    {item = 12154, valor = 150},
    {item = 13897, valor = 150},
    {item = 12160, valor = 150},

-- ItemRare

    {item = 12244, valor = 50000},
    {item = 12242, valor = 10000},
    {item = 11446, valor = 5000},
    {item = 12232, valor = 50000},
    {item = 11454, valor = 5000},
    {item = 19202, valor = 5000},
    {item = 11452, valor = 5000},
    {item = 11447, valor = 5000},
    {item = 11443, valor = 5000},
    {item = 11450, valor = 5000},
    {item = 11449, valor = 50000},
    {item = 11445, valor = 5000},
    {item = 11448, valor = 5000},
    {item = 11453, valor = 5000},
    {item = 11444, valor = 5000},
    {item = 11441, valor = 5000},
    {item = 11442, valor = 5000},


}

function addCashToPlayer(cid) -- FUNÇÃO DE ADICIONAR CASH AOS PLAYERS DEPENDENDO DO DAILY ITENS.
    
local valor_total = 0
local item1 = getPlayerStorageValue(cid, 251461):explode("|")

    for i = 1, #cash do
        if cash[i].item == tonumber(item1[1]) then
            valor_total = valor_total + (cash[i].valor * tonumber(item1[3])) or tonumber(5000)
        end
        
        if cash[i].item == tonumber(item1[2]) then
            valor_total = valor_total + (cash[i].valor * tonumber(item1[4])) or tonumber(5000)
        end
        
        if cash[i].item == tonumber(item1[5]) then
            valor_total = valor_total + (cash[i].valor * tonumber(item1[7])) or tonumber(5000)
        end
        
        if cash[i].item == tonumber(item1[6]) then
            valor_total = valor_total + (cash[i].valor * tonumber(item1[8])) or tonumber(5000)
        end       
    end
    
    valor_total = valor_total * 10.0
    doPlayerAddMoney(cid, valor_total)
    return true
end

function resetDailyItens(cid) -- FUNÇÃO PARA RESETAR O DAILYITENS
    
    setPlayerStorageValue(cid, 251480, -1)
    setPlayerStorageValue(cid, 251479, -1)        
    setDailyItens(cid)
    return true
end

function sendMsgCountToItens(cid) -- FUNÇÃO PARA MANDAR A MSG DE QUANTOS ITENS FALTA
    local item1 = getPlayerStorageValue(cid, 251461):explode("|")
    
    if getPlayerItemCount(cid, item1[1]) >= tonumber(item1[3]) then
        valor1 = 0
    else
        valor1 = tonumber(item1[3]) - getPlayerItemCount(cid, item1[1])
    end
        
    if getPlayerItemCount(cid, item1[2]) >= tonumber(item1[4]) then
        valor2 = 0
    else
        valor2 = tonumber(item1[4]) - getPlayerItemCount(cid, item1[2])
    end
                
    if getPlayerItemCount(cid, item1[5]) >= tonumber(item1[7]) then
        valor3 = 0
    else
        valor3 = tonumber(item1[7]) - getPlayerItemCount(cid, item1[5])
    end
                
    if getPlayerItemCount(cid, item1[6]) >= tonumber(item1[8]) then
        valor4 = 0
    else
        valor4 = tonumber(item1[8]) - getPlayerItemCount(cid, item1[6])
    end
        
    selfSay("Ainda falta você me trazer os seguintes itens ["..valor1.."] "..getItemNameById(item1[1])..", ["..valor2.."] "..getItemNameById(item1[2])..", ["..valor3.."] "..getItemNameById(item1[5])..",  ["..valor4.."] "..getItemNameById(item1[6])..".", cid)        
    return true
end

function sendMsgToItens(cid) -- FUNÇÃO PARA MANDAR A MSG DOS ITENS PARA ENTREGAR.
    local item1 = getPlayerStorageValue(cid, 251461):explode("|")
    return selfSay("Você poderia me trazer esses itens ["..tonumber(item1[3]).."] "..getItemNameById(item1[1])..", ["..tonumber(item1[4]).."] "..getItemNameById(item1[2])..", ["..tonumber(item1[7]).."] "..getItemNameById(item1[5])..",  ["..tonumber(item1[8]).."] "..getItemNameById(item1[6]).."?", cid)
end        

function inDailyItens(cid) -- FUNÇÃO PARA CHECAR SE O PLAYER ESTÁ NA DAILY ITENS.
    if getPlayerStorageValue(cid, 251480) >= 1 then
        return true
    end
    return false
end

function doPlayerRemoveDailyItens(cid) -- FUNÇÃO PARA REMOVER ITENS DO DAILY ITENS
    local item1 = getPlayerStorageValue(cid, 251461):explode("|")
    if getPlayerStorageValue(cid, 251461) ~= -1 then
        if getPlayerItemCount(cid, tonumber(item1[1])) >= tonumber(item1[3]) and getPlayerItemCount(cid, tonumber(item1[2])) >= tonumber(item1[4]) and getPlayerItemCount(cid, tonumber(item1[5])) >= tonumber(item1[7]) and getPlayerItemCount(cid, tonumber(item1[6])) >= tonumber(item1[8]) then
            doPlayerRemoveItem(cid, item1[1], item1[3])
            doPlayerRemoveItem(cid, item1[2], item1[4])
            doPlayerRemoveItem(cid, item1[5], item1[7])
            doPlayerRemoveItem(cid, item1[6], item1[8])
            return true
        end
    end    
    return true
end

function getDailyItens(cid) -- FUNÇÃO PARA CHECAR SE O PLAYER JÁ TEM TODOS OS ITENS

    local item1 = getPlayerStorageValue(cid, 251461):explode("|")
    if getPlayerStorageValue(cid, 251461) ~= -1 then
        if getPlayerItemCount(cid, tonumber(item1[1])) >= tonumber(item1[3]) and getPlayerItemCount(cid, tonumber(item1[2])) >= tonumber(item1[4]) and getPlayerItemCount(cid, tonumber(item1[5])) >= tonumber(item1[7]) and getPlayerItemCount(cid, tonumber(item1[6])) >= tonumber(item1[8]) then
            return true
        end
    end

    return false
end    

function getLastDailyItens(cid) -- Checar se o player já fez a task de itens.
    if isPlayer(cid) then
        if getPlayerStorageValue(cid, 251462) ~= -1 then
            return tostring(getPlayerStorageValue(cid, 251462)):explode("|")[1]
        end
    end
    return "08-00-00"
end    
    
function setDailyItens(cid) -- ADICIONAR DAILY ITENS AOS PLAYERS.

--// Reload Itens 1 // --

    local itemq1 = dailyItens.itemQ[math.random(#dailyItens.itemQ)]
    local itemq2 = itemq1
    
    repeat
        itemq2 = dailyItens.itemQ[math.random(#dailyItens.itemQ)]
    until(not (itemq1 == itemq2))

--// Reload Count 1 // --
    
    local count1 = math.random(dailyItens.minCount, dailyItens.maxCount)
    local count2 = count1
    
    repeat
        count2 = math.random(dailyItens.minCount, dailyItens.maxCount)
    until(not (count1 == count2))

--// Reload Rare Itens 1 // --    

    local rare1 = dailyItens.ItemRare[math.random(#dailyItens.ItemRare)]
    local rare2 = rare1
    
    repeat
        rare2 = dailyItens.ItemRare[math.random(#dailyItens.ItemRare)]
    until(not (rare1 == rare2))
    
--// Reload Rare Count 1 // --    

    local rarecount1 = math.random(dailyItens.minRcount, dailyItens.maxRcount)
    local rarecount2 = rarecount1
    
    repeat
        rarecount2 = math.random(dailyItens.minRcount, dailyItens.maxRcount)
    until(not (rarecount1 == rarecount2))

    if getPlayerLevel(cid) >= 100 then
        count1 = math.floor(count1 * 3)
        count2 = math.floor(count2 * 3)
        rarecount1 = math.floor(rarecount1 * 3)
        rarecount2 = math.floor(rarecount2 * 3)

    elseif getPlayerLevel(cid) >= 150 then
        count1 = math.floor(count1 * 5)
        count2 = math.floor(count2 * 5)
        rarecount1 = math.floor(rarecount1 * 5)
        rarecount2 = math.floor(rarecount2 * 5)

    elseif getPlayerLevel(cid) >= 200 then
        count1 = math.floor(count1 * 😎
        count2 = math.floor(count2 * 😎
        rarecount1 = math.floor(rarecount1 * 😎
        rarecount2 = math.floor(rarecount2 * 😎

    elseif getPlayerLevel(cid) >= 250 then
        count1 = math.floor(count1 * 10)
        count2 = math.floor(count2 * 10)
        rarecount1 = math.floor(rarecount1 * 10)
        rarecount2 = math.floor(rarecount2 * 10)
    else
        count1 = count1
        count2 = count2
        rarecount1 = rarecount1
        rarecount2 = rarecount2
    end    
    
    local day = getNumberDay().."-"..getNumberMonth().."-"..getNumberYear()
    setPlayerStorageValue(cid, 251462, "|"..day.."|")    
    setPlayerStorageValue(cid, 251461, tostring("|"..itemq1.."|"..itemq2.."|"..count1.."|"..count2.."|"..rare1.."|"..rare2.."|"..rarecount1.."|"..rarecount2.."|"))
end

Ta ai meu brother

Link to comment
Share on other sites

  • 0

Não entendi bem kkk vou te mostrar uma que eu tenho pra daily kill separada por lvl, minha ideia seria que ficasse meio que assim, pra que eu possa alterar é so uma ideia de como funfa

Spoiler

killModes = {
    storage = 24000,    
    storage2 = 24001,    

    [1] = {
        name = "basic",
        experience = 250000, -- 70000
        items = {    
            {19221, 5},  --- Catcher Token
        },
        pokemons = {"Caterpie", "Weedle", "Magikarp", "Oddish", "Pidgey", "Spearow", "Paras", "Diglett", "Poliwag", "Tentacool", "Bellsprout", "Voltorb", "Horsea", "Goldeen", "Staryu"}, 
    },
    [2] = {
        name = "very easy",
        experience = 250000, -- 70000
        items = {    
            {19221, 5},  --- Catcher Token
        },
        pokemons = {"Bulbasaur", "Charmander", "Squirtle", "Metapod", "Kakuna", "Pidgeotto", "Ekans", "Sandshrew", "Nidorino", "Nidorina", "CLefairy", "Jigglypuff", "Psyduck", "Growlithe", "Poliwhirl", "Geodude", "Koffing", "Ponyta", "Drownzee", "Gastly", "Cubone", "Rhyhorn", "Eevee"}, 
    },
    [3] = {
        name = "easy",
        experience = 250000, -- 70000
        items = {    
            {19221, 10}, --- Catcher Token
            {15645, 20}, -- devoted token
            {2394, 50}, -- poke ball
        },
        pokemons = {"Butterfree", "Beedrill", "Raticate", "Gloom", "Weepinbell", "Arbok", "Pikachu", "Golbat", "Dugtrio", "Electrode", "Seaking", "Ivysaur", "Charmeleon", "Wartortle", "Parasect", "Graveler", "Haunter", "Seadra", "Kadabra", "Machoke", "Slowbro", "Farfetch'd"}, 
    },
    [4] = {
        name = "medium",
        experience = 500000, -- 150000
        items = {
            {19221, 15}, -- catcher token
            {15645, 50}, -- devoted token
            {2393, 100}, -- great ball
        },
        pokemons = {"Fearow", "Vileplume", "Venomoth", "Persian", "Primeape", "Magneton", "Dodrio", "Onix", "Kingler", "Marowak", "Weezing", "Tangela", "Starmie", "Tauros", "Hypno", "Dewgong", "Cloyster", "Sandslash"},
    },
    [5] = {
        name = "hard",
        experience = 1000000, -- 200000
        items = {    
            {19221, 20}, -- catcher token
            {15645, 100}, -- devoted token
            {2392, 100}, -- super ball
        },
        pokemons = {"Nidoking", "Nidoqueen", "Clefable", "Ninetales", "Wigglytuff", "Golduck", "Victreebel", "Golem", "Rapidash", "Pinsir", "Dragonair", "Vaporeon", "Jolteon", "Flareon"},
    },
    [6] = {
        name = "very hard",
        experience = 2000000, -- 280000
        items = {
            {19221, 25}, -- catcher token
            {15645, 150}, -- devoted token
            {15679, 300}, -- ultra ball
        },
        pokemons = {"Venusaur", "Charizard", "Blastoise", "Pidgeot", "Alakazam", "Tentacruel", "Gengar", "Rhydon", "Kangaskhan", "Scyther", "Jynx", "Electabuzz", "Magmar", "Raichu"},
    },
    [7] = {
        name = "expert",
        experience = 2000000, -- 280000
        items = {
            {19221, 30}, -- catcher token
            {15645, 200}, -- devoted token
            {15679, 50}, -- Premier ball
        },
        pokemons = {"Gyarados", "Arcanine", "Muk", "Exeggutor", "Lapras", "Machamp", "Dragonite"},
    },
}

function getKillMode(cid)
    if isPlayer(cid) then
        if not (tostring(getPlayerStorageValue(cid, killModes.storage)) == "-1") then        
            return tonumber(tostring(getPlayerStorageValue(cid, killModes.storage)):explode("|")[1])
        end
    end
    return 1
end

function getKillCount(cid)
    if isPlayer(cid) then
        if not (tostring(getPlayerStorageValue(cid, killModes.storage)) == "-1") then
            return tonumber(getPlayerStorageValue(cid, killModes.storage):explode("|")[5])
        end
    end    
    return tonumber(0)
end    

function setKillCatched(cid, bool)
    local pokecount = tonumber(getPlayerStorageValue(cid, 24003) <= 0 and 0 or getPlayerStorageValue(cid, 24003))
    setPlayerStorageValue(cid, killModes.storage, "|"..getPlayerStorageValue(cid, killModes.storage):explode("|")[1].."|"..getPlayerStorageValue(cid, killModes.storage):explode("|")[2].."|"..getPlayerStorageValue(cid, killModes.storage):explode("|")[3].."|"..tostring(bool).."|"..pokecount)
end

function getPokemonsToKill(cid)
    if isPlayer(cid) then
        if not (tostring(getPlayerStorageValue(cid, killModes.storage)) == "-1") then
            local string = getPlayerStorageValue(cid, killModes.storage):explode("|")[3]
            return string:explode(";")
        end
    end
    return {"none1", "none2"}
end

function hasKilled(cid)
    if isPlayer(cid) then
        if not (tostring(getPlayerStorageValue(cid, killModes.storage)) == "-1") then
            return (getPlayerStorageValue(cid, killModes.storage):explode("|")[4] == "true")
        end
    end    
    return false
end

function getLastDayKill(cid)
    if isPlayer(cid) then
        if not (tostring(getPlayerStorageValue(cid, killModes.storage)) == "-1") then
            return tostring(getPlayerStorageValue(cid, killModes.storage)):explode("|")[2]
        end
    end
    return "08-00-00"
end

function resetDailyKill(cid)
    if isPlayer(cid) then
        
        local pokemons = killModes[(getCatchMode(cid))].pokemons
        local number1 = math.random(1, #pokemons)
        local number2 = number1
        local count = math.random(getPlayerLevel(cid) * 2)
        
        repeat
            number2 = math.random(1, #pokemons)
        until(not (number1 == number2))
        
        repeat
            count2 = math.random(getPlayerLevel(cid) * 2)
        until(not (count == count2))
        

        if getPlayerLevel(cid) >= 5 and getPlayerLevel(cid) < 30 then
            valor = 1
        elseif getPlayerLevel(cid) >= 30 and getPlayerLevel(cid) < 60 then
            valor = 2
        elseif getPlayerLevel(cid) >= 60 and getPlayerLevel(cid) < 100 then
            valor = 3
        elseif getPlayerLevel(cid) >= 100 and getPlayerLevel(cid) < 140 then
            valor = 4
        elseif getPlayerLevel(cid) >= 140 and getPlayerLevel(cid) < 180 then
            valor = 5
        elseif getPlayerLevel(cid) >= 180 and getPlayerLevel(cid) < 200 then
            valor = 6
        elseif getPlayerLevel(cid) >= 220 then
            valor = 7
        end
        
        local day = tostring(""..getNumberDay().."-"..getNumberMonth().."-"..getNumberYear().."")
        setPlayerStorageValue(cid, killModes.storage, "|"..valor.."|"..day.."|"..pokemons[number1]..";"..pokemons[number2].."|false|"..count2)
        setPlayerStorageValue(cid, killModes.storage2, -1)
        setPlayerStorageValue(cid, 24003, 0)
    end
end

function nextDailyKill(cid)
    if isPlayer(cid) then
        if getCatchMode(cid) == #killModes then
            setKillCatched(cid, false)
            setPlayerStorageValue(cid, killModes.storage2, "finished")
            return false
        end
        
        local pokemons = killModes[(getCatchMode(cid) + 1)].pokemons
        local number1 = math.random(1, #pokemons)
        local number2 = number1
        local count = math.random(getPlayerLevel(cid) * 2)
        
        repeat
            number2 = math.random(1, #pokemons)
        until(not (number1 == number2))
        
        repeat
            count2 = math.random(getPlayerLevel(cid) * 2)
        until(not (count == count2))
        
        local day = tostring(""..getNumberDay().."-"..getNumberMonth().."-"..getNumberYear().."")
        local text = "|"..(getCatchMode(cid) + 1).."|"..day.."|"..pokemons[number1]..";"..pokemons[number2].."|false|"..count2
        

        setKillCatched(cid, false)
        setPlayerStorageValue(cid, killModes.storage, text)
        setPlayerStorageValue(cid, killModes.storage2, -1)
        setPlayerStorageValue(cid, 24003, 0)
    end    
    return true
end

 

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...