/login falsches pw = kick

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
  • Hi wie kann man machen das wenn man 2x das pw falsch hat oder 3x das man gekickt wird? Hier login befehl:

    if (strcmp(cmd, "/login", true) == 0)
    {
    if (logged[playerid] != 1 && udb_Exists(PlayerName(playerid)))
    {
    new dir[256];
    dir = strtok(cmdtext, idx);
    if (strlen(dir) && strcmp(dir, dUser(PlayerName(playerid)).("password"), true) == 0)
    {
    logged[playerid] = 1;
    GivePlayerMoney(playerid, dUserINT(PlayerName(playerid)).("money"));
    }
    }


    else{
    DisplayTextForPlayer(playerid,"~r~ERRORt", 5, 1, 2);
    }
    return 1;
    }

  • if(strlen(dir) && strcmp(dir, dUser(PlayerName(playerid)).("password"), true) == 0)
    {
    logged[playerid] = 1;
    GivePlayerMoney(playerid, dUserINT(PlayerName(playerid)).("money"));
    }
    else
    {
    BadLogins[playerid]++;
    if(BadLogins[playerid] >= 3)
    {
    SendClientMessage(playerid,COLOR_RED," 3 falsche Passwörter? Geh dahin wo den Pfeffer idled!");
    Kick(playerid);
    }
    }


    // Ganz oben:
    new BadLogins[MAX_PLAYERS];


    // bei OnPlayerConnect:
    BadLogins[playerid] = 0;


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

  • Habe es so drin:
    if (strcmp(cmd, "/login", true) == 0)
    {
    if (logged[playerid] != 1 && udb_Exists(PlayerName(playerid)))
    {
    new dir[256];
    dir = strtok(cmdtext, idx);
    if(strlen(dir) && strcmp(dir, dUser(PlayerName(playerid)).("password"), true) == 0)
    {
    logged[playerid] = 1;
    GivePlayerMoney(playerid, dUserINT(PlayerName(playerid)).("money"));
    }


    else
    {
    BadLogins[playerid]++;
    if(BadLogins[playerid] >= 3)
    {
    SendClientMessage(playerid,COLOR_RED," 3 falsche Passwörter? Geh dahin wo den Pfeffer idled!");
    Kick(playerid);
    }
    }
    }
    return 1;
    }
    Mein problem: Man kann sich mit SHIT einloggen also dann spawnt man obwohl man nicht eingeloggt ist wie verhindert man das??

  • public OnPlayerRequestSpawn(playerid)
    {
    if(logged[playerid] == 0)
    {
    SendClientMessage(playerid,COLOR_RED," Du musst dich zuerst einloggen!!!");
    return 0;
    }
    return 1;
    }


    Falls du es noch nicht hast, musst du ein
    logged[playerid] = 0;
    in OnPlayerConnect setzen.


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

  • Wenn ich /login richtiges pw mache dann passiert nichts wieso?

  • ich mach /login pw und drücke shift aber kommt ich bin nicht eingeloggt. Aber dann bin ich warscheinlich beim spawn aber die kamera ist noch beim login und shift geht nicht.
    Login befehl:

    if (strcmp(cmd, "/login", true) == 0)
    {
    if (logged[playerid] != 1 && udb_Exists(PlayerName(playerid)))
    {
    new dir[256];
    dir = strtok(cmdtext, idx);
    SetPlayerPos(playerid,183.6913,-107.9002,2.0234);
    if(strlen(dir) && strcmp(dir, dUser(PlayerName(playerid)).("password"), true) == 0)
    {
    logged[playerid] = 1;
    GivePlayerMoney(playerid, dUserINT(PlayerName(playerid)).("money"));
    }


    else
    {
    BadLogins[playerid]++;
    if(BadLogins[playerid] >= 3)
    {
    SendClientMessage(playerid,COLOR_RED," 3 falsche Passwörter? Geh dahin wo den Pfeffer idled!");
    Kick(playerid);
    }
    }
    }
    return 1;
    }