Beiträge von Speezy

    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;
    }

    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

    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.

    Ich lade es ja und lass es direkt hier ausgeben, jedoch buggt das alles in dem Format rum.

    if(SpielerInfo[playerid][sGebannt] == 1)
    {
    strdel(DialogString, 0, sizeof(DialogString));
    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"%02d.%02d.%02d - %02d:%02d:%02d Uhr", SpielerInfo[playerid][sBanAdmin], SpielerInfo[playerid][sBanGrund], SpielerInfo[playerid][sBanUhrzeit]);
    ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, ""HTML_SERVER""#SERVER_NAME": "HTML_WHITE"Information (Account gebannt)", DialogString, "Schließen", "");
    Kick(playerid);
    return 1;
    }


    & eigentlich sollte es nicht überschrieben werden, da es in der Datenbank ja auch richtig eingetragen ist. (ResetPlayer nutze ich übrigens beim Connect, nicht beim Disconnect)

    Letztes Problem für heute, 3 Variablen (Strings) werden nicht ausgelesen, was ich sehr komisch finde.

    cache_get_value_name(0, "Grund", SpielerInfo[playerid][sBanGrund]);
    cache_get_value_name(0, "Admin", SpielerInfo[playerid][sBanAdmin]);
    cache_get_value_name(0, "Uhrzeit", SpielerInfo[playerid][sBanUhrzeit]);


    Mir wird jedes mal "-" wiedergeben und habe mich also auf die Suche gemacht, wo ich das angewendet habe.
    Lediglich in der ResetPlayer Funktion, vor jedem Connect.


    Woran liegt das? :/
    format(SpielerInfo[playerid][sBanGrund], 32, "-");
    format(SpielerInfo[playerid][sBanUhrzeit], 64, "-");
    format(SpielerInfo[playerid][sBanAdmin], MAX_PLAYER_NAME+1, "-");

    Sollte an Code reichen.

    format(Uhrzeit, sizeof(Uhrzeit), "%02d.%02d.%02d - %02d:%02d:%02d Uhr", Tag, Monat, Jahr, Stunde, Minute, Sekunde);
    format(query, sizeof(query), "UPDATE `script_accounts` SET `Gebannt`='1', `Grund`='%s', `Admin`='%s', `Uhrzeit`='%s' WHERE `Name`='%s'", reason, SpielerInfo[playerid][sName], Uhrzeit, pName);
    mysql_pquery(MySQL, query);

    :)

    Code
    [23:51:32] [ERROR] error #1064 while executing query "UPDATE `script_accounts` SET `Gebannt`='1', `Grund`='NR2.', `Admin`='Juan', `Uhrzeit`='11.12.2016 - 23:51:32 Uhr' WHERE `Name`=": 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 '' at line 1

    Variable für jede Linie und dementsprechend setzten, wenn der Spieler die Linie startet.
    Im Dialog abfragen, wie groß die Variable der jeweiligen Linien sind.


    Wenn eine neue Linie gestartet wird, überprüfen ob die Variable die maximale Anzahl an Fahrern nicht überschreitet, wenn doch returnen. Sollte doch nicht so schwer sein.


    //e: Sieht jemand hier den Syntax Fehler?
    UPDATE `script_accounts` SET `Gebannt`='1', `Grund`='%s', `Admin`='%s', `Uhrzeit`='%s' WHERE `Name`='%s'

    Ich würde es auch gar nicht verkehrt finden, den Eltern irgendwie einen kleinens Wellness Programm oder änliches zu schenken.
    Lässt sich heutzutage mit dem Geld auch sicher schon machen.

    Zeitgleich wurde eine Umfrage in unserem Forum gestartet, sowie eine Anfrage für eine Mapper gestellt. (Anfrage wird in veränderter Form hier auch noch freigeschaltet)


    Umfrage zur eigenen Geldanzeige: http://virtual-rl.de/index.php…eige-textdraw-10-12-2016/
    Anfrage für den Posten als Mapper: http://virtual-rl.de/index.php…-reallife-mapper-gesucht/


    //e: Die Umfrage wurde nun auch für Gäste freigeschaltet, so dass diese abstimmen können!

    Wie schreibe ich den Befehl auf R41-2 um?

    public GetAdmins(playerid)
    {
    new string[512], adminrang, name[MAX_PLAYER_NAME], online, OnlineString[32];
    new rows = cache_num_rows();
    for(new i=0;i<rows;i++)
    {
    adminrang = cache_get_field_content_int(i, "Admin");
    cache_get_field_content(i, "Name", name, myCon, MAX_PLAYER_NAME);
    if(adminrang > 0 && adminrang < 6)
    {
    online = cache_get_field_content_int(i, "playerOnline");
    if(online == 0)OnlineString=""COLOR_HEX_RED"Offline";
    else if(online == 1)OnlineString=""COLOR_HEX_GREEN"Online";
    format(string, sizeof(string), "%s%s %s - %s\n", string, GetAdminName(adminrang), name, OnlineString);
    }
    }
    ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_LIST, "Team-Mitglieder", string, "Schließen", "");
    return 1;
    }