Vike4562 Posted June 30, 2014 Share Posted June 30, 2014 Witam, chciałem prosić was o pomoc, a mianowicie mam coś takiego w Bazie danych Ale chce zrobić żeby każde ID Kategori broni nie było osobno tylko dać je do 1 tabeli: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ... i później rozdzielić to za pomocą skryptu. Jak to zrobić? Słyszałem że używa się do tego table.concat, ale wydaje mi się że to dodaje przecinki między wyrazy, a mi nie o to chodzi Pomocy Link to comment
Wojak Posted July 2, 2014 Share Posted July 2, 2014 jesli twoja tabela ma format: {0,0,0,0,0,...,0} to jaknajbardziej skożystaj z table.concat: tab = {0,0,0,0,0,...,0} local text = table.concat(tab,",") potem zapisujesz tekst do bazy danych, proces odwrotny wymaga funkcji split: text = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0" tab = split(text,string.byte(",")) Jeśli natomiast tabela jest w stylu {["bronID0"]=0,["bronID1"]=0,["bronID2"]=0,...,["bronAmo7"]=0} to sprawy nieco się komplikują: tab = {["bronID0"]=0,["bronID1"]=0,["bronID2"]=0,...,["bronAmo7"]=0} tab2 = {} i=0 for id,v in pairs(tab) do i=i+1 tab2[i]=id.."_"..v end text = table.concat(tab2,",") --odwrotnie tab2 = split(text,string.byte(",")) for i=1,#tab2 do local t = split(tab2[i],string.byte("_")) tab[t[1]]=t[2] end kożystając z mojego kodu nalezy brać poprawki na literówki Link to comment
Vike4562 Posted July 2, 2014 Author Share Posted July 2, 2014 Upewnię się że dobrze zrozumieliście w MYSQL mam tak zapisane Kategorie Broni: A chce mieć zapisane tak I później jak to odczytać żeby: 0 trafiło do kategorii: 0, 8 do kategorii: 1, 24 do kategorii: 2 itd. Bo jak wiemy mamy 12 Kategori broni. Link to comment
Wojak Posted July 2, 2014 Share Posted July 2, 2014 ale jak masz te dane zapisane w skrypcie? w tabeli czy każdy ID i Amo w osobnej zmiennej? Mój poprzedni post raczej pokrywa wszystko o tabelach, ale jak masz zapisane w osobnych zmiennych to: bronID0 = 0 bronID1 = 0 bronID2 = 0 --itp bronAmo5 =0 bronAmo6 =0 bronAmo7 =0 text1 = bronID0..","..bronID1..","..bronID2 -- kontynuuj dla wszystkich ID text2 = bronAmo5..","..bronAmo6..",".bronAmo7 -- kontynuuj dla wszystkich Amo -- odczytywanie: tab1 = split(text1,string.byte(",") bronID0 =tab1[1] bronID1 = tab1[2] bronID2 = tab1[3] tab2 = split(text2,string.byte(",") bronAmo5 =tab2[6] bronAmo6 =tab2[7] bronAmo7 =tab2[8] -- przy założeniu że prawidłowo zapisałeś od Amo0 do Amo7 Link to comment
Vike4562 Posted July 2, 2014 Author Share Posted July 2, 2014 Dzięki!! Było mi to bardzo potrzebne, gdyby był tu System Piw postawił być ci Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now