MySQL (Installation, Zugriff, Einstellungen, Login & Register Beispiel)

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo..


    Habe nun ein Anderes System gefunden...


    Hier ist der stock
    stock isPlayerAnAdmin(playerid,rang)
    {
    if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
    return 0;
    }


    /setadmin


    if(strcmp(cmd, "/setadmin", true) == 0)
    {
    if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
    new pID, rank;
    if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,ROT,"/setadmin [spieler] [level]");
    if(rank<1||rank>5)return SendClientMessage(playerid,ROT,"Bitte gültigen Rang angeben.");
    SetPVarInt(pID,"Adminlevel",rank);
    SpielerSpeichern(pID);
    SendClientMessageToAll(BLAU,"Es wurde jemand zu Admin gemacht.");
    return 1;
    }


    wie müsste ich es umschreiben auf mysql?


    kann mir einer dass erklären


    lg Marci

  • Was willst du denn da ändern? MySQL wird, wie jede andere speichermethode, nur zum speichern benutzt. Also im idealfall beim connecten die sachen aus der DB auslesen, und beim verlassen des servers wieder speichern.

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • Frage:


    Nehmen wir an, es gibt den User


    Peter
    Peter1


    Peter loggt sich ein


    wird dann bei der Funktoin CheckAccount


    2 wiedergeben, da es 2 Peter gibt? bzw. Wenn ich jemand z.B. Bannen will, wenn er nicht online ist, ich möchte Peter bannen, wird dann bei der Funktion auch Peter1 aufgerufen?


    Oder nur genau der eingegebene Name?

  • Bei mir Funktioniert es einwandfrei :)
    Sehr Gutes TuT
    Danke Maddin

  • BasdiDerGamer:
    Vielen dank :)


    [D.S.Z]Cody09:
    Das sollte keine probleme geben da nur Exakt das aufgerufen wird. Man kann es aber auch so machen das ähnliche namen aufgerufen werden.
    mysql_query("SELECT * FROM accounts WHERE Name LIKE 'Peter'");
    Würde z.b alles aus der tabelle accounts holen, wo der Name so ähnlich wie 'Peter' ist. Also sowohl bei 'Peter', also auch bei 'Peter1' oder 'Peter2'.

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • Hey Leute, ich habe Los Angeles Reallife 4.6 Edit


    da stehen bei pInfo über 141 dinger


    Das ist total viel bei SavePlayer und LoadPlayer hinzuschreiben
    Außerdem komm ich net ganz damit klar, was beim reg und login hin muss.


    Wäre schön, wenn sich einer diesen GameMode downloadet, dort MySQL reinmacht,
    das mit .ini überall deaktiviert, und es mir sendet.


    Würde mich freuen wenn mir einer hilft!
    ICQ:
    446227755


    PS: Gegenleistung(GGL.):
    1337 Auf meinem Server.
    ein /* */ oder // Im Script an der Stelle.
    Beim Einloggen immer ein:
    SendClientMessage(playerid,COLOR_WHITE,"Danke an 'Der Name des Helfers' für diese MySQL Stelle");
    für 4 Monate.
    Eine GGL. deiner Wahl (Nichts mit Geld, und wird erst abgesprochen)


    PS: Hier der Link zum GameMode:
    [ GAMEMODE ] Los Angeles Reallife [ v4.6 ]


    //EDIT Beschreibung + GGl. geändert.
    //EDIT Link zum GameMode hinzugefügt.


    MfG
    WoGDM

    Einmal editiert, zuletzt von WoGDM () aus folgendem Grund: Beschreibung + GGl. geändert. Link zum GameMode hinzugefügt.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Hallöchen Maddin, und die ganzen anderen :b


    Also ich habe nun versucht ein Vehiclesystem zu erstellen, klappt bis jetzt auch wunderbar, jedoch habe ich gemerkt das bei den Spielerdaten als Name = pName eingesetzt wird. Was soll ich jedoch bei dem Fahrzeugsystem einbauen ?


    SpielerInfo[playerid][pLeader] = mysql_GetInt("wcf1_user", "leader", "Name", SpielerInfo[playerid][pName]);



    AutoInfo[i][vX] = mysql_GetInt("Autos", "vX", "vID", AutoInfo[i][vID]);



    Jetzt habe ich dort zwar vID stehen, jedoch habe ich vID nichts zugwiesen wie soll ich das dann regeln?


    Edit: Fail gerade gemerkt das ich vorher schon einen Beitrag Hatte, sorry :/


    Nunja, wäre extrem geil wenn du irgendwie noch ein kleines Tut für ein Mysql Vehicle System oder so aufbaust, weil wenn du dieses hast, dann sollte man eigentlich ein Haussystem auch verstehen :b Ich danke dir, ob dus machst oder nicht ist dir überlassen ^^

    Einmal editiert, zuletzt von xivo ()

  • Moin,


    Ich bastell gerade an einem Bann System..


    Hier ist der cmd


    ocmd:ban(playerid,params[])
    {
    new name1[MAX_PLAYER_NAME];
    new name2[MAX_PLAYER_NAME];
    if(SpielerInfo[playerid][pAdminlevel]>=2)
    {
    new pID, reason[128], string[128];
    GetPlayerName(playerid,name1,sizeof(name1));
    GetPlayerName(pID,name2,sizeof(name2));
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid, COLOR_GRAD2, "/ban [ID/NAME] [GRUND]");
    format(string,sizeof(string),"AdmCmd: Spieler %s wurde von Admin %s gebannt. Grund: %s",name1,name2,reason);
    SendClientMessageToAll(COLOR_RED2,string);
    SpielerInfo[pID][pBanned] = 1;
    Ban(pID);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD2,"Du bist kein Admin!");
    }
    return 1;
    }


    Hier die Abfrage


    new string2[128];
    new playername2[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername2, sizeof(playername2));
    if(SpielerInfo[playerid][pBanned] == 1) //autoban
    {
    format(string2,sizeof(string2)," %s versucht mit seinem gebannten Account online zu kommen und wurde gekickt!",playername2);
    ABroadCast(COLOR_LIGHTRED,string2,1);
    SetPlayerPos(playerid,1137.1897,-1455.0825,15.7969);
    SetPlayerCameraPos(playerid, 1137.1897,-1455.0825,15.7969);
    SetPlayerCameraLookAt(playerid, 1127.6664,-1483.0823,22.7690);
    SetPlayerInterior(playerid, 0);
    SetPlayerVirtualWorld(playerid, 0);
    SendClientMessage(playerid,COLOR_RED," ");
    SendClientMessage(playerid,COLOR_RED," ");
    SendClientMessage(playerid,COLOR_RED," ");
    SendClientMessage(playerid,COLOR_RED," ");
    SendClientMessage(playerid,COLOR_RED," ");
    SendClientMessage(playerid,COLOR_RED," ");
    SendClientMessage(playerid,COLOR_RED," ");
    SendClientMessage(playerid,COLOR_RED," ");
    SendClientMessage(playerid,COLOR_RED," ");
    SendClientMessage(playerid,COLOR_RED," ");
    SendClientMessage(playerid,COLOR_RED," Dein Account ist gebannt! Mach dir mal Gedanken, warum...");
    SendClientMessage(playerid,COLOR_RED," Falls dies ein Fehlbann sein sollte, stelle einen Enbannungs Antrag.");
    SendClientMessage(playerid,COLOR_RED," Anträge bitte ins Forum posten. www.German-StreetZ.de.pn");
    SendClientMessage(playerid,COLOR_RED," ");
    SendClientMessage(playerid,COLOR_RED," ");
    Kick(playerid);
    return 1;
    }


    Und hier der Screen von mysql


    so mein Problemm..


    wenn ich /ban eingebe kommt immer "/ban: Du bist kein Admin" obwohl ich Level 5 Admin bin.
    wenn ich es manuel auf 1 Stelle und connecte kann ich mich immer noch einloggen und wenn ich wieder Dissconnecte ist bei Banned = -1


    Was mache ich falsch?



    lg Marci

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen