Szerző Téma: MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)  (Megtekintve 47173 alkalommal)

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #225 Dátum: 2013. Szeptember 02. - 18:31:51 »
+1 Show voters
Fölösleges arra, r33 majd ha kijön, azis támogatni fogja a sima untrhreaded lekérdezéseket, amihez nem kell \"public\", hanem mint ahogy a régi R6 ment.

Nem elérhető JBauer

  • 1407
    • Profil megtekintése
MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #226 Dátum: 2013. Szeptember 02. - 20:26:37 »
0 Show voters
Idézetet írta: kurta999 date=1378139511\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"3791\" data-ipsquote-contentclass=\"forums_Topic
Fölösleges arra, r33 majd ha kijön, azis támogatni fogja a sima untrhreaded lekérdezéseket, amihez nem kell \"public\", hanem mint ahogy a régi R6 ment.
 
Ez egy jó hír. :D

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #227 Dátum: 2014. Március 09. - 12:32:37 »
+2 Show voters
Frissítettem R38-ra a scriptet, viszont nem teszteltem le, szóval elõfordulhatnak benne hibák.
Legújabb plugint itt tudjátok letölteni:
https://github.com/pBlueG/SA-MP-MySQL/releases
Legújabb scriptet meg itt:
http://www.solidfiles.com/d/04de529fbb/MySQL_3.0.pwn

Nem elérhető Cappsy

  • Adminisztrátor
  • 2754
    • Profil megtekintése
MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #228 Dátum: 2014. Március 09. - 12:43:53 »
+1 Show voters
[gmod]Mivel a téma nem csak hasznos, hanem még közel 4 év után is aktuális tud lenni, úgy érzem megérett arra, hogy kiemelve legyen. Gratulálok a témanyitónak! :)[/gmod]

MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #229 Dátum: 2014. Március 09. - 12:50:16 »
0 Show voters
Én ezt a részt nem értem, hogy miért akarsz lekérni egy olyan sorból, egy olyan adatott ami lehet, hogy nem is létezik?
Mert ha nem létezõ sorból kérsz le adatott, akkor hibát ír ki a konzol-ba, ezért nem tud mit csinálni ezért értékként visszatér nullával.
Na most te ezt az értéket használod fel, hogy ha nincs ilyen sor.
Elõtte ellenõrizni kéne, hogy létezik-e az adott sor (cache_get_data függvénnyel), ha nem akkor kellene értéket adni, én így oldanám meg.
De te feltétel elõtt már lekérsz adatokat, vagy lekérsz egy sort, aztán ellenõrzõd, hogy létezik-e?!
Remélem érted, hogy mit akarok mondani.
 
