Szerző Téma: dini rendszerből MySQL  (Megtekintve 913 alkalommal)

dini rendszerből MySQL
« Dátum: 2016. január 28. - 18:54:53 »
0 Show voters
Sziasztok! Elhatároztam magam, hogy dini helyett inkább mysql-es módot írok, DE egy probléma van, egyáltalán nem értek hozzá így segítségeteket kérném tőletek!
Szóval, itt egy belépés, és egy regisztráció rendszer, ezt át kéne írni MySQL-sre.
Itt is lenne az egész kód:
 

if(dialogid == regisztracio)
{
    if(response)
    {
        if(!Regged[playerid])
        {
        new file[256];
        new pip[32];
        GetPlayerIp(playerid,pip,sizeof(pip));
        if(strlen(inputtext) == 0)
        {
            ShowPlayerDialog(playerid,regisztracio,DIALOG_STYLE_INPUT,\"Regisztráció\", \"Add meg a jelszavad!\", \"Mehet\", \"Mégse\");
            return 0;
        }
        format(file,sizeof(file),\"/Karakterek/%s.ini\",nev);
        if(!fexist(file))
        {
            dini_Create(file);
            dini_IntSet(file,\"Antibug\",0);
            dini_Set(file,\"IP\",pip);
            dini_IntSet(file,\"Jelszo\",udb_hash(inputtext));
            dini_IntSet(file,\"Admin\",0);
            dini_IntSet(file,\"Moderator\",0);
            dini_IntSet(file,\"Frakcio\",0);
            dini_IntSet(file,\"Frakcioleader\",0);
            dini_IntSet(file,\"TEKleader\",0);
            dini_IntSet(file,\"Rang\",0);
            dini_IntSet(file,\"Munka\",0);
            dini_IntSet(file,\"Penz\",0);
            dini_IntSet(file,\"Szint\",0);
            dini_IntSet(file,\"Civilruha\",0);
            dini_IntSet(file,\"Munkaruha\",0);
            dini_IntSet(file,\"Banned\",0);
            dini_IntSet(file,\"Muted\",0);
            dini_IntSet(file,\"Warn\",0);
            dini_IntSet(file,\"Korhaz\",0);
            dini_FloatSet(file,\"PosX\",1685.5725);
            dini_FloatSet(file,\"PosY\",-2331.7192);
            dini_FloatSet(file,\"PosZ\",13.5469);
            dini_IntSet(file,\"Int\",0);
            dini_FloatSet(file,\"MarkPosX\",0);
            dini_FloatSet(file,\"MarkPosY\",0);
            dini_FloatSet(file,\"MarkPosZ\",0);
            dini_IntSet(file,\"MarkInt\",0);
            ShowPlayerDialog(playerid,bejelentkezes,DIALOG_STYLE_INPUT,\"Bejelentkezés\", \"Add meg a jelszavad!\", \"Mehet\", \"Mégse\");
         getdate(ev,honap,nap);
         gettime(ora,perc,masodperc);
            format(logstring,sizeof(logstring),\"[%d-%d-%d_%d:%d:%d] %s regisztrált a szerverre\",ev,honap,nap,ora,perc,masodperc,nev);
         SzerverLog(logstring);
        }
        else ShowPlayerDialog(playerid,bejelentkezes,DIALOG_STYLE_INPUT,\"Bejelentkezés\", \"Add meg a jelszavad!\", \"Mehet\", \"Mégse\");
   }
   else ShowPlayerDialog(playerid,bejelentkezes,DIALOG_STYLE_INPUT,\"Bejelentkezés\", \"Add meg a jelszavad!\", \"Mehet\", \"Mégse\");
    }
}
if(dialogid == bejelentkezes)
{
    if(response)
    {
        if(Regged[playerid])
        {
            new file[128];
        if(strlen(inputtext) == 0)
        {
            ShowPlayerDialog(playerid,bejelentkezes,DIALOG_STYLE_INPUT,\"Bejelentkezés\", \"Add meg a jelszavad!\", \"Mehet\", \"Mégse\");
            return 0;
        }
                if(fexist(file))
        {
            new jelszo = dini_Int(file, \"Jelszo\");
            if(udb_hash(inputtext) == jelszo)
            {
                      Logged[playerid] = 1;
                       PlayerInfo[playerid][Admin] = dini_Int(file,\"Admin\");
                       PlayerInfo[playerid][Moderator] = dini_Int(file,\"Moderator\");
                       PlayerInfo[playerid][Frakcio] = dini_Int(file,\"Frakcio\");
                       PlayerInfo[playerid][Frakcioleader] = dini_Int(file,\"Frakcioleader\");
                       PlayerInfo[playerid][TEKleader] = dini_Int(file,\"TEKleader\");
                       PlayerInfo[playerid][Rang] = dini_Int(file,\"Rang\");
                       PlayerInfo[playerid][Munka] = dini_Int(file,\"Munka\");
                       PlayerInfo[playerid][Penz] = dini_Int(file,\"Penz\");
                       PlayerInfo[playerid][szint] = dini_Int(file,\"Szint\");
                       PlayerInfo[playerid][Civilruha] = dini_Int(file,\"Civilruha\");
                       PlayerInfo[playerid][Munkaruha] = dini_Int(file,\"Munkaruha\");
                       PlayerInfo[playerid][banned] = dini_Int(file,\"Banned\");
                       PlayerInfo[playerid][Muted] = dini_Int(file,\"Muted\");
                       PlayerInfo[playerid][Warn] = dini_Int(file,\"Warn\");
                       PlayerInfo[playerid][Korhaz] = dini_Int(file,\"Korhaz\");
                       PlayerInfo[playerid][PosX] = dini_Float(file,\"PosX\");
                       PlayerInfo[playerid][PosY] = dini_Float(file,\"PosY\");
                       PlayerInfo[playerid][PosZ] = dini_Float(file,\"PosZ\");
                       PlayerInfo[playerid][int] = dini_Int(file,\"Int\");
                       PlayerInfo[playerid][MarkPosX] = dini_Float(file,\"MarkPosX\");
                       PlayerInfo[playerid][MarkPosY] = dini_Float(file,\"MarkPosY\");
                       PlayerInfo[playerid][MarkPosZ] = dini_Float(file,\"MarkPosZ\");
                       PlayerInfo[playerid][MarkInt] = dini_Int(file,\"MarkInt\");
            SpawnPlayer(playerid);
            SendClientMessage(playerid,GREEN,\"(( Sikeresen bejelentkeztél! ))\");
            SaveTimer[playerid] = SetTimerEx(\"SaveAccounts\",900000,true,\"i\",playerid);
                  }
            else
                     {
                      SendClientMessage(playerid,DARKRED,\"(( Hibás jelszó! ))\");
            getdate(ev,honap,nap);
            gettime(ora,perc,masodperc);
                     format(logstring,sizeof(logstring),\"[%d-%d-%d_%d:%d:%d] %s ki lett kickelve. Oka: Hibás jelszót adott meg!\",ev,honap,nap,ora,perc,masodperc,nev);
            SzerverLog(logstring);
                      TimeKickMe(playerid);
            }
      }
      else ShowPlayerDialog(playerid,regisztracio,DIALOG_STYLE_INPUT,\"Regisztráció\", \"Add meg a jelszavad!\", \"Mehet\", \"Mégse\");
        }
    }
    else Kick(playerid);
}

ᗩωєѕσмє

  • Vendég
dini rendszerből MySQL
« Válasz #1 Dátum: 2016. január 28. - 19:04:12 »
0 Show voters
Szerintem jobban jársz, ha letöltesz egy már kész regisztrációs mysql rendszert.
Ezekhez még el kell készíteni a táblákat, ami azért nem lenne kis idő.
Itt, illetve az angol fórumon is találsz publikált mysql regisztráció/bejelentkező rendszert.
Vagy tanulmányozd még egy kicsit a mysql-t, ha nem értesz hozzá, aztán próbáld meg.
Példaként ajánlanám ezt.: (( https://sampforum.hu/index.php?topic=53610.0 ))

dini rendszerből MySQL
« Válasz #2 Dátum: 2016. január 28. - 20:04:16 »
0 Show voters
Hmm... Ezt még nem is láttam! Köszi szépen hasznos, de nincs leírva mit csináljak ha a mysql_format sor túl hosszú :S
Itt lenne a sor:
 

mysql_format(mysqlkapcsolat,query,384,\"UPDATE Karakterek SET Admin=\'%d\',Moderator=\'%d\',Frakcio=\'%d\',Frakcioleader=\'%d\',Rang=\'%d\',Munka=\'%d\',Penz=\'%d\',Szint=\'%d\',Civilruha=\'%d\',Munkaruha=\'%d\',Banned=\'%d,Muted=\'%d\',Warn=\'%d\',Korhaz=\'%d\',PosX=\'%f\',PosY=\'%f\',PosZ=\'%f\',PosInt=\'%d\',MarkPosX=\'%f\',MarkPosY=\'%f\',MarkPosZ=\'%f\',MarkPosInt=\'%d\' WHERE Nev=\'%s\'\",PlayerInfo[playerid][Admin],PlayerInfo[playerid][Moderator],PlayerInfo[playerid][Frakcio],PlayerInfo[playerid][Frakcioleader],PlayerInfo[playerid][Rang],PlayerInfo[playerid][Munka],PlayerInfo[playerid][Penz],PlayerInfo[playerid][Civilruha],PlayerInfo[playerid][Munkaruha],PlayerInfo[playerid][banned],PlayerInfo[playerid][Muted],PlayerInfo[playerid][Warn],PlayerInfo[playerid][Korhaz],PlayerInfo[playerid][PosX],PlayerInfo[playerid][PosY],PlayerInfo[playerid][PosZ],PlayerInfo[playerid][PosInt],PlayerInfo[playerid][MarkPosX],PlayerInfo[playerid][MarkPosY],PlayerInfo[playerid][MarkPosZ],PlayerInfo[playerid][MarkPosInt],PlayerInfo[playerid][Nev]);

Nem elérhető BVZS

  • 487
    • Profil megtekintése
dini rendszerből MySQL
« Válasz #3 Dátum: 2016. január 28. - 20:08:09 »
0 Show voters
Csináld több formattal

dini rendszerből MySQL
« Válasz #4 Dátum: 2016. január 28. - 20:27:00 »
0 Show voters
Átírtam ilyenre, kicsit egyszerűbbnek tűnt.
Esetleg le bírnád írni hogyan csináljam több formattal? Még dinivel sosem kellett, meg amúgy se és így nem tudom.
 

format(query,sizeof(query),\"INSERT INTO Karakterek(Nev,Admin,Moderator,Frakcio,Frakcioleader,Rang,Munka,Penz,Szint,Civilruha,Munkaruha,Banned,Muted,Warn,Korhaz,PosX,PosY,PosZ,PosInt,MarkPosX,MarkPosY,MarkPosZ,MarkInt) VALUES (\'%s\',%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%f,%f,%f,%d,%f,%f,%f,%d)\",PlayerInfo[playerid][Nev],PlayerInfo[playerid][Admin],PlayerInfo[playerid][Moderator],PlayerInfo[playerid][Frakcio],PlayerInfo[playerid][Frakcioleader],PlayerInfo[playerid][Rang],PlayerInfo[playerid][Munka],PlayerInfo[playerid][Penz],PlayerInfo[playerid][Civilruha],PlayerInfo[playerid][Munkaruha],PlayerInfo[playerid][banned],PlayerInfo[playerid][Muted],PlayerInfo[playerid][Warn],PlayerInfo[playerid][Korhaz],PlayerInfo[playerid][PosX],PlayerInfo[playerid][PosY],PlayerInfo[playerid][PosZ],PlayerInfo[playerid][PosInt],PlayerInfo[playerid][MarkPosX],PlayerInfo[playerid][MarkPosY],PlayerInfo[playerid][MarkPosZ],PlayerInfo[playerid][MarkPosInt]);

 
Na mind1, ahogy végígnéztem jobban ezt a tutorialt és még pár mysql-es módot úgy döntöttem maradok a dininél, most az az 1-2 opció amivel többet tud a mysql nem érdemes szarakodni vele( kettő pozitív véleményem van MySQL-ről, hogy offline embereket és le lehet vele kérdezni, illetve weboldalra beilleszteni a kódot ). MySQL ezerszel bonyolultabb mint a dini.. :S
Köszi szépen mindenkinek akik segítettek illetve próbáltak segíteni!
« Utoljára szerkesztve: 2016. január 28. - 20:45:52 írta Zippanto »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal