Daten werden nicht richtig ausgelesen

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,


    leider muss ich auf ein eigenes Thema zurückgreifen, da mir gestern in der Scripting Base nicht geholfen werden konnte.
    Ich habe 4 Spalten, Gebannt, Grund, Admin, Uhrzeit. Wobei erstes ein Integer ist und die letzten drei Strings.


    Ich möchte diese gerne schon vor dem laden des Spielers auslesen, also habe ich mir eine kleine Funktion gebastelt.
    Welche die jeweiligen Werte ausliest, dies funktioniert jedoch nicht so, wie es soll. (Nutze MySQL R41-2)



    Ich lese es wie folgt aus:

    new banned, Admin[32], Grund[32], Uhrzeit[64];
    cache_get_value_name_int(0, "Gebannt", banned);
    cache_get_value_name(0, "Admin", Admin);
    cache_get_value_name(0, "Grund", Grund);
    cache_get_value_name(0, "Uhrzeit", Uhrzeit);

    Der Eintrag Gebannt wird beispielweise richtig ausgelesen, die Strings jedoch nicht.


    Ich wollte es dementsprechend hier wiedergeben, jedoch bleiben alle 3 Strings leer.
    format(DialogString, sizeof(DialogString), ""HTML_WHITE"Dieser Account wurde von unserem Server gebannt.\nSolltest du der Meinung sein, dass dein Account zu Unrecht gebannt wurde, erstelle bitte einen Antrag im Forum.\n"HTML_SERVER"Ausführendes Team-Mitglied: "HTML_WHITE"%s\n"HTML_SERVER"Grund: "HTML_WHITE"%s\n"HTML_SERVER"Uhrzeit: "HTML_WHITE"%s Uhr", Admin, Grund, Uhrzeit);


    Die Daten sind in der MySQL Datenbank richtig eingetragen, der Spieler hätte einen Grund, ein ausführendes Team-Mitglied und eine Uhrzeit.

  • Felder existieren aber in der Datenbank.

    Code
    [17:37:18] [ERROR] cache_get_value_name: field 'Admin' not found
    [17:37:18] [ERROR] cache_get_value_name: field 'Grund' not found
    [17:37:18] [ERROR] cache_get_value_name: field 'Uhrzeit' not found
    [17:12:52] [ERROR] error #1064 while executing query "SELECT `Gebannt FROM `script_accounts` WHERE `Name` = 'Juan' LIMIT 1": You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '` WHERE `Name` = 'Juan' LIMIT 1' at line 1
  • Klappt, letztes Problem zu diesem System.


    TImeBan ist auf 1, dennoch printet er nur bis Test. Zudem stimmt da was mit gettime nicht, da ich ihn vorhin 5 Minuten gebannt hatte und er dennoch drauf konnte, da angeblich "Clear" schon im Gange war.

    public PlayerBanned(playerid)
    {
    new banned, Admin[32], Grund[32], Uhrzeit[64], timebanned;
    cache_get_value_name_int(0, "Gebannt", banned);
    cache_get_value_name(0, "Admin", Admin);
    cache_get_value_name(0, "Grund", Grund);
    cache_get_value_name(0, "Uhrzeit", Uhrzeit);
    cache_get_value_name_int(0, "Timeban", timebanned);
    cache_get_value_name_int(0, "BanTime", SpielerInfo[playerid][sBanTime]);
    if(banned == 0 && timebanned == 0)
    {
    switch(ServerLogin)
    {
    case 0:
    {
    // ... <- Funktioniert alles
    }
    case 1:
    {
    // ... <- Funktioniert alles
    }
    }
    }
    else
    {
    print("Test");
    if(banned == 1)
    {
    // ... <- Funktioniert alles
    return 1;
    }
    if(timebanned == 1)
    {
    if(gettime() > SpielerInfo[playerid][sBanTime])
    {
    printf("%d", SpielerInfo[playerid][sBanTime]);
    SpielerInfo[playerid][sTimeban] = 0;
    SpielerInfo[playerid][sBanTime] = -1;
    format(SpielerInfo[playerid][sBanGrund], 32, "-");
    format(SpielerInfo[playerid][sBanAdmin], MAX_PLAYER_NAME, "-");
    print("Clear");
    }
    else
    {
    new pJahr, pMonat, pTag, pStunde, pMinute, pSekunde;
    TimestampToDate(SpielerInfo[playerid][sBanTime], pJahr, pMonat, pTag, pStunde, pMinute, pSekunde, 1, 0);
    strdel(DialogString, 0, sizeof(DialogString));
    format(DialogString, sizeof(DialogString), ""HTML_WHITE"Dieser Account wurde von unserem Server auf Zeit gebannt.\nSolltest du der Meinung sein, dass dein Account zu Unrecht gebannt wurde, erstelle bitte einen Antrag im Forum.\n"HTML_SERVER"Ausführendes Team-Mitglied: "HTML_WHITE"%s\n"HTML_SERVER"Grund: "HTML_WHITE"%s\n", Admin, Grund);
    format(DialogString, sizeof(DialogString),"%s"HTML_SERVER"Uhrzeit: "HTML_WHITE"%02d.%02d.%02d - %02d:%02d:%02d Uhr\n"HTML_SERVER"Gebannt bis: "HTML_WHITE"%02d.%02d.%02d - %02d:%02d:%02d Uhr", Uhrzeit, pTag, pMonat, pJahr, pStunde, pMinute, pSekunde);
    ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, ""HTML_SERVER""#SERVER_NAME": "HTML_WHITE"Information (Account zeitweise gebannt)", DialogString, "Schließen", "");
    print("Dialog");
    return 1;
    }
    }
    }
    return 1;
    }

  • format(DialogString, sizeof(DialogString),"%s"HTML_SERVER"Uhrzeit: "HTML_WHITE"%s Uhr\n"HTML_SERVER"Gebannt bis: "HTML_WHITE"%s Uhr", DialogString, Uhrzeit, TimestampToDate(SpielerInfo[playerid][sBanTime], pJahr, pMonat, pTag, pStunde, pMinute, pSekunde, 1, 0));

  • format(DialogString, sizeof(DialogString),"%s"HTML_SERVER"Uhrzeit: "HTML_WHITE"%s Uhr\n"HTML_SERVER"Gebannt bis: "HTML_WHITE"%s Uhr", DialogString, Uhrzeit, TimestampToDate(SpielerInfo[playerid][sBanTime], pJahr, pMonat, pTag, pStunde, pMinute, pSekunde, 1, 0));
    zu:
    TimestampToDate(SpielerInfo[playerid][sBanTime], pJahr, pMonat, pTag, pStunde, pMinute, pSekunde, 1, 0);
    format(DialogString, sizeof(DialogString),"%s"HTML_SERVER"Uhrzeit: "HTML_WHITE"%s Uhr\n"HTML_SERVER"Gebannt bis: "HTML_WHITE"%02d.%02d.%02d - %02d:%02d:%02d Uhr", DialogString, Uhrzeit, pTag, pMonat, pJahr, pStunde, pMinute, pSekunde);

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Jetzt wieder beim Punkt, dass Timebanned auf 1 ist, aber er folgenden Code gar nicht durchgeht.

    if(timebanned == 1)
    {
    if(gettime() > SpielerInfo[playerid][sBanTime])
    {
    ShowLogin(playerid);
    }
    else
    {
    new pJahr, pMonat, pTag, pStunde, pMinute, pSekunde;
    TimestampToDate(SpielerInfo[playerid][sBanTime], pJahr, pMonat, pTag, pStunde, pMinute, pSekunde, 1, 0);
    strdel(DialogString, 0, sizeof(DialogString));
    format(DialogString, sizeof(DialogString), ""HTML_WHITE"Dieser Account wurde von unserem Server auf Zeit gebannt.\nSolltest du der Meinung sein, dass dein Account zu Unrecht gebannt wurde, erstelle bitte einen Antrag im Forum.\n"HTML_SERVER"Ausführendes Team-Mitglied: "HTML_WHITE"%s\n"HTML_SERVER"Grund: "HTML_WHITE"%s\n", Admin, Grund);
    format(DialogString, sizeof(DialogString),"%s"HTML_SERVER"Uhrzeit: "HTML_WHITE"%s Uhr\n"HTML_SERVER"Gebannt bis: "HTML_WHITE"%02d.%02d.%02d - %02d:%02d:%02d Uhr", DialogString, Uhrzeit, pTag, pMonat, pJahr, pStunde, pMinute, pSekunde);
    ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, ""HTML_SERVER""#SERVER_NAME": "HTML_WHITE"Information (Account zeitweise gebannt)", DialogString, "Schließen", "");
    print("Dialog");
    return 1;
    }
    }