Szerző Téma: MySQL Regisztráció számoló  (Megtekintve 2056 alkalommal)

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
MySQL Regisztráció számoló
« Dátum: 2012. február 17. - 20:45:38 »
0 Show voters
Sziasztok!
Valaki tudna nekem, egy olyan MySQL-es scriptet adni táblával együtt, ami számolja, és kiírja az összes játékosnak SendClientMessageToAll-ba, hogy xy játékos regisztrált, és utána, hogy összesen mennyien regisztráltak?
Elõre is köszönöm!

Nem elérhető Casamiro

  • 1046
    • Profil megtekintése
MySQL Regisztráció számoló
« Válasz #1 Dátum: 2012. február 17. - 22:18:33 »
0 Show voters
Ha csak számláló kell:
[pawn]new str[64], eredmeny;
mysql_query(\"SELECT * FROM `tabla_neve`\");
mysql_store_result();
eredmeny = mysql_num_rows();
mysql_free_result();
format(str, sizeof str, \"%d játékos regisztrált\", eredmeny);
SendClientMessage(playerid, -1, str);[/pawn]

Nem elérhető skyLine

  • Globális moderátor
  • 2171
  • 2020
  • Vaterán
    • Profil megtekintése
MySQL Regisztráció számoló
« Válasz #2 Dátum: 2012. február 17. - 22:23:26 »
0 Show voters
[*code][*/code]
Tagokat használj, mert így elképzelhetõ, hogy hibás.

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
MySQL Regisztráció számoló
« Válasz #3 Dátum: 2012. február 18. - 06:51:02 »
0 Show voters
Köszi! :D És ezt a regisztrációs rendszerembe rakjam bele? És ha igen, akkor milyen függvény alá, vagy csak simán a script végére?
« Utoljára szerkesztve: 2012. február 18. - 06:53:45 írta Gabor.. »

MySQL Regisztráció számoló
« Válasz #4 Dátum: 2012. február 18. - 06:53:55 »
0 Show voters
nálam megyen beraktam magamnak

Nem elérhető Casamiro

  • 1046
    • Profil megtekintése
MySQL Regisztráció számoló
« Válasz #5 Dátum: 2012. február 18. - 11:20:06 »
0 Show voters
Rakd egy parancsba, vagy ahol használni szeretnéd, akár timer, például parancs:
 

CMD:jatekosok(playerid, params[])
{
      new str[64], eredmeny;
      mysql_query(\"SELECT * FROM `tabla_neve`\");
      mysql_store_result();
      eredmeny = mysql_num_rows();
      mysql_free_result();
      format(str, sizeof str, \"%d játékos regisztrált\", eredmeny);
      SendClientMessage(playerid, -1, str);
      return 1;
}

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
MySQL Regisztráció számoló
« Válasz #6 Dátum: 2012. február 18. - 13:31:39 »
0 Show voters
De én úgy szeretném, hogy ha valaki regisztrált, akkor autómatikusan kiírja mindenkinek, hogy xy nevû játékos regisztrált, és ha ez megvan, akkor azt is írja ki mindenkinek, hogy xy játékos regisztrált összesen

Nem elérhető Casamiro

  • 1046
    • Profil megtekintése
MySQL Regisztráció számoló
« Válasz #7 Dátum: 2012. február 18. - 14:14:38 »
0 Show voters
Akkor a regisztrációs kódhoz:
 
new name[24], str[64];
GetPlayerName(playerid, name, 24);
format(str, sizeof str, \"%s regisztrált\", name);
SendClientMessageToAll(-1, str);
new eredmeny;
mysql_query(\"SELECT * FROM `tabla_neve`\");
mysql_store_result();
eredmeny = mysql_num_rows();
mysql_free_result();
format(str, sizeof str, \"Összesen %d játékos regisztrált\", eredmeny);
SendClientMessage(playerid, -1, str);

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
MySQL Regisztráció számoló
« Válasz #8 Dátum: 2012. február 18. - 15:35:29 »
0 Show voters
Köszi! :D És azt hogyan tudom megoldani, hogy ne parancsba építsem bele, hanem csak simán bele a scriptbe?

Nem elérhető Casamiro

  • 1046
    • Profil megtekintése
MySQL Regisztráció számoló
« Válasz #9 Dátum: 2012. február 18. - 18:13:30 »
0 Show voters
Hát ahol beszúrja a MySQL táblába a játékos adatait, oda beteszed a kódot

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
MySQL Regisztráció számoló
« Válasz #10 Dátum: 2012. február 18. - 19:41:41 »
0 Show voters
Nemértem O_O Nekem vagy egy mysql-es regisztrációs rendszerem, és akkor abba a scriptbe rakjam bele? Mert ha igen, akkor nemjó, mert errorozik. Légyszives megmondanád egy mysql nagyon kezdõ nyelvén? Köszi! :)

Nem elérhető Casamiro

  • 1046
    • Profil megtekintése
MySQL Regisztráció számoló
« Válasz #11 Dátum: 2012. február 18. - 21:38:08 »
0 Show voters
Másold be a kódot és az errorokat

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
MySQL Regisztráció számoló
« Válasz #12 Dátum: 2012. február 18. - 22:42:24 »
0 Show voters
Most jó, nem errorozik, de akárki regisztrál kiírjka, hogy regiszterált stb.. De ha beakar loginolni, akkor megint bejön a regisztrációs dialóg, mintha még nem regisztrált volna. És ezelõtt jóvolt. Ide raktam be, mert ítt láttam, olyan regisztrációs részt a scriptben és ne  autologin-t:
 
public OnPlayerRequestClass(playerid, classid)
{
    if(!GetPVarInt(playerid, \"LoggedIn\")) // Ha nincs bejelentkezve, ez a lekérés ide nagyon fontos mert minden gobnyomásnál felmutatná a skiválasztóban.
    {
format(query, sizeof(query), \"SELECT * FROM `players` WHERE `name` = \'%s\'\", pName(playerid)); // Kiválasztjuk, a játékos nevét
mysql_query(query);
mysql_store_result();
if(mysql_num_rows() != 0) // Ha a sorok száma nem 0 ( nem üres )
{
   LoginDialog(playerid); // Akkor login
}
else // Ellentétben
{
        RegisterDialog(playerid); // Register
        new name[24], str[64];
                GetPlayerName(playerid, name, 24);
                format(str, sizeof str, \"%s regisztrált\", name);
                SendClientMessageToAll(-1, str);
                new eredmeny;
                mysql_query(\"SELECT * FROM `players`\");
                mysql_store_result();
                eredmeny = mysql_num_rows();
                mysql_free_result();
               format(str, sizeof str, \"Összesen %d játékos regisztrált\", eredmeny);
               SendClientMessage(playerid, -1, str);
}
mysql_free_result();
}
return 1;
}
« Utoljára szerkesztve: 2012. február 18. - 22:46:35 írta Gabor.. »

Nem elérhető Casamiro

  • 1046
    • Profil megtekintése
MySQL Regisztráció számoló
« Válasz #13 Dátum: 2012. február 19. - 09:17:48 »
0 Show voters
OnDialogResponse függvényt másold be, de csak azt a részt, ahol a regisztrációs dialogot ellenõrzi

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
MySQL Regisztráció számoló
« Válasz #14 Dátum: 2012. február 19. - 11:12:48 »
0 Show voters
Ez csakl az a része: [pawn]case DIALOG_REGISTER:
   {
      if(!response)
         return RegisterDialog(playerid);
      if(isnull(inputtext))
      {
         SendClientMessage(playerid, COLOR_RED, \"Nem írtál be semilyen jelszót!\");
         RegisterDialog(playerid);
         return 1;
      }
            new
                len = strlen(inputtext);
      if(!(3 <= len <= 20))
      {
         SendClientMessage(playerid, COLOR_RED, \"Rossz jelszó hosszúság! 3 - 20\");
         RegisterDialog(playerid);
         return 1;
      }
      for(new i; i < len; i++)
       {
         if(inputtext == \'|\') return SendClientMessage(playerid, COLOR_RED, \"Ezt a jelet {\" #XCOLOR_BLUE \"}| {\" #XCOLOR_RED \"}nem használhatod, mert ez a MySQL elválasztó!\");

      }


      format(query, sizeof(query), \"SELECT `reg_id` FROM `players` WHERE `name` = \'%s\'\", pName(playerid));


      mysql_query(query);


      mysql_store_result();


      if(mysql_num_rows() != 0)


      {


         SendClientMessage(playerid, COLOR_RED, \"MySQL sorok száma nem 0, valami hiba történt a kiválasztás közben!\");


         SendClientMessage(playerid, COLOR_RED, \"Ezt a hibát jelezd a tulajdonosnak! Kickelve lettél, mert ebbol hiba keletkezhet!\");


         mysql_free_result();


         Kick(playerid);


         return 1;


      }


      mysql_free_result();


      getdate(year, month, day);


      gettime(hour, minute, second);


      GetPlayerIp(playerid, ip, sizeof(ip));


      mysql_real_escape_string(inputtext, tmp); // Ez arra van, hogy ha speciális karatereket tartalmaz, akk azt átcsinálja az SQL-nek értheto\"re


      // A jeszavak nincsenek titkosítva...


      format(query, sizeof(query), \"INSERT INTO `players`(reg_id, name, ip, pass, reg_date, laston) VALUES(0, \'%s\', \'%s\', \'%s\', \'%02d.%02d.%02d/%02d.%02d.%02d\', \'%02d.%02d.%02d/%02d.%02d.%02d\')\", pName(playerid), ip, tmp, year, month, day, hour, minute, second, year, month, day, hour, minute, second);


      mysql_query(query);


      SetPVarInt(playerid, \"RegID\", mysql_insert_id()); // Játékos Regisztrációs ID-jét beállítuk arra, ameik sorba írtunk elo\"bb ( INSERT INTO )


      SetPVarInt(playerid, \"LoggedIn\", 1);


      format(i_str, sizeof(i_str), \"Sikeresen regisztráltál! A jelszavad: {\" #XCOLOR_RED \"}%s. {\" #XCOLOR_GREEN \"}Felhasználó ID: {\" #XCOLOR_BLUE \"}%d\", tmp, GetPVarInt(playerid, \"RegID\"));


      SendClientMessage(playerid, COLOR_GREEN, i_str);


      SendClientMessage(playerid, COLOR_PINK, \"Ennyi lenne a MySQL regisztáció {\" #XCOLOR_BLUE \"}:D\");


   }[/pawn]

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal