Multiaccount-System funktioniert nicht.

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Ok hat teilweise geklappt, die Clientmessage wurde ausgegeben, aber ich habe jetzt mal einen 3. Account erstellt, aber der wird leider nicht ausgegeben.


    Also ich habe jetzt 3 Accounts, wenn ich /macheck verwende auf mich, kommt zwar "Pagno betreibt Multiaccounting mit lolz", aber da sollte doch noch eine Clientmessage kommen dass Pagno noch Multiaccounting mit "test" betreibt.

  • format(query, sizeof(query), "SELECT id, name FROM spieler WHERE last_ip = '%s' AND name != '%s' ORDER BY id DESC;", GetIP(pid), PlayerName(playerid));
    zu:
    format(query, sizeof(query), "SELECT id, name FROM spieler WHERE last_ip = '%s' AND name != '%s' ORDER BY id DESC;", GetIP(pid), PlayerName(pid));


    Sonst wird ja der Name des eingebenden Spielers genommen.

  • Sonst wird ja der Name des eingebenden Spielers genommen.

    Das macht ja auch durchaus Sinn, man schließt sich selbst aus der Suche aus.
    Ansonsten würdest du den zu suchenden Spieler außschließen


    @Drai lass dir mal ausgeben wie viele Zeilen wirklich gefunden werden.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Das macht ja auch durchaus Sinn, man schließt sich selbst aus der Suche aus.

    Nö, der User-Name der überprüft wird soll ausgeschlossen werden, sonst wird sein Konto selbst als Multiaccount erkannt.



    leider kommt trotzdem nur 1x Clientmessage.

    Poste bitte mal einen Screenshot deiner Datenbank zum Zeitpunkt als du den Befehl ausführst und schreibe dazu, mit welchem Benutzer du den Befehl eingibst.

  • Also geprintet wird :



    Code
    [18:41:50] [MULTIACCOUNT] Der Spieler Pagno betreibt Multiaccounting! IP: 46.5.0.248 (Übereinstimmung mit lolz)

    Datenbank Spieler Tabelle :



    Bei Pagno ( mit dem ich den Befehl ausführe, auf mich selber , sprich auf "playerid) ist ein IP-Eintrag vorhanden in der Spalte.
    Bei lolz ebenfalls der auch erkannt wird.
    Allerdings ist bei "mfg" welches auch von mir heute erstellt wurde, kein IP-Eintrag, wieso auch immer.

  • Ok hat mit manuell eintragen funktioniert.
    Ich habe mysql_SetString beim Erstellen verwendet, aber nicht beim Laden des Account ( stock LoadAccount ).


    Klappt jetzt wunderbar aber, hätte da noch eine Frage.


    Wie könnte ich dies in einem Dialog in einer Liste darstellen, ist mir etwas zu kompliziert.

  • ocmd:macheck(playerid, params[])
    {
    if(!IsAdmin(playerid,1))return noaccess
    new pid;
    if(sscanf(params,"u",pid))return SendClientMessage(playerid,WEIß,"Verwendung: /macheck (Player/ID)");
    if(!PlayerOnline(pid))return SendClientMessage(playerid, GRAU, "Der Spieler ist nicht online!");

    new bool:findings;
    new huan[512];


    //Check für offline accounts
    new query[256];
    format(query, sizeof(query), "SELECT id, name FROM spieler WHERE last_ip = '%s' AND name != '%s' ORDER BY id DESC;", GetIP(pid), PlayerName(pid));
    mysql_query(query);
    mysql_store_result();
    new rows = mysql_num_rows(), name[MAX_PLAYER_NAME];
    format(huan,sizeof(huan),"[MULTIACCOUNT] Der Spieler %s betreibt Multiaccounting!\nIP: %s\nÜbereinstimmung mit:", PlayerName(pid), GetIP(pid));
    for(new i=0; i<rows; i++)
    {
    mysql_retrieve_row();
    /*
    mysql_fetch_field_row(huan,"id"); id = strval(huan);
    */
    mysql_fetch_field_row(name,"name");
    format(huan,sizeof(huan),"%s - %s\n", huan, name);
    findings=true;
    }
    mysql_free_result();
    print(huan);
    ShowPlayerDialog(playerid, 1337, DIALOG_STYLE_MSGBOX, "Multiaccounting", huan, "Ok", "");
    if(!findings)return SendClientMessage(playerid, GRAU, "Keine Multiaccounts gefunden bzw. vorhanden.");
    return 1;
    }