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
  • Ich habe oben #include <a_mysql> stehen. Kann es daran liegen das ich mit der Version 0.3e RC5 Scripte??

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • er hatte die falsche include jetzt hat er die richtige

  • Ich habe ein Problem, alles funktioniert. Keine Errors oder sonstiges, aber wenn ich auf den Server connecte und mein Passwort eingebe.
    Danach werde ich gekickt, aber warum?


    EDIT: Habs geschafft.

    Einmal editiert, zuletzt von BlueFox ()

  • Hei,
    habe mal ne Frage wie das nun mit dem Speichern der Position ist.


    Also bei mir siehts momentan so aus:


    enum SpielerDaten
    {
    pName[MAX_PLAYER_NAME],
    pLevel,
    pGeld,
    pKills,
    pTode,
    pInterior,
    Float:pHealth,
    Float:Pos_X,
    Float:Pos_Y,
    Float:Pos_Z
    }



    stock LoadPlayer(playerid)
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
    SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pGeld] = mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pKills] = mysql_GetInt("accounts", "Kills", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pTode] = mysql_GetInt("accounts", "Tode", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][Pos_X] = mysql_GetFloat("accounts", "XPos", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][Pos_Y] = mysql_GetFloat("accounts", "YPos", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][Pos_Z] = mysql_GetFloat("accounts", "ZPos", "Name", SpielerInfo[playerid][pName]);
    }
    return 1;
    }
    stock SavePlayer(playerid)
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    mysql_SetInt("accounts", "Level", SpielerInfo[playerid][pLevel], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Geld", SpielerInfo[playerid][pGeld], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Kills", SpielerInfo[playerid][pKills], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Tode", SpielerInfo[playerid][pTode], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "Health", SpielerInfo[playerid][pHealth], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "XPos", x, "Name", SpielerInfo[playerid][Pos_X], "Name",SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "YPos", y, "Name", SpielerInfo[playerid][Pos_Y], "Name",SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "ZPos", z, "Name", SpielerInfo[playerid][Pos_Z], "Name",SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Interior", SpielerInfo[playerid][pInterior], "Name", SpielerInfo[playerid][pName]);
    print("gespeichert");

    }
    }
    return 1;







    Meine Tabelle schaut so aus:

    Einmal editiert, zuletzt von User961 ()

  • Es wäre schön, wenn jemand mal ein Tutorial machen könnte, wie man ein GF auf MySQL umschreibt :love: :love:

  • Nun eine Frage,
    Wie lasse ich SavePlayer speichern ?
    Also das Script muss ja wissen, was es Abspeichern muss,


    Nur wie mache ich das ?


    Denn ich muss ja Irgendswie machen


    GetPlayerMoney(playerid, SpielerInfo[playerid][pGeld]);


    Oder wie mache ich das, denn ich muss das mit den hier ganzen dingern machen :


    Stahlbau Azubi deswegen kaum Aktiv

  • Genau diese Funktionen hatte ich doch auch mal released ?
    Allerdings würde ich die mysql_CheckAccount Funktion raus schmeißen und ein Query und if(mysql_retrieve_row()) benutzen da dies Bug Sicherer ist.
    In meinem alten Thread hatten sich nämlich einige User drüber beschwerrt das die CheckAccount Funktion spinnen soll.

    RFT

  • Hallo habe auch dasselbe Problem wie einige andere hier...immer kommt Server closed connection.


    Die Daten werden soweit alle richtig gespeichert und auch ausgelesen, denn mein Account wird ja gefunden.


    Server closed connection kommt erst nachdem ich auf enter drücke.


    PW hat nur ein zeichen.


    Hier ist der komplette code: http://pastebin.com/5Ng9dWud


    Die defines für Passwort habe ich natürlioch aus datenschutz rausgenommen, danke schonmal im Vorraus MfG Kloppo

  • C:\Users\Simon\Desktop\Reallife\gamemodes\Selfmade.pwn(403) : error 017: undefined symbol "mysql_query"C:\Users\Simon\Desktop\Reallife\gamemodes\Selfmade.pwn(417) : error 017: undefined symbol "mysql_query"C:\Users\Simon\Desktop\Reallife\gamemodes\Selfmade.pwn(426) : error 017: undefined symbol "mysql_query"C:\Users\Simon\Desktop\Reallife\gamemodes\Selfmade.pwn(455) : error 017: undefined symbol "mysql_query"C:\Users\Simon\Desktop\Reallife\gamemodes\Selfmade.pwn(457) : error 017: undefined symbol "mysql_fetch_int"C:\Users\Simon\Desktop\Reallife\gamemodes\Selfmade.pwn(516) : error 017: undefined symbol "mysql_query"Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    6 Errors.


    Ist aber im Include mit drin wiso kommt das?


    EDIT: Geregelt! An Alle die das Problem haben ladet euch das R5 und nicht das R7 Include runter!

    Einmal editiert, zuletzt von Simon. ()