Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van. 1
Beszélgetés / Labgame« Dátum: 2014. március 30. - 18:38:22 »
Sziasztok!
Korábban írtam a DFS algoritmus segítségével egy labirintus generátort pawnban és nemrég elkezdtem foglalkozni az OpenGL-el azon belül is az SFML-el és gondoltam elsõ játéknak megcsinálhatnám a labirintusos algoritmust. Átírtam C++ ra egy barátom segített textúrákat létrehozni én pedig megírtam a játékprogramot Itt látható az eredmény: http://kepfeltoltes.hu/140330/Labgame_2014-03-30_18-35-35-60_www.kepfeltoltes.hu_.jpg[/img] Letöltés: http://www.solidfiles.com/d/e72186a13f/Labgame.rar 2
Segítségkérés / HTTP_ERROR_MALFORMED_RESPONSE« Dátum: 2013. március 05. - 18:34:30 »
Üdv!
a http függvény valamiért 6-os response code val tér vissza ami a HTTP_ERROR_MALFORMED_RESPONSE. Na msot fogalmam sincs hogy mibaja. Ha ugyanazt a linket ami a scriptben szerepel bemásolom egy böngészõbe, tökéletesen megtörténik aminek meg kell történni. HTTP( 0, HTTP_GET, string,\"\", \"Response\" ); Lényegében ez egy php scriptet futtat le az URL helyességében 100%-ig biztos vagyok, de akkor mégis mi lehet a baj? 3
Segítségkérés / Hogyan fûzzünk össze több lekérdezést egy query-be?« Dátum: 2013. március 02. - 18:58:25 »
Üdv.
Azt szeretném megoldani, hogy van mondjuk 4 tábla a 4 táblának különbözõ mennyiségû mezõje amik közt igazából semmiféle kapcsolat sincs (így nem jó megoldás a join) viszont az UNION meg azért nem jó mert az egyes táblák mezõinek száma gyakran változik, így nem lehet kitölteni NULL értékekkel a hiányzó részeket. Szóval megpróbáltam azt hogy SELECT * FROM `Tabla1`,`Tabla2`,`Tabla3`,`Tabla4` WHERE `Tabla1`.`Adat1` = 1 OR `Tabla2`.`Adat1` = 2 OR `Tabla3`.`Adat1` = 3 OR `Tabla4`.`Adat1` = 4 Viszont ezzel az a baj, hogy ha mondjuk a Tabla2 táblában nincs rekord akkor a visszatérésben az összes mezõ értéke NULL nem csak azok amelyek hiányoznak. Igazából csak össze szeretnék fûzni több lekérdezést egy lekérdezésbe bizonyos okokból, Ezt szeretném megoldani. 4
Leírások/Útmutatók / Hosszú dialog/string formázása (nem strcat, nem format, se semmilyen függvény)« Dátum: 2013. február 28. - 09:51:35 »
Üdv mindenkinek!
Teljesen véletlen bukkantam rá a pawnnak erre a nagyon egyszerû funkciójára.Ugye a baj az, hogy a pawnban egy sor maximum 510 karakter hosszúságú lehet.De vannak esetek amikor nekünk ettõl hosszabb karakterláncokra van szükségünk és ennek a szövegnek a nagyrésze állandó karakterekbõl áll. Eddig milyen megoldások voltak? Foghattunk egy jó hosszú stringet és vagy strcattal belepakoltuk amit akartunk, vagy format függvény segítségével de lényegében ugyanazt megcsináltuk mint strcattal. Ettõl ezerszer egyszerûbb megoldás a következõ: SendClientMessage-ben: SendClientMessage(playerid,0xFFFFFFFF,\"Ez egy nagyonhosszú szöveg.....elérkezünk a pawn határaihoz\\ format-ban: format(string,sizeof(string),\"Ez szintén egy elég hosszú szöveg %s és el is értünk a pawn határaihoz ismét\\ Tehát a dolog lényege: a sor végére illesztett \\ jellel a következõ sorban folytathatjuk a stringet. Amit nem lehet: SendClientMessage(playerid,0xFFFFFFFF,\"teszt\\ Valamiért nállam ugyanazt a hibasort írta ki ennél, mint amikor egy sorban több mint 510 karakter volt. Ennyi lenne. 5
Segítségkérés / InterpolateCameraPos állandó sebességgel« Dátum: 2012. október 29. - 19:21:24 »
Sziasztok.
Van rá bármilyen mód hogy az InterpolateCameraPos függvénnyel a kamera ne úgy mozogjon hogy elõször felgyorsít majd lelassít, hanem folyamatosan állandó sebességgel mozogjon a két pont között? Esetleg ha ezzel a függvénynel nem megoldható más alternatíva van e? Dupla hozzászólás automatikusan összefûzve. ( 2012. október 29. - 19:34:14 ) Egyébként arra számítottam hogy a CAMERA_CUT mód az iylen amilyen nekem kell de ahogy megnéztem full ugyanaz mint a CAMERA_MOVE vagy egyáltalán mi a különbség a kettö közt? 6
Leírások/Útmutatók / Láthatatlan Checkpoint (nem a szokásos IsPlayerInRangeOfPoint-al)« Dátum: 2012. október 24. - 18:24:44 »
Üdv mindenkinek!
Nyilván páran használjátok azokat a láthatatlan checkpoint készítõket, ami úgy készít \"láthatatlan checkpointokat\" hogy egy timerrel leellenõrzi, hogy a játékos adott pozícióhoz közel van e. Nos ez is egy megoldás, viszont. Létezik egy másik módszer. Nemrég nézelõdtem a sa-mp wikin a SetPlayerRaceCheckpoint függvénynél és láttam, hogy csak 5 fajta checkpoint van. Ebbõl a 3 és a 4 véleményem szerint teljesen ugyanúgy néz ki. Ezért úgy gondoltam megnézem mit csinál ha 5-öt írok be a checkpoint típushoz. Legnagyobb meglepetésemre kiadott egy légi cp-t azonban 45 fokos szögben eldöntve. a 6-os furcsán vibrál majd pár mp múlva eltûnik. a 7-es fel le ugrál. a 8-as szintén fel le ugrál, de kb 10 méterrel a fölött a koordináta fölött ahol létrehoztad. majd ha belemégy egyre lejjebb és lejjebb kerül. És ami a lényeg. 9-es checkpoint nincs, viszont attól még ha abba belemész az ugyanúgy meghívja az OnPlayerEnterRaceCheckpoint függvényt, és a többi hozzátartozót. (OnPlayerLeaveRaceCheckpoint stb...) Szóval máris kész a láthatatlan checkpoint. Példa: SetPlayerRaceCheckpoint(playerid,9,0,0,0,0,0,0,5); Ennyi lenne Ha ezt még kombináljátok incognito streamer pluginjával (tehát egyszerre több ilyen race checkpointot tesztek le a plugin segítségével) akkor máris megkapjuk ugyanazokat a láthatatlan checkpoint készítõ includekat amiket már korábban megírtak páran az IsPlayerInRangeOfPoint függvény segítségével. 7
Segítségkérés / Pontatlan a GetTickCount« Dátum: 2012. október 22. - 12:00:12 »
Sziasztok.
Szükségem lenne egy olyan módszerre amivel ezredmásodperces pontossággal lehet eltelt idõt mérni. Próbáltam a GetTickCountot, azonban ha annak eredményeit összehasonlítod egy 1000 ms re beállított timerrel jelentõs különbségeket lehet tapasztalni. Bal oldalt a timer állása, jobb oldalt a GetTickCount értéke. 1000 = 1119 2000 = 2251 3000 = 3377 4000 = 4504 5000 = 5629 6000 = 6760 7000 = 7882 8000 = 9001 9000 = 10124 10000 = 11249 A legnagyobb gond hogy az eltérés sem állandó mértékû így nem tudom azt csinálni hogy egy bizonyos számmal megszorozva megkapom a helyes értéket itt egy másik példa: 1000 = 1131 2000 = 2252 3000 = 3372 4000 = 4499 5000 = 5612 6000 = 6738 7000 = 7859 8000 = 8975 9000 = 10092 10000 = 11213 Amiért lényeges lenne ez a nagy pontosságú idõmérés, mert egy bizonyos feladatnál kétféleképpen szeretném mérni az idõt. Egyszer másodpercenként lefutna egy timer ami növelne egy változót, ez az amit a játékosok látnának egy textdraw formájában, viszont amikor az eseménysorok végéreérünk fontos lenne, hogy ezredmásodperc pontosságban tudjuk az eredményt ennek céljára csináltam a szokásos GetTickCount az elején utánna kivonjuk az akkori GetTickCount ot az elején mértbõl. Esetleg egyéb ötlete valakinek van e hogy ez megoldható legyen? 8
Segítségkérés / MYSQL lekérdezési értékek hibásak« Dátum: 2012. augusztus 27. - 12:08:56 »
Üdv nemtudom hogy létezik e ilyen, de tegnap óta, amikor semmit sem módosítottam a szerver módjában,
valamilyen oknál fogva a mysql lekérdezések nagy része értelmetlen értékeket ad vissza pl lekérdezem egy játékos összes adatát és visszatér egy teljesen oda nem illõ dologgal pl hogy 19 [12:06:37] CMySQLHandler::Query(SELECT * FROM `players` WHERE `Name` LIKE \'Devilke\' AND `pass` LIKE \'***\') - Successfully executed. [12:06:37] >> mysql_store_result( Connection handle: 1 ) [12:06:37] CMySQLHandler::StoreResult() - Result was stored. [12:06:37] >> mysql_num_rows( Connection handle: 1 ) [12:06:37] CMySQLHandler::NumRows() - Returned 1 row(s) [12:06:37] >> mysql_fetch_row_format( Connection handle: 1 ) [12:06:37] CMySQLHandler::FetchRow() - Return: 19 Ez teljességgel lehetetlen hogy ezt adja vissza, mivel a players táblában 50 adat van tárolva. és az nyilván nem egy szám. Ami még érdekes, hogy más lekérdezéseknél tökéletesen hiba mentes minden, és ez sem minden játékosnál fordul elõ csak ugy a 30% nál 9
Fórum Archívum (Témák/Fórumok) / Re:[Leírás]Hogyan kalkuláljuk ki két játékos (pont) közötti távolságot.« Dátum: 2012. augusztus 15. - 21:56:39 »Idézetet írta: Vampesz date=1293976952\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"26247\" data-ipsquote-contentclass=\"forums_Topic Köööszi!A lényege az újrarendezésnek, hogy elkerüljük a float függvények használatát. Ebben az esetben ezt úgy tehetjük meg hogy a floatsqroot függvényt nem használjuk (tehát nem vonunk gyököt) hanem azt az értéket emeljük négyzetre amivel összehasonlitjuk mivel ha A = floatsqroot(B) akkor A*A = B 10
Segítségkérés / Titkosítás jelszóval« Dátum: 2012. július 20. - 16:58:27 »
Olyan titkosító rendszer nincs ami egy megadott mesterkód alapján titkosítja le a dolgokat? tehát a megadott kód függvényében más eredményt adna ki. És az visszatudná fejteni a titkosítást akinek a birtokába van ez a kód.
11
Segítségkérés / MYSQL JOIN« Dátum: 2012. július 18. - 14:23:51 »
Üdv!
Azt szeretném megoldani, hogy van két tábla. Mindkét táblába más adatokat tárolunk de a két táblában azonos, hogy minden sornak van egy párja a másik táblában. Konkrétan mind a két táblában a sorok játékosokat jelölnek. Azért kell két külön tábla, mert az egyik táblának az oszlopai dinamikusak ezért egyszerûbb, ha külön táblában vannak. A gond csak az, hogy szeretném egy query ben lekérdezni az adatokat Belépéskor, mert úgy jóval egyszerûbb lenne az új pluginban a THREAD-ok miatt. Szóval. Adott két tábla: Players: adat1|adat2|adat3 Players2: adatA|AdatB|AdatC|AdatD|AdatE Úgy szeretném ennek a két táblának az adatait lekérni, hogy a cache_get_row nál 0. sorba a Players táblába levö adatokat adja 1. sorba pedig a Players2 adatait. Ez azért szükséges, mert a Players2 adatait ciklussal kell PV arokba tölteni, mivel nincs meghatározva, hogy konkrétan hány oszlop is van az adott sorban. Én arra gyanakszom, hogy a JOIN függvényre lesz szükségem, de ennek használatában még eléggé tapasztalatlan vagyok. Remélem érthetõen fogalmaztam 12
Leírások/Útmutatók / MYSQL több lekérdezés egy query-ben« Dátum: 2012. július 18. - 10:13:31 »
Üdv!
Kutattam kicsit a mysql rejtelmei között és találtam egy igen hasznos lehetõséget. Ha valamien oknál fogva nekünk két táblából kellene kinyernünk adatokat és nem egybõl, viszont nem akarjuk hogy két külön lekérdezés legyen, mert ugye akkor külön callback kell. Meg lehet oldani úgy is, hogy egy queryben legyen. igazából csak annyi, hogy a két külön lekérdezés query-jét egymás mögé tesszük, és közé rakjuk az UNION szót. A visszatérésnél pedig az elsõ sor az elsõ lekérdezés a második sor a második lekrédezés pl: //a lekérdezés Ennek a dolognaka hátulütõje annyi, hogy a két táblának azonos adat struktúrával kell rendelkeznie. Helyesbítek: Azonos cella számúnak kell lennie a két sornak (köszönet Anthonynak) 13
SA-MP: Szerverfejlesztés / Anti Bot Script« Dátum: 2012. július 06. - 13:24:18 »
Üdv mindenkinek.
Sajnos én is áldozatául estem az ujonnan feltünt hacknek, amivel sok sok botot küldenek fel a szerverünkre. Ennek hatására rákerestem sampforumona dologra találtam is egy scriptet amit a fiuk áthoztak hiv fórumról. http://sampforum.hu/index.php?topic=24256.0 Be raktam, de ezzel a scripttel az a gond, hogy sajnos lehet olyat is csinálni a hackkel, hogy felcsatlakozik és egybõl le is csatlakozik, így elég nehezen veszi észre az a script, ha ilyen támadás van. Ennek kiküszöbölésének érdekében megírtam ezt a scriptet. Mûködéséhez szükséges a Gvar plugin (http://sampforum.hu/index.php?topic=9769.0). és dudb include (http://forum.sa-mp.com/showthread.php?t=31) A script mûködése elég egyszerû. Csatlakozáskor lekérdezzük a játékos IP címét, átalakítjuk udbhas függvénnyel az IP címet egyetlen számadattá. (nem erre szokták használni de itt most tökéletes) Egyel növeljük azt a GV ar változót, amelynek az azonosítója a számmá alakított IP cím. megnézzük, hogy a növelt érték meghaladja e a maximum csatlakoztatható emberek számát azonos IP rõl adott idõn belül. ha meghaladja banolja. Ezután indítunk egy timert ami az adott idõre van beállítja és egyel csökkentjük az adott idõ elteltével a változót. (valamiért nálam filterscriptként nem csinált semmit a script, de ha beleírtam a gamemodeba a scriptet tökéletesen mûködött) Letöltés (pastebin): http://pastebin.com/YMj6Mxhk a script konkrétan: #define FILTERSCRIPT Ez a script és a fentebb említett script kombinálva szinte tökéletes védelmet nyújt a nemkívánatos BOT támadások ellen 14
Segítségkérés / Textdraw Font 4, nincs átlátszóság« Dátum: 2012. június 24. - 14:49:41 »
Üdv
A problémám az lenne, hogy az alább látható textdraw nem átlátszó egyáltalán. Ez a két függvény pontosan ugyanolyan színt ad a textdrawnak. Semmi átlátszóság. Ha viszont a font nem 4, akkora szöveg valamennyire átlátszó, pont amennyire kell. Ez miért lehet? TextDrawColor(Textdraw14, 0x000000AA); TextDrawColor(Textdraw14, 0x000000FF); Textdraw14 = TextDrawCreate(161.000000, 366.000000, \"LD_SPAC:white\"); TextDrawBackgroundColor(Textdraw14, 255); TextDrawFont(Textdraw14, 4); TextDrawLetterSize(Textdraw14, 0.500000, 1.000000); TextDrawColor(Textdraw14, 0x000000AA); TextDrawSetOutline(Textdraw14, 0); TextDrawSetProportional(Textdraw14, 1); TextDrawSetShadow(Textdraw14, 1); TextDrawUseBox(Textdraw14, 1); TextDrawBoxColor(Textdraw14, 255); TextDrawTextSize(Textdraw14, 315.000000, 15.000000); 15
SA-MP: Szerverfejlesztés / Mktime és Date függvények (Unix-idõ)« Dátum: 2012. május 27. - 21:51:08 »Unix idõ
Üdv most szeretnék bemutatni egy hasznos idõmeghatározó módszert. Pontosabban egy informatikában használt a dátumok könnyebb tárolására létrehozott módszert. Az Unix-idõt. Ennek lényege, hogy a dátumokat ne egy hosszú sok külön álló számmal(év/hónap/nap óra/perc/másodperc) tároljuk, hanem egyetlen számmal, mégpedig úgy, hogy ez a szám 1970. 01. 01. 00:00:00 óta eltelt másodpercek számát adja meg, igen ez egy elég nagy szám, viszont elõnye, hogy csak egyetlen adatban eltárolhatunk vele 1970-tõl minden dátumot Annak, aki többet szeretne megtudni errõl annak ajánlom figyelmébe a következõ linket: http://hu.wikipedia.org/wiki/Unix-id%C5%91 nos íme a két hasznos kis függvény: A gettime függvény az Unix idõvel tér vissza, ha nem adunk meg neki semmilyen paramétert. Így tehát ez nekünk tökéletesen megfelel arra a célra, hogy megtudjuk, hogy abban a pillanatban mennyi is az Unix idõ. például: new unixtime = gettime(); A másik, amivel ezt az idõformátumot vissza lehet konvertálni a normális általunk érthetõ formába: stock date(timestamp, &f_day, &f_month, &f_year, &f_hour, &f_min, &f_sec) Szerintem eléggé nyilvánvaló, az elsõ paraméter a konvertálandó Unix idõ, a többi 6 pedig az aminek az értékeit módosítja a kapott dátumra. Azonban elõfordulhat, hogy nekünk nem a jelenlegi Unix idõre van szükségünk, és a 6 általunk ismert dátum paraméterekbõl (év/hó/nap /óra/perc/másodperc) meg kellene határoznunk az Unix-idõt. Nos a következõ függvény pontosan ezt a célt szolgálja. Visszatérési értéke maga a paraméterekbõl kiszámolt Unix idõ. stock mktime(m_hour, m_minute, m_second, m_day, m_month, m_year) |