Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2015-01-04, 19:43


Bilguun







Wiek: 26
Na forum: 5071 dni
Posty: 133
Nick w MP: Bilguun

Piwa: 4

Respekt: 50

Ostrzeżeń: 20%
Witam, wszystko jest z tym kodem w symie ok, tylko gdy jak dojdzie do 7 to nie tworzy si? tabela z nowym indexem czyli 2. Nic nie wyrzuca w debugu.


local savedClientItems = {}
local itemsPage = {1,1}  --strona oraz ile stron aktualnie przetwarzanego ekwipunku
local itemsSorted = {}
local page 1

function refreshClientItems itemTable )
    savedClientItems itemTable
    itemsSorted[page] = {}
    for i,v in ipairs(savedClientItems) do
    if == or == 13 or == 19 then      
    page page 1  
    itemsPage[2] = page  
    itemsSorted[page] = {} 
    end
    itemsSorted[page][i] = { v[1] ,  v[2] ,  v[3] }
    outputChatBox(page .. " " .. .. " " ..#itemsSorted[itemsPage[1]])
    
    
    end
end
addEvent"refreshClientItems"true )
addEventHandler"refreshClientItems"localPlayerrefreshClientItems )


Chce ?e gdy iterator (i) dojdzie do 7 to tworzy tabele z nowym indexem. Dodam ?e na pocz?tku normalnie si? tworz? tylko gdy jak sprawdze
addCommandHandler("testtt",function()
    outputChatBox(#itemsSorted[2])
end)
to pokazuje 0 a jak dam
addCommandHandler("testtt",function()
    outputChatBox(#itemsSorted[1])
end)
to pokazuje normalnie 6 tak jak ma by?, bo o to mi chodzi.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-04, 20:02


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Nie chce mi si? poprawia? twojego kodu st?d te? wklejam swoj? interpretacj? algorytmu:


function sort(items)
itemsTable = {}
local i 1
itemsTable[1] = {}
for k,v in ipairs(items) do
if == 0 then
i 1
itemsTable[i] = {}
end
table.insert(itemsTable[i],v)
end
return itemsTable
end


Nie wiem czy dzia?a wi?c polecam sprawdzi?. :)

EDIT. Sprawdzi?em, dzia?a.

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-04, 20:15


Bilguun







Wiek: 26
Na forum: 5071 dni
Posty: 133
Nick w MP: Bilguun

Piwa: 4

Respekt: 50

Ostrzeżeń: 20%
Ale mam co? tutaj wpisywa? ? W sensie np v[1] , v[2] , v[3], czy to samo ogarnie ?

I m?g?by? powiedzie? co w moim by?o nie tak ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-04, 20:21


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

"Bilguun" napisał/a:

Ale mam co? tutaj wpisywa? ? W sensie np v[1] , v[2] , v[3], czy to samo ogarnie ?


Ta funkcja dzia?a tak, ?e podajesz jej tabel?, kt?r? chcesz posortowa?, a ona sortuje co 7 krotno?? dodaj?c nowy 'wymiar' w tablicy i j? zwraca.

"Bilguun" napisał/a:

I m?g?by? powiedzie? co w moim by?o nie tak ?

Du?o tam z?ego by?o. Pierwsza rzecz jaka mi si? rzuci?a w oczy to brak modulo (reszty z dzielenia), kt?r? ja zastosowa?em. Od razu u?atwia to ?ycie w przypadku du?ej tablicy. Poza tym reszt? ola?em :P przechodz?c do kodzenia w?asnego algorytmu. Dodam jeszcze, ?e moja funkcja dzia?a tylko na 1 wymiarowej tablicy.

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-04, 20:32


Bilguun







Wiek: 26
Na forum: 5071 dni
Posty: 133
Nick w MP: Bilguun

Piwa: 4

Respekt: 50

Ostrzeżeń: 20%
A jak dzia?a w twoim kodzie modulo ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-04, 20:34


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Modulo dzia?a wsz?dzie tak samo. Modulo to jest reszta z dzielenia.

Powiedzmy

10 modulo 2 to 0, bo jak podzielimy 10 / 2 to otrzymamy 5, reszty 0.

Ja po prostu w tej funkcji sprawdzam czy pojawia si? wielokrotno?? liczby 7. Je?eli tak - tworz? kolejny wymiar.

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-04, 20:44


Bilguun







Wiek: 26
Na forum: 5071 dni
Posty: 133
Nick w MP: Bilguun

Piwa: 4

Respekt: 50

Ostrzeżeń: 20%
Wywala mi b??d w lini itemsTable[i] = {}
<name> expected near '1'

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-04, 21:39


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

E no co ty :P .

Sprawdza?em na Lua Demo i wszystko gra.

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-04, 21:41


Bilguun







Wiek: 26
Na forum: 5071 dni
Posty: 133
Nick w MP: Bilguun

Piwa: 4

Respekt: 50

Ostrzeżeń: 20%
To dlaczego tak mo?e by? ? Podaj mi razem z stworzon? przez ciebie tabel?.

http://i.imgur.com/VMnSTnj.png

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-04, 22:46


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

GTAO ma to do siebie, ?e do i dopisuje jakie? :1, :2 ... usu? to.

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-04, 22:58


Bilguun







Wiek: 26
Na forum: 5071 dni
Posty: 133
Nick w MP: Bilguun

Piwa: 4

Respekt: 50

Ostrzeżeń: 20%
Dzia?a, ale jest jeden b??d, robi si? to na odwr?t. Wszystkich itemk?w jest 17. W itemsTable[1] jest 5 w itemsTable[2] jest 6 i w itemsTable[3] jest 6, czyli dzieje si? to na odwr?t. Jak to odwr?ci? ?

EDIT: Dobra poradzi?em sobie sam, dzieki wielkie.

EDIT2: Jednak nie, pierwsza jest dobrze na 6, a kolejne s? na 7, nie wiem dlaczego.

[ Dodano: 2015-01-05, 10:56 ]
#REFRESH

Postaw piwo autorowi tego posta
 

 
Tagi: dziwna :: sytuacja :: skrypcie
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku