Szerző Téma: [TUT]Regisztrációs rendszer készítés  (Megtekintve 436 alkalommal)

[TUT]Regisztrációs rendszer készítés
« Dátum: 2011. Szeptember 11. - 09:44:16 »
+1 Show voters
Sziasztok!
Arra gondoltam, hogy csinálok egy Leírást arról, hogy hogyan lehet
Regisztrációs rendszert készíteni.
Elég egyszerû lesz.
1. Nyissuk meg a Pawno-t.
2. Csináljunk egy új munkalapot, töröljük ki az egészet.
3. Írjuk ezeket be:
[pawn]    #include <a_samp>
               #include <dini>
              #inlude <dubd>[/pawn]
4. Csinálunk egy ilyen részt:
[pawn]new IsLogged[MAX_PLAYERS];
enum pInfo
{
}
new PlayerInfo[MAX_PLAYERS][pInfo];
enum pInfo
{
AdminLevel,
     Cash,
}
new PlayerInfo[MAX_PLAYERS][pInfo];
new cmd[256], idx, file[128], tmp[256], tmp2[256];
cmd = strtok(cmdtext, idx);[/pawn]
5. Csináljunk egy OnPlayerCommandText részt.
[pawn]public OnPlayerCommandText (playerid, cmdtext[])[/pawn]
6. Elõszõr is a Regisztrációs parancsot csináljuk meg.
[pawn]if(strcmp(cmd, \"/register\", true) == 0)
{
  new name[MAX_PLAYER_NAME];
  tmp = strtok(cmdtext, idx);
  GetPlayerName(playerid, name, sizeof(name));
  if(strlen(tmp) == 0) return SendClientMessage(playerid, 0xFFFFFFFF, \"Használat: /register [jelszó]\");
  format(file,sizeof(file),\"%s.ini\",name);
  if(!fexist(file))
      {
        dini_Create(file);
        dini_IntSet(file, \"Password\", udb_hash(tmp));
        dini_IntSet(file,\"AdminLevel\", 0);
        dini_IntSet(file,\"Cash\", 0);
        SendClientMessage(playerid, eadmin, \"[Rendszer]: Felhasználó regisztrálva!\");
        PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
        GetPlayerName(playerid, name, sizeof(name));
        printf(\"%s has registered a account!\", name);
      }
      else
      {
        SendClientMessage(playerid, COLOR, \" Felhasználó már bent van az adatbázisban\");
                PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
      }
   return 1;
}
return 0;
}[/pawn]
7. A következõ pedig a /login parancs lesz.
[pawn]if(strcmp(cmd, \"/login\", true) == 0)
{
  new PlayerName[24];
  tmp = strtok(cmdtext, idx);
  if(strlen(tmp) == 0) return SendClientMessage(playerid, 0xFFFFFFFF, \"Használat: /login [jelszó]\");
   new name[MAX_PLAYER_NAME];
   if(IsLogged[playerid] == 1)
   {
      SendClientMessage(playerid, COLOR, \"Te sikeresen bejelentkeztél!\");
      return 1;
   }
   else
   {
      GetPlayerName(playerid, name, sizeof(name));
      format(file,sizeof(file),\"%s.ini\",name);
      if(fexist(file))
      {
        tmp2 = dini_Get(file, \"Password\");
          if(udb_hash(tmp) != strval(tmp2))
         {
           SendClientMessage(playerid, COLOR, \"Bejelentkezési hiba!\");
            GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
            printf(\"%s bejelentkezett a rendszerbe\", name);
         }
         else
         {
             IsLogged[playerid] = 1;
             SetPlayerMoney(playerid, dini_Int(file, \"Cash\"));
            PlayerInfo[playerid][AdminLevel] = dini_Int(file, \"AdminLevel\");
            SendClientMessage(playerid, COLOR, \"[Rendszer] Már be vagy jelentkezve!\");
         }
      }
   }
   return 1;
}[/pawn]
8. Csináljunk egy Disconnect részt
[pawn]public OnPlayerDisconnect (playerid, reason)[/pawn]
9. Ilesszük be ezt alá:
[pawn]IsLogged[playerid] = 0;  [/pawn]
Természetesen zárjuk is le.
10. Legesleg utolsó kód:
[pawn]if(gLogged[playerid] == 0)
{
   SendClientMessage(playerid, COLOR, \"[Rendszer]Jelentkezz be.\");
          Kick(playerid);
   return 1;
}[/pawn]
És már kész is a Regisztrációs rendszerünk.
Sziasztok!

Dupla hozzászólás automatikusan összefûzve. ( 2011. Szeptember 11. - 09:45:46 )

Remélem mindenkinek tetszik és hibátlan.! Dobj egy likeot.!

[TUT]Regisztrációs rendszer készítés
« Válasz #1 Dátum: 2011. Szeptember 11. - 11:10:06 »
0 Show voters
\"Tedd ezt ide, csinálj egy ilyet, ezt pedig ide\"
Ebbõl a kezdõ semmit nem ért..Ez így nem leírás, vagy tutorial..Hanem csak egy Copy & Paste.

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
[TUT]Regisztrációs rendszer készítés
« Válasz #2 Dátum: 2011. Szeptember 11. - 11:31:42 »
+1 Show voters
Egy szó, ami három betûbõl áll és egy felkiáltó jelbõl: szar!
Így az emberek nem értik meg minek mi a haszna/használata.
Ez a tutorial csak ide,oda rakásból áll, de hogy mit miért kell oda rakni azt nem írod le.
6. pontnál be haltam azon a néven hogy \"csináljunk\". Ez minden csak nem csinálás hanem másolás és beillesztés.

[TUT]Regisztrációs rendszer készítés
« Válasz #3 Dátum: 2011. Szeptember 11. - 14:18:35 »
0 Show voters
Idézetet írta: nagynorbi date=1315732206\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"11392\" data-ipsquote-contentclass=\"forums_Topic
\"Tedd ezt ide, csinálj egy ilyet, ezt pedig ide\"
Ebbõl a kezdõ semmit nem ért..Ez így nem leírás, vagy tutorial..Hanem csak egy Copy & Paste.
 
Egyetérek!Szégyen az ilyen!
De ha megkérdeznénk mi mit jelent,nem tudná elmondani!

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
[TUT]Regisztrációs rendszer készítés
« Válasz #4 Dátum: 2011. Szeptember 11. - 14:20:38 »
0 Show voters
Ma már megbüntettelek egyszer az ilyen stílusú leírásod miatt.

Ezt is szintén zárom, és figyelmeztetlek ezúttal +10%-al.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal