Spielername abfrage wenn nein = ban/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
  • Ja aber ich weiß grad nich genau wie. :D


    Sowas ist Spam habs mal gemeldet ^^


    __________________________________


    Du musst den Spielernamen mit GetPlayerName auslesen und kannst ihn mit strcmp vergleichen
    Bei OnPlayerConnect

    new pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
    if(!strcmp("noob",pName,true))return Kick(playerid);


    //edit du kannst es dir auch noch einfach machen und mit strfind arbeiten und nach dem wort im namen suchen


  • danke :D

    Einmal editiert, zuletzt von Jason27993 ()

  • Ich mach nochmal ein Beispiel für strfind


    if(strfind(pName, "ficker", true) != -1)return Kick(playerid);


    Er kann sich ja auch Ripficker nennen daher würde ich die variante eher in betracht beziehen.


    ok :D.Und wie geht es das wenn der Spieler nicht noob und boon heißt dann soll er gekickt werden?Also jeder ausser noob unb boon wird gekickt beim connecten?So geht es nicht :if(strcmp("Deeze",pName,true))
    {
    Kick(playerid);
    }
    else if(strcmp("Pennerinseltest",pName,true))
    {
    Kick(playerid);
    } und so auch nicht: if(strcmp("Pennerinseltest",pName,true))return Kick(playerid);
    else if(strcmp("Deeze",pName,true))return Kick(playerid); -.-

    2 Mal editiert, zuletzt von Jason27993 ()

  • Jeder der nicht 'noob' und nicht 'boon' heißt wird jetzt gekickt.
    Ist das sinnvoll?

    war ja nur zum testen hab jetzt nen dritten namen hinzugefügt aber es geht irgendwie nicht... if(strcmp(pName,"[GMR]Deeze",true)!=0&&strcmp(pName,"Pennerinseltest",true)!=0)&&strcmp(pName,"[GMR]AkitoLetsPlay",true)!=0)Kick(playerid);
    //Edit ok hab den Fehler gefunden

  • war ja nur zum testen hab jetzt nen dritten namen hinzugefügt aber es geht irgendwie nicht... if(strcmp(pName,"[GMR]Deeze",true)!=0&&strcmp(pName,"Pennerinseltest",true)!=0)&&strcmp(pName,"[GMR]AkitoLetsPlay",true)!=0)Kick(playerid);
    //Edit ok hab den Fehler gefunden


    wenn du weitere nahmen hinzufügen willst mach doch ein array


    #define MAX_BAD_NAMES 3
    new BadNames[MAX_BAD_NAMES][10] ={"[GMR]Deeze","Pennerinseltest","[GMR]AkitoLetsPlay" };


    new pName[MAX_PLAYER_NAME],i;
    GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
    for(; i != MAX_BAD_NAMES; ++i)if(!strcmp(BadNames[i],pName,true))return Kick(playerid);


    dein Fehler war das du das Ausrufezeichen vergessen hast
    if(strcmp("Pennerinseltest",pName,true))


    dies was du geschrieben hast ist die kurzform von
    if(strcmp("Pennerinseltest",pName,true) == 1)


    Nun sollte man wissen das sollten die string die selben sein 0 zurück gegeben wird es können jedoch auch andere werte zurück gegeben werden jedoch das wichtigste ist dabei
    zu wissen das strcmp 1 zurück gibt sollte kein treffer vorhanden sein also sollte der Namen nicht mit dem wort übereinstimmen.
    Das hat du ja hier das bedeutet jeder spieler mit einem anderen namen als Pennerinseltest wird nun gekickt.
    um nochmal auf das Ausrufezeichen zurück zu kommen das bedeutet alles außer im zusammen hang mit der abfolge alles außer 1.
    Die Anweisung danach oder der Anweisungblock danach wird ausgeführt wenn die strings übereinstimmen