Nem percebi que eram os mesmos itens.
Mas já que são, seguindo o exemplo do Byerne:
Na variável start vc coloca quantos itens tem de opção no primeiro.
O script considera que vc adiciona 1 item a mais em cada level (a cada level não, a cada nova tabela, como estava antes).
Por isso, também, tive que trocar de pairs pra ipairs.




info
Grupo: Visconde
Registrado: 23/02/08
Posts: 273
Reputação: +101
Char no Tibia: Foxx Rookslayer
Não sei se ajuda, mas pra diminuir essa LISTA de items gigantesca dá pra fazer algo como isso:
local sign = { {level = {0,9}, percent = 25}, {level = {10,14}, percent = 30}, {level = {15,19}, percent = 35}, {level = {20,24}, percent = 40}, {level = {25,29}, percent = 45}, {level = {30,34}, percent = 50}, {level = {35,39}, percent = 50}, {level = {40,44}, percent = 50}, {level = {45,49}, percent = 50}, {level = {50,54}, percent = 50}, {level = {55,59}, percent = 50}, {level = {60,69}, percent = 50}, {level = {70,false}, percent = 50}} local itemids_ALL = {1293, 1294, 1295, 2150, 2149, 2146, 2147, 9970, 2145, 2157, 2154, 2156, 2153, 2155, 2177} local l, r, newid, itemids = getPlayerLevel(cid), 0, 0, {} for k,v in ipairs(sign) do r = k if l >= v.level[1] and (l <= v.level[2] or v.level[2] == false) then break end end while newid < r do newid = newid+1 table.insert(itemids, itemid_ALL[newid]) endE também, já que os levels seguem um padrão, não creio que você vá precisar colocar uma tabela com isso.
Edit --
No final ficou a mesma coisa, mas por exemplo, se você quiser colocar novos items até o 140 por exemplo, você ia perder uma hora fazendo a lista, com isso só colocar um amais no final ..
Sobre a fórmula você tem que fazer que várias variáveis formem um total utilizado no final.
Tente usar variáveis como os storages de level e try e o level do player e depois utilizar isso em uma porcentagem (math.random(1,100) <= resultado_da_formula).
Edit² --
O XTibia tá tirando a identação
Editado Fevereiro 1 por Byerne