• 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!

doCountItems in container

Dubler

PHP, LUA, C++
Joined
Aug 3, 2009
Messages
268
Reaction score
11
Location
Poland
ma ktoś pomysł na funkcje która liczy ile itemów jest w zbiorniku? taka co liczy także te wewnątrz bagów wewnątrz parceli wewnątrz backpacka a nie tylko na poziomie 1.
 
Cos w ten desen:
Code:
function f(item)
    local count = 0
    for i = 1, getContainerSize(item) do
        local v = getContainerItem(i)
        if v ~= 0 then
            count = count + isContainer(v.uid) and f(v.uid) or 1
        end
    end
    return count
end
 
count = count + isContainer(v.uid) and f(v.uid) or 1
coś w tej linijce nie gra
 
ej dubler, sellne fixa tanio, bo widzę próbujesz sam coś ogarnąć, ale nie idzie, od takich spraw jest twój portfel :) napisz na prv
 
Lua:
function f(item)
    local count = 0
    for i = 1, getContainerSize(item) do
        local v = getContainerItem(i)
        if v ~= 0 then
            count = count + (isContainer(v.uid) and f(v.uid) or 1)
        end
    end
    return count
end
teraz spróbuj.
 
function f(item)
local count = 0
for i = 1, getContainerSize(item) do
local v = getContainerItem(i)
if v ~= 0 then
count = count + (isContainer(v.uid) and f(v.uid) or 1)
end
end
return count
end

dlaczego raz przekazujecie item a raz jego uid?
 
@up
bo w domyśle funkcji przekazuje się uid a nie całą tablice item
@topic
zamiast portfela mam mózg, a ten skrypt nie jest dla mnie tylko dla kumpla za free więc mi się nie chciało kombinować samemu :p

@edit
szczerze to nie ogarniam w tej chwili tego skryptu, musze chyba pokombinować i napisać sam coś podobnego
 
Last edited:
dlaczego raz przekazujecie item a raz jego uid?
@up
bo w domyśle funkcji przekazuje się uid a nie całą tablice item
Dokladnie tak jest.

@edit
szczerze to nie ogarniam w tej chwili tego skryptu, musze chyba pokombinować i napisać sam coś podobnego

Funkcja robi loopa po pojemniku i sprawdza czy na danym slocie znajduje sie item, jezeli item jest zwyklym przedmiotem to podnosi count o 1, a jezeli item jest kolejnym pojemnikiem, to funkcja do count dodaje to co sama zwroci, tak jakby drugi raz sie wykona dla kazdego kolejnego pojemnika.
 
Back
Top