Kick Help

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
  • Hallo


    Ich habe ien problem unzwar funktioniert diese funktion nur bei der ID 0..



    {
    new pname2[MAX_PLAYER_NAME];
    new pname3[MAX_PLAYER_NAME];
    new string2[64];
    new string3[128];
    GetPlayerName(playerid, pname2, sizeof(pname2));
    format(string2, sizeof(string2), "%s.cer", pname2);
    new File: UserFile = fopen(string2, io_read);


    if (UserFile)
    {
    new valtmp[128];
    fread(UserFile, valtmp);strmid(PlayerInfo[playerid][pPasswort], valtmp, 0, strlen(valtmp)-1, 255);


    if ((strcmp(PlayerInfo[playerid][pPasswort], string, true, strlen(valtmp)-1) == 0))
    {
    new key[128],val[128];
    new Data[128];
    while(fread(UserFile,Data,sizeof(Data)))
    {
    key = ini_GetKey(Data);
    if( strcmp( key , "Kills" ,true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKills] = strval( val ); }
    if( strcmp( key , "Deaths",true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDeaths] = strval( val ); }
    if( strcmp( key , "Geld" ,true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCash] = strval( val ); }
    GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]);
    }
    fclose(UserFile);
    gPlayerLogged[playerid] = 1;
    gPlayerAccount[playerid] = 1;
    new kills = PlayerInfo[playerid][pKills];
    SetPlayerScore(playerid, kills);
    GetPlayerName(playerid, pname3, sizeof(pname3));
    format(string3, sizeof(string3), "Willkommen %s, du hast dich erfolgreich eingeloggt!", pname3);
    SpawnPlayer(playerid);
    SendClientMessage(playerid, WEIS,string3);
    }
    else
    {
    Versuche[playerid]++;
    if(Versuche[playerid] == 1) { SendClientMessage(playerid, ROT, "Falsches Passwort noch 2 versuche"); }
    else if(Versuche[playerid] == 2){ SendClientMessage(playerid, ROT, "Falsches Passwort letzte chance bevor du gekickt wirst"); }
    else if(Versuche[playerid] > 2) { Kick(playerid); }


    fclose(UserFile);
    }
    }
    return 1;
    }


    also wenn amn 1 mal falsch macht hat man noch Zwei chancen es richtig zu machen.
    Aber das klappt nur bei der Id 0 also wenn der spieler id 0 hat :(
    sonst wird man gleich beim ersten mal gekickt!


    Hoffe jemand kann mir dabei helfen !!!


    Danke


    MFg

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

    4 Mal editiert, zuletzt von Rapfabrik ()

  • Ich schätze mal wenn er kick schreibt meint er das:


    else
    {
    Versuche[playerid]++;
    if(Versuche[playerid] == 1) { SendClientMessage(playerid, ROT, "Falsches Passwort noch 2 versuche"); }
    else if(Versuche[playerid] == 2){ SendClientMessage(playerid, ROT, "Falsches Passwort letzte chance bevor du gekickt wirst"); }
    else if(Versuche[playerid] > 2) { Kick(playerid); }


    ...

  • was hat das mit Kick zu tun ???? :thumbdown: :thumbdown:


    WTF.. alta was ist mit dir?


    Kick? verstehst du nicht?


    Ok !


    Kick: Wenn ein Spieler vom Server fliegt ohne das wahrscheinlich zu wollen dann wird er vom server ODER ADMIN geKICKT das Heist er wird gegen sein willen vom Server weck geschmissen ohne das er es verhindern kann!!! Dann steht da oben im chat "Server closed the connnection" auch dir gebe ich ein tipp wenn du im server bist und sowas wie "Server closed the connection" liest bitte denn server verlässt weil dann bist du quasi nicht mehr im Online Game. Ich hoffe du hast verstanden warum das damit zu tun hat.


    So zum Thema!


    Wenn Spieler A ( ID 1 ) sich einloggt dann muss er doch passwort eingeben (ja das muss er ojaa das muss er sicherlich :D )
    Und wenn er 3x Falsch macht dann kommt schon das böse rote "Server closed the connection"
    Das gehört sich auch so.


    Aber dann kommt Spieler B ( ID 0) rein und macht ausersehen ein Falsches passwort ( nicht 2 nur 1 )
    Jetzt hat er doch noch 2 Versuche oder? Doch hat er weil Spieler A (ID 1) es ja auch hatte
    aber nein spieler B (ID 0) wird gleich beim ersten mal gekickt "Server closed the connection"


    Also id 0 ist das Problem !!! Wie kann ich den bug beseitigen?


    Hoffe ich habe mich genug ausgedrückt!


    MFg Rapfabrik

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

  • public OnPlayerDisconnect(playerid, reason) {
    Versuche[playerid] = 0;
    return 1;
    }

  • Nimmt euch ein beispiel an


    [NSG]Bright


    kurz und strenk rein gehaun :D


    Danke funktioniert 1A [NSG]Bright :)



    Thema erledigt


    MFg Rapfabrik

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >