MySQL Problem

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 breadfish!


    Ich habe letztens versucht ein Selfmade anzufangen, doch es gibt schon erste Probleme....
    Als erstes Funktioniert MySQL nicht wirklich..... Alles was gespeichert wird ist bei CreateAccount.
    Ansonsten beleibt die Datenbank unverändert...
    Hinzu kommt noch ein Grafik Fehler den ich nur da habe und nirgends anders (habe mehrere gfs auf pc da ist es nicht so)
    Das sieht dann ungefähr so aus:



    Hier ist der Pastebin zu meinem Selfmade....Wäre nett wenn ihr das hier durnter berichtigen würdet und mir meine Fehler erklären könntet damit ich das auch verstehe und sie nicht weiterhin mache:


    http://pastebin.com/A3EafMQL


    L.G.
    heyho ;)


    //Edit: Mert_Coleman:


    Jo du hast recht hier der Stock CreateAccount (der funkt)


    stock CreateAccount(playerid, pass[])
    {
    new query[256],Name[MAX_PLAYER_NAME];
    new randphone = 10000 + random(89999);
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    mysql_real_escape_string(Name,Name);
    mysql_real_escape_string(pass,pass);
    format(query, sizeof(query), "INSERT INTO `accounts` (`Name`, `Passwort`, `Level`, `Health`, `Mieter`, `Haus`, `Geschlecht`, `Geld`, `Skin`) VALUES ('%s', '%s', '1', '50', '555', '555', '0', '5000', '299')", Name, pass);
    mysql_query(query);
    SpielerInfo[playerid][pHealth] = 50.0;
    SpielerInfo[playerid][pSkin] = 299;
    SpielerInfo[playerid][pGeld] = 5000;
    SpielerInfo[playerid][pNumber] = randphone;
    SpielerInfo[playerid][pMieter] = SpielerInfo[playerid][pHaus] = 555;
    SetPlayerSkin(playerid, 299);
    pMoneyH[playerid] = 5000;
    SetSpawnInfo(playerid, 0, 299, -2052.7251,458.1421,35.1719, 26.90, 0, 0, 0, 0, 0, 0 );
    return true;
    }


    Dann SavePlayer (der nicht funkt) bzw. den Wo ich den Fehler finden will weil sich in der DB nichts tut:


    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    new Float:Leben;
    SpielerInfo[playerid][pGeld] = GetPlayerMoney(playerid);
    SpielerInfo[playerid][pSkin] = GetPlayerSkin(playerid);
    SpielerInfo[playerid][pHealth] = GetPlayerHealth(playerid,Leben);
    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][pDeaths], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "Health", SpielerInfo[playerid][pHealth], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "AdminLevel", SpielerInfo[playerid][pAdmin], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Skin", SpielerInfo[playerid][pSkin], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "SupporterLevel", SpielerInfo[playerid][pSup], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Premiumrank", SpielerInfo[playerid][pPremium], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Fraktion", SpielerInfo[playerid][pFraktion], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Mieter", SpielerInfo[playerid][pMieter], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Haus", SpielerInfo[playerid][pHaus], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Geschlecht", SpielerInfo[playerid][pSex], "Name", SpielerInfo[playerid][pName]);
    }
    }
    return 1;
    }

    Einmal editiert, zuletzt von heyhooo ()

  • Ich glaube jetzt nicht,dass es an dem Script mit dem Grafik Fehler liegt.
    Zum Mysql fehler,kannst du mal die Mysql Sachen rausschreiben ?.
    Ich glaube nicht,dass jemand sich den ganzen Code durch liest.

  • Der MySQL Log (Bin noch einsteiger sehe aber da ist ne menge disabled):



    Und der Stock:
    stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Where2, Where2);
    format(query, 128, "UPDATE `%s` SET `%s` = '%d' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;

    Hoffe ihr könnt mir weiterhelfen ;)
    L.G.
    heyho ;)

  • so viele string zu verwenden führt zu laggs


    mach es so


    new query[1048];
    format(query,1048,"UPDATE .sqlname SET Level = `%s`, Where Name = `%s`,....);
    mysql_query(query);


    Pawn wäre nett wenn du mich einmal ganz in MySQL einweisen würdest
    Wie gesagt bin da noch Anfänger ;)


    Wenn du Bock hast sende mir doch deine Skype-Daten per PN oder Ts3 Daten


    L.G.
    heyho :)

    2 Mal editiert, zuletzt von heyhooo ()