• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • 2026 staff recruitment is open! Check it out and consider applying!

czy to zrobi problem?

Iranimes

Lua Zawodowiec
Joined
Jul 10, 2012
Messages
717
Reaction score
12
mam tablice z wieloma rzeczami i różnymi chance'ami np. tablica = {
[2222] = {chance_na_smiech = 20, chance_na_dead = 35, chance_na_ziemniaka = 55}
[3333] = {chance_na_smiech = 50, chance_na_dead = 28, chance_na_ziemniaka = 22}
[4444] = {chance_na_smiech = 10, chance_na_dead = 65, chance_na_ziemniaka = 25}

i teraz tak, zamiast robić

losowanie = math.random(1,100)
if losowanie <= chance_na_smiech then
elseif losowanie <= chance_na_dead then..

bo to nie działa dobrze,by było git jakby we wszystkich przypadkach chance_na_smiech < chance_na_dead < chance_na_ziemniaka


niby moge zrobic pokolei

if losowanie <= chance_na_smiech then

else
if losowanie <= chance_na_smiech + chance_na_dead then
else



ale nie lepiej by było zrobić:

tbl_losowan = {}

for i = 1, tablica.chance_na_smiech do
table.insert(tbl_losowan, "SMIECH")
end
for i = 1, tablica.chance_na_dead do
table.insert(tbl_losowan, "DEAD")
end
for i = 1, tablica.chance_na_ziemniaka do
table.insert(tbl_losowan, "ZIEMNIAK")
end

losowanko = math.random(1,#tbl_losowan)

wynik = tbl_losowan[losowanko]





Czy druga opcja nie zapierdoli zbytnio jeśli bym użył tego np, po akcji używania ITEMU danego na danej rzeczy ?xd
 
3x pętla + 100 rekordów w tablicy dodawanych co chwile na pewno bardziej będzie jechać niż warunek, a warunek możesz sobie uprościć do 2 linijek, nie wiem po co komplikować sobie życie...
LUA:
local rand = math.random(100)
wynik = ((rand <= tablica.chance_na_smiech) and "SMIECH" or ((rand <= tablica.chance_na_smiech+tablica.chance_na_dead) and "DEAD" or "ZIEMNIAK"))

swoją drogą nazwy zmiennych zajebiste, psychonośne dla Polaków i Anglików jednocześnie :D
 
Last edited:
3x pętla + 100 rekordów w tablicy dodawanych co chwile na pewno bardziej będzie jechać niż warunek, a warunek możesz sobie uprościć do 2 linijek, nie wiem po co komplikować sobie życie...
LUA:
local rand = math.random(100)
wynik = ((rand <= tablica.chance_na_smiech) and "SMIECH" or ((rand <= tablica.chance_na_smiech+tablica.chance_na_dead) and "DEAD" or "ZIEMNIAK"))

swoją drogą nazwy zmiennych zajebiste, psychonośne dla polaków i anglików jednocześnie :D

okey zrobie tak dzięki
 
Back
Top