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

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Dátum: 2010. október 15. - 22:22:34 »
+42 Show voters
                                                                                               
<div style=\"text-align:center;\"><strong>MySQL Regisztráció rendszer</strong>
 
Ez a regisztrációs rendszer nem éppen a kezdõknek való.
Akik az alapokat nem értik magában a PAWN nyelvben, azok <strong>NE</strong> kezdjenek MySQL-be.
<strong>Tartalma:</strong>
 
<ul><li>Automatikus bejelentkezés.</li>
<li>Pénz, Pont, Ölések, Halálok és ütésstílus megjegyzése. </li>
<li>InGame névváltás és jelszóváltás</li>
<li>InGame játékosok név szerinti keresése, és az adatai megtekintése.</li>
<li>A jelszavak nincsenek titkosítva. ( Direkt )</li>
<li>Minden lekérdezés más szálon fut és gyorsítótárat használ</li>
</ul>
<strong>Frissítések:</strong>
<strong>@3.0 </strong>
 
<ul><li>Frissítve az R38-as pluginhoz + korszerûsítve a régi megoldások az új plugin által nyújtott funkciókhoz</li></ul>
<strong>@2.0 </strong>
 
<ul><li>Minden lekérdezés más szálon fut, tehát nem laggosítják a szervert.</li>
<li>Race Condition elleni védelem minden lekérdezésre</li>
<li>Újra szerepelhet a | karakter az adatbázisba mentett karakterláncokban.</li>
<li>Pár apró hiba javítva és optimalizálva pár apróság.</li>
</ul>
<strong>@1.0 </strong>
 
<ul><li>Több mindent ment, mint régen. ( Pont, Ütés Stílus, Ölések & Halálok )</li>
<li>Tábla szerkezete optimalizálva.</li>
<li>Névváltás + jelszóváltás lehetõség.</li>
<li>Játékosok keresése név szerint az adatbázisba és adatainak megtekintése.</li>
<li>Jó pár optimalizálás + hibajavítás, amit már régen meg kellett volna.</li>
<li>0.3d csillagozás támogatás</li>
</ul>
<strong>@0.3 </strong>
 