forward THREAD_Autologin(playerid, queue);
public THREAD_Autologin(playerid, queue)
{
if(g_pQueryQueue[playerid] != queue) return QUERY_COLLISION(THREAD_Autologin);
new
    rows,
    fields;
cache_get_data(rows, fields);
if(rows) // Ha a sor nem üres
{
LoginPlayer(playerid);
SendClientMessage(playerid, COLOR_GREEN, \"Automatikusan bejelentkeztél!\");
}
return 1;
}
forward THREAD_OnPlayerConnect(playerid, queue);
public THREAD_OnPlayerConnect(playerid, queue)
{
// Ha a játékos csatlakozik vagy lelép, akkor a \"g_pQueryQueue[playerid]\" értéke mindig növekedik.
// Lekérdezésnél átvisszük ennek az értékét a \"queue\" nevû paraméterben, amit majd a lekérdezés lefutásánál ellenõrzünk.
// Ha a játékos lelépett, akkor \"g_pQueryQueue[playerid]\" egyel több lett, tehát nem egyenlõ a \"queue\" paraméter értékével.
// Ez esetben a lekérdezés nem fog lefutni, hanem egy figyelmezetõ üzenetet fog kiírni a konzolva, hogy \"query collision\".
// Nagyon fontos ez, mivel ha van egy lekérdezés, ami lekérdez valami \"titkos\" adatot az adatbázisból,
// közben belaggol a a mysql szerver, a lekérdezés eltart 5 másodpercig, feljön egy másik játékos és annak fogja kiírni az adatokat,
// mivel a lekérdezés lefutása közben lelépett a játékos és egy másik jött a helyére. Erre van ez a védelem, így ettõl egyáltalán nem kell tartani.
// Sima lekérdezéseknél (ház betöltés, egyéb betöltés, frissítés, stb.. sz*rságok) ilyen helyen nem szükséges ez a védelem.
if(g_pQueryQueue[playerid] != queue) return QUERY_COLLISION(THREAD_OnPlayerConnect);
new
szFetch[12],
serial[64];
cache_get_row(0, 0, szFetch);
SetPVarInt(playerid, \"LineID\", strval(szFetch));
// Ez itt egy \"átmeneti változó\", ami tárolja, hogy mi a reg id-je a játékosnak.
// Ha nulla, akkor nincs regisztrálva (mivel az SQL 0-t ad vissza, ha nemlétezõ a sor), ellentétben pedig igen.
g_PlayerFlags{playerid} = e_PLAYER_FLAGS:0; // Nullázuk az értékét, nem elég a nulla, kell elé a változó tagja is, különben figyelmeztet a fordító.
    if(!IsPlayerNPC(playerid)) // Csak játékosokra vonatkozik
{
SetPVarInt(playerid, \"RegID\", -1);
GetPlayerIp(playerid, g_szIP, sizeof(g_szIP));
gpci(playerid, serial, sizeof(serial));
getdate(year, month, day);
gettime(hour, minute, second);
format(g_szQuery, sizeof(g_szQuery), \"INSERT INTO `connections`(id, name, ip, serial, time) VALUES(0, \'%s\', \'%s\', \'%s\', \'%02d.%02d.%02d/%02d.%02d.%02d\')\", pName(playerid), g_szIP, serial, year, month, day, hour, minute, second);
mysql_pquery(1, g_szQuery);
// Autologin
// Leftuttatunk egy lekérdezést, ami ha befejezõdött, akkor meghívódik a \"THREAD_Autologin\" callback.
// A régebbi pluginnal ez egy funkcióban ment, szóval ha a mysql szerver belaggolt és a lekérdezés eltartott 5 másodpercig,
// akkor 5 másodpercig megfagyott a szerver.
// Itt nem fog megfagyni semeddig a szerver, mivel létrehoz neki egy új szálat, és az a szál fagy meg míg nem fut le a lekérdezés.
// Lefutás után pedig meghívja a \"THREAD_Autologin\" callbackot. Ez már logikus, hogy az alap szálon (main thread)-on fut.
//
// Fenti lekérdezéssel is szintén ez a helyzet, viszont ott nem vagyunk kiváncsi a kapott értékekre.
// Az a lefutása során az \"OnQueryFinish\" callbackot hívja meg, viszont itt nem történik semmi.
// Ugyanaz a helyzet az összes lekérdezéssel, ha kiváncsi lennék az értékére, akkor ugyanúgy a callback alá raknám a dolgokat, mint itt.
format(g_szQuery, sizeof(g_szQuery), \"SELECT * FROM `players` WHERE `name` = \'%s\' AND `ip` = \'%s\'\", pName(playerid), g_szIP);
mysql_pquery(1, g_szQuery, \"THREAD_Autologin\", \"dd\", playerid, g_pQueryQueue[playerid]);
}
     return 1;
}

 
Én valahogy így csinálnám:
 
forward THREAD_OnPlayerConnect(playerid, queue);
public THREAD_OnPlayerConnect(playerid, queue)
{
if(g_pQueryQueue[playerid] != queue) return QUERY_COLLISION(THREAD_OnPlayerConnect);
new rows,fields;
 
cache_get_data(rows, fields);
if(rows) // Ha a sor nem üres
{
new szFetch[12],
cache_get_row(0, 0, szFetch);
SetPVarInt(playerid, \"LineID\", strval(szFetch));
}
else
{
SetPVarInt(playerid, \"LineID\",0);
}
//+többi rész
}

 

public OnPlayerRequestClass(playerid, classid)
{
if(IsPlayerNPC(playerid)) return 1;
   
    //printf(\"%d\", g_PlayerFlags{playerid} & e_LOGGED_IN);
if(!(g_PlayerFlags{playerid} & e_LOGGED_IN)) // Felmutatjuk neki a megfelelõ dialógot
{
if(GetPVarInt(playerid, \"LineID\") != 0)
{
   LoginDialog(playerid);
}
else
{
   RegisterDialog(playerid);
}
}
return 1;
}
« Utoljára szerkesztve: 2014. Március 09. - 13:01:04 írta bbTamas »

MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #230 Dátum: 2014. Március 09. - 17:08:43 »
0 Show voters
Na legalább ebbõl a legújabb mysql-t is megtanulhatom :D Kösz kurta

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #231 Dátum: 2014. Március 09. - 17:13:00 »
0 Show voters
Nincs mit.
Egyébként, ha jól értelmeztem arra akarsz rámutatni, hogy ez a sor mér így néz ki:
 

SetPVarInt(playerid, \"LineID\", strval(szFetch));

 
Itt van az a lehetõség, ha nincs a játékos névre találat akkor ennek a változónak 0-t ad be mivel nincs olyan sor.
Konkrétan szerintem ezzel nincs nagyon semmi baj, viszont a te megoldásoddal is meg lehet oldani. Én valahogy ezzel a megoldással kezdtem :D
+ azt a hibát hol írja amit mondtál azt nem értem mert nekem eddig erre semmi nem írt hibát, évek óta ezt használom a hostos szerveren.

Nem elérhető doboka98

  • 1002
    • Profil megtekintése
MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #232 Dátum: 2014. Március 30. - 09:40:49 »
0 Show voters
Lenne egy olyan kérdésem, hogy megéri R7-re építeni? Ezt azért kérdem, mert épp most írtam át a szerverem fájlmentésrõl R6-ra. Ahogy olvastam az R7 10-20x gyorsabb, mint az R6. Szóval megéri arra áttérni? Megmondom õszintén engem nem igazán zavar, ha a mód indításakor fél másodperc helyett várok 3-4-et a betöltésre. Meg nekem bonyolultabbnak tûnik az R7.

MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #233 Dátum: 2014. Március 30. - 09:43:21 »
0 Show voters
Bonyolultabb is de szerintem megéri. És ha már áttérsz a újabb mysql-re akkor R38-ra térj át szerintem.

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #234 Dátum: 2014. Április 05. - 08:39:49 »
0 Show voters
Idézetet írta: doboka98 date=1396165249\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"3791\" data-ipsquote-contentclass=\"forums_Topic
Lenne egy olyan kérdésem, hogy megéri R7-re építeni? Ezt azért kérdem, mert épp most írtam át a szerverem fájlmentésrõl R6-ra. Ahogy olvastam az R7 10-20x gyorsabb, mint az R6. Szóval megéri arra áttérni? Megmondom õszintén engem nem igazán zavar, ha a mód indításakor fél másodperc helyett várok 3-4-et a betöltésre. Meg nekem bonyolultabbnak tûnik az R7.
 
Megérni persze, hogy megéri átírni mivel a legjobb és legújabb plugin. Én maradok az R6 -nál mivel szerintem egyszerû és sokkal könnyebb mint a többi verzió pedig több dolgot lehetséges megcsinálni a legújabb verziókkal. De ez attól függ mennyire vágja az eszed az egész MySQL -t.. ha jól akkor értelme van átírni.. ha semmit akkor maradj inkább az R6 -nál.. nálam szintén ez a probléma.. nem tudok rájönni a logikájára de az R6 -nál pedig simán megy. :D Good luck.  ;)

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #235 Dátum: 2014. Április 05. - 14:17:24 »
0 Show voters
Idézetet írta: ZyZu. date=1396679989\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"3791\" data-ipsquote-contentclass=\"forums_Topic


Lenne egy olyan kérdésem, hogy megéri R7-re építeni? Ezt azért kérdem, mert épp most írtam át a szerverem fájlmentésrõl R6-ra. Ahogy olvastam az R7 10-20x gyorsabb, mint az R6. Szóval megéri arra áttérni? Megmondom õszintén engem nem igazán zavar, ha a mód indításakor fél másodperc helyett várok 3-4-et a betöltésre. Meg nekem bonyolultabbnak tûnik az R7.
 
Megérni persze, hogy megéri átírni mivel a legjobb és legújabb plugin. Én maradok az R6 -nál mivel szerintem egyszerû és sokkal könnyebb mint a többi verzió pedig több dolgot lehetséges megcsinálni a legújabb verziókkal. De ez attól függ mennyire vágja az eszed az egész MySQL -t.. ha jól akkor értelme van átírni.. ha semmit akkor maradj inkább az R6 -nál.. nálam szintén ez a probléma.. nem tudok rájönni a logikájára de az R6 -nál pedig simán megy. :D Good luck.  ;)
 
[/quote]
Nem az a legjobb és legújabb plugin. Az az R38-as plugin. Az R6 és az R7 szépen szólva nagyon régi.

Nem elérhető doboka98

  • 1002
    • Profil megtekintése
MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #236 Dátum: 2014. Március 30. - 09:40:49 »
0 Show voters
Lenne egy olyan kérdésem, hogy megéri R7-re építeni? Ezt azért kérdem, mert épp most írtam át a szerverem fájlmentésrõl R6-ra. Ahogy olvastam az R7 10-20x gyorsabb, mint az R6. Szóval megéri arra áttérni? Megmondom õszintén engem nem igazán zavar, ha a mód indításakor fél másodperc helyett várok 3-4-et a betöltésre. Meg nekem bonyolultabbnak tûnik az R7.

MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #237 Dátum: 2014. Március 30. - 09:43:21 »
0 Show voters
Bonyolultabb is de szerintem megéri. És ha már áttérsz a újabb mysql-re akkor R38-ra térj át szerintem.

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #238 Dátum: 2014. Április 05. - 08:39:49 »
0 Show voters
Idézetet írta: doboka98 date=1396165249\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"3791\" data-ipsquote-contentclass=\"forums_Topic
Lenne egy olyan kérdésem, hogy megéri R7-re építeni? Ezt azért kérdem, mert épp most írtam át a szerverem fájlmentésrõl R6-ra. Ahogy olvastam az R7 10-20x gyorsabb, mint az R6. Szóval megéri arra áttérni? Megmondom õszintén engem nem igazán zavar, ha a mód indításakor fél másodperc helyett várok 3-4-et a betöltésre. Meg nekem bonyolultabbnak tûnik az R7.
 
Megérni persze, hogy megéri átírni mivel a legjobb és legújabb plugin. Én maradok az R6 -nál mivel szerintem egyszerû és sokkal könnyebb mint a többi verzió pedig több dolgot lehetséges megcsinálni a legújabb verziókkal. De ez attól függ mennyire vágja az eszed az egész MySQL -t.. ha jól akkor értelme van átírni.. ha semmit akkor maradj inkább az R6 -nál.. nálam szintén ez a probléma.. nem tudok rájönni a logikájára de az R6 -nál pedig simán megy. :D Good luck.  ;)

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #239 Dátum: 2014. Április 05. - 14:17:24 »
0 Show voters
Idézetet írta: ZyZu. date=1396679989\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"3791\" data-ipsquote-contentclass=\"forums_Topic


Lenne egy olyan kérdésem, hogy megéri R7-re építeni? Ezt azért kérdem, mert épp most írtam át a szerverem fájlmentésrõl R6-ra. Ahogy olvastam az R7 10-20x gyorsabb, mint az R6. Szóval megéri arra áttérni? Megmondom õszintén engem nem igazán zavar, ha a mód indításakor fél másodperc helyett várok 3-4-et a betöltésre. Meg nekem bonyolultabbnak tûnik az R7.
 
Megérni persze, hogy megéri átírni mivel a legjobb és legújabb plugin. Én maradok az R6 -nál mivel szerintem egyszerû és sokkal könnyebb mint a többi verzió pedig több dolgot lehetséges megcsinálni a legújabb verziókkal. De ez attól függ mennyire vágja az eszed az egész MySQL -t.. ha jól akkor értelme van átírni.. ha semmit akkor maradj inkább az R6 -nál.. nálam szintén ez a probléma.. nem tudok rájönni a logikájára de az R6 -nál pedig simán megy. :D Good luck.  ;)
 
[/quote]
Nem az a legjobb és legújabb plugin. Az az R38-as plugin. Az R6 és az R7 szépen szólva nagyon régi.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal