Metin2 + HTML5? 2017. december 30., szombat - 17:40


Utolsó bejegyzésem az évben, és pont/megint Metin2 a téma. De ez van.

Már napok óta gondolkodok ezen - úgy csinálnék egy Metin2 klónt – még ha csak olyat is, hogy .. na, értitek.. Egy leegyszerűsített valamit szeretnék, amiben csak annyit akarok, hogy a modell(ek) az eredetik legyenek. Meg azok textúrája.

A terv az, hogy valahogy exportálok a Metin-ből néhány modellt, ThreeJS lesz a grafikus motor, Node.js + SocketIO lesz a hálózat alapja. Én meg hozzáadom a "programozást" (azt hiszem, hogy ezt inkább valami eseményvezérlésnek kéne nevezni, mert nem sok programozási tudás kell, ha már a grafikus rész megvan).

Instán közzé is tettem egy képet már, de nem túl szép (mobilfotó laptopképernyőről), ezért ide másikat rakok fel, azóta lett pluszba haja a karakternek:


Ez most egy térben körbeforgatható cukiság.

A probléma most az, hogy bár a 3dsmax7-tel  sok dolgot lehet kezdeni a Metin2-es, pack mappából kicsomagolt gr2 model- és skeleton infókat tartalmazó fájlokkal, de nem igazán sikerül magát a csontvázat exportálni. A hozzájuk tartozó textúra .DDS formátumban van, de azt a legelső online converter találat tökéletesen átdobja PNG-be.

A .GR2 fájlok viszont nem ilyen egyszerűek. Az egyetlen opció, hogy a "gr2meshconv1_3" stuffal át lehet őket dobni .SMD és .MS formátumba. Az előbbi a Half-Life 1 modellformátuma, az utóbbi pedig lefuttatható szkript a Max-hoz.

A helyzet az, hogy két modellezőt használok egyszerre, a 3DS Max 7-et és a Milkshape-et. Viszont egyik sem tudja importálni a .SMD fájlokat, hiába generálja/konvertálja őket a "meshconv". Hibásak, vagy ilyesmi. Nem megfelelő formátum. Pedig abban a csontváz- és animáció IS benne lenne... Micsoda véletlen.
Sajnos a .MS fájlokban csak a vertexek vannak, így mint látható a képen is - el tudtam menteni a modellt OBJ formátumba, de nincs hozzá csontváz, animáció..

Így állok most.. Keresgélem a megoldást. Legrosszabb esetben meganimálom én, bár abban nem lesz köszönet.. xD

Edit: (20:22)
Hát, nem lett megoldás. Ugyan a 3ds max betölt valami csontváz-szerűséget, ha a .GR2 fájlt egyből importálom, de ha azt tovább exportálom, onnantól nem bone-okként lesz mentve, hanem vertexekként, az meg nem poén. És nem nagyon találtam módot arra a problémára, hogy: triangle to bones. Hiába is írja a max, hogy azok bizony csontok.. (Csak szerinte.)

Ezért nekiálltam magam a csontváznak, az fél óra sem volt, gyönyörűen megcsináltam, viszont a megfelelő vertexeket hozzáilleszteni már művészet, annyira lassan is halad. Az autoweld nem igazán jöhet szóba, az ... sok egyéb (test)részt is a bone-hoz ragaszt, és idiótán néz ki a forgás, ezt bizony "manuálisan" kell csinálni.. Egy kar már kész, plusz a hát/has.. Hátra van a másik kar meg a két láb. A láb talán gyorsabb lesz, a karon sok kis bizbasz van (a nindzsa feketeszélen), aminek az alkarral kell forogniuk, így .. óvatosan haladok..


Edit: (12. 31.)
Sikerült elaludnom. Reggel 7-ig fent voltam, az ÖSSZES létező lehetőséget kipróbáltam, vagy letöltöttem. Egyszerűen hihetetlen, de NINCS működő, vagy én nem találtam. Mármint a .GR2 fájlok animációjának exportálására. Ugyanis ha a fájlban csak animáció van, de nincs se csontváz, se mesh, akkor kb. minden program beadja a derekát, nem próbálja meg visszakonvertálni, vagy hibával meghal.

Ezt olyan szinten mondom, hogy egy még félkész GitHub-os projektet töltöttem le, amit videókkal támasztott alá a srác (hogy nála már néha-néha működik), és ez nekem a karaktermodellt FBX-be átkonvertálta simán, de az animációs fájloknál kiakad. Egyébként a Neverwinter-hez készíti hivatalosan, nem Metinhez.
Ha az ő alkalmazását használom, ez a vége:


Aztán a Divinity-hez is készült valami cucc exportáló, ez nézett ki eddig a legpofásabban, de soha nem importálta még a .GR2-imet, mert hibás a header rész, tuti nem is gr2-t akarok használni (valójában). Semelyiket nem engedi, függetlenül, hogy van-e benne anim, vagy sem.

Ezen kívül még amihez nagyobb reményeket fűztem, az a Nexus Buddy 2 volt, ez pedig a Sid Meier féle Civilization V-höz készül(t), asszem', és itt, de főleg itt a fórum téma, ahol leírják részletesen, mi van. Nekem ez azért nem sikerült, mert maga a Nexus folyamatosan appcrashelt, olyan hibakóddal, amire mindenki azt írja neten, hogy "telepítsd újra a .NET keretrendszer 4.0-dat". Ez hülyeség. Főleg, hogy ezt a PC-men is kipróbáltam, ugyanaz a hiba, ezen a laptopon 4.5.2 van (asszem'), azon kerek 4, egyiken sem jó, illetve ugyanaz a hiba. Ha rosszul adod meg az indításnál általa bekért elérési utat, akkor crashel, DE a Regedit-ből a Firaxis-ra rákeresve megtalálhatod a kulcsát, valami ToolIzé sor, ha törlöd azt a sort (vagy az egész mappáját), újra kéri a Path-ot, tehát no crash.. Lehet próbálkozni a leírás alapján. (Talán este [máris mindjárt este van, miért keltem 15:00-kor?] letöltöm az egész Civilization V-t, úgy nem lehet hiba, hogy az Assetek mappát nem találja.)

És ezen kívül is próbálgattam mindenféle hülyeséget, csak egyet nem - a direkt skeleton exportálás nevű "gr2skanim_1_2_Max2008"-t. Mivel a nekem letöltött 3D Studio Max az csak 7-es verzió. De a másik gépre talán szintén este letöltöm a 2008-ast (utálom ezt a sok szemetet), és úgy esetleg működni fog.. Ide nem is írok többet ezzel kapcsolatban, csak ha sikerül. Már így is regény.


Node.js, Socket.IO - 2# alapok 2017. december 28., csütörtök - 16:34


Ahogy írtam, egy videó formájában szeretném ezt a fél órát kitölteni. Pár apróságot még írok majd a videó alatt, itt a bejegyzésben, hogy mik a használathoz elengedhetetlen parancsok/kódsorok.



A projekt


Az új projektedhez hozz létre egy mappát az előző fejezetben kitárgyalt "package.json" mellé.
Ebbe a mappába kell minden hozzá tartozó fájlt raknod - persze almappákat használhatsz benne.
Első sorban hozz létre egy "index.js" nevű fájlt. Ez lesz a szerver kódja, amit a Node futtat.
Tipp: Hogy ne kelljen mindig parancssorból elindítanod, csinálj egy "akármi.bat" (én server.bat-nak szoktam elnevezni) fájlt, amibe ennyit másolj bele:
node index.js
pause
Nyissuk meg az "index.js" fájlt, amibe pár alap sort kell gépelni. A videóban röviden elmondtam, hogy mi miért kell, de akit érdekel utánaolvashat (illetve valamennyire egyértelmű is):
const express = require("express");
const app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.use(express.static(__dirname));

/* új változókat, funkciókat itt hozz létre */

io.on('connection', function(socket) {
  /* ide jön a bejövő adatok vizsgálata */
});

http.listen(1337, function() {
  console.log('A szerver fut az 1337-es porton.');
});
A bejövő adatok vizsgálata részbe pedig funkciókat tudsz pakolászni, amik egy jelzésre figyelnek.
socket.on('test', function(data) {
  socket.emit('onlyForSender', data);
  io.emit('allConnected', data);
});
Ha a kliens küld a szerver felé egy 'test' "üzenetet", akkor a szerver csak neki visszaküld egy 'onlyForSender' nevű üzenetet, mindenkinek pedig (beleértve a küldőt is) egy 'allConnected' üzenetet. Így tudsz funkciókat létrehozni, valamint választ küldeni a szerver részéről a csatlakozó feleknek.

A kliens oldalon a "kötelező" dolog jóval rövidebb - be kell szúrni egy szkriptet a <body> után, lehetőleg minél közelebb:
<script src="/socket.io/socket.io.js"></script>
Ezen kívül a szkript elejére valahova, (ahol kezded) kelleni fog egy rövidke
window.socket = io();
sor, innentől pedig eléred a 'socket' paranccsal annak funkcióit. Példa az adat küldésére és fogadására:
socket.emit('test', 1);
// a küldött adat lehet szám, tömb, objektum, stb

socket.on('receive', function(data) {
  /* és itt tevékenykedhetsz,
     mi történjen a kapott data-val */
});
Röviden ennyi lenne, innentől a fantáziádra van bízva, mit hozol ki belőle.

Ide kattintva egy Google Drive mappa jön be, ahonnan letölthetitek a sablont a kezdéshez (azzal a pár sorral), meg a videó végén lévő kész kódot is, kipróbálhatjátok.

Sok sikert, jó próbálkozást, alkotást!

// Előző "fejezet"

Node.js, Socket.IO - 1# telepítés 2017. december 28., csütörtök - 2:33


Már ugyan volt valami alap Node.js leírás, de az elég egyszerűsített volt, ez meg végül lehet - majd - egy sorozat lesz, talán videóval (is).

Röviden - mi(k) ez(ek), mire jó?


A Node.js lényegében lehetőséget nyit szerver létrehozására, amit JavaScript nyelven írhatunk meg. Ez a szerver alapvetően olyan, hogy programokkal tudsz az új szervered nyitott portjára csatlakozni TCP/IP használatával, pl. a parancssorban - illetve én a teszteléskor telnettel csatlakoztam az így készült szerverre.
Azonban a Node.js kiegészíthető az 'express' nevű keretrendszerrel, ami webes elérhetőséget biztosít. Így már nincs szükség a parancssorra, készíthetünk webes játékot is. De valami még hiányzik.
A játékokhoz (is) általánosan használt socketek, hogy tudjunk menő szerver-kliens kapcsolatot kiépíteni, rendes csomagküldéssel-fogadással. Ehhez kell a Socket.IO. /* Más szavakkal, (akár) csinálhatsz HTML5 alapon MMORPG-t. */

Telepítésük

  1. a Node.js hivatalos oldaláról töltsd le az utolsó stabil kiadást (LTS), és telepítsd fel (csak next-next, semmi extra)
  2. ha feltelepült a NodeJS, akkor hozz létre a jövőbeni projektjeidnek egy mappát (lehetőleg az elérési útjában ne legyen ékezetes karakter, szóköz - az én ilyen mappám: "C:\Users\EProg\Documents\Projektek\socketio")
  3. hozz létre ebbe a mappába egy "package.json" nevű fájlt, majd nyisd meg, másold bele a következő sablonszöveget:
    {
      "name": "socket-examples",
      "version": "0.0.1",
      "description": "my socket.io apps",
      "dependencies": {}
    }
    (ebbe a fájlba fognak feljegyződni (automatikusan) - a dependencies részhez - a letöltött keretrendszerek)
  4. nyissunk egy parancssort (rendszergazdai jogosultságokkal lehetőleg), és abban lépjünk be ebbe a mappánkba (akár úgy is bele tudsz menni, hogy kimásolod a mappa címsorát, és a parancssorba beírod a cd utasítás után, így: "cd C:\Users\EProg\Documents\Projektek\socketio") – majd írjuk be ezt a rövid parancsot, ha a mappánkban vagyunk:
    npm install --save express@4.15.2
    ha sikerült, valahogy így nézhetett ki a parancs után a konzolod:

  5. még mindig ugyanabban a mappában maradva, ezt a parancsot is kövessük el:
    npm install --save socket.io
    ha sikerült, valahogy így nézhetett ki a parancs után a konzolod:
  6. amennyiben ez kész – akkor kész vagy a telepítéssel, a "package.json" fájlodban látható is a két framework a dependenciesnél (ha sikerült)
