Beiträge von Jeffry

    Ahja, na dann:
    switch(dialogid)
    {
    case DIALOG_REGISTER:
    {
    if(response)
    {
    if(strlen(inputtext) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Regestration","Datenbank: Das angegebene Passwort ist zu kurz!","Register","Abbrechen");
    return 1;
    }
    else
    {
    CreateAccount(playerid, inputtext);
    SetPVarInt(playerid,"Eingeloggt",1);
    SpawnPlayer(playerid);
    SetSpawnInfo(playerid, 0, 0, -1982.5010,140.7040,27.6875,89.0363, 0, 0, 0, 0, 0, 0 );
    return 1;
    }
    }
    else
    {
    Kick(playerid);
    }
    }
    case DIALOG_LOGIN:
    {
    if(response)
    {
    if(strlen(inputtext) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Einloggen","Datenbank: Das angegebene Passwort ist falsch!","Login","Abbrechen");
    return 1;
    }
    else
    {
    new PlayerName[MAX_PLAYER_NAME], query[256];
    GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
    mysql_format(handle, query, sizeof(query), "SELECT * FROM accounts WHERE Name = '%e' AND Passwort = '%e'", PlayerName, inputtext);
    mysql_tquery(handle, query, "CheckPassword", "d", playerid);
    }
    }
    else
    {
    Kick(playerid);
    }
    }
    }

    Dann sollte das Login klappen.


    Zwecks dem Speichern:
    Du löschst zuerst die PVar und fragst dann ab ob sie 1 ist, dann kann nicht gehen. ;)
    public OnPlayerDisconnect(playerid, reason)
    {
    DeletePVar(playerid,"Eingeloggt");
    SavePlayer(playerid);
    zu:
    public OnPlayerDisconnect(playerid, reason)
    {
    SavePlayer(playerid);
    DeletePVar(playerid,"Eingeloggt");

    Dann schreibe es so rum:
    for(new i=0;i<sizeof(fVehicleShop);i++)
    {
    if(vehicleid == fShopVehicles[i])
    {
    if(Spieler[playerid][pFraktion] == 1 || Spieler[playerid][pFraktion] == 0 || Spieler[playerid][pFraktion] == 3 || Spieler[playerid][pFraktion] == 5 || Spieler[playerid][pFraktion] == 9 || Spieler[playerid][pFraktion] == 10 || Spieler[playerid][pFraktion] == 11)
    {
    FreezePlayer(playerid);
    RemovePlayerFromVehicle(playerid);
    UnfreezePlayer(playerid);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"** Diese Fahrzeuge können nur Gangs und Mafien kaufen.");
    }
    else
    {
    if(Spieler[playerid][pRank] == RANG_LEADER)
    {
    new Float:Pos[3];
    GetVehicleModelInfo(fVehicleShop[i][fVmodelid], VEHICLE_MODEL_INFO_SIZE, Pos[0], Pos[1], Pos[2]);
    InterpolateCameraPos(playerid,fVehicleShop[i][fVposX],fVehicleShop[i][fVposY],fVehicleShop[i][fVposZ],fVehicleShop[i][fVposX]+Pos[0],fVehicleShop[i][fVposY]-Pos[1],fVehicleShop[i][fVposZ],2500,CAMERA_MOVE);
    InterpolateCameraLookAt(playerid,fVehicleShop[i][fVposX]+Pos[0],fVehicleShop[i][fVposY]-Pos[1],fVehicleShop[i][fVposZ],fVehicleShop[i][fVposX],fVehicleShop[i][fVposY],fVehicleShop[i][fVposZ],2500,CAMERA_MOVE);
    FreezePlayer(playerid);
    strdel(DialogString, 0, sizeof(DialogString));
    format(DialogString, sizeof(DialogString), COLOR_HEX_BLUE"Wang Cars - Fraktionsfahrzeuge\n\n");
    format(DialogString, sizeof(DialogString), "%s"COLOR_HEX_BLUE"Fahrzeug: "COLOR_HEX_WHITE"%s\n"COLOR_HEX_BLUE"Preis: "COLOR_HEX_WHITE"$%d\n"COLOR_HEX_BLUE"Tankverbrauch: "COLOR_HEX_WHITE"%.2fL/KM\n", DialogString, fVehicleShop[i][fVName], fVehicleShop[i][fVPreis], VehicleData[fVehicleShop[i][fVmodelid]-400][vehTankVerbrauch]);
    format(DialogString, sizeof(DialogString), "%s"COLOR_HEX_BLUE"Tankgröße: "COLOR_HEX_WHITE"%.2fL\n\nWenn du dieses Fahrzeug kaufen möchtest, klicke auf den entsprechenden Button.\n", DialogString, VehicleData[fVehicleShop[i][fVmodelid]-400][vehMaxTank]);
    strcat(DialogString, COLOR_HEX_WHITE"Das Geld wird von deiner Hand abgehoben, und das Fahrzeug gehört dann automatisch zur Fraktion an!\nDieses lässt sich nicht auf die privaten Fahrzeuge übertragen, und lässt sich nur durch die Hälfte des Kaufpreises verkaufen!\nÜberleg gut, ob es dir Wert ist!");
    ShowPlayerDialog(playerid, DIALOG_BUYFRAKVEHICLE, DIALOG_STYLE_MSGBOX, "Fraktions Fahrzeug - Kaufen", DialogString, "Kaufen", "Abbrechen");
    return 1;
    }
    }
    }
    }

    So dürfte es passen:
    for(new i=0;i<sizeof(fVehicleShop);i++)
    {
    if(vehicleid == fShopVehicles[i])
    {
    if(Spieler[playerid][pFraktion] == 1 || Spieler[playerid][pFraktion] == 0 || Spieler[playerid][pFraktion] == 3 || Spieler[playerid][pFraktion] == 5 || Spieler[playerid][pFraktion] == 9 || Spieler[playerid][pFraktion] == 10 || Spieler[playerid][pFraktion] == 11)
    {
    if(Spieler[playerid][pRank] == RANG_LEADER)
    {
    new Float:Pos[3];
    GetVehicleModelInfo(fVehicleShop[i][fVmodelid], VEHICLE_MODEL_INFO_SIZE, Pos[0], Pos[1], Pos[2]);
    InterpolateCameraPos(playerid,fVehicleShop[i][fVposX],fVehicleShop[i][fVposY],fVehicleShop[i][fVposZ],fVehicleShop[i][fVposX]+Pos[0],fVehicleShop[i][fVposY]-Pos[1],fVehicleShop[i][fVposZ],2500,CAMERA_MOVE);
    InterpolateCameraLookAt(playerid,fVehicleShop[i][fVposX]+Pos[0],fVehicleShop[i][fVposY]-Pos[1],fVehicleShop[i][fVposZ],fVehicleShop[i][fVposX],fVehicleShop[i][fVposY],fVehicleShop[i][fVposZ],2500,CAMERA_MOVE);
    FreezePlayer(playerid);
    strdel(DialogString, 0, sizeof(DialogString));
    format(DialogString, sizeof(DialogString), COLOR_HEX_BLUE"Wang Cars - Fraktionsfahrzeuge\n\n");
    format(DialogString, sizeof(DialogString), "%s"COLOR_HEX_BLUE"Fahrzeug: "COLOR_HEX_WHITE"%s\n"COLOR_HEX_BLUE"Preis: "COLOR_HEX_WHITE"$%d\n"COLOR_HEX_BLUE"Tankverbrauch: "COLOR_HEX_WHITE"%.2fL/KM\n", DialogString, fVehicleShop[i][fVName], fVehicleShop[i][fVPreis], VehicleData[fVehicleShop[i][fVmodelid]-400][vehTankVerbrauch]);
    format(DialogString, sizeof(DialogString), "%s"COLOR_HEX_BLUE"Tankgröße: "COLOR_HEX_WHITE"%.2fL\n\nWenn du dieses Fahrzeug kaufen möchtest, klicke auf den entsprechenden Button.\n", DialogString, VehicleData[fVehicleShop[i][fVmodelid]-400][vehMaxTank]);
    strcat(DialogString, COLOR_HEX_WHITE"Das Geld wird von deiner Hand abgehoben, und das Fahrzeug gehört dann automatisch zur Fraktion an!\nDieses lässt sich nicht auf die privaten Fahrzeuge übertragen, und lässt sich nur durch die Hälfte des Kaufpreises verkaufen!\nÜberleg gut, ob es dir Wert ist!");
    ShowPlayerDialog(playerid, DIALOG_BUYFRAKVEHICLE, DIALOG_STYLE_MSGBOX, "Fraktions Fahrzeug - Kaufen", DialogString, "Kaufen", "Abbrechen");
    return 1;
    }
    }
    else
    {
    FreezePlayer(playerid);
    RemovePlayerFromVehicle(playerid);
    UnfreezePlayer(playerid);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"** Diese Fahrzeuge können nur Gangs und Mafien kaufen.");
    }
    }
    }
    (Im Code von TVPikachu war noch ein Klammerfehler)


    Du musst eben bedenken, dass der Dialog nur angezeigt wird, wenn der Spieler pRank == RANG_LEADER hat. Hat er das nicht, ist aber trotzdem in einer Gang, dann kommt einfach gar nichts.
    Wenn das so gewollt ist passt es.


    Teste es mal.
    Wenn es nicht so ist wie du willst, wie soll die Funktion denn sein, die du erlangen willst?

    1. Heißt das Callback jetzt LoadPlayer oder CheckPasswort? Weil einmal stand es so da und einmal so.


    2. In dem Log Teil wird SavePlayer nie ausgeführt, also wenn du das mit speichern meinst, dann ist es klar. Hast du SavePlayer bei OnPlayerDisconnect eingefügt, und hast du den Server dann auch verlassen? Wenn ja, poste mal den Print der das query ausgibt (steht im Server Log, nicht im MySQL Log).

    format(query, sizeof(query), "UPDATE accounts SET Name = '%s', Level = '%d', Geld = '%d', Kills = '%d', Tode = '%d', Admin = '%d', Banned = '%d', Leader = '%d', Member = '%d', Team = '%d', Rank = '%d', Duty = '%d', ",
    SpielerInfo[playerid][pName], SpielerInfo[playerid][pLevel], SpielerInfo[playerid][pGeld], SpielerInfo[playerid][pKills], SpielerInfo[playerid][pTode], SpielerInfo[playerid][pAdmin],
    SpielerInfo[playerid][pBanned], SpielerInfo[playerid][pLeader], SpielerInfo[playerid][pMember], SpielerInfo[playerid][pTeam], SpielerInfo[playerid][pRank], SpielerInfo[playerid][pDuty]);
    format(query, sizeof(query), "%sSkin = '%d', Health = '%d', xKord = '%f', yKord = '%f', zKord = '%f', Interior = '%d' WHERE Name = '%s'", query,
    typos, SpielerInfo[playerid][pHealth], xxKord, yyKord, zzKord, SpielerInfo[playerid][pInterior], SpielerInfo[playerid][pName]);//1807


    So passt es. :)

    Die Fehler im Query hast du aber gut versteckt.
    stock SavePlayer(playerid)
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    new query[512];
    new Float:xxKord,Float:yyKord,Float:zzKord;
    GetPlayerPos(playerid,xxKord,yyKord,zzKord);
    new typos = GetPlayerSkin(playerid);
    SpielerInfo[playerid][pGeld] = GetPlayerMoney(playerid);
    format(query, sizeof(query), "UPDATE accounts SET Name = '%s', Level = '%d', Geld = '%d', Kills = '%d', Tode = '%d', Admin = '%d', Banned = '%d', Leader = '%d', Member = '%d', Team = '%d', Rank = '%d', Duty = '%d', ",
    SpielerInfo[playerid][pName], SpielerInfo[playerid][pLevel], SpielerInfo[playerid][pGeld], SpielerInfo[playerid][pKills], SpielerInfo[playerid][pTode], SpielerInfo[playerid][pAdmin],
    SpielerInfo[playerid][pBanned], SpielerInfo[playerid][pLeader], SpielerInfo[playerid][pMember], SpielerInfo[playerid][pTeam], SpielerInfo[playerid][pRank], SpielerInfo[playerid][pDuty]);
    format(query, sizeof(query), "%sSkin = '%d', Health = '%d', xKord = '%f', yKord = '%f', zKord = '%f', Interior = '%d' WHERE Name = '%s'", query,
    SpielerInfo[playerid][pSkin], SpielerInfo[playerid][pHealth], xxKord, yyKord, zzKord, SpielerInfo[playerid][pInterior], SpielerInfo[playerid][pName]);
    mysql_tquery(handle, query);
    printf("query: %s", query);
    }
    return 1;
    }
    So sollte es passen.


    Und hier:
    mysql_format(handle, query, sizeof(query), "SELECT * FROM users WHERE Name = '%e' AND Passwort = '%e'", PlayerName, inputtext); //name, passwort und users zu deinem anpassen!!
    hast du die Anpassung vergessen:
    mysql_format(handle, query, sizeof(query), "SELECT * FROM accounts WHERE Name = '%e' AND Passwort = '%e'", PlayerName, inputtext); //name, passwort und users zu deinem anpassen!!


    Dann dürfte auch das gehen.


    Zitat

    Dann meine Frage, muss ich irgendwo LoadPlayer & SavePlayer machen? Wenn ja, ich hab es versucht dann bekomm ich immer Errors


    LoadPlayer nicht, das wird ja durch das Query aufgerufen.
    SavePlayer dort, wo du den Spieler speichern willst, also das muss schon irgendwo stehen.



    Und noch was:

    SQL
    SELECT * FROM accounts ORDER BY ID ASC


    Das muss aus dem Code raus, das bringt auch nichts. Ich sehe, du willst damit die Spieler speichern, das wird so nichts.


    Generell, einfach mal
    SavePlayer(playerid);
    bei OnPlayerDisconnect hinschreiben.

    SQL
    SELECT * FROM accounts ORDER BY ID ASC


    Das ist falsch. Wo auch immer das steht, das bringt da nichts.


    Dann:
    cache_get_field_content(playerid-1, "Name", SpielerInfo[playerid][pName]);
    zu:
    cache_get_field_content(0, "Name", SpielerInfo[playerid][pName]);
    Hast du vergessen.



    Und das hier schreibst du so (war mein Fehler, dass da nur Name selektiert wird):
    switch(dialogid)
    {
    case DIALOG_REGISTER:
    {
    if(response)
    {
    if(strlen(inputtext) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Regestration","Datenbank: Das angegebene Passwort ist zu kurz!","Register","Abbrechen");
    return 1;
    }
    else
    {
    CreateAccount(playerid, inputtext);
    SetPVarInt(playerid,"Eingeloggt",1);
    SpawnPlayer(playerid);
    SetSpawnInfo(playerid, 0, 0, -1982.5010,140.7040,27.6875,89.0363, 0, 0, 0, 0, 0, 0 );
    return 1;
    }
    }
    else
    {
    Kick(playerid);
    }
    }
    case DIALOG_LOGIN:
    {
    if(response)
    {
    if(strlen(inputtext) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Einloggen","Datenbank: Das angegebene Passwort ist falsch!","Login","Abbrechen");
    return 1;
    }
    else
    {
    new PlayerName[MAX_PLAYER_NAME], query[256];
    GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
    mysql_format(handle, query, sizeof(query), "SELECT * FROM users WHERE Name = '%e' AND Passwort = '%e'", PlayerName, inputtext); //name, passwort und users zu deinem anpassen!!
    mysql_tquery(handle, query, "LoadPlayer", "d", playerid);
    }
    }
    else
    {
    Kick(playerid);
    }
    }
    }


    Ich habe das Callback im mysql_tquery zu LoadPlayer umbenannt, da du das Callback ja umbenannt hast.

    Du hast den Name zwei mal in den Parametern stehen.
    Teste es mal so:
    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    new query[512];
    format(query, sizeof(query), "UPDATE accounts SET Name = '%s', Level = '%d', Geld = '%d', Kills = '%d', Tode = '%d', Admin = '%d', Banned, Leader = '%d', Member = '%d', Team = '%d', Rank = '%d', Duty = '%d', Skin = '%d', Health = '%d', xKord = '%d', yKord = '%d', zKord, Interior = '%d' = '%d' = '%d' WHERE Name = '%s'",
    SpielerInfo[playerid][pName], SpielerInfo[playerid][pLevel], SpielerInfo[playerid][pGeld], SpielerInfo[playerid][pKills], SpielerInfo[playerid][pTode], SpielerInfo[playerid][pAdmin], SpielerInfo[playerid][pBanned], SpielerInfo[playerid][pLeader], SpielerInfo[playerid][pMember], SpielerInfo[playerid][pTeam], SpielerInfo[playerid][pRank], SpielerInfo[playerid][pDuty], SpielerInfo[playerid][pSkin], SpielerInfo[playerid][pHealth], SpielerInfo[playerid][xKord], SpielerInfo[playerid][yKord], SpielerInfo[playerid][zKord], SpielerInfo[playerid][pInterior], SpielerInfo[playerid][pName]);
    mysql_tquery(handle, query);
    printf("query: %s", query);
    }
    }
    return 1;
    }


    Wenn es nicht geht, poste was in deinem server_log steht (query: ...).

    Hä? Du schreibst die Koordinaten immer noch in die falschen Variablen.
    SpielerInfo[playerid][pRank] = cache_get_field_content_float(0, "xKord");
    SpielerInfo[playerid][pDuty] = cache_get_field_content_float(0, "yKord");
    SpielerInfo[playerid][pSkin] = cache_get_field_content_float(0, "zKord");


    zu:
    SpielerInfo[playerid][XKOORDINATE] = cache_get_field_content_float(0, "xKord");
    SpielerInfo[playerid][YKOORDINATE] = cache_get_field_content_float(0, "yKord");
    SpielerInfo[playerid][ZKOORDINATE] = cache_get_field_content_float(0, "zKord");


    Wenn du die xKord in pRank schreibst, kann das nicht klappen. ;)



    EDIT:
    @TVPikachu: Passt schon, kommt vor. :D Für mich ist sowas immer das Zeichen, dass genug für heute ist. Vielleicht machst du morgen weiter.

    savePlayer(playerid)
    {
    if(sInfo[playerid][eingeloggt]==0) return 1;
    new query[512];
    format(query,sizeof(query),"UPDATE user SET level='%i',money='%i',alevel='%i',deaths='%i',kills='%i' WHERE id='%i'",
    sInfo[playerid][level],GetPlayerMoneyEx(playerid),sInfo[playerid][adminlevel],sInfo[playerid][deaths],sInfo[playerid][kills],sInfo[playerid][db_id]);
    mysql_tquery(dbhandle,query);
    return 1;
    }

    Ok, super! Das ist ja kein Aufwand.
    So muss es dann aussehen:


    Bei OnPlayerRequestClass:
    if(GetPVarInt(playerid,"Eingeloggt") == 0)
    {
    new query[128], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    mysql_format(handle, query, sizeof(query), "SELECT name FROM users WHERE name = '%e'", name); //name und users zu deinem anpassen!!
    mysql_tquery(handle, query, "CheckAccount", "d", playerid);
    }


    Ganz unten im Gamemode:
    forward CheckAccount(playerid);
    public CheckAccount(playerid)
    {
    if(cache_num_rows() == 0)
    {
    SendClientMessage(playerid, 0xFFFFFFFF,"________Herzlich Wilkommen auf San Francisco Reallife________");
    SendClientMessage(playerid, 0xFFFFFFFF,"Datenbank: Akte konnte nicht gefunden werden. Bitte Registrieren Sie sich!");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Bitte gib dein Persöhnliches Passwort ein:","Register","Abbrechen");
    }
    else
    {
    SendClientMessage(playerid, 0xFFFFFFFF,"________Herzlich Wilkommen auf San Francisco Reallife________");
    SendClientMessage(playerid, 0xFFFFFFFF,"Datenbank: Akte wurde gefunden. Bitte Loggen Sie sich ein!");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Einloggen","Bitte gib dein Passwort ein:","Login","Abbrechen");
    }
    return 1;
    }


    Den mysql_CheckAccount stock kannst du dann aus dem Code entfernen.



    Und der andere Teil würde so aussehen, bei OnDialogResponse:


    switch(dialogid)
    {
    case DIALOG_REGISTER:
    {
    if(response)
    {
    if(strlen(inputtext) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Regestration","Datenbank: Das angegebene Passwort ist zu kurz!","Register","Abbrechen");
    return 1;
    }
    else
    {
    CreateAccount(playerid, inputtext);
    SetPVarInt(playerid,"Eingeloggt",1);
    SpawnPlayer(playerid);
    SetSpawnInfo(playerid, 0, 0, -1982.5010,140.7040,27.6875,89.0363, 0, 0, 0, 0, 0, 0 );
    return 1;
    }
    }
    else
    {
    Kick(playerid);
    }
    }
    case DIALOG_LOGIN:
    {
    if(response)
    {
    if(strlen(inputtext) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Einloggen","Datenbank: Das angegebene Passwort ist falsch!","Login","Abbrechen");
    return 1;
    }
    else
    {
    new PlayerName[MAX_PLAYER_NAME], query[256];
    GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
    mysql_format(handle, query, sizeof(query), "SELECT name FROM users WHERE name = '%e' AND passwort = '%e'", PlayerName, inputtext); //name, passwort und users zu deinem anpassen!!
    mysql_tquery(handle, query, "CheckPassword", "d", playerid);
    }
    }
    else
    {
    Kick(playerid);
    }
    }
    }


    Ganz unten im Gamemode:
    forward CheckPassword(playerid);
    public CheckPassword(playerid)
    {
    if(cache_num_rows() != 0)
    {
    SetPVarInt(playerid,"Eingeloggt",1);
    LoadPlayer(playerid);
    SpawnPlayer(playerid);
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Einloggen","Datenbank: Das war das falsche Passwort!","Login","Abbrechen");
    }
    return 1;
    }



    Vom Prinzip her ist es immer gleich: Query -> mysql_tquery -> Callback -> Im Callback den Cache auslesen.


    Ich hoffe, dass das alles so passt. :)



    Und ja, diese Funktionen kannst du löschen, musst du sogar. ;)

    Nicht ganz, playerid ist nicht unbedingt 0.
    Schreibe es bei allen so:
    SpielerInfo[playerid][pLevel] = cache_get_field_content_int(playerid, "Level");
    zu:
    SpielerInfo[playerid][pLevel] = cache_get_field_content_int(0, "Level");
    0 ist die erste Zeile des Caches. Da der Spieler ja nur eine Zeile hat passt das.


    Zu den anderen Funktionen:
    mysql_CheckAccount(playerid):
    Poste bitte, wie das im Zusammenhang mit dem restlichen Code drum herum aufgerufen wird. Dann kann ich dir sagen, wie du das machen musst.


    CreateAccount(playerid, pass[]):
    stock CreateAccount(playerid, pass[])
    {
    new query[256],Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    mysql_format(handle, query, sizeof(query), "INSERT INTO `accounts` (`Name`, `Passwort`) VALUES ('%e', '%e')", Name, pass);
    mysql_tquery(handle, query);
    return true;
    }


    mysql_ReturnPasswort(Name[]):
    Poste auch hier bitte, wie das im Zusammenhang mit dem anderen Code steht, der das aufruft, da das so nicht mehr realsisierbar ist, bzw. nur bedingt, falls unbedingt nötig, aber in 99.99% kann man es sinnvoll und ohne viel Aufwand umschreiben.