[Help]Join Message

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 Breadfisher,


    ich habe mal hier aus dem Forum ein system für


    Join & Leave Messages geucht & gefunden.


    Jetz benutze ich es auch aber ich möchte was daran ändern.


    Joint der user z.b soll das aber nur ein admin rang 3 sehen das der user gejoint ist.


    Meine frage ist wie hest der befehl das nur der admin ab rang 3 & höcher lesen kann.


    es ist derzeit so:


    SendClientMessageToAll(Farbe,jointext);


    und soll dan nur heisen


    Send Client Message to admin ab rang 3 und höcher.



    Bitte um hilfe MFG


    Summer

  • Was brauchst du den von meinem Adminsystem ?


    Ich meache ein selfmade ( gerade erst angefangen )



    stock isPlayerAnAdmin(playerid,rang)
    {
    if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
    return 0;
    }




    ist meine abfrage ob der spieler ein amdin ist


  • forward SendAdminMessage(color,const string[],rang);
    public SendAdminMessage(color,const string[],rang)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if (GetPVarInt(playerid,"Adminlevel") >= rang)
    {
    SendClientMessage(i, color, string);
    }
    }
    }
    return 1;
    }


    bsp.


    SendAdminMessage(0xB8860BAA,"Text bzw. String der gesendet werden soll",1 /*(= Adminrank)*/);


    /E:


    Join Message dann z.B. so:


    unter OnPlayerLogin:



    new txt[100], absender;
    GetPlayerName(playerid, absender, sizeof(absender));
    format(txt,sizeof(txt),"ADMIN: %s (ID: %d) hat sich eingeloggt.",absender,playerid);
    SendAdminMessage(0xB8860BAA,txt,1);




  • public OnPlayerConnect(playerid)
    {
    for(new i=0; i<max_players; i++)="" wir="" setzen="" alle="" spieler="" auf="" die="" playerid="" "i"="" zu.
    {
    if(isPlayerAnAdmin(i,3)) // Wir schauen ob einer oder mehr von der playerid "i" ein admin ist
    {
    new pName[MAX_PLAYER_NAME];
    new string[48];
    GetPlayerName(playerid, pName, sizeof(pName)); //Falls Admin dann wird das hier passieren, und nur zu dem Player gesendet der admin ist.
    format(string, sizeof(string), "%s hat den Server betreten.", pName);
    SendClientMessage(playerid,**FARBE**, string);
    }
    }
    }


    Das ist nicht gerade Ressorcen sparend, am besten du machst es später mit SendADMMessage und so aber für ein Selfmade sollte
    das am Anfang noch zu schaffen sein.


    //EDIT
    Mike hats daoben auch gut gemacht :D So meinte ich solltest du es später auf jeden fall machen


    //EDIT2
    for(new i=0; i<MAX_PLAYERS; i++)

  • //edit


    danke euch beiden.


    aber das funktioniert bei mir nicht :(


    Das sidn die errors:


    C:\Users\Oliver\Desktop\Mein Server\gamemodes\Script.pwn(267) : error 035: argument type mismatch (argument 2)
    C:\Users\Oliver\Desktop\Mein Server\gamemodes\Script.pwn(267) : error 035: argument type mismatch (argument 2)
    C:\Users\Oliver\Desktop\Mein Server\gamemodes\Script.pwn(794) : error 017: undefined symbol "playerid"
    C:\Users\Oliver\Desktop\Mein Server\gamemodes\Script.pwn(925) : error 021: symbol already defined: "SendAdminMessage"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

  • wen ich das alles gemacht habe kommen noch diese 2 warnings:


    C:\Users\Porjekt\Desktop\Script\gamemodes\Neuanfang.pwn(407) : error 035: argument type mismatch (argument 2)
    C:\Users\Projekt\Desktop\Script\gamemodes\Neuanfang.pwn(407) : error 035: argument type mismatch (argument 2)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.



    Zeilen:



    GetPlayerName(playerid, absender, sizeof(absender));

  • da du das bestimmt kopiert hast
    new txt[100], absender;
    GetPlayerName(playerid, absender, sizeof(absender));
    format(txt,sizeof(txt),"ADMIN: %s (ID: %d) hat sich eingeloggt.",absender,playerid);
    SendAdminMessage(0xB8860BAA,txt,1);
    welches vollkommen fehlerhaft ist :D


    sollte in das hier geändert werden
    new txt[100];
    GetPlayerName(playerid, txt, MAX_PLAYER_NAME);
    format(txt,sizeof(txt),"ADMIN: %s (ID: %d) hat sich eingeloggt.",txt,playerid);
    SendAdminMessage(0xB8860BAA,txt,1);

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski