Ir para conteúdo

[Encerrado] (Pedido) Ganha Premios Ao X LeveL


BrunooMaciell

Posts Recomendados

Vim aqui pra pedir um systema que estava procurando mais nao achei !!

 

O systema de que um player chega ao x level ganha um premio se possivel versao poketibia e se possivel a script pode-se add nao so um premio sei la 3 a 5 lvls que ganhara premio ^^

 

 

Link para o comentário
Compartilhar em outros sites

O prêmio será apenas 1 item específico e uma quantidade x de level? Você poderia informar o(s) ID(s) do(s) do(s) item(s), a quantidade de levels que o player irá receber e o level que o player irá receber os prêmios?

E, suponhamos que o level necessário para receber os prêmios seja 45. Se o player estiver, por exemplo, no level 44, e avançar 2 levels, irá mesmo assim receber o prêmio? Ou apenas se avançar para 45, exato?

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

Tabela:

 

LvL 100 - 100HD

LvL: 300 - Boost Stone/300HD

LvL: 500 - Boost Stone/500HD

 

Ids:

 

HD - 2152

Boost Stone - 12618

 

OBS: quando for mi manda a script e tudo mais se puder fala como posso add mais premios caso eu quera futuramente ^^

Link para o comentário
Compartilhar em outros sites

Tenta:

data/creaturescripts/scripts.

function onAdvance(cid, skill, oldLevel, newLevel)
 
local t = {
    [100] = {items = {2160}, quantidade = {1}, storage = 110291},
    [300] = {items = {2160, 12618}, quantidade = {3, 1}, storage = 110292},
    [500] = {items = {2160, 12618}, quantidade = {5, 1}, storage = 110293},
}
 
local item = t[newLevel].items
local quantidade = t[newLevel].quantidade
 
    if skill == 8 then
        for a, b in pairs(t) do
            if newLevel >= a and getPlayerStorageValue(cid, b.storage) < 1 then
                for i = 1, #item do
                    doPlayerAddItem(cid, item[i], quantidade[i])
                    setPlayerStorageValue(cid, b.storage, 1)
                end
            end
        end
    end
    return true
end

Não se esqueça de registrar no login.lua.

Você deve alterar apenas a tabela t.
local t = {
    [100] = {items = {2160}, quantidade = {1}, storage = 110291},
    [300] = {items = {2160, 12618}, quantidade = {3, 1}, storage = 110292},
    [500] = {items = {2160, 12618}, quantidade = {5, 1}, storage = 110293},
}
"Traduzindo" uma linha dela, ficaria assim:
[Level] = {items = {IDs do(s) item(s)}, quantidade = {quantidade do(s) item(s)}, storage = 110291},
Na parte quantidade =, você deve colocar em ordem, igual à items. Por exemplo, no lv 300, items está {2160, 12618}. O primeiro ID, é o do thousand dollar (prefiri utilizá-lo, como dica de um amigo, já que 100 HDs = 1 TD, mais fácil); o segundo, Boost Stone. No quantidade, está {3, 1}. O primeiro valor (3), está relacionado ao primeiro valor de items (o TD). O segundo, (1), está relacionado ao segundo valor de items; no caso, a Boost Stone.
Editado por zipter98
Link para o comentário
Compartilhar em outros sites

Tenta:

function onAdvance(cid, skill, oldLevel, newLevel)
 
local t = {
    [100] = {items = {2160}, quantidade = {1}, storage = 110291},
    [300] = {items = {2160, 12618}, quantidade = {3, 1}, storage = 110292},
    [500] = {items = {2160, 12618}, quantidade = {5, 1}, storage = 110293},
}
 
local item = t[newLevel].items
local quantidade = t[newLevel].quantidade
 
    if skill == 8 then
        for a, b in pairs(t) do
            if newLevel >= a and getPlayerStorageValue(cid, b.storage) < 1 then
                for i = 1, #item do
                    doPlayerAddItem(cid, item[i], quantidade[i])
                    setPlayerStorageValue(cid, b.storage, 1)
                end
            end
        end
    end
    return true
end

jaja edito com a explicação.

ok se mi mando a script mais eu nao tenho ela toda eu uso como base aqui o guhok mi mando pq nao tenho nada da script se mi mando so a script sendo que nao tenho nada usa a que o guh mando so que em vez de usa a script deles usa a sua ??

Link para o comentário
Compartilhar em outros sites

Ok !!

 

ja ja tido resposta vou testa aqui ^^


BUG

 

[13/11/2013 20:28:43] [Error - CreatureScript Interface]
[13/11/2013 20:28:43] data/creaturescripts/scripts/onadvanced.lua:onAdvance
[13/11/2013 20:28:43] Description:
[13/11/2013 20:28:43] data/creaturescripts/scripts/onadvanced.lua:9: attempt to index field '?' (a nil value)
[13/11/2013 20:28:43] stack traceback:
[13/11/2013 20:28:43] data/creaturescripts/scripts/onadvanced.lua:9: in function

 

Link para o comentário
Compartilhar em outros sites

 

function onAdvance(cid, skill, oldLevel, newLevel)
 
local t = {
    [100] = {items = {2160}, quantidade = {1}, storage = 110291},
    [300] = {items = {2160, 12618}, quantidade = {3, 1}, storage = 110292},
    [500] = {items = {2160, 12618}, quantidade = {5, 1}, storage = 110293},
}
 
    if t[newLevel] then
        item = t[newLevel].items
        quantidade = t[newLevel].quantidade
    end
 
    if skill == 8 then
        for a, b in pairs(t) do
            if newLevel >= a and getPlayerStorageValue(cid, b.storage) < 1 then
                for i = 1, #item do
                    doPlayerAddItem(cid, item[i], quantidade[i])
                    setPlayerStorageValue(cid, b.storage, 1)
                end
            end
        end
    end
    return true
end
Link para o comentário
Compartilhar em outros sites

Continua bugado =(

 

[13/11/2013 22:16:20] [Error - CreatureScript Interface]
[13/11/2013 22:16:20] data/creaturescripts/scripts/onadvanced.lua:onAdvance
[13/11/2013 22:16:20] Description:
[13/11/2013 22:16:20] data/creaturescripts/scripts/onadvanced.lua:17: attempt to get length of global 'item' (a nil value)
[13/11/2013 22:16:20] stack traceback:
[13/11/2013 22:16:20] data/creaturescripts/scripts/onadvanced.lua:17: in function

 

Link para o comentário
Compartilhar em outros sites

Tenta upar seu char exatamente pra um dos levels da tabela:

 

function onAdvance(cid, skill, oldLevel, newLevel)
 
local t = {
    [100] = {items = {2160}, quantidade = {1}, storage = 110291},
    [300] = {items = {2160, 12618}, quantidade = {3, 1}, storage = 110292},
    [500] = {items = {2160, 12618}, quantidade = {5, 1}, storage = 110293},
}
 
    if skill == 8 then
        if t[newLevel] then
            item = t[newLevel].items
            quantidade = t[newLevel].quantidade
            for a, b in pairs(t) do
                if newLevel >= a and getPlayerStorageValue(cid, b.storage) < 1 then
                    for i = 1, #item do
                        doPlayerAddItem(cid, item[i], quantidade[i])
                        setPlayerStorageValue(cid, b.storage, 1)
                    end
                end
            end
        end
    end
    return true
end
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...