playername wiedergeben

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
  • moni nächste frage hab schon gesucht aber nix passendes gefunden...
    also es gibt diese schöne funtkion mit GetPlayerName
    nun kann mir jemand erklären wie ich es verwenden kann zb in meinem anticheatscript.
    jemand wird gebannt und es soll dan dastehn %s wurde wegen Armourhack gebannt!
    aber wie definier ich den namen?

  • Mit einem string...wenn dir das nichts sagt,einfach bei mir melden ;)

    Sie brauchen Hilfe bei Linux oder Windows Servern? Wissen nicht, wie man am besten ein Forum o. a. installiert? Dann schreiben Sie mir eine PN und ich versuche Ihnen zu helfen!

  • hier ein beispiel



    new SpielerName[64];
    new Text[64];
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Text,sizeof(Text),"%s wurde gebannt grund cheaten",SpielerName);
    SendClientMessageToAll(farbe,Text);//die farbe mit deiner austauschen


    MFG Julian

    RFT

  • Der Name ist einfach nur ein String, in diesem Fall ein String mit 16 Zellen, mehr unterstützt SA:MP im Moment nicht.


    per GetPlayerName weißt du einem String den Wert des Namens zu. Danach kannst du ihn per format und der Zeichenfolge %s formatieren um ihn anscheinend anzeigen zu lassen.


    Kleines Beispiel:
    public OnPlayerConnect(playerid) {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    print("%s", name);
    return 1;
    }

  • nur das prob ist ich hab bei mir kein playerid bei public drinne
    public armourcheck()
    {
    new SpielerName[64];
    new Text[64];
    for(new i = 0;1<MAX_PLAYERS;i++)
    {
    if(GetPlayerArmour(i) > 1.0)
    {
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Text,sizeof(Text),"%s Wurde wegen Armourcheaten gebannt!",SpielerName);
    SendClientMessageToAll(FARBE_ROT,Text);
    SendClientMessage(i, FARBE_ROT, "Du wurdest wegen Cheaten gebannt!");
    Ban(i);
    }
    }
    }
    oder würde das auch gehn wenn ich in die () playerid reinmache?

  • Dann ersetzt du "playerid" einfach mit "i". Ganz einfach.


    BTW: Spielername mit 64 Zeichen, du hast was gegen deinen Server stimmts?
    Defines sind dazu da um sie zu benützen, nimm MAX_PLAYER_NAME her. Dein Server wirds dir danken.

  • da drauf hätte ich von alleine kommen können^^
    aber dennoch
    C:\Users\Fischer\Desktop\Script+Server\pawno\neu.pwn(1272) : warning 206: redundant test: constant expression is non-zero
    C:\Users\Fischer\Desktop\Script+Server\pawno\neu.pwn(1274) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Warnings.


    //edit wie meinst du das mit max_player_...
    wo soll das hin?

  • public armourcheck()
    {
    new SpielerName[16];
    new Text[64], Float:russi;
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    if(GetPlayerArmour(i,russi))
    {
    if(russi>0) {
    GetPlayerName(i,SpielerName,sizeof(SpielerName));
    format(Text,sizeof(Text),"%s Wurde wegen Armourcheaten gebannt!",SpielerName);
    SendClientMessageToAll(FARBE_ROT,Text);
    SendClientMessage(i, FARBE_ROT, "Du wurdest wegen Cheaten gebannt!");
    Ban(i); }
    }
    }
    }

  • anstatt die 1 muss i hin ;)


    Edit: Da war einer schneller :(

    Sie brauchen Hilfe bei Linux oder Windows Servern? Wissen nicht, wie man am besten ein Forum o. a. installiert? Dann schreiben Sie mir eine PN und ich versuche Ihnen zu helfen!