Meldung (nur für Admins) wenn ein spieler Connectet

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 es gab bei Linux seinen errors die ich jetzt behoben hab^^


    if(PlayerInfo[playerid][pAdmin]>=1)
    {
    new PlayerName[MAX_PLAYERS];
    new ip[256];
    new string[256];
    GetPlayerName(playerid,PlayerName,MAX_PLAYERS);
    GetPlayerIp(playerid,ip,sizeof(ip));
    format(string,sizeof(string),"%s mit der IP %d hat den Server betreten.",PlayerName,ip);
    SendClientMessageToAll(COLOR_GREY, string);
    }

  • Linux hat indem fall recht ;) wenn e sichauf den Wunsch des Wünschers bezieht ;) denn es soll net heißen das ein Admin den server betritt sondern das der Admin sieht wer den server betritt ;)

  • sag ich doch
    die errors leigen daran weil bei dir das ned definiert ist xD
    aba wen se behoben sind passts
    und funktionieren müsste es jetz
    is egal
    das ToAll
    kann sein oda ned
    wird an alle admins geschickt dadurch :D


    oda so änlich
    funktioniert mit beiden

    Der Server: [GRG]Grand Racing Game wurde 2014 Eingestampft.
    Weitere Infos: Klick Mich

  • so wie ich es denke steht da oben if........... das es nur den angezeigt wird ;) also ist es egal schätz ichmal

  • if = überprüfung für bla


    bla definirt durch admin
    das heißt alle admins werden benachrichtigt die von 1 aufwerts das Admin level haben
    dan haben wir die klammer das heißt nix dringt an die normely user


    somit stimmt meins ;)
    keine sorge ich kann scripßten hab schlisslich 2 selfmades geschrieben

    Der Server: [GRG]Grand Racing Game wurde 2014 Eingestampft.
    Weitere Infos: Klick Mich

  • nachdenken ;)



    if(Spieler[playerid][pAdmin] == 1)




    Es ist dann Egal ob SendClientMessageToAll du kannst auch meinetwegenauch SendClientMessage(playerid, grau, string); machen falls du dich dann besser fühlst ;) da ich eben gerade alleine auf dem server bin kann ich es net testen ;)

  • Jetzt mal zum mitdenken:



    OnPlayerConnect (Spieler connectet und bekommt ID)


    if(PlayerInfo[playerid][pAdmin] >0) (Ist der Spieler Adminlevel größer als 0?)


    { (wenn ja, mache hier weiter)


    new PlayerName[MAX_PLAYERS]; (mach eine neue Variable)
    new ip[256]; (mach einen neuen String mit Namen ip)
    new string[256]; (mach einen neuen String mit Namen string=
    GetPlayerName(playerid,PlayerName,MAX_PLAYERS); (nimm den Namen von dem Spieler und schreibe den in Playername mit größe MAX_PLAYERS rein)
    GetPlayerIp(playerid,ip,sizeof(ip)); (Scheibe die Spielerip in ip)
    format(string,sizeof(string),"%s mit der IP %d hat den Server betreten.",PlayerName,ip); (schreibe in den string string folgendes rein)
    SendClientMessageToAll(COLOR_GREY, string); (sende den formatierten string an alle Spieler)


    } (Ende)



    Seht ihr was ich meine?


    Nur wenn ein Admin den Server betritt wird die Nachricht an alle Spieler gesendet !

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • also pass auf Theoretisch hast du recht nur ist es nicht so ;)


    Da er abfragt ob es admin istoder net wenn ja dann wird ihm das gesendet falls net dannnet

  • OnPlayerConnect (Spieler connectet und bekommt ID)


    if(PlayerInfo[playerid][pAdmin] >0) (Ist Bereits im Spiel der SPieler größer als 0)


    { (wenn ja, mache hier weiter)


    new PlayerName[MAX_PLAYERS]; (mach eine neue Variable)
    new ip[256]; (mach einen neuen String mit Namen ip)
    new string[256]; (mach einen neuen String mit Namen string=
    GetPlayerName(playerid,PlayerName,MAX_PLAYERS); (nimm den Namen von dem Spieler und schreibe den in Playername mit größe MAX_PLAYERS rein)
    GetPlayerIp(playerid,ip,sizeof(ip)); (Scheibe die Spielerip in ip)
    format(string,sizeof(string),"%s mit der IP %d hat den Server betreten.",PlayerName,ip); (schreibe in den string string folgendes rein)
    SendClientMessageToAll(COLOR_GREY, string); (durch die Überprüfung an alle Admins die Online sind)


    } (Ende)


    so stimts

    Der Server: [GRG]Grand Racing Game wurde 2014 Eingestampft.
    Weitere Infos: Klick Mich

  • Schwachsinn !


    Habt ihr die Syntax von Pawn überhaupt mal annäherd gelesen?


    Lest euch mal das Wiki durch, und lernt die Basis, dann kommt wieder, und stellt eure eigenen Theorien auf ;)

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • Ich würds so machen:


    Bei OnPlayerConnect:

    new name[MAX_PLAYER_NAME]; // Variable für den Namen
    new ip[16]; // Variable für die IP
    GetPlayerName(playerid,name,sizeof name); // Name in Variable schreiben
    GetPlayerIP(playerid,ip,sizeof ip); // IP in Variable schreiben
    new msg[128]; // String für die Nachricht
    format(msg,sizeof msg,"%s hat den Server betreten. IP: %s",name,ip);
    for(new pid =0;pid < MAX_PLAYERS;pid++) // Schleife für alle Spieler
    {
    if(PlayerInfo[playerid][pid] >0) // Wenn der Spieler Admin ist(Adm. Level höher als 0)
    {
    SendClientMessage(pid,COLOR_GREY,msg);
    }
    }

  • if(PlayerInfo[playerid][pid] >/*Hier*/0)




    komm da net noch ein= zeichen rein? xD


    //edit : sry hab festegstellt das es egal sit ;) ^^

  • Was passiert denn z.b. hierbei?



    new Spieleranzahl;
    forward bspteimer();


    OnGameModeInit
    SetTimer("bspteimer", 200000, 1);


    OnPlayerConnect
    Spieleranzahl +1;


    public bspteimer()
    {
    if(Spieleranzahl > 50)
    {
    SendMessageToAll(COLOR_RED,"Es sind viele Spieler online);
    }
    else
    {
    SendMessageToAll(COLOR_RED,"Es sind nicht sehr viele Spieler online);
    }
    }




    Das hier dient nur zur Verantschaulichung




    @Haxler : Das ist richtig , das macht man mit einer Schleife;)

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • Erstens ist der Code Falsch ;)
    Zweites nicht gerade Sortiert ;)


    richtig wär dann :


    new name[MAX_PLAYER_NAME], ip[16], msg[128];; // Variable für den Namen
    GetPlayerName(playerid,name,sizeof name); // Name in Variable schreiben
    GetPlayerIP(playerid,ip,sizeof ip); // IP in Variable schreiben
    format(msg,sizeof msg,"%s hat den Server betreten. IP: %s",name,ip);
    for(new pid =0;pid < MAX_PLAYERS;pid++) // Schleife für alle Spieler
    {
    if(PlayerInfo[pid][pAdmin] >=1) // Wenn der Spieler Admin ist(Adm. Level 1 oder höher ist)
    {
    SendClientMessage(pid,COLOR_GREY,msg);
    }
    }

  • für was eine schleife?
    die bringts doch ned wen das eh jeden spieler betrift :D
    is nur scirpt aufwand
    mach die schleife weg und setz das format in die überprüfung von admin level dan würds gehn
    weil wen du die schleife machst würde der server crashen da OnPlayerConnect eh schon über eine definition in diesen nano dingern da beschleift ist xD geiler ausdruck xD
    und da er das dan gleichzeitig zweimal überprüft gibts crash

    Der Server: [GRG]Grand Racing Game wurde 2014 Eingestampft.
    Weitere Infos: Klick Mich

  • Hier wird einfach ein Timer gesetzt, der überprüft wieviele Spieler online sind. Wenn die Spielerzahl größer als 50 (> 50) ist, dann wird die Message "Es sind viele Spieler online" an alle Spieler geschickt. Wenn nicht wird die Message "Es sind nicht viele Spieler online" an alle Spieler geschickt :)


    Edit:


    new name[MAX_PLAYER_NAME], ip[16], msg[128];;
    Stimmt auch nicht ganz ;)

    Einmal editiert, zuletzt von Haxler ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen