SA

Duvida Em Relação A Variaveis E Funções

Por sabrina9292, 29 de jan. de 2012 em Scripts

script
18
3.1k
bepokemonB
01 de fevereiro de 2012 às 22:48

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])
end

 

E 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

02 de fevereiro de 2012 às 06:15

Nem percebi que eram os mesmos itens.

 

Mas já que são, seguindo o exemplo do Byerne:

 

 

http://pastebin.com/8aem9Jcn

 

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.

Editado Fevereiro 2 por Demonbholder

sabrina9292S
03 de fevereiro de 2012 às 02:36

Nem percebi que eram os mesmos itens.

 

Mas já que são, seguindo o exemplo do Byerne:

 

 

http://pastebin.com/8aem9Jcn

 

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.

 

Muito obrigada... Levou meu REP+

 

@Byerne

 

Amanha te dou um REP+... Muito obrigada

Editado Fevereiro 3 por sabrina9292