Hab 1 Scripting frage

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 liebe Breadfish Community,

    Ich frage mich seit langer Zeit ob es geht das wenn ein ServerOwner on kommt das niemand sieht das er Ongekommen ist aber wenn ein Normaler User on kommt das mann es sieht ich hab das schonmal auf einem Server gesehen seit dem Frage ich mich wie geht das.


    Koennt ihr mir Helfen?

    Freundliche Gruesse,

    [SoC]Justin

  • Denke schon das es klappt ich bin kein Script pro aber ich würde es mit einer Adminabfrage bei OnPlayerConnect versuchen, wenn er ADM ist soll er normal joinen ohne Meldung, wenn er User ist irgentwie mit SendMessageToAll arbeiten ^^ ob das so klappt kp :)

  • Mach ein Admin Stock so das die Nachricht (In dem Falle : %s hat sich Eingeloggt) an den ServerOwner gesendet wird.
    Dann machst du es z.B so (jenachdem wie dein Stock ist) :
    Bei OnPlayerSpawn:

    new Ownername[64]
    new Spielername[64];
    SendOwnerMessage(Owner,GRUEN,"/s hat sich Eingeloggt",Ownername,Spielername);


    Korrigiert mich wenn ich Falsch liege ^^
    Bin bissel Müde.

    Man soll weder annehmen noch besitzen, was man nicht wirklich zum Leben braucht.



  • bei OnplayerConnect:
    new string[64];
    format(string,sizeof string,"%s hat den Server betreten!",SpielerName(playerid));
    if(strcmp("NAME VOM SERVEROWNER z.B Joachim",SpielerName(playerid))) return SendClientMessageToAll(0xFFFFFFFF,string); //wenn er nicht der serverowner ist, soll er die string nachricht abschicken


  • Warum setzt du den Wert auf jeweils 64 ?
    & was ist eine SendOwnerMessage ?
    Edit: Dein Code ist 100% Müll. Du gibst hinten 2 Parameter an, hast aber nicht mal einen in der Message.


    Einfach abfragen bei OnPlayerConnect


    new name[MAX_PLAYER_NAME],string[64];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"Spieler %s hat den Server betreten.",name);
    if(SpielerInfo[playerid][Adminlevel] < ServerOwner)return SendClientMessageToAll(Farbe,string);

  • public OnPlayerConnect(playerid)
    {
    new name[MAX_PLAYER_NAME],string[64];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"Spieler %s hat den Server betreten.",name);

    if(pDaten[playerid][AdminLevel]<=1999)
    {
    SendClientMessageToAll(COLOR_GREEN,"TEXT");
    return 1;
    }


    return 1;
    }


    Keine Ahnung ob das so klappt. Ich würde es so probieren :D

  • public SendOwnerMessage(playerid)
    {
    foreach (Player, i)
    {
    //Admin Abfrage
    {
    if (gLogin[i] == 0)
    {
    new pname[MAX_PLAYER_NAME],string[128];
    GetPlayerName(playerid,pname,sizeof pname);
    if(PlayerInfo[playerid][pLevel] <= 1)
    {
    format(string,sizeof(string),"%s hat sich eingeloggt [ID:%d]",pname, playerid);
    SendClientMessage(i, 0x00FF6EFF, string);
    }
    }
    }
    }
    }


    Brauchst das Include Foreach.
    Habs dir Schnell gemacht hoffe es is Richtig :D
    (Ausm Kopf geschrieben ^^)

    Man soll weder annehmen noch besitzen, was man nicht wirklich zum Leben braucht.



  • Ja^^ bei mir wird es nur Angezeigt wenn normale User Joinen, sobald ein Owner mit Rang 2000 kommt wird nix Angezeigt.
    Danke


    Also Justin


    public OnPlayerConnect(playerid)
    {
    new name[MAX_PLAYER_NAME],string[64];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"Spieler %s hat den Server betreten.",name);

    if(pDaten[playerid][AdminLevel]<=1999) //Oder halt deine Adminabfrage
    {
    SendClientMessageToAll(Farbe,"string");
    return 1;
    }


    return 1;
    }


    Hier kommt immer eine Meldung,wenn ein User oder Admin joint.Doch sobald ein Owner mit Rang 2000 oder höher joint wird nix angezeigt. Muss es halt auf dein Script anpassen und die Adin zahlen ändern wie du sie willst sprich wann die Meldung kommen soll


  • Es funktioniert , aber es frisst zeilen... & sieht meiner meinung nach Hässlich aus.


    new name[MAX_PLAYER_NAME],string[64];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"Spieler %s hat den Server betreten.",name);
    if(SpielerInfo[playerid][Adminlevel] < ServerOwner)return SendClientMessageToAll(Farbe,string);


    Kleiner Code, kleine Probleme 8)