A telepítés ennyiből állt volna. Innentől ebbe a mappádba hozz létre újabb mappákat, minden egyes nodejs-socketio projekted számára. A példafájl kódja, ami mindjárt következik - úgy működik, hogy az adott mappában lévő összes fájlt (és további mappát, meg tartalmát) átküldi a böngészőnek (a kliens oldalnak), ha a szerver fut és elérhető – ezért is kell külön mappa minden projektnek.

// A következő "fejezet" egy videó formájában fog készülni - nagyrészt. Benne lesz, hogyan kezdj neki, mik az alapvető lehetőségek, a kész forrás működőképesen letölthető lesz.

Számhordozás 2017. december 22., péntek - 11:50


Már vagy másfél hónapja próbálom nyélbe ütni ezt a számhordozás kezdeményezését. Eddig nem jött össze, mert mindig sok volt a dolog, és nem jutottam odáig, ha épp Füzesgyarmaton voltam.

Ugyanis a közelben Békéscsabán meg Füzesgyarmaton van Telekom üzlet, és ez csak személyesen intézhető el. Nekem meg - mivel - úgyis útba esik Gyarmat, így oda mennék inkább.

Az egyetlen probléma, hogy csak csütörtökönként van nyitva, 9:00-től délután 5-ig (asszem').

Ezért mindig nagy a tömeg.
Amikor először eljutottam odáig, hogy menjek, akkor alig voltak előttem. Páran ki is álltak a sorból, ugyanis egy férfi... parádézott, hogy az ő lányának adná a régi telefonját, ezért neki kéne egy új, Samsung Galaxy S7 vagy S8 / S8 Plus, de hát muszáj volt kikérdeznie szegény Andreát (a T-kom alkalmazott), hogy mi a különbség e között meg aközött.

Nekem csak kb. 40 percem volt, hogy még utána vissza is tudjak menni - ne órák múlva - Szeghalomra. Ez a fickó 30 percet beszélgetett, és a döntésre még csak ezután jutott. Persze még sajna maga az intézkedés is eltartott jó pár percig gondolom (mert hát otthonról nem lehet telefont rendelni, ilyesmiről még nem is hallottam.) Nekem meg el kellett jönnöm..

Most legutóbb jobb volt a helyzet. Kint álltunk az üzlet előtt, bent az előbbi fickó, meg a családja (gondolom). Két hete pocsékolta el az időmet, és most ugyanúgy ő volt bent. Már az előttem lévő anya és fia páros kezdett idegeskedni, de mondtam nekik, hogy nincs gáz, múltkor is 30-40 perc ment el rá.. xD
Mikor kijöttek, má' hálálkodtak az Istennek is.

Így végül én is sorra kerültem. Ideje volt. Így 27-étől remélhetőleg (ha nem lesz gond valamivel) - megtartva a régi 20-as számomat - én is a Telekom szolgáltatóhoz tartozom.


Edit: (2017. 12. 28.)
27-ére volt kb. 13:00-tól 23:00-ig beígérve, hogy a két szolgáltató (Telenor -> Telekom) megbeszélik a szituációt, meg megcsinálják a cserét, ha nincs tartozásom és egyéb szabályokba nem ütközöm.
Így épp 27-én 22:30 körül eszembe jutott, hogy megnézzem a helyzetet. Ja, a *111# nem volt hívható (Telenoros egyenleginfó meg ilyesmi). Szóval gondoltam siker. És igen.
Gyorsan regisztráltam is magam minden létező adattal a Telekom rendszerébe, a telefonszámommal "belépve" a "fiókomba" - ami mondjuk eközben jött létre.
Szóval, végeztem.


Tökfaragó verseny nyeremény 2017. december 19., kedd - 22:15


Ez így poén, ugyanis a tököt nem én faragtam, mert húgom. De én fotóztam le, és küldtem be.

Íígy többet felesleges is mondanom, én nyertem meg a rakamazi turul medált, és egy bónusz medált is (bizonyos okokból kifolyólag), amin egy farkas van. :3

Köszönöm szépen A Fantasy Földje szerkesztőinek, akiknek az oldalát egyébként itt lelitek meg.
(És külön köszi Sitának!)

Itt érhető el a győzelemről szóló bejegyzés, itt pedig amúgy a verseny.
Képek:





Hexaszilikonmetaláz 2017. december 13., szerda - 18:48


Ezt juttatta egy fóbia az eszembe, amit Instán láttam meg. Mert hasonló a kezdődése.

Mint köztudott (khm), ez az az anyag, amiből Mézga Aladár véglegesen elkészült űrhajója (a Guliverkli) áll. Egyébként imádtam Romhányinak ezt a művét - mármint az egész Mézga család sorozatot, de Aladár a kedvencem. Amolyan példakép értékű. Szeretem az ilyesfajta zseniket. És egyébként kicsit a (legidősebb) bátyámra emlékeztet.

Most így hirtelen elgondolkodtam rajta, hogy erről miket írnak, meg hol? Gondoltam a Google majd válaszol. Szóval rákerestem, de csak két találat volt, azok is valami régi fórumról.

Ez motivált, hogy ezt a majdnem értelmetlen, tartalomtalan bejegyzést megírjam.
Egész pontosan két dolog: ha a Google felfigyel rá, hogy ez a bejegyzés címe, így aki véletlen erre keresne (és hozzám hasonló érdeklődési körű), az harmadik találatként majd ezt a blogot is megtalálja. Idővel.
A másik motivációm egy érdekesség leírása, egy újabb véletlené ezzel kapcsolatban.
Az előbb említett fórum téma /ahol ránézésre történetet írnak, és mindenki folytatja 1-1 gondolattal/ elég régi, és pont ez a bizonyos hexaszilikonmetaláz 2006. július 30-án megemlítve, ami poén, mert aznap volt a 9. születésnapom. :D


Találtam már hasonló véletlen dolgot, ami átlagos ember számára nem összefüggő, de nekem igen, mert több olyan témát érint, amiket külön-külön szeretek, vagy érdekelnek. Leírtam anno, idézem magamat:

Úristen, nézelődök neten. Erre semmi esély nem volt:
Felmentem a Végzetúr nevű játék oldalára. Ez az alapja az én játékprojektemnek.
Nézem, Beholder KFT. üzemelteti, de ezeknek sok hasonló játéka van. Kik ezek? Irány a Wikipédia.
Olvasom róluk, tök komoly cég. Mondom az igen. A nevét a cég a Beholderről kapta, ami a Dungeons & Dragons főszörnye.
Jó, rámegyek (a Beholderre az angol wikin) - egyértelműsítő lap jön be.
Nézem, 4. opcióként egy Végtelen határok epizód címe. xD (egy rohadt jó sci-fi sorozat, régen néztem). Rámegyek.
Legörgetek a rész tartalmához. Első pár szó:
"The episode begins as Patrick"

Edit: (2017. 12. 19.)
Nálam a Google keresésbe már látszódik is ez az oldal, meg az oldalam részei. Muhahahaa.. De megnéztem privát fülön egy online proxyn keresztül a Google-t, sajna ott még nem. Félsiker. (Más lehet szintén nem látja, hiába magyar, de talán később.)


Edit2: (2017. 12. 28.)
Most már online proxyn keresztül is látom, pl. Németországból, német nyelvűre váltva a Google-t is. Talán akkor már mindenhol elérhető? Ergo... ~ 15 nap kb., mire bekerül a Google-be egy bejegyzés.

Ismerősök 2017. december 10., vasárnap - 18:13


Gyűlt már nagyon a Facebookon az ismerősök száma. Általános iskola óta gyűlnek a "látásból ismerem" arcok a városból. Másoknál ez több, mert én introvertáltabb vagyok. Gép előtt ülök, csoda, hogy az 528 összegyűlt idáig. Volt egyébként ez 550 is valamikor (fú, ez annyival több, muszáj volt kiemelnem :D ), de időnként törölgettem egyet-egyet.

Tegnap is vagy 10-15 már "törölt" (deaktivált) profiltól szabadultam meg, amikre a Facebook volt kedves azt hinni, hogy nekem még szükségesek.

Meg egyszer egy vita miatt megszabadultam szintén vagy 40 "ismerőstől". Nők..

Igazából elég gáz, de őszintén mennyit ismersz azokból, akik ott vannak a listádon? Melyiket mennyire?
Én már régóta beállítgattam távoli ismerősnek azokat, akiket most töröltem egyébként, így durván 272 embert töröltem le ma. Még talán 10-15 beleférne, de annyira nem lényeg. Így viszont most pontosan 256 ismerősöm van.

Hát, szép szám a 2 ^ 8.

Tényleg elgondolkodtató. Ma írtam egy listát is, a közvetlen családomat kihagyva, hogy kik azok az emberek (és egymás között kb. milyen sorrendben), akik számítanak, érdekesnek tartom őket, vagy megismerném őket jobban.. 32 fős lista (ami szintén szám szám..).

Itt meg egy videó, első nekifutásra 270 ismerősöm lett, a törölteknél ott az a kék gomb. Szép hosszú..


Szerintem ezt a videót így nem lehet lejátszani, mert Google Driveról linkeltem. De ide kattintva 100% lejátszható..

Edit: (2018. 01. 28)
Most csináltam egy viszonylag alapos számolást, bár 1 hiány van, és a Facebook amúgy is 256 ismerős helyett 242-t sorolt ki (két oszlopban 121-et)..

Rokonok, testvérek: 21
(volt) tanárok: 33
(volt) osztálytársak: 51
Mások által megismertek: 50
Mások szülei, rokonai: 25
Metin2-n megismertek: 19
RM2k/GM miatt megismertek: 14
AFF által megismertek: 5
Érdeklődés miatt megismertek: 20
Törölni kéne: 3


edit: (2018. 02. 06.)
Még jó, a végén megkövezne az a 270+ :D //sarcasm

Nyertek a varázslók és boszorkányok! 2017. november 26., vasárnap - 16:02


Az idei Péter András Napok érdekesnek ígérkezett. A tavalyi is az volt, mert a párom osztálya versengett (az A-sok) az ellenfél C osztállyal.

Nem árt tudni, hogy a PAG (Péter András Gimnázium) mindig is úgy működött, hogy a C osztály a király, mindenki mást egyen meg a fene. Nem túlzok. Ez sokszor tanári oldalról is így van, /valószínűleg/ köszönhetően annak, hogy a legtöbb tanárgyerek C osztályos volt. Ez ilyen zárójeles, nem akarok senkit megsérteni, khm.. De azért az sem semmi, hogy 5-6 éve a C osztály nyeri ezt a PAG napot, és volt, hogy érdekes körülmények között.

Idén az egyik kedvenc tanárom osztálya (12/A) mérkőzött meg a C-vel, amiben egy számomra fontos személy is van, meg egyébként sok jó arc, párat ismerek többé-kevésbé.

Én most nagyjából mindenről lemaradtam, ami ezzel kapcsolatos volt, mert rengeteg dolgom sűrűsödött össze pont ennek tájékán, viszont az eredményhirdetés napján csak beértünk időben. (Márhogy az "öregdiák" barátnőmmel. Csináltattam is menő osztálypólót magunknak, hogy a szellemet azért adja a megjelenés.)


Zombis volt a témája a C osztálynak, a Fűrész filmből meg másfelől vettek át ötleteket. Nekem nem tetszett egyébként, mert már az összes zombis téma lerágott csont. Legtöbbször meg sem nézem kétszer azt a filmet/sorozatot, ami(k)ben élőhalottak, zombik vagy valami vírus által befolyásolt betegek vannak.
Viszont az A osztály témája a méltán híres Harry Potter volt. Ahogy a ruhából is látható. Amit egyébként kb. évente végignézek filmként. Majd egyszer elolvasom könyvként, de az több idő, és sajnos idő az mostanában nincs.

És láss csodát: idén az A nyert! Ideje volt, hogy véget érjen a C-s uralom. Ez sok mindennek köszönhető, de ezek közül sok személyesebb téma, amiket nem írok le, mert mások sem biztos, hogy örülnének neki.

Helyette itt van egy-két random kép, meg egy link a HP dallamokhoz, amiket a győzelemtől  (bár nem az enyém, de átérzem) motiválva vettem fel:

 

Spár 2017. november 20., hétfő - 7:38


Szeghalmon a Spár át lett építve, aminek aztán mindenki nagyon örült, kiváltképp én. Egy hónapig nem lehetett bemenni, és most elkészült múlt hét csütörtökön. Nem volt túl jó nap a Spártól függetlenül sem, de így még kevésbé.
Átalakult Lidllé, vagy ilyesmi. Eddig egyenesen kellett belépni, majd P alakban visszatérni a kijárathoz. Most már jobbra mész be, balról jössz ki, T alakban. Ez a kevésbé zavaró.
Ahogy mentem fizetni most reggel, közölték, hogy a zsemlét nem így kell hozni. Hanem most már van egy számlázó íze hátul, ahhoz kell menni és beárazni magadnak az ilyen zsemléhez hasonló termékeket.
...
Mi a tehén?

Esetleg ne kezeljem a kasszát is, ha már úgyis ott vagyok?
Eddig az volt a második jó dolog a Spárban, hogy fast and easy. Csak gyors áthaladsz és kész. Most ezt elveszítette, főleg, hogy 90%-ban csak ilyen olcsó kaját veszek.


Amikor a jövőből múlt lesz, avagy vanillásodás 2017. november 9., csütörtök - 14:29


Fürdés közben elgondolkodtam, azt' mondom leírom, mielőtt elfelejteném. (félbehagytam tegnap, most írtam végig) Bár most épp hibát kéne javítanom, amivel így is 2 napja kések (3 napja), de közbe tud jönni sok minden. Pl. ma épp annyi, hogy hazaértem, és a kis csivavánkat félig a háza alá fekve találtam meg, és nem mozdult. És már nem is fog többé.. :/

Kicsit vidámabb témára megpróbálni áttérni - elgondolkodtam, hogy én miért is szeretem a zenét; mivel ma több, mint másfél órát hallgattam és zenélgettem én is, amivel tudtam.... Szomorú zenéket..

Szóval gondolkodtam, és aztán lényegében odáig jutottam, hogy egy leépített világban a jövőben mit kezdenék?
Én számítógépes bizbasszal akarok foglalkozni. Nem kizárt, hogy egyszer viszont a számomra viszonylag távoli jövőben meghiúsulhat, hiszen fogynak a nem megújuló energiakészletei a Földnek.
Meg hát semmi nem tart örökké. És itt egy másik téma is bekapcsolódik - a pénz.

Na de sorban. Tegyük fel, hogy nem is soká, mondjuk 10 év múlva hirtelen el kéne feledkezni a számítógépekről. Na jó, ez morbid. Mi lenne a kórházakkal, stb? Akkor magánszemélyként valamiért, (pl) energiatakarékosság végett nem lehetne magad szórakoztatni otthoni számítógépezéssel - csak mondjuk a nagyobb cégeknek, vállalatoknak és közlétesítményeknek lenne állandóan elérhető az elektromos áram.

A kérdés: Mihez kezdenél?

Hú. Ez persze főleg azokra az emberekre vonatkozik, akik szabadidejükben számítógépen játszanak, interneteznek, filmeznek, stb. De ilyesmit ma már mindenki csinál, szóval ha nem is egészen, részben mindenki bele tudja magát képzelni.

És ebből jött nekem az, hogy én mit kezdenék. Ezért szeretem a kreatív hobbikat, azokat a dolgokat, amikhez nem kell internet és számítógép. Ez azért fura, mert egész nap gépezek. De van így megoldás arra, ha adott ideig, vagy soha többé nem gépezhetnék.

Ilyen a rajz. Tökre szeretek, ráadásul a mangák is ugyanúgy készülhetnének. Igaz, azt a tényt ne firtassuk, hogy szerezném én be; tegyük fel, hogy japánból, olcsón rendelhető lenne angol feliratozással kis hazánkba is. Én tökre ellennék a OnePunch-Mannal, meg a One Piece-szel, meg a többivel.
Ezen kívül a zene. Többet foglalkoznék a zenével is, és ezzel másokat is szórakoztathatnék. (Most tervezek hegedűt venni egyébként, amint legközelebb pénzhez jutok.)

Még sok ilyet mondhatnék, de - akkora tehetségem nincs viszont ilyesmikhez, hogy meg is élnék belőle - mert felmenne az értéke a kreatív hobbikat űzőknek, ha nem lehetne mobilról meg MP3 lejátszóról zenét hallgatni, főleg nem YouTube-ról letölteni a kedvenceidet, hanem élőben kéne hallgatni, a koncerten pl. Ahogy a plakátok és egyéb dolgok ára is felmenne, ha a kézzel lehetne készíteni a dolgokat főleg. Szóval a kézműves dolgok is értékesebbek lennének, tegyük fel.

Én viszont kovácsolással foglalkoznék, vagy faragással, valamilyen típusú ajándéktárgy-készítéssel, ami kézműves szakma. Az ilyesmi érdekel, de nincs rá sok lehetőségem, se pénzem, "se időm". Hobbiként művelném a mai világban max.
De ugye apám kovács, hegesztő, nála már sok mindent láttam, szép dolgokat lehet a vassal kezdeni. És ez le is kötne engem. Persze flex és inverteres hegesztő nélkül már közel sem lenne olyan egyszerű bármit alkotni, de tennék egy próbát.

Egyedi ruháim 2017. november 7., kedd - 23:59



Annyira nem nagy szám(ok), de na. Az első a fehér alapú volt, még eléggé nagyon-nagyon régen (2012 körül) csináltattam itt helyben. ... Ennyi. Nincs semmi extra története. Ez van. ._.

A piros jött utána, ahol kis betűvel van írva a P.... Grr.. 12. osztályos kampánypólónk (szóval 2015 kb).

A "zöld" a párom kampányműsoros pólója. (2016 körül..) Hozzáteszem, hogy pár nap, és itt egy barátom hasonló kampányideje, és esélyes, hogy akkor is bővülni fogok egy EProg feliratos pólóval..
Edit: meg is volt.

Sajnos a nevem nincs rajta, de azért Kalenji, és saját.. ^^ Meg hát csak megérte megvenni, sokszor használom, és már versenyen kategóriaelső is lettem vele, még ha fárasztó is volt.. Már nem emlékszek, hogy ez mikor lett meg, de legalábbis tuti 2015 után valamikor.


Aztán van ez a programozós is.
Amikor ez elkészült, elküldtem a csoportnak, ami egyébként a szöveg alkotója, és ki is rakták. Azt hiszem ennél több tötszikelést sem fogok soha kapni valamire, ami az enyém.


A mintát belinkelem ide, hiába nem fogja soha senki látni. Mert ki tudja..

És végül.. a Vidman táska és tárca mellé most már van HNA pulóverem is. Tök kényelmes, és szép is.. És hát rajta a nevem.. :3

Edit / folytatás:
Megvolt a PAG-napok, így lett egy új EProg pólóm:


Prog.hu 2017. november 3., péntek - 19:54


Alias "a magyar Stack Overflow". Ez a bizonyos prog.hu nevű oldal a magyar programozók nemEgészenHivatalos,deLegrégebbÓtaJólMűködő fóruma, ahol aztán meg lehet beszélni az új dolgokat, a vicces eseteket, és a fő: felteheti bárki a kérdését egy adott (programozással kapcsolatos) témában, amire szakértői válaszokat kap(hat).

Anno, amikor körülbelül 9-10 éves voltam (2007 év vége környékén), itthon is be lett vezetve az internet, én meg elkezdtem tanulgatni a PHP-t, mert az jónak tűnt. Akkortájt már regisztráltam is erre a fórumra, bátyáim miatt részben. De hát kicsi voltam, meg akkoriban kezdtem a programozás alapjait tanulni, magamtól többnyire. Szóval nekem magas volt minden kérdés, így segíteni sem tudtam másoknak, sőt, nekem kellett a legtöbbször segítség.

Az oldalon ha valaki válaszol a kérdésre, annak pontot adhatunk jutalmul, ez olyan kb. 50 pont átlagban. (Hogy több lehet-e, azt nem tudom, kevesebb az biztos, hogy lehet, talán a frissen regisztráltak tudnak kevesebbet adni.)

Sajnos nem úgy születik az ember, hogy megtalálja a tökéletes nevet, így nekem semmilyen megszokott nicknevem nem volt az interneten, így csak Patt néven regisztráltam, kár, hogy nem nagyon lehet utólag átírni.. :/ Hozzáteszem, a minap véletlen eprog névre írtam át a címsorban a fióknevet valaki máséról, hogy megnézzem a saját profilom, de ugye nem az én nevem a prog.hu-n ez. Viszont nem a kezdőlapra dobott vissza az oldal, van egy eprog nevű tag. Az egyik első regisztrált lehetett, nem is nagyon lépett be azóta. Mik vannak.

Szóval ez az egész bejegyzés azért íródik most, mert megkaptam így 10 évvel a regisztrációm után az első pontszámomat. ( Hozzáteszem, MySQL adatbázisra kaptam a pontot, de egyébként a problémának köze sem volt hozzá. Karakterkódolás-hiba volt, és egy beolvasott fájl kódolása volt hibás, nem az adatbázisba való bevitele.. xD )


Ez igazi mérföldkő, bár az is tény, hogy sok évig fel sem jöttem az oldalra, be sem léptem, és nem is nézegettem a témákat. Sebaj, most már van pontom.. 50.

Khm.. hát, nem valami sok, nem úgy, mint a prog.hu koronázatlan királyának, Micunak, neki 441270 szakértői pontja van, 11901 téma megoldása után.
Már akkoriban is ő volt ez a bizonyos király, amikor én regisztráltam, és még úgy tudom manapság is, nem is nagyon fogja senki utolérni szerintem.

Ha jól emlékszek, egy külön rangot hoztak létre a számára, annyira magas pontszámot ért el.. :D

PixelHero gémájdía 2017. október 30., hétfő - 21:21


Bátyámtól hallottam régen, és már felvetettem az EP csoportomban is az öltetet, nem sok támogatást kaptam. Elvileg régen a prog.hu-n volt róla szó (nem linkelem, mert nem létezik már, de legalábbis nem találom). Eredetileg is hasonló volt a játék (az alapján, amit hallottam), de én azért átalakítanám kicsit, tehát nem ez a hivatalos, nem a régi sztori:

  • webes MMO(RPG) 
  • pixelekről szólna a játék
  • a karaktert és a tárgyakat is mi rajzolnánk meg (mármint a játékos[ok])
  • kezdésként kapnánk pár pixelt, és ellenségeket legyőzve gyűjthetnénk továbbiakat
  • a színes pixeleket csak a saját színükként lehetne eladni és felhasználni
    • esetleg több pixel keverhető lenne az additív színkeverés szabályai szerint, így olyan színekhez is lehetne jutni, amihez máshogy nem, vagy ritkán
  • a fekete pixel (vagy fehér, csak a fekete gyakoribb, de mittudomén') bármilyen színre váltható (ezért többet is ér pl.)
    • de lehet, hogy inkább egy kitalált, "szivárvány pixel" kéne, ami minden színű lehetne (tudom, hogy 1 pixel 1 szín, de ez most játék - nem jó ötlet egyébként, de azé' leírtam)
  • lehetne kereskedni mindennel (tárgyak, pixelek, képességek)
  • nem tudom, mi lenne a fizetőeszköz. (maguk a pixelek szerintem, valamilyen módon.)
  • a fegyverek és tárgyak is átrajzolhatóak lennének
  • minden színű pixel jelentene valamit (zöld = méreg, piros = tűz, kék = fagy, sárga = elektromosság, stb)
    • minél több színű így egy tárgy pl, annál erősebb. minél többször szerepel egy szín, annál nagyobb a hatása (fenetudja, 2 piros pixel = +2 tűz sebzés pl., ha fegyver)

Röviden ennyi az alap. Bonyolítható mindenféle limittel és ötlettel.. pl: minden 3. piros pixel gyengít 1 kéket, de minden 3. kék is egy pirosat, vagy ilyesmi. Ellentétek, de úgy, hogy azért ne oltsák ki egymást..


Mivel a tartalmat nagyrészt a játékosok gyártanák, és a lényegi részt kéne csak lekódolni hozzá, ráadásul az egész mehet PHP-val, hiszen nem kell annyira látványosan dinamikusnak lennie, így nem lenne sok idő összerakni - feltételezem, hogy 1 nap is elég lenne hozzá, ha nekifeszül az ember.

Valamikor mindenképp elkezdem, ha lesz egy kis szabadidőm, mert már évek óta halogatom..  (És az egy új bejegyzés lesz..)

"Mi böki a csőrömet?" 2017. október 25., szerda - 20:20


( igen, a képet letöltöttem, mert az eredeti nem https. )
Rövid bejegyzéseket nem terveztem írni, ezért ha mégis ilyesmi van, és valami gyakoribb dologról, akkor azt "kifüggesztem", lehet ez is egy ilyen lesz, a bal oldali menüben.

Annyi, hogy sokszor elgondolkodok, milyen dolgok zavarnak. Egész apróságoktól nagy hülyeségekig. Egyszer le akartam írni őket (ahogy pl. egyszer az összes általam játszott játék címét leírtam, a(z) (körülbelül) összes látott anime címét összegyűjtöttem, az összes pénz- és börtön szinonimát leírtam, stb.), aztán most hátha tényleg leírom őket..

Szóval, amikor:
  • még az átlag sétatempónál is lassabban haladnak előtted az úton
    • ennek az a variációja, amikor az egész járdát (is) elfoglalják
    • és/vagy az a variációja, mikor annyira mennek gyorsan, hogy nálad lassabbak ugyan, de annyival nem, hogy könnyen meg tudd őket előzni, az meg neked hülye érzés, hogy mellettük sétálsz több másodpercig, mire végre bevágódhatsz eléjük
  •  az ember a Facebookon ->
    • éli az életét, minden részletet megosztogatva (a semmiségeket is beleértve)
    • mindent megoszt, amit lát - konkrétan a tetszik gomb helyett használja a megosztást
    • éli a "párkapcsolatát" (amit ilyen esetben én nem is tudok komolyan venni)
      • főleg úgy értem, hogy ha nem is napi, de heti szinten kirakja a közös fotót a valakijével, mellé egy örökkéSzeretniFoglak maszlagot biggyeszt, meg huszonkétféle szívecske szmájlit
    • mindent szarrá hashtagel. (egyébként a magyar, nem elterjedt megfelelője a címke. szegény kettőskereszt, a mai fiatalság már nem is ismeri, hogy valójában most arról beszélünk.. #poorcross )
    • az adott dolgokat nem rendeltetésszerűen használja
      • nemcsak úgy értve, hogy profilképnek BMW-t rak ki, engem az is zavar, ha tömeges fotót. arra van a borítókép, mondjuk.. (a profilkép célja az lenne, mint az igazolványképé. azonnali felismerhetőség, megkülönböztethetőség, és az ismerősök megtalálásának könnyebbé tétele. amiben nem segít, ha egy zongora a képed)
      • "az élet iskolája", meg hasonlók
      • még a pontatlan kitöltését sem szeretem az adatlapnak, hiszen annak is az információk továbbítása lenne a célja. én sajnos úgy vagyok vele, hogy a Facebookot sok ember használja, így fontos hely, akárki akármit is mond. tehát mindent sok ember lát, amit csinálsz, így az adatlapodat is -> az adataid megadási módját is. ha trehány az egész (meg van adva mindenhova minden, de hülyén), az megbélyegzi az embert. számomra biztosan. úgy vagyok vele, hogy minden mással is így viselkedik, ami fontos. (ha direkt hülyén adja meg, mert ez a stílusa, az persze más nudli.) 
  • a buszra feltolakodik az amúgy egyértelműen bérletesek közé/elé egy olyan, aki jegyet vesz, és emiatt áll a sor egy csomót, pedig értelemszerűen gyorsabb lenne, ha minden bérletes felrohanna
    • ennek egy vállfaja, mikor ráadásul -27 °C van a szabadban
    • amikor az öregek is megelőznek, és alapból is lassan totyognak, hogy leüljenek, emiatt még tovább áll az egész sor, pedig fordított sorrendben a fiatalabbak 2 mp alatt leülnének, az öregek meg totyoghatnának, amennyit akarnak /ez nem tiszteletlenség, szimpla logikus elvárás/
  • a boltba belépéskor sietni próbálok, de előttem nyomorognak a zsemlék előtt, ahelyett, hogy dolguk végeztével arrébb mennének, hogy mások is elférjenek
    • a kasszához közeledve az egyenes sort legörbítik két polcsor közé (mi ebben a logika? milyen sor ilyen S betű alakú?), és a többi ott stackelődik egymásra, aztán meg 4-en beállnak elém, mikor én értem oda előbb, de nem vagyok akkora paraszt, mint ők
( majd folytatom..  )

Haditechnikai kiállítás 2017. október 22., vasárnap - 10:02


Vagy ilyesmi néven volt meghirdetve a városom műv. központjánál ez az esemény. Hogy az 1956-os forradalomhoz köze van-e, vagy csak véletlenül sikerült 3 nappal előtte, azt nem tudom, de én kimentem, körbefotózgattam, már amennyire engedte a sok kisgyerek.


És volt egy koszorúzás, amivel nem vagyok képben, tehát inkább nem is írok róla.


Ja igen, ez meg ... elég vicces pillanat.. :D Valahogy erre emlékeztet.

Végtelen térkép generálás bármely irányba 2017. október 1., vasárnap - 23:03


Ahogy visszanéztem gyorsan, ez az első tényleg programozással kapcsolatos bejegyzésem. Amikor a blogot kezdtem, úgy voltam vele, hogy itt mindenféle elmélet és megoldás lesz ezen belül. És gondoltam, hogy azért előtte lesz pár bejegyzés, de hogy 51 bejegyzést írjak előtte (több, mint 1 éven át), amiből csak pár darab hajazott a programozásra.. :D (A node.js szenvedésem is csak hasonló volt, de ott a telepítésen volt a hangsúly, nem a használatán.)

Bevezető off.
Szóval:

Ahogy a cím is mutatja - a napokban elkezdtem a szabadidőmben (amikor épp nincs semmi fontos egyéb) egy Minecrafthoz hasonló, de 2D játékot csinálni. Mindezt természetesen multiplayer formába öntve, hiszen mit ér az alkotás, ha nem láthatja senki az eredményt? Mariocraft a kódneve, mert egyébként - jobb híján - Mario a főkarakter, egyelőre.
( Meg hát egy hálózaton játszható játék külön fényévekkel jobb, a legtöbb esetben. )


(Jobbra a kicsit újabb, árnyékos verzió látható.)

És ha már ilyen Minecraft-Terraria típusú játékba kezdtem, eszembe jutott egy olyan téma, amiről szívesen hallanám mások véleményét, megoldási módjait, hátha tanulhatok és/vagy van jobb, mint amit én ismerek. A Facebookos Amatőr játékfejlesztők csoportban feltettem a kérdésem, ami egy elég jó kis közösség - és pár aktív tagja között igazán nagy koponyák vannak, akik nagyon régóta űzik az ipart.


Kaptam is jó néhány választ, néhány még új információ is volt – tehát megérte a kérdést feltenni. Tanulhattam kicsit.

Összefoglalva: a kérdés, téma lényege az, hogy a legtöbb egyszerű játékban elég az, ha a játéktér térképe egy kétdimenziós tömb (főleg a csempéből felépülő játékoknál - erről van egy nagyon jó tutorial itt. Leír mindent, hogy miért jó ez, miért hasznos.).

Ez annyit tesz, hogy csak "egyirányúan" bővíthető a tér. A számítógépen a leggyakoribb módszer a 2D játékoknál (top-down view "felülnézetes", sidescroller "platform, mászkálós"), hogy a nullpont a bal felső sarok. Onnan indul ki a térkép összerakása, és tart egészen a jobb alsóig.
Ez pont kézenfekvő, hiszen a térképet tömbben szokás tárolni, a tömbök indexelése 0-tól indul, és tart N-ig. A tömb dinamikus is lehet, tehát nem lehetetlen, hogy akár játék közben IS nőhessen a pálya mérete. De csak (az előbbit alapul véve) jobbra, és lefelé.

És mi van, ha én egy Minecrafthoz hasonló játékot akarok, de oldalnézetből? Vagy valami katonás, akármilyen játékot felülnézetből? És mondjuk hasonló, generált térképpel, hogy az az érzésem legyen, hogy bármerre mehetek?

Erre több megoldás is van.

Volt, aki azt mondta pl. (Oli volt, csekkoljátok az oldalát, rengeteg jó játékot csinált már! Java és HTML5 főként. Az én kedvencem pl. a JAVA minigolf játéka.),
hogy ez megoldható azzal, ha a tömb elejére szúrunk be új elemeket (ha a mínusz irányokba haladunk), és/vagy csúsztatjuk a tömb elemeit (inkább ezt írta, csak nekem elsőre beszúrás ugrott be, de az sem butaság, amennyiben feljegyezzük, hogy mennyivel lett csúsztatva a pálya, és ezt minden koordinátájához hozzáadjuk. Akkor ránézésre nem mozdul semmi sehova, de mégis nő a pálya mérete.) Ha csak csúsztatunk az elemeken, és ami kicsúszik, az elvész, akkor nem jó az ötlet egy dinamikus pályával rendelkező játékhoz, de egyébként igen.

Volt, aki hasonló, indexeléses módszert írt, seed alapon generálással (így simán csak ugyanazt generálja a játék az adott helyen, ha visszatérünk oda). Ez akkor nem jó, ha változtatható a pálya. Mint jelen esetben.

Kaptam egy Circular buffer nevű módszert, amit még nem olvastam el részletesen, de ez is új infó nekem, ennek egy változatát már használtam, anélkül, hogy tudtam volna róla, meg arról, hogy mi ez.

Még páran írtak, egy elég jó kis beszélgetés lett belőle.

Az én módszerem annyi, hogy adott egy (Minecraft megnevezéssel) chunk, egy darabka, egy részlet a pálya egészéből. Ez magába foglal N*N további kis játékelemet, "csempét" (tile-t). A Minecraftban ez 16x16x16 méretet jelent (mert 3D), de a mérete mindegy. Lényegében ezen chunkoknak is van egy koordinátája, ami ugyanúgy 0, 1, 2, stb., de egy ilyen koordinátán N*N elem található. Úgy is mondhatjuk, hogy az 1/N-ed része a pályának egy chunk.
Bár a pályát, a chunkok tartalmát tömbökben tárolom én is, de magukat a tömböket objektumok értékeként. A tulajdonság pedig egy string, egy szöveg, ami tartalmazza a chunk koordinátákat is.
Mivel ez egy szöveg, ez mehet negatív egész számba is, hiszen az is szöveg. Hivatkozásképp van használva, kicsit úgy, mint egy asszociatív tömb. Így nem is lassít semmit (érzékelhetően), annak ellenére, hogy string.

Ez kicsit zagyva lehet, de épp ezért gyorsan megírtam működőben is, hogy tesztelhető, látható legyen, mire gondolok. Így nem elég, hogy "negatív indexbe", mármint koordinátára is mehetünk a játékon belül, de ez generálható a végtelenségig, mert ugyanúgy dinamikus, és még a tömböket sem kell birizgálni, ha újabb tér tárul fel, így nincs plusz processzorhasználat sem.

Ide kattintva megnézhető a kis tesztem.
Az irányítás is egyszerű: a kurzorbillentyűk a vörös téglalapot mozgatják. A WASD pedig az egész nézetet, amit csak látunk.

A vörös téglalap mutatja a játékos képernyőjét; ha ez egy játék lenne, azt a területet látná be a játékos. Ahogy látható, mindig előre betöltődik annyi, amennyi szükséges, a chunkokból. A kirajzolás persze nem így történne, hiszen ez nem túl takarékos, de a bemutató célja nem is az volt.
A két kék vonal szimbolizálja a nullpontot, az X és Y tengelyt, amitől "jobbra" és "lefelé" szokás a pályát építeni alapesetben - de itt ugye átléphető minden irányba, bármekkora távolságra.



Egyébként a barátommal beszélgettem, miközben beugrott egy sokkal egyszerűbb módszer is, ami ugyanezt eredményezi.


Ez pedig annyi, hogy négy térkép tömb van, ami tárolja a pályát. Általában egy van, de ha vesszük a két tengelyt, akkor az 4 részre osztja a pályát, és pont az a gond a tömbbel, hogy nincs negatív index.
De ha van egy topright, bottomright, bottomleft és topleft tömböm, amik a négy teret szimbolizálják, akkor már más a helyzet. A bottomright-ot használjuk ugyanúgy, mint alapból szokás. Az összes többi pedig a tükörkép. Mielőtt dolgoznánk a tömbünkben, előtte egy vizsgálat eldönti, hogy melyik tömbben dolgozunk a 4 közül. Ha negatív az X, akkor értelemszerűen left lesz, különben right. Ha az Y negatív, akkor pedig top lesz, különben bottom. És már csak annyi az extra, hogy a tömbhöz használt index-számot, ami egyébként koordináta (valószínűleg), annak az abszolút értékét használjuk, bármelyik tömbben is dolgozunk. Így a mínuszból plusz lesz, és egy sokkal egyszerűbb módszert kapunk a 4 irányba való generáláshoz, szintén végtelenségig (hiszen dinamikus ugyanúgy lehet mind).

De ezt most nem valósítom meg, el lehet képzelni. :)

Ezért szép a programozás, végtelen megoldás van ugyanarra a "problémára", még ha némelyik nem is a legjobb.