Textdraw Problem

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
  • Moin Community !


    Ich habe folgenes Problem unzwar,habe ich ein reportsystem,was problemlos Funktioniert,nur will ich das es rechts auf einem Textdraw angezeigt wird,bei allen Admins.



    Und wenn jemand ein Ticket schreibt soll halt rechts anzeigt werden wieviele Tickets es gibt in den 3 Kategorien.
    Und das tut er nicht,ich zeig euch das script man.

    SetTimerEx("Tickets",500,true,"i");
    SetTimerEx("Tickets2",500,true,"i");
    SetTimerEx("Tickets3",500,true,"i");


    Support = TextDrawCreate(497.5,110," ");
    TextDrawFont(Support,1);
    TextDrawLetterSize(Support, 0.32, 1.40);
    TextDrawColor(Support,0xff8c00FF);
    TextDrawSetOutline(Support,false);
    TextDrawSetProportional(Support,true);
    TextDrawSetShadow(Support,1);
    Beschwerde = TextDrawCreate(497.5,123," ");
    TextDrawFont(Beschwerde,1);
    TextDrawLetterSize(Beschwerde, 0.32, 1.40);
    TextDrawColor(Beschwerde,0xff8c00FF);
    TextDrawSetOutline(Beschwerde,false);
    TextDrawSetProportional(Beschwerde,true);
    TextDrawSetShadow(Beschwerde,1);
    Bug = TextDrawCreate(497.5,136," ");
    TextDrawFont(Bug,1);
    TextDrawLetterSize(Bug, 0.32, 1.40);
    TextDrawColor(Bug,0xff8c00FF);
    TextDrawSetOutline(Bug,false);
    TextDrawSetProportional(Bug,true);
    TextDrawSetShadow(Bug,1);


    forward Tickets();
    public Tickets()
    {
    new string[128];
    for(new i=0; i <MAX_PLAYERS; i++)
    {
    TextDrawHideForPlayer( i,Support);
    format(string,sizeof(string),"Support Meldung: %d",GetPVarInt(i,"Support"));
    if(aDuty[i] == 1)
    {
    TextDrawSetString( Support, string );
    TextDrawShowForPlayer(i,Support);
    }
    }
    }
    forward Tickets2();
    public Tickets2()
    {
    new string[128];
    for(new i=0; i <MAX_PLAYERS; i++)
    {
    TextDrawHideForPlayer( i,Beschwerde);
    format(string,sizeof(string),"Beschwerde Meldung: %d",GetPVarInt(i,"Beschwerde"));
    if(aDuty[i] == 1)
    {
    TextDrawSetString( Beschwerde, string );
    TextDrawShowForPlayer(i,Beschwerde);
    }
    }
    }
    forward Tickets3();
    public Tickets3()
    {
    new string[128];
    for(new i=0; i <MAX_PLAYERS; i++)
    {
    TextDrawHideForPlayer( i,Bug);
    format(string,sizeof(string),"Bug Meldung: %d",GetPVarInt(i,"Bug"));
    if(aDuty[i] == 1)
    {
    TextDrawSetString( Bug, string );
    TextDrawShowForPlayer(i,Bug);
    }
    }
    }


    Hoffentlich kann mir wer helfen :))


    Danke im Vorraus !


    PS: Reportsystem ist nicht von mir Selbst geschrieben.

  • Hahahahhahaha :D Ja Sirene aufm Kopf wenn ich Aduty bin :D


    Und,ja unzwar wenn ich Support Ticket reingeht soll da "Support Meldung: 1" stehen. und das gleiche bei den anderen Kategorien. Und wenn z.b 5 Tickets von 5 verschiedenen Usern reingekommt soll da dann halt "Support Meldung: 5" stehen.
    Und es soll für alle Admin die Aduty sind sichbar sein.


    Verstanden ?? :D

  • Du musst globale Variablen verwenden, keine PVars.
    PVars = Player Variablen. Da die Anzeige aber wohl nicht nur für einen User gilt und auch nicht nur für eine Funktion, brauchst du globale Variablen.


    z.B.
    new supporttickets;


    Dann wenn jemand nen Ticket schreibt:
    supporttickets ++;


    Wenns gelöscht wird, logischerweise umgekehrt.


    Dann einfach


    format(string,sizeof(string),"SupportMeldung: %d",supporttickets);

    ▬|██████|▬
    This is Nudelholz.
    Copy Nudelholz in your Signatur
    to make better Kuchens
    and other Teigprodukte!

  • new supporttickets,beschwerdetickets,bugtickets;//Global oben im Script


    //Ticket-Eingang:
    supporttickets ++;
    beschwerdetickets ++;
    bugtickets ++;


    //Ticket-Ausgang:
    supporttickets --;
    beschwerdetickets --;
    bugtickets --;


    forward Tickets();
    public Tickets(){
    new string[128],i=0;
    TextDrawHideForAll(Support);
    format(string,128,"Support Meldung: %d",supporttickets);
    for(;i<GetMaxPlayers();i++){if(aDuty[i] == 1)TextDrawSetString(Support,string),TextDrawShowForPlayer(i,Support);}
    return 1;
    }
    forward Tickets2();
    public Tickets2(){
    new string[128],i=0;
    TextDrawHideForAll(Beschwerde);
    format(string,128,"Beschwerde Meldung: %d",beschwerdetickets);
    for(;i<GetMaxPlayers();i++){if(aDuty[i] == 1)TextDrawSetString(Beschwerde,string),TextDrawShowForPlayer(i,Beschwerde);}
    return 1;
    }
    forward Tickets3();
    public Tickets3(){
    new string[128],i=0;
    TextDrawHideForAll(Bug);
    format(string,128,"Bug Meldung: %d",bugmeldung);
    for(;i<GetMaxPlayers();i++){if(aDuty[i] == 1)TextDrawSetString(Bug,string),TextDrawShowForPlayer(i,Bug);}
    return 1;
    }


    So sollte das klappen ;)