Befehl um einen privaten Textdraww zu erstellen

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,
    ich wollte mal frage, wie der Befehl ist, z.B. nur für playerid einen texdraw zu erstellen, den nicht der ganze server sieht?
    Ich habe schon die sufu durchsucht und das wiki, aber benutze immer die beklopptesten Suchbegriffe...

  • Vllt son Textdraw for Player die nur Polizisten machen können, mit "BITTE RECHTS ANHALTEN. DIES IST DIE POLIZEI!"



    EDIT: 8D. hat recht :whistling:

    Einmal editiert, zuletzt von LoLi ()

  • Ja das Weiß ich aber woher soll ich wissen das er nen Befehl mit nem Parameter möchte


    ich hoffe du hast cmd,giveplayerid und tmp defieniert falls du gf hast ist es so defieniert
    und ich hoffe du meinst sowas

    if (strcmp(cmd, "/showtextdraw", true) ==0 )
    {
    tmp=strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Verwendung : /makeadmin [playerid] 1-12");
    return 1;
    }
    giveplayerid=strval(PText);
    if(!IsPlayerConnected(giveplayerid))
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Dieser Spieler ist wohl Offline");
    return 1;
    }
    TextDrawShowForPlayer(giveplayerid,TextdrawId);


    return 1;
    }
    return 1;
    }

    RFT

  • Ich brauche es für eine uhr, damit nur die leute die Uhr sehen die/uhr eingeben ABER DIE ANDEREN NICHT!.


    Aber das wie im Beispiel /makeleader ist auch nen gute verwendung, z.B. wenn ein Spiler sich einloggt das dann irgendwo WIllkommen %s steht...


    €: Wie kann ich den Texdraw wieder wegmachen? Der soll da bleiben bis ich einen befehl eingebe... bzw. bis der Timer erneut durchläuft um die Zeit zu aktuallisieren dazu muss man doch den alten Textdraw löschen und einen neuen mit der neuen Zeit erstellen oder?

    Einmal editiert, zuletzt von Tockra ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • achso will er das nun wie makeleader haben warte ich mache



    if (strcmp(cmd, "/showtext", true) ==0 )
    {
    if(SpielerInfo[playerid][Admin] >= 10 || IsPlayerAdmin(playerid))
    {
    PText=strtok(cmdtext,idx);
    if(!strlen(PText))
    {
    SendClientMessage(playerid,Grau,"Verwendung : /showtext [playerid] {Textid]");
    return 1;
    }
    SpielerId=strval(PText);
    if(!IsPlayerConnected(SpielerId))
    {
    SendClientMessage(playerid,Gelb,"Dieser Spieler ist wohl Offline");
    return 1;
    }
    new Level;
    PText2=strtok(cmdtext,idx);
    Level = strval(PText2);
    if(!strlen(PText2))
    {
    SendClientMessage(playerid,Grau,"Verwendung : /showtext [playerid] textid");
    return 1;
    }
    if(Level == 1
    {
    TextDrawShowForPlayer(SpielerId,TextDraw0);
    }
    //und das dann immer weiter so machen falls du mehrere textdraws damit benutztn willst
    print(Text2);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du bist kein Hauptadmin");
    }
    return 1;
    }


    das musst du natürlich noch nach deinem Script defienieren da das nen umgeschreibener command aus meinem SElf script ist und bei dir so nicht funktionieren wird

    RFT

  • Ok, meine Uhr klappt jetzt bis auf eins, wenn ich ID0 habe und connecte habe ich die uhr nicht, erst bei /uhr, dann fängt der Timer an zu zählen etc. wenn ich dann disconnecte und wieder connecte dann habe ich sofort die uhr da ohne /uhr ich vermute mal ich muss den Timer irgendwie abschalten, aber wie schalte ich einen Timer bei OnplayerDisconnect aus?

  • Das klappt nicht hier mal meine Uhr:
    forward clock(playerid);
    public OnPlayerSpawn(playerid)
    {
    clock(playerid);
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    KillTimer(Uhr);
    return 1;
    }


    public clock(playerid){
    new Text:Clock;
    new hour,minute,second;
    new string[10];
    gettime(hour,minute,second);
    format(string, sizeof string, "%s%d:%s%d:%s%d", (hour < 10) ? ("0") : (""), hour, (minute < 10) ? ("0") : (""), minute, (second < 10) ? ("0") : (""), second);
    TextDrawHideForAll(Clock);
    Clock = TextDrawCreate(542.0, 24.0, string); // Koordinaten, wo die Uhr angezeigt wird
    TextDrawLetterSize(Clock, 0.6, 1.8);
    TextDrawFont(Clock, 3); // Uhrschrift
    TextDrawSetOutline(Clock, 2);
    TextDrawShowForPlayer(playerid,Clock);
    Uhr = SetTimer("clock",1000,0);
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    clock(playerid);
    if(loggedin[playerid] == false)
    {
    Kick(playerid);
    }
    return 1;
    }


    So in dem Script soll die Uhr beim Spieler erst auftauchen, nachdem er gespawnt ist. Klappt auch beim ersten Connecten, dann ist die Uhr noch nicht bei der Skin auswahl, aber sobald ich disconnecte und connecte sieht man die Uhr schon bei der Skinauswahl...

  • Ich griege nen lachkrampf lest doch einfach was ich schreibe dann merkt ihr doch was ich möchte, später möchte ich das mit som Befehl haben, aber im moment möchte ich das erstmal so haben, das nach dem Spawn des Spielers die Uhr angezeigt wird. ABER erst nach dem spawn, das klappt auch, aber sobald ich disconnecte und neu connecte ist dann die Uhr schon vor dem spawnen da o0?

  • Naja das bringt so null finde nidmal ShowTextraforall beim englischen wiki

    Einmal editiert, zuletzt von Tockra ()