<ul><li>Pár bug javítva és az egész optimalizálva. Az elõzõ verziókat NE használjátok.</li>
<li>connections tábla hozzáadva, ide menti a felcsatlakozásokat. ( + <a href=\"http://sampforum.hu/index.php?topic=10452.0\" rel=\"external nofollow\">gpci</a> )</li>
<li>queryerrors tábla hozzáadva, ide menti a hibás query-ket.</li>
<li>Színezés hozzáadva.</li>
<li>Bejelentkezés optimalizálva. Kösz ChuckNorris-nak.</li>
<li>Regisztrációnál a | karakter nem szerepelhet a jelszóban, mivel ez a MySQL elválasztó.</li>
</ul>
<strong>@0.2 </strong>
 
<ul><li>mysql_reconnect() függvény használata javítva.</li>
<li>mysql_num_rows() rosszul használata kijavítva.</li>
<li>Rögtönformázott üzenet eltüntetve hibássága miatt.</li>
</ul>
<strong>@0.1 </strong>
 
<ul><li>Elsõ kiadás</li></ul>
<strong>Letöltés:</strong>
                                      
https://github.com/kurta999/MySQL-Register-Login-SaveStats
Tábla struktúra az nem változott, csak a scriptet és a plugint kell frissíteni.
sscanf pedig nemkell hozzá.
<a href=\"http://www.mfrserver.tk/SAMP/SQL_1.0.txt\" rel=\"external nofollow\"><strong>Szkript 1.0</strong></a>                
<a href=\"http://www.mfrserver.tk/SQL.txt\" rel=\"external nofollow\"><strong>Szkript öreg</strong></a>
<a href=\"http://files.g-stylezzz.com/libmySQL.dll\" rel=\"external nofollow\"><strong>libmySQL.dll</strong>*</a>
<a href=\"http://forum.sa-mp.com/showthread.php?t=56564\" rel=\"external nofollow\">MySQL Plugin**</a>
<a href=\"http://forum.sa-mp.com/showthread.php?t=91354\" rel=\"external nofollow\">zcmd</a>
<strong>SQL Szerverek:</strong>
<a href=\"http://netcologne.dl.sourceforge.net/project/wampserver/WampServer%202/WampServer%202.0/WampServer2.0i.exe\" rel=\"external nofollow\">Wamp Server</a>
<a href=\"http://www.apachefriends.org/en/xampp.html\" rel=\"external nofollow\"><strong>XAMPP</strong></a>
* A libmySQL.dll-et a szervermappában helyezd el, ahol a samp-server.exe található. Ha ez nincs ott, ez nélkül nemfog menni a script.
** A MySQL Pluginból az R7-es verziót szedd le! Az örögebb verziónak más a felépítése, azokat hiába szeded le, nemfog vele menni.
<strong>Képek:</strong>
<img src=\"width=500%20height=375\" class=\"ipsImage\" alt=\"width=500 height=375\" /><a href=\"http://www.mfrserver.net/SAMP/MySQL_1.jpg\" rel=\"external nofollow\">http://www.mfrserver.net/SAMP/MySQL_1.jpg</a>[/img]
<strong>Bejelentkezés jelszó csillagozással</strong>
<img src=\"width=500%20height=375\" class=\"ipsImage\" alt=\"width=500 height=375\" /><a href=\"http://www.mfrserver.net//SAMP/MySQL_2.jpg\" rel=\"external nofollow\">http://www.mfrserver.net//SAMP/MySQL_2.jpg</a>[/img]
<strong>Statisztika</strong>
<img src=\"width=500%20height=375\" class=\"ipsImage\" alt=\"width=500 height=375\" /><a href=\"http://www.mfrserver.net/SAMP/MySQL_3.jpg\" rel=\"external nofollow\">http://www.mfrserver.net/SAMP/MySQL_3.jpg</a>[/img]
<strong>Játékosok keresése a /findplayer parancsal</strong>
<strong>Tábla szerkezete:</strong>
<strong>Ha teljesen új adatokkal indulsz:</strong>
Az a SET SQL_MODE az az, hogy ne legyen emelkedõ érték a 0-n. Azt elég csak egyszer beleírni.
 
<pre class=\"ipsCode\">
SET SQL_MODE=\"NO_AUTO_VALUE_ON_ZERO\";
CREATE TABLE IF NOT EXISTS `connections` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(21) NOT NULL,
  `ip` varchar(16) NOT NULL,
  `serial` varchar(128) NOT NULL,
  `time` varchar(24) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `namechanges` (
  `id` smallint(5) NOT NULL AUTO_INCREMENT,
  `reg_id` mediumint(8) NOT NULL,
  `oldname` varchar(21) NOT NULL,
  `newname` varchar(21) NOT NULL,
  `time` varchar(24) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `reg_id` (`reg_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `namechanges_p` (
  `id` smallint(5) NOT NULL AUTO_INCREMENT,
  `reg_id` mediumint(8) NOT NULL,
  `name` varchar(24) NOT NULL,
  `oldpass` varchar(21) NOT NULL,
  `newpass` varchar(21) NOT NULL,
  `time` varchar(24) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `reg_id` (`reg_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `players` (
  `reg_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(24) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `ip` varchar(20) NOT NULL,
  `pass` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `reg_date` varchar(24) NOT NULL,
  `laston` varchar(24) NOT NULL,
  `money` int(11) NOT NULL DEFAULT \'0\',
  `score` int(11) NOT NULL DEFAULT \'0\',
  `kills` mediumint(11) unsigned NOT NULL DEFAULT \'0\',
  `deaths` mediumint(11) unsigned NOT NULL DEFAULT \'0\',
  `fightingstyle` enum(\'4\',\'5\',\'6\',\'7\',\'15\',\'16\') NOT NULL DEFAULT \'4\',
  PRIMARY KEY (`reg_id`),
  KEY `name` (`name`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;
</pre>
 
<strong>Ha csak frissíteni akarod a táblát:</strong>
Ezt akkor ajánlatos használni, amikor az elõzõ verziót használod és firssíteni akarod a tábla struktúráját az adatok elvesztése nélkül.
Ha értesz hozzá, akkor erre nincs nagyon szükséged, de mégis egyszerûbb, mert ezt csak bekell másolnod az SQL fülbe és nemkell gondolkozni, hogy mit hogyan csinálsz.
<strong>Mielõtt lefuttatnád a következõ lekérdezést </strong><strong>MINDEKÉPP</strong><strong> csinálj biztonsági mentést a \'</strong><strong><em>players</em></strong><strong>\' tábláról!</strong>
 
<pre class=\"ipsCode\">
ALTER TABLE `players` CHANGE `reg_id` `reg_id` MEDIUMINT( 8 ) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE `players` CHANGE `name` `name` VARCHAR( 24 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
ALTER TABLE `players` CHANGE `pass` `pass` VARCHAR( 20 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL;
ALTER TABLE `players` CHANGE `money` `money` INT( 11 ) NOT NULL DEFAULT \'0\';
ALTER TABLE `players` ADD `score` INT( 11 ) NOT NULL DEFAULT \'0\' AFTER `money` ,
ADD `kills` MEDIUMINT( 8 ) UNSIGNED NOT NULL DEFAULT \'0\' AFTER `score` ,
ADD `deaths` MEDIUMINT( 8 ) UNSIGNED NOT NULL DEFAULT \'0\' AFTER `kills` ,
ADD `fightingstyle` ENUM( \'4\', \'5\', \'6\', \'7\', \'15\', \'16\' ) NOT NULL DEFAULT \'4\' AFTER `deaths`
 
CREATE TABLE IF NOT EXISTS `namechanges` (
  `id` smallint(5) NOT NULL AUTO_INCREMENT,
  `reg_id` mediumint(8) NOT NULL,
  `oldname` varchar(21) NOT NULL,
  `newname` varchar(21) NOT NULL,
  `time` varchar(24) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `reg_id` (`reg_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `namechanges_p` (
  `id` smallint(5) NOT NULL AUTO_INCREMENT,
  `reg_id` mediumint(8) NOT NULL,
  `name` varchar(24) NOT NULL,
  `oldpass` varchar(21) NOT NULL,
  `newpass` varchar(21) NOT NULL,
  `time` varchar(24) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `reg_id` (`reg_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1;
</pre>
 

<div style=\"text-align:center;\"><strong>Kommenteket várom!</strong>
« Utoljára szerkesztve: 2020. október 29. - 13:23:18 írta kurta999 »

Nem elérhető KDDomi

  • 976
    • Profil megtekintése
MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #1 Dátum: 2010. október 15. - 22:44:19 »
0 Show voters
Jo script Grat! ;)

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 #2 Dátum: 2010. október 15. - 22:47:37 »
0 Show voters
Idézetet írta: KDDomi date=1287175459\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"3791\" data-ipsquote-contentclass=\"forums_Topic
Jo script Grat! ;)
 
Lepróbátad ? xD

Nem elérhető KDDomi

  • 976
    • Profil megtekintése
MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #3 Dátum: 2010. október 15. - 23:03:29 »
0 Show voters
Igen müködik minden

MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #4 Dátum: 2010. október 16. - 13:28:43 »
0 Show voters
Mindjárt meglesem a szkriptet,de én inkább a XAMPP-ot ajánlom,énis ezt használom és nagyon jó.(WAMP helyett)

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 #5 Dátum: 2010. október 16. - 14:43:53 »
0 Show voters
Idézetet írta: ChuckNorris date=1287228523\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"3791\" data-ipsquote-contentclass=\"forums_Topic
Mindjárt meglesem a szkriptet,de én inkább a XAMPP-ot ajánlom,énis ezt használom és nagyon jó.(WAMP helyett)
 
Akkor majd kipróbálom, de neked pedig a wamp menni szokott. Mostmeg nem akar online állpotba menni.

MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #6 Dátum: 2010. október 16. - 15:27:17 »
0 Show voters
Én egyszer próbáltam a WAMPot,amikor még nagyon kezdõ voltam,(Még nem is SMAPoztam),de nemsikerült beálítanom,aztán egyszer egy barátom ajánlotta a XAMPPot,ami egybõl bejött. :D
Azóta is azt használom. ;)

Nem elérhető Popec16

  • 1267
    • Profil megtekintése
MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #7 Dátum: 2010. október 16. - 21:38:32 »
0 Show voters
Gyönyörû szkript lesz ez ! :D
Gratula!

Nem elérhető nyE

  • 1745
    • Profil megtekintése
MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #8 Dátum: 2010. október 16. - 21:39:29 »
0 Show voters
Szép!
Csak nekem még mindíg bonyolult :\'(

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 #9 Dátum: 2010. december 23. - 10:38:18 »
0 Show voters
A régi az hibás volt, nem ment.  A BETA verzió, a 0.1-es az ment!
De javítottam, teszteltem, a mostani verzió mûködik!
Felújítva
« Utoljára szerkesztve: 2010. december 24. - 12:02:21 írta kurta999 »

MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #10 Dátum: 2010. december 23. - 22:47:41 »
0 Show voters
És ezt az új gépemen meg is tudom nézni  :D
( Amint vége a filmemnek az RTL-en  :P )

Nem elérhető Zsoma

  • 516
    • Profil megtekintése
MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #11 Dátum: 2011. január 27. - 14:21:51 »
0 Show voters
Hali :)
Wampot használok sikeresen beépítettem a scriptet a mode-ba,
de sajnos, mikor beregelek utánna relogolok, nem tölti be a pénzt. És utánna
már nem is menti el. Csak a regisztráció pillanatában. És annyi. Mi a hiba? :)
zsomaa

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 #12 Dátum: 2011. március 20. - 22:40:29 »
0 Show voters
Felújítva az egész!
Ez a verzió ( v0.3 ) totál bugmentes.
Használjátok egészséggel :)

Nem elérhető Epsilon

  • 1854
    • Profil megtekintése
MySQL Regisztráció rendszer v3.0 (R38-R39 plugin támogatás)
« Válasz #13 Dátum: 2011. március 21. - 15:56:55 »
0 Show voters
Fasza, hogy nem kell leszedni a forrásért.  :D
Átnéztem és az alábbi korrigálni valókkal találkoztam (ezek többnyire gyorsító jellegûek)
Ahogyan a \"FristSpawn\"-nál, úgy a LoggedIn-nél is alkalmazhatod a \"type-os\" trükköt.
Ha azt akarod ellenõrizni, hogy van-e beírt szöveg nem kell használnod az strlen funkciót, elég ha azt ellenõrzöd, hogy a legelsõ karakter nullkarakter. Ha igen akkor a karakterlánc üres.
 
         if(!inputtext[0])
   {
      SendClientMessage(playerid, COLOR_RED, \"Nem írtál be semilyen jelszót!\");
      LoginDialog(playerid);
      return 1;
   }

 
Mivel a SavePlayer funkció ad vissza értéket visszatérhetsz azzal is. (itt alkalmazhatod a hármas operátor-t)
 
public OnPlayerDisconnect(playerid, reason) return (GetPVarType(playerid, \"LoggedIn\")) ? SavePlayer(playerid) : 1;

 
Ezeken kívül neked már annyira mániáid lettek a globális karakterláncok, hogy megfeledkezel arról, hogy ha csak egyetlen funkcióban használod a name-t akkor felesleges globálisan létrehozni.
A 24 helyett pedig a definíciót használd, hogy a késõbbi verziókkal is biztosan kompatibilis legyen!
Ezt ne szarkazmusnak vedd, azért írtam le ezeket, mert tudom, hogy te ezekbõl tanulsz és ha kijavítod, ez megfelelõ példaszkript lesz azok számára kik efféle adatbázis-kezeléssel foglalkoznának SA:MP terén.

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 #14 Dátum: 2011. március 21. - 18:12:37 »
0 Show voters
Kösz, hogy kijavítottál az ilyen helyeken. Az csak jó lehet ha kritizálod azokat amikre van jobb megoldás és én nem azt használom :)
Amúgy a globális stingeket azér használtam mer azt írták pár helyen, \'hogy nemfoglalnak mindig memóriát\'. De amióta elkezdtem egy C++ könyvet olvasni, kicsit más a véleményem :D
A name-t itt egyhelyen használom, de máshol nem.
Kiadtam egy újabb verziót, javítottam ezeket.
« Utoljára szerkesztve: 2011. március 21. - 18:20:10 írta kurta999 »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal