csiguusz Posted September 24, 2013 Share Posted September 24, 2013 ennyit azért tudtam, az alap Lua dokumentáció fontosabb részeit már többször átolvastam, csak annyi problem volt, hogy sortörés helyett mindig a "/n" stringet kaptam vissza (pl.: "foo".."/n".."bar"="foo/nbar", bár pont így még nem próbáltam) Ez minden bizonnyal azért lehet, mert a "/n", tényleg csak a "/n" stringet jelenti. Sortörésre a "\n" jó. És: "a" .. "\n" .. "sd" -- ugyanazt jelenti, mint ez: "a\nsd" Az inputtal nálad lesz a probléma, sima lua projekt-ben, ez a kód tökéletesen fut nálam: function main () local a = io.read() print(a) end main() Sormozgatás: alt + nyilak Gyorsbillentyűk igen részeltesen beállíthatók itt: Window>Preferences>General>Keys Link to comment
rain_gloom Posted September 25, 2013 Author Share Posted September 25, 2013 ennyit azért tudtam, az alap Lua dokumentáció fontosabb részeit már többször átolvastam, csak annyi problem volt, hogy sortörés helyett mindig a "/n" stringet kaptam vissza (pl.: "foo".."/n".."bar"="foo/nbar", bár pont így még nem próbáltam) Ez minden bizonnyal azért lehet, mert a "/n", tényleg csak a "/n" stringet jelenti. Sortörésre a "\n" jó. És: "a" .. "\n" .. "sd" -- ugyanazt jelenti, mint ez: "a\nsd" Az inputtal nálad lesz a probléma, sima lua projekt-ben, ez a kód tökéletesen fut nálam: function main () local a = io.read() print(a) end main() Sormozgatás: alt + nyilak Gyorsbillentyűk igen részeltesen beállíthatók itt: Window>Preferences>General>Keys thx, sokat ez segített Link to comment
rain_gloom Posted October 3, 2013 Author Share Posted October 3, 2013 Kis utánanézéstt követően úgy látom, hogy jobb lenne a Github mint a googlecode. Egyelőre megtartom mindkettőt és valahogy szinkronizálom őket, de később inkább github lenne a jó. A wikit most tényleg leírom és talán csinálok egy rövid szóbeli (aka:"kis"esszé/audio/video) leírást arról, hogy mi mégis hogy. Hozzátenném, hogy az a project lista nem véletlenül van, ha túl komplexnek találom az inventory-t (és senki sem tud benne segíteni), akkor lehet h belekezdek egy freeroam/nfsworld szerű versenybe, az talán egyszerűbb. (nem lesz az ) Link to comment
csiguusz Posted October 4, 2013 Share Posted October 4, 2013 Githubot nem ismerem, de az sem lehet bonyolult, majd rájövök mi hogy működik. Az a wiki igen jó lenne, leírni minek hogy kéne kinézni, hogy működnie és ha végre megtudom mit kéne csinálni, már fogok is tudni segíteni. Link to comment
rain_gloom Posted October 8, 2013 Author Share Posted October 8, 2013 kehhem, izé, a wiki...az még mindig nem van DE! az OOP egyre jobb lesz, tehát valszeg megírom az alapokat újra (sokadjára) és wiki helyett ott lesznek az inline kommentek. meh, itt leírok pár alapot: (Class, instance) Inventory: 2D mátrix, a mezőket csak megnyitáskor generálja le, amúgy csak x,y koordinátákat tartalmaz a tárgyak adatain kívül. Item: van ami dinamikus meg olyan ami meg nem az, na. Az egyik csak hivatkozik egy listára (Lua table, SQL db, xml) ami tartalmazza az adatokat, míg a másik egy saját listát használ. Azt nem mondom el melyik melyik Physics: yyyyyep, fizika. A tárgyak hatnak egymásra ésatöbbi. Nem olyan bonyolult, ami lehet az többek közt: hőszigetelés, penész és egyéb baktériumok terjedése (ld.: romlandó ételek láncreakciója), nagyon egyszerű folyadékszimuláció + keverékek, lyukak, sérülések. Hogy pontosan melyik mire és miért jó azt most nem fejtem ki, mert abból nagyesszé lenne. Azért nem kell szomorkodni On an other note: mi a $Łß$°˘# az hogy a __len megváltoztatása a metatable-ben nem befolyásolja a "#" operátort?! Amint lesz időm átmigrálom a kódot git-re, a G.C. oldal már arra lett állítva. Link to comment
csiguusz Posted October 8, 2013 Share Posted October 8, 2013 Naaa, végre valami! Nem kell wiki, mindegy hova írod, tőlem mehet ide is, lehet hatalmasnagy-esszé tőle, az még jobb is, csak tudjam hogy mi a cél. Ezzel már lehet is valamit kezdeni, amit ide leírtál . Az OOP újraírása meg jó ötlet. Az alapokat egyszer kell nagyon jól megírni, utána akkor öröm lesz használni bővíteni, viszont ha nem jó az alap akkor az szívás később. Azt meg nem igazán értem. A __len pont hogy azt befolyásolja mivel tér vissza a '#' operátor(amivel ugye egy táblázat(tömb) méretét tudjuk lekérni). Megadsz __len-nek egy függvényt, és amivel az visszatér, azt fogja adni a '#' is a tábla hosszának. Link to comment
rain_gloom Posted October 18, 2013 Author Share Posted October 18, 2013 ...onnan írok mert a kétoldalnyi anyag amit írtam nem lett elküldve és nics backup-om. ha valakit érdekel miért nics, nézzen rá a Site/Wiki etc related subforum-ra következőnek googledocs-ban írom vagy dropboxba teszem Link to comment
csiguusz Posted October 18, 2013 Share Posted October 18, 2013 Nah... ezt sajnálattal hallom. Hasonló esetek elkerülésére én ctrl+a, ctrl+c kombóval vágólapra szoktam mindig mentegetni a szövegeimet elküldés előtt, meg akár írás közben is. Link to comment
rain_gloom Posted October 19, 2013 Author Share Posted October 19, 2013 Nah... ezt sajnálattal hallom. Hasonló esetek elkerülésére én ctrl+a, ctrl+c kombóval vágólapra szoktam mindig mentegetni a szövegeimet elküldés előtt, meg akár írás közben is. én is, de egy ideje nem írtam és elszoktam tőle nna, most megírom, csakazéris https://docs.google.com/document/d/1rg8 ... sp=sharing nna, imhol Link to comment
rain_gloom Posted October 19, 2013 Author Share Posted October 19, 2013 közben elkezdtem kísérletezni VM-ekkel, persze nem igaziakkal (csak afféle Virtual Virtual Machine) akár game is lehet belőle, sőt a magot MTA ban is lehetne használni, csak kéne egy lfs pótlék az mkdir/rmdir miatt. oops, most jut eszembe a github https://github.com/adrenalineSYS/inventory.git közben a googlecode is át lett állítva, ha van igény rá akkor asszem láttam valahol egy szinkronizálót Link to comment
csiguusz Posted October 20, 2013 Share Posted October 20, 2013 Érdekes iromány! Leírom, ami eszembe jutott olvasás közben. Mit akarnánk xml-ben/adatbázisban/json-ban tárolni pontosan? MySQL, SQLite biztosan kezel hosszabb szövegeket, access-ben is emlékeim szerint a MEMO típussal lehet. A json meg csak egy szöveges megjelenítési forma tömbökhöz, objektumokhoz, valahol azt is tárolni kéne (sima szövegfájlban?). Inventory bezárás szerintem nem kéne rögtön fájlba menteni és megnyitás előtt fájlból olvasni, gyakroi fájlműveletek inkább elkerülendők, addig lehetne a memóriában tárolni, ott gyorsabb az írás-olvasás, aztán időnként és a resource megállításakor menteni fájlba, adatbázisba vagy ahova kell. Függvényeket tényleg nem tudnánk a jsonba egyszerűen eltárolni, de miért akarnánk egyáltalán? Oda elég vmi hivatkozás rá,a neve pl., a függvények meg külön vmi lua fájlba lehetnek definiálva. őőő, egyenlőre talán ennyi. Link to comment
rain_gloom Posted October 21, 2013 Author Share Posted October 21, 2013 --ok ez hosszú lett, de nagyon yep, a memória cucc értelmesnek hangzik a különféle adatbázisokkal annyira nem vok tisztában, de gyanús is volt az a 255 char... nna, akkor egyelőre fel kéne építeni egy prototípust az inventory-k szerkezetéhet és majd aztán aggódni a mentések miatt és a függyvények: yep, lehet h hagyni kéne az egész dynamic/static/full dynamic-ot és csak static és dynamic item lesz ami kimaradt: Shape keresés, ahogy én látom nah, ugyebár a shape az itt az érdekes kérdés, mégpedig az, hogy hogyan jelöljük melyik pont hova tartozik és itt jönnek képbe a finomságok... az eddigi koncepcióm az volt, hogy van egy origin ami hivatkozik az item-re, és vagy az origin hivatkozik a shape-re, vagy minden shape pont az origin-re pölö: --az alap item definíciókban megnézzük milyen formát keresünk, és tadá defaultItems = {asditem = {shape = { {0,1,0},--0=true, csak így gyorsabb volt írni {1,1,1}, {1,1,1}}}} amit még figyelembe kellene venni, az a forgatás, bár ez nem lesz nehéz sztem. ami bonyolultabb, az a collision-check. vagyis milyen szintű szabadság adódik a formák készítésekor, illetve használjunk-e különféle forma "szabványokat" hmm, ez így nem túl értelmes ilyen szabvány lehetne pl a concave/convex/holed/multi-holed/rectangle, tehát a script előre tudni fogja milyen checket kell végrehajtani (a neveket sztem kitaláljátok magatoktól, a hole azt jelenti hogy a mátrixban belül is vannak lyukak) az item készítéshez pedig kéne valami app, de az szintén ráér, mindenesetre nem lenne bonyolult, akár ingame akár standalone. random Lua kérdés: luainterface-ben hogy lehet fontokat állítani? poénból elkezdtem valami Computercraft klónt és mivel a SciTE konzol nem a legjobb egy gammához, jól jön a .NET ja, volt az a dolog a teszt funkciókról. namármost van a Lua defult lib-ben egy lemock nevű kis dolog ami pont ilyenre jó, tehát felveszi a funkció viselkedését és visszajátssza azt nna ide kell pár spoiler Link to comment
csiguusz Posted October 22, 2013 Share Posted October 22, 2013 Ha nagyobb mennyiségű adatot szertnénk értelmesen, szerver oldalon tárolni, akkor szerintem az adatbázis a legjobb megoldás, azt pont erre találták ki. És azért én is tudok ám sokat írni! Shape Ez lenne ugye a tárgy formája. Az inventory tehát ilyen négyzetrács alapú lesz, ha az eddigieket jól értettem. Viszont ezt az origines dolgot nem igazán értem. De akkor az én öteltem a tárgyak formájának tárolására: mivel csak koordinátákat tárolunk, bármilyen alakot lehet készíteni, a pontok egyenként történő megadásával. Persze lehetnek beépített tipusok, ahol csak pár adatot (pl.: magasság, szélesség) kell megadni, a pontokat a szkript majd kiszámolja ezekből. De ezek akkor is csak pontok, x és y koordinátával. Lehet abszolút módon megadni őket, vagy lesz egy "fő" pont ( origin? ), amihez képest relatívan a többit kell megadni. Példa: forma1 = { -- hehe, forma1... : p shape = { -- egy négyzet {3, 2}, {3, 3}, {4, 2}, {4, 3} } } forma2 = { oirigin={3, 2}, -- a viszonyítási pont shape = { -- ugyanaz a négyzet --{0, 0}, az origin legyen alapból benne, ne kelljen kézzel hozzáadni {0, 1}, -- = oirigin[1] + 0, oirigin[2] + 1 {1, 0}, {1, 1} } } Forgatás, collosion check Ezekhez az én előző példáimból mindkét fajtára szükség lenne, de legalább a 2. fajtára, mert azzal a origin körüli forgatás nagyon egyszerű (tekinthetünk a pontokra mint oirigin központú vektorokra, amiket 90 fokkal kell elforgatni). Az elsőt most hirtelen nem is tudom, hogy lehetne forgatni. A collosion check viszont egyszerűbb lenne az első verzióval, csak ellenőrizni kéne, hogy a két formának van-e közös koordinátája. Ha van, akkor természtesen ütköznek. Ezt meg lehet csinálni a másikkal is, csak ott ugye abszolút koordinátákat kell számolni a relatívokból. MTA-n kívül nem sokat foglalkoztam luáva, ilyen külső modulokra sosem volt szükségem, így ebben sajnos nem tudok segíteni. Rákerestem, ez a lemock is egy külső dolog, nincs benne a lua standard könyvtárában, de attól még valamire biztosan lehet használni... Ui.: regisztráltam githubra csiguusz néven. Link to comment
rain_gloom Posted October 22, 2013 Author Share Posted October 22, 2013 benne van az, csak nem default modul az alap lua4windozval gyütt, de eddig nem használtam az origin itt nem a geometriai cuccok miatt fontos, hanem az lenne a shape-nem az egyetlen vonatkozó field-je....DE jobban belegondolva, az origin nem jó megoldás, abból az okból, h ha a shape-pel nagyobb adatokat mozgatunk aaz tök hülyeség, tehát a invmatrix (most így ívják, na) tartalmazza vegyítve a shape-eket (vagy vonatkozást a stack-ekre/stack-eket) és egy másik subtable-ben vannak az item-ek a shape típusok meg a collision check miatt fontosak, tehát pl ha tudjuk hogy egy forma nem tartalmaz lyukakat, nem kell az egészet átvizsgálni, ha tudjuk hogy egy téglalap, akkor azt is tudjuk, hogy milyen vonalon haladjunk. elméletben növekedhet ettől a méretük, de így sokkal gyorsabb keresésekre lehet számítani, ami egy játéknál igencsak fontos. közben töltöm is az első online git commit-eket és tanúsítom h a higany a nyomába sem ér (a bináris cuccokat meg egyelőre hanyagolom) letisztult és sokat segít hogy a github csinált saját klienst misc: kivonat az egyik fájlból: Ha kommentel valaki a kódba dokumentációs céllal, akkor előny ha luadoc-ot követve teszi, mert így könnyebb lesz a kiadott cuccot olvasni (és nem kell pluszban írnunk) valamelyik nap (értsd: vagy korán vagy este) mégiscsak kéne egy Skype/etc. találkozó hogy megvitassuk a terveket (és akár be is mutatkozzunk, ha nagyon muszáj ) mert így, hogy 24 óra mire megtudom hogy amit írok nem-e tök hülyeség az kicsit irritáló. --edit: ajánlom hogy aki eddig SciTE szűz volt azoknak most ajánom hogy inkább ott teszteljen mert amíg nincs GUI/Save-Load addig úgyse kell az MTA API-ja, persze ha valaki bírja a Resedit-et, hajrá, az én gépem azt súgja a fülembe hogy nem Link to comment
csiguusz Posted October 23, 2013 Share Posted October 23, 2013 Egy megbeszélés tényleg nem ártana. Skype, irc, temaspeak, nem tudom mire lenne igény, nekem minden jó. Késő este biztosan nem, de estefelé illetve délután ráérnék. Link to comment
rain_gloom Posted October 26, 2013 Author Share Posted October 26, 2013 (edited) akkor megbeszélés kedd délután 6-kor. skype-ot küldöm pm-ben hangouts lesz skype helyett SZERDA! bocs, sürgős családi cucc Edited October 27, 2013 by Guest Link to comment
csiguusz Posted October 26, 2013 Share Posted October 26, 2013 A jövő héten akár délelőtt is ráérnék, ha az jobb valakinek, de nekem jelenleg megfelel az időpont. Link to comment
rain_gloom Posted October 28, 2013 Author Share Posted October 28, 2013 Nna, hangouts, most végleges és kőbe vésett! Teháááááát....holnap délelőtt 9-re legyen minden résztvevő bejelentkezve Google+-ba/Hangouts-ba/egyéb olyan google-ös cuccba ahol kap hangouts értesítést! Sajna csak írni tudok egy darabig, no mic Link to comment
csiguusz Posted October 28, 2013 Share Posted October 28, 2013 SZERDA! holnap délelőtt Na most akkor mikor? Link to comment
rain_gloom Posted October 29, 2013 Author Share Posted October 29, 2013 az utóbbi, természetesen ezért utálom az ilyen online megbeszéléseket, alig lehet megszervezni ... na mindegy, kitalálok másik időt, de addig a kódot nyugdtan lehet írni, lehet jvaslatokat tenni, etc igazából a lényegi részhez nem kell semmi megbeszélés Link to comment
csiguusz Posted October 29, 2013 Share Posted October 29, 2013 Én fönt voltam gmail-en kilenckor, de mivel más nem volt, ki is léptem kicsivel később. Akkor a kódhoz: open.lua function getInventoriesOfElement (element)--returns all connected inventories local invlist = getElementData(element,"inventories") invlist = fromJSON(invlist) return invlist end Element datában minek json-ként tárolni? Így egy hosszú stringet tárolunk, egy hivatkozás helyett a táblára. function removeInvFromList (name) invlist[name]=nil return true end Az invlist hol van, vagy lesz valahol definiálva? Ugyanez a kérdésaz kicsit alatta lévő tmps-ről is: function id () local ret = "tmpinv" local iter = 0 for i=1,#tmps do iter = iter + 1 if not invlist[i] then ret=ret..i return ret end end return ret..iter+1 end Itt még optimalizálni is lehet, sok helyett inkább csak egyszer csináljunk stringet, így kevesebb memóriát használ: local ret={"tmpinv"} for i=1,#tmps do ret[#ret+1] = i end ret = table.concat(ret,"") Ezt a kódban több másik helyen is lehet használni. Valamint ennek a függvénynek amúgy a céljára sem sikerült rájönnöm utility / adstring.lua Erre ott a string.rep függvény. Egyéb Mindenhol azt látom, hogy a metatömb be lett állítva saját metatömbjének. Arre lennék kíváncsi, ennek mégis mi a gyakorlati haszna? A classes / shapes / FilledRectangle.lua fájlba például inkább gondot okoz: ha valamit nem talál a FilledRectangle-ben, akkor megpróbálja megkeresni a FilledRectangle-ben, de mivel itt nem találja, megpróbálja megkeresni a FilledRectangle-ben ... Az os könyvtár mta-ban nem használható. Ezzel különösebb gond nincs, csak nekem idegen, függvényt így sosem szoktam megadni, hogy: nev = function () --asd end --én inkább: function nev () --asd end --vagy: function tabla.nev () --... end De ez végül is teljesen mindegy, A kódot átolvasva, ezek tűntek fel nekem főleg. Megbeszélés valóban nem fontos az íráshoz, csak az, hogy tudja az ember mit kell írni. Ezt nem tudom. Esetleg vmi fejlesztési terv, vagy csak annyi, hogy kéne egy ilyen meg egy ilyen dolog, ami azt fogja csinálni és akkor az meg is lesz. Link to comment
rain_gloom Posted October 30, 2013 Author Share Posted October 30, 2013 90% ban SciTE-ban megy eddig minden, az open.lua tök használhatatlan eddig, azt csak azért írtam h lássam köbö mit akarok. A string.rep: "Returns a string that is the concatenation of n copies of the string s. " A repmix pedig közéékel egy plusz karaktert. na jó, jobb lenne egy ilyen kérdezz felelek stílusban elmagyaráznom, mert így nem tudom h mennyire lesz érthető, de most nekiállok az ultimate esszének amiben megpróbálok minél több tervet elmagyarázni, aztán jöhet a feedback ... Link to comment
csiguusz Posted October 30, 2013 Share Posted October 30, 2013 A string.rep: "Returns a string that is the concatenation of n copies of the string s. "A repmix pedig közéékel egy plusz karaktert. Ez aranyos volt. Tehát pont ugyanazt csinálja, mint a string.rep, csak itt a ismételendő stringet két paraméterként kapott stringből állítja össze: string.rep ( s1..s2, iter ). Az ultimate esszé jól hangzik, várom. Link to comment
csiguusz Posted October 31, 2013 Share Posted October 31, 2013 A megbeszéléshez: most nézem, hogy a hangouts-hoz kel google+, abba én viszont nem vagyok hajlandó belépni, sajnálom. Azt kérném, hogy legközelebb ne ott akarjuk tartani. Link to comment
rain_gloom Posted November 3, 2013 Author Share Posted November 3, 2013 A string.rep: "Returns a string that is the concatenation of n copies of the string s. "A repmix pedig közéékel egy plusz karaktert. Ez aranyos volt. Tehát pont ugyanazt csinálja, mint a string.rep, csak itt a ismételendő stringet két paraméterként kapott stringből állítja össze: string.rep ( s1..s2, iter ). Az ultimate esszé jól hangzik, várom. nyet, KÖZÉ ékeli de utólag belegondolva, lehet h az se lett volna rossz h.: string.rep(str..sep,x):sub(1,#str*x*#sep) bár szerintem az utóbbi talán lassabb, már nem tom pontosan miért úgy csináltam, de mindenesetre működik közben megkértek, hogy segítsek egy RP szeróban, oda is többek közt az Inventory kéne, tehát a prioritás továbbra sem változik Inventory megint újrakezdve, mert ami eddig volt kevéske kód, az nem elég jó a collision/overlap check-ekhez az Action osztály párhuzamosan készül, mivel az item-ek nagy része valamilyen ilyet használna és ez egyszerűsíthetné az item-ek script-elését. Kérdés, hogy kell-e ilyen egyáltalán? hangouts: ok, felőlem lehet skype is, ha a G+ nem jön be. TS viszont már nem igazán, mert a képernyőmegosztás kellhet. (és ha nem tévedek abban olyan nincs) adrenalinesys néven vagyok fenn Skype-on (ne lepődjetek meg majd a profil néven ) 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