[MySQL] Brauche Hilfe :/ [1. Versuch mit MySQL-Scripting]

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
  • Guten Tag Leute,
    mir wurde empfohlen mit meinem Problem hier her zu kommen, na dann hoffe ich ihr könnt mir helfen :S


    Ich weiß das es vllt. viel ist bzw. es so aussieht aber ich würde ich dennoch über eure Hilfe freuen :)


    Mein Problem ist, das ich mich seit Tagen mit MySQL beschäftige, und demnach auch versucht habe damit zu skripten!
    Ich habe bis jetzt ein Registrations & Login System, eine Datenbank etc. was "funktioniert" jedoch nichts übernimmt :(


    Also hier sind die 3 Stocks: create/load/save Player


    stock CreateAccount(playerid, passwort[])
    {
    new query[256],Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    mysql_real_escape_string(Name,Name);
    mysql_real_escape_string(passwort,passwort);
    format(query, sizeof(query), "INSERT INTO Accounts (Name, Passwort) VALUES ('%s', '%s')", Name, passwort);
    mysql_query(query);
    SetPlayerColor(playerid, Zivifarbe);
    SpielerInfo[playerid][ pLevel ] = Startlevel;
    SpielerInfo[playerid][ pRegistriert] = 1;
    SpielerInfo[playerid][ pAdminlevel ] = 0;
    SpielerInfo[playerid][ pPremium ] = 0;
    SpielerInfo[playerid][ pKills ] = 0;
    SpielerInfo[playerid][ pDeaths ] = 0;
    SpielerInfo[playerid][ pSkin ] = (ZiviSkin[random(10)]);
    SpielerInfo[playerid][ pGeld ] = Startgeld;
    return 1;
    }


    stock LoadPlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    SpielerInfo[playerid][ pLevel ] = mysql_GetInt("Accounts", "Level", "Name", GetName(playerid));
    SpielerInfo[playerid][ pRegistriert ] = mysql_GetInt("Accounts", "Registriert", "Name", GetName(playerid));
    SpielerInfo[playerid][ pAdminlevel ] = mysql_GetInt("Accounts", "Adminlevel", "Name", GetName(playerid));
    SpielerInfo[playerid][ pPremium ] = mysql_GetInt("Accounts", "Premium", "Name", GetName(playerid));
    SpielerInfo[playerid][ pKills ] = mysql_GetInt("Accounts", "Kills", "Name", GetName(playerid));
    SpielerInfo[playerid][ pDeaths ] = mysql_GetInt("Accounts", "Deaths", "Name", GetName(playerid));
    SpielerInfo[playerid][ pSkin ] = mysql_GetInt("Accounts", "Skin", "Name", GetName(playerid));
    SpielerInfo[playerid][ pGeld ] = mysql_GetInt("Accounts", "Geld", "Name", GetName(playerid));


    }
    return 1;
    }


    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    mysql_SetInt("Accounts", "Level", SpielerInfo[playerid][ pLevel ], "Name", GetName(playerid));
    mysql_SetInt("Accounts", "Registriert", SpielerInfo[playerid][ pRegistriert ], "Name", GetName(playerid));
    mysql_SetInt("Accounts", "Adminlevel", SpielerInfo[playerid][ pAdminlevel ], "Name", GetName(playerid));
    mysql_SetInt("Accounts", "Premium", SpielerInfo[playerid][ pPremium ], "Name", GetName(playerid));
    mysql_SetInt("Accounts", "Kills", SpielerInfo[playerid][ pKills ], "Name", GetName(playerid));
    mysql_SetInt("Accounts", "Deaths", SpielerInfo[playerid][ pDeaths ], "Name", GetName(playerid));
    mysql_SetInt("Accounts", "Skin", SpielerInfo[playerid][ pSkin ], "Name", GetName(playerid));
    mysql_SetInt("Accounts", "Geld", SpielerInfo[playerid][ pGeld ], "Name", GetName(playerid));
    }
    return 1;
    }


    Das mit den Defines beim createn sollte normalerweise funktionieren da ich auch den spawn defined habe ^^

    #define Zivispawn_1 2484.6670,-1458.7844,24.0142 //Der Zivispawn
    #define Zivifarbe 0xFFFFFFAA //Die Zivilisten Farbe (Weiß)
    #define Startgeld 8500 //Das Anfangs Geld
    #define Startlevel 2 //Das Anfangs Level


    //Der 1. Skin den der Spieler erhalten soll
    new ZiviSkin[] =
    {
    2,
    7,
    21,
    26,
    101,
    128,
    134,
    135,
    137,
    160
    };


    Das ist unter OnGameModeInit(mit paar anderen sachen ^^)
    AddPlayerClass(3,Zivispawn_1,0,0,0,0,0,0,0);
    ConnectToDatabase...


    So aufjedenfall wird ein Account erstellt, sprich der Name und das Passwort wird gespeichert so wie der skin bei addplayerclass, der is ja nur da weil es sein muss ^^... aber eig. sollte man nen random skin kriegen :/


    Das ist die .sql Datei


    Ich hoffe der ein oder andere versteht mich und kann mir helfen :P
    Lg
    :)