Beiträge von LeonMrBonnie

    Wenn ich mit dem gleichen Namen wie er schon in der Datenbank steht connecte, wird er trotzdem eingetragen, warum?
    Eigentlich werden ja mit strexplode alle Namen die mit einem , getrennt sind einzelnt ausgeschrieben, also loop ich durch ob der Name dort schon irgendwo vorhanden ist, und wenn nicht soll der Name hinzugefügt werden.
    Der Name wird aber immer hinzugefügt..

    Kann mir jemand mit meinem Code oben helfen? Es hat sogar mal funktioniert aber hab eigentlich nichts daran geändert. :/

    Du benutzt die falsche Include Version.
    Lad dir hier: Klick
    Das win32 Paket runter, da ist auch eine Include dabei, die ziehst du dann in deinen Pawno Include Ordner, und compilest das Script einmal neu.

    if(dialogid == DIALOG_MDC){if(response == 1){switch(listitem){case 0:{ShowPlayerDialog(playerid,DIALOG_MDCCHECK,DIALOG_STYLE_INPUT,"Spieler abfragen","Gebe nun den exakten Spielernamen ein!!","Eingabe","Verlassen");}case 1:{ShowPlayerDialog(playerid,DIALOG_MDCFAHNDUNG,DIALOG_STYLE_INPUT,"Spieler Fahnden","Gebe nun den exakten Spielernamen ein!","Eingabe","Verlasen");// Hier Eventuell der RPName bzw Hitmen / FBIname ka}}}return 1;}if(dialogid == DIALOG_MDCFAHNDUNG){ShowPlayerDialog(playerid,DIALOG_MDCREASON,DIALOG_STYLE_INPUT,"Spieler fahnden","Gebe einen Grund zur Fahndung\ndes Spielers an:","Starten","Verlassen");}if(dialogid == DIALOG_MDCREASON){if(!response) return 1;for(new i = 0; i < MAX_PLAYERS; i++){if(IsPlayerConnected(i)){if(IsACop(i)){// if(sscanf(theMDCChecked[playerid],"u", pid))// GetPlayerName(theMDCChecked[playerid],giveplayers,sizeof(giveplayers));new pid = GetPVarInt(playerid,"FahndetName");// if(sscanf(pid,"u", giveplayeryo))new string62[128];format(string62, sizeof(string62), "HQ: Alle Einheiten: Reporter: %s",GetName(playerid));SendClientMessage(i, TEAM_BLUE_COLOR, string62);format(string62, sizeof(string62), "HQ: %s wird Gesucht, Verbrechen: %s",GetName(pid),inputtext);SendClientMessage(i, TEAM_BLUE_COLOR, string62);SendClientMessage(pid,-1,"du wirdst gesucht!"); // [b]Problem hierbei Message wird an PLAYERID und nicht an PID gesendet(der gesuchte)[/b]return 1;}}}return 1;}


    Problembeschreibung ist im Text markiert zu finden


    /edit 17:20 zeile 43

    Formatier das bitte mal ordentlich, sonst kann man dir schlecht helfen.

    Welches Include/Plugin benutzt du dafür denn? Welche Version?
    Sonst können wir dir schlecht helfen.


    EDIT:
    Wofür möchtest du es denn überhaupt entschlüsseln? ?(
    Um es für Login/Register abzufragen hasht du einfach die Eingabe vom Spieler auch mit MD5 und fragst sie dann halt aus der Datenbank ab, MD5 ist übrigens ziemlich unsicher. Nutze lieber SHA oder Whirlpool.

    OnPlayerConnect:

    mysql_format(handle,Query, sizeof(Query), "SELECT * FROM `multiaccounts` WHERE `IP` = '%s'", PlayerIP(playerid));
    mysql_pquery(handle,Query,"OnCheckMulti","d",playerid);


    OnCheckMulti:

    forward OnCheckMulti(playerid);
    public OnCheckMulti(playerid)
    {
    new rows,multistring[256],query[300];
    cache_get_row_count(rows);
    if(rows == 0)
    {
    mysql_format(handle,query, sizeof(query), "INSERT INTO `multiaccounts` (`IP`, `Accounts`) VALUES ('%s', '%e')", PlayerIP(playerid), GetName(playerid));
    mysql_tquery(handle,query);
    }
    else
    {
    new multis,multi[16][32],bool:found;
    cache_get_value_name(0,"Accounts",multistring);
    multis = strexplode(multi, multistring, ",");
    for(new i = 0; i < multis; i++)
    {
    if(strfind(multi[i],GetName(playerid),true) == -1) found = true;
    if(strfind(multi[i],GetName(playerid),true) != -1) found = false;
    }
    if(!found)
    {
    new name[32];
    format(name,sizeof(name),", %s",GetName(playerid));
    strcat(multistring, name);
    mysql_format(handle,query,sizeof(query),"UPDATE `multiaccounts` SET Accounts = '%s' WHERE IP = '%s'",multistring,PlayerIP(playerid));
    mysql_tquery(handle,query);
    }

    Ist noch länger, aber der Rest des Codes ist unwichtig.


    Wenn ich mit dem gleichen Namen wie er schon in der Datenbank steht connecte, wird er trotzdem eingetragen, warum?
    Eigentlich werden ja mit strexplode alle Namen die mit einem , getrennt sind einzelnt ausgeschrieben, also loop ich durch ob der Name dort schon irgendwo vorhanden ist, und wenn nicht soll der Name hinzugefügt werden.
    Der Name wird aber immer hinzugefügt..

    1. Von"cache_get_value_name(0, "name", name);" die 0 zu i ändern, sonst wird immer nur die erste Row ausgelesen.
    2. Wie hast du die Nummerierung von 1-5 denn mit den Textdraws gemacht? Du musst halt abfragen was i gerade ist, und dann eben den Namen an die Zeile i setzen.
    Also versuch mal das "TextDrawSetString(Top5_TextDraw[1], string);" in die Schleife zu machen, und das 1 zu i zu ändern. (Wenn du den Textdraw so gemacht hast das 1, Platz 1 ist und 2 Platz 2 etc.)


    Sonst musst du mir sagen wie du das gemacht hast.

    Du machst eine for Schleife die 5 mal durchloopt, also durch alle 5 Rows, während diesem Loop liest du den Namen des Spielers aus der Datenbank mit cache_get_value_name(i, "Name", name) und speicherst es.
    Dann fügst du nach der Schleife die Namen einfach in den Textdraw ein.

    Ich werd es Mal in Betracht ziehen und morgen gucke wie oder ob überhaupt ich es umsetze. Danke für die Idee.


    Da ich an dem Gamemode nichtmehr weiterarbeite, veröffentliche ich hier den Source Code: Pastebin
    Stolz kann ich darauf zwar nicht wirklich sein, aber da es das erste war, was ich mit Pawn gemacht habe, veröffentliche ich es trotzdem mal.
    Ihr könnt damit machen was ihr wollt, Credits rausnehmen etc, ist mir egal.

    Was ist denn deiner Meinung nach eine bessere Forensoftware als Wotlabs? Ich denke Mal, dass mit der Forensoftware eigentlich alle zufrieden sind.
    Und ich bin mir ziemlich sicher dass hinter den Designs ne Menge Arbeit steckt... Woher willst du das denn einschätzen? ^^