[Fragen] Server clost the Connection

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
  • Also ich wollte folgendes fragen:
    1. Wie kann ich machen, dass wenn der Spieler Spawnt bevor er registriert ist, das da Server Clost the Connection steht, also er ist gekickt.
    2. Wie kann ich machen, dass wenn er 3 mal das falsche PW eingibt, also mit /login, dass dann die IP gebannt wird?

    3. Wenn ein Spieler z. B. 15 min nichts macht, also keine Bewegung oder sowas, dann auch gekickt wird?


    pls. Help.


    Gruss
    luckyguy

  • Hi


    Zu 1:
    Du musst einfach nen new machen, z.B. new IsRegistriert[MAX_PLAYERS];
    Dann wenn der connected machst du IsRegistriert[playerid] = 0;
    Wenn der sich registriert muss das auf 1 gemacht werden. Das kommt dann bei dir dahin wo das is :D
    Dann machst du bei OnPlayerSpawn:


    if(IsRegistriert[playerid] = 0)
    {
    Kick(playerid)
    }
    else
    {
    das was du da so hast xD
    }


    zu 2.


    Du musst n timer machen, der alle 15 mins die pos vom spieler nimmt. Wenn die gleich is wie vorher, kick :)



    MFG, Rob

    Einmal editiert, zuletzt von Robdeflop ()


  • new AFK[MAX_PLAYERS];


    public OnPlayerUpdate(playerid)
    {
    AFK[playerid]=0;
    return 1;
    }


    forward AFKCheck();
    public AFKCheck()
    {
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    AFK[i]++;
    if(AFK[i]>=(15*60))
    {
    AFK[i]=0;
    Kick(i);
    }
    }
    }
    }


    SetTimer("AFKCheck",1000,true);


    >>ODER<<


    new AFK[MAX_PLAYERS];
    new Float:OldPos[MAX_PLAYERS][3];


    forward AFKCheck();
    public AFKCheck()
    {
    new Float:x,Float:y,Float:z;
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(GetPlayerPos(i,x,y,z))
    {
    if(x==OldPos[i][0] && y==OldPos[i][1] && z==OldPos[i][2])
    {
    AFK[i]++;
    if(AFK[i]>=(15))
    {
    AFK[i]=0;
    Kick(i);
    }
    }
    else
    AFK[i]=0;
    OldPos[i][0]=x;
    OldPos[i][1]=y;
    OldPos[i][2]=z;
    }
    }
    }


    SetTimer("AFKCheck",60*1000,true);