Nur bestimme Personen dürfen Server betreten

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
  • Wieso so kompliziert ? Mach vor dem Login einfach eine Abfrage ob der Spieler ein BetaTester ist. Account kannst du ihnen ja vorher anlegen werden ja keine 50 Leute sein. Beispiel:

    if(PlayerInfo[playerid][pBTester] == 1)
    {
    return 1;
    }


    Die Reg. einfach solange wie nötig abstellen.

  • Jemand der in der Liste steht, wird vom Server dann gekickt: also haben wir es ja fast geschafft, wenn wir es jetzt nur noch schaffen, dass die die in der Liste sind drauf bleiben und die anderen vorm einloggen gekickt werden bin ich gluecklich

    Mit freundlichen Grüßen,
    Dachdecker


  • new playrname[MAX_PLAYER_NAME];
    new BetaString[145];
    GetPlayerName(playerid, playrname, sizeof(playrname));
    for(new i=0; i<sizeof(BetaServerTester); i++)
    {
    printf("name: %s | suche: %s | %d", playrname,BetaServerTester[i], strfind(playrname,BetaServerTester[i],true));
    if(strfind(BetaServerTester[i],playrname,true) != -1)
    {
    Nachricht(playerid,Rot,"Sie wurden vom Server gekickt,da Sie einen nicht in der BetaServerTester Gruppe des Servers sind.");
    SetTimerEx("SpielerEntfernen",1000,false,"i",playerid);
    format(BetaString, sizeof(BetaString), "%s wurde vom Server gekickt.", playrname);
    NachrichtAnAlle(Rot,BetaString);
    return 0;
    }
    }


    Nebenbei ist mein weiteres Problem, dass Ingame keine Befehle mehr funktionieren...

    Mit freundlichen Grüßen,
    Dachdecker

  • Geht trotzdem nicht :(



    ----------
    Loaded log file: "server_log.txt".
    ----------


    SA-MP Dedicated Server
    ----------------------
    v0.3z, (C)2005-2014 SA-MP Team


    [19:36:16] filterscripts = "" (string)
    [19:36:16]
    [19:36:16] Server Plugins
    [19:36:16] --------------
    [19:36:16] Loading plugin: mysql
    [19:36:16]


    > MySQL plugin R7 successfully loaded.


    [19:36:16] Loaded.
    [19:36:16] Loading plugin: sscanf
    [19:36:16] Failed.
    [19:36:16] Loading plugin: nativechecker
    [19:36:16] Loaded.
    [19:36:16] Loaded 2 plugins.


    [19:36:16]
    [19:36:16] Filterscripts
    [19:36:16] ---------------
    [19:36:16] Loaded 0 filterscripts.


    [19:36:16]
    ----------------------------------
    [19:36:16] [JRL]Justins Reallife
    [19:36:16] ----------------------------------


    [19:36:16] Number of vehicle models: 0
    [19:36:29] Incoming connection: 62.178.196.254:58549
    [19:36:30] [join] [JRL]BlackMonday has joined the server (0:62.178.196.254)
    [19:36:30] name: [JRL]BlackMonday | suche: [JRL]Justin | -1
    [19:36:30] name: [JRL]BlackMonday | suche: [JRL]Blackmann98 | -1
    [19:36:30] name: [JRL]BlackMonday | suche: [JRL]BlackMonday | 0
    [19:36:31] [part] [JRL]BlackMonday has left the server (0:2)

    Mit freundlichen Grüßen,
    Dachdecker


  • Die Bedingung bzw Aufmachung des Codes passt nicht zu dem,was du möchtest.


    Du musst durch alle Werte von BetaServerTester gehen und prüfen, ob der Spielername irgendwo in dem Array vorhanden ist (zB Variable gefunden=true setzen). Nachdem du alle BetaServerTester durchgegangen bist, prüfst du anschließend, ob gefunden true oder false ist. Ist gefunden false, dann kickst du den Spieler. Denn der Name kam nicht in BetaServerTester vor. Ist gefunden true, dann war der Name in BetaServerTester vor.


    Spoiler anzeigen
    Hoffentlich keine Copy und Paste Lösung.

  • @Justin4TheWin:
    Goldkiller meinte damit, das keiner dir den Code einfach so schicken soll, denn das schaffst du auch alleine. Versuche es einfach mal, sowie Goldkiller es bereits geschrieben hat.
    Du musst an deinen Code nicht viel verändern, daher schaffst du das! :good: