[Problem] TextDraw zählt nicht weiter.

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 zusammen und zwar habe ich ein probloem mit der textdraw da dies immer nur einen player zähklt dasheist wenn zwei in dm gehen dann zählt er nur einen und zwar der al erstes rein geht und das ist überall so. Habt ihr vieleicht ne lösung ? Hier mal wie das im script ist :


    new InDm1[MAX_PLAYERS];
    new InDm2[MAX_PLAYERS];
    new InDm3[MAX_PLAYERS];
    new InDm4[MAX_PLAYERS];




    forward UpdateDM();


    public OnGameModeInit()
    {
    //Textdraws
    Textdraw0 = TextDrawCreate(2.000000,425.000000, "www.lone-eagle.tk");
    TextDrawUseBox(Textdraw0, true);
    TextDrawBoxColor(Textdraw0, COLOR_DARKRED);
    TextDrawAlignment(Textdraw0,0);
    TextDrawBackgroundColor(Textdraw0,0x000000ff);
    TextDrawFont(Textdraw0,1);
    TextDrawLetterSize(Textdraw0,0.499999,1.300000);
    TextDrawColor(Textdraw0,0xffffffff);
    TextDrawSetOutline(Textdraw0,1);
    TextDrawSetProportional(Textdraw0,1);
    TextDrawSetShadow(Textdraw0,2);


    UpdateDM();
    SetTimer("UpdateDM",125,1);

    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    TextDrawHideForPlayer(playerid, Textdraw0);
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    TextDrawShowForAll(Textdraw0);
    return 1;
    }


    OnPlayerDeath(playerid, killerid, reason)
    {
    TextDrawHideForPlayer(playerid,Textdraw0);
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext,"/dm",true) == 0)
    {
    InDm1[playerid]++;
    .
    .
    .
    return 1;
    }




    if(strcmp(cmdtext,"/dmoff",true) == 0)
    {
    InDm1[playerid]--;
    .
    .
    .
    return 1;
    }



    if(strcmp(cmdtext,"/dm2",true) == 0)
    {
    InDm2[playerid]++;
    .
    .
    .
    return 1;
    }




    if(strcmp(cmdtext,"/dm2off",true) == 0)
    {
    InDm2[playerid]--;
    .
    .
    .
    return 1;
    }




    if(strcmp(cmdtext,"/dm3",true) == 0)
    {
    InDm3[playerid]++;
    .
    .
    .
    return 1;
    }




    if(strcmp(cmdtext,"/dm3off",true) == 0)
    {
    InDm3[playerid]--;
    .
    .
    .
    return 1;
    }




    if(strcmp(cmdtext,"/dm4",true) == 0)
    {
    InDm4[playerid]++;
    .
    .
    .
    return 1;
    }




    if(strcmp(cmdtext,"/dm4off",true) == 0)
    {
    InDm4[playerid]--;
    .
    .
    .
    return 1;
    }


    return 0;
    }


    public UpdateDM()
    {
    new str[128];
    format(str, 128, " Forum: www.lone-eagle.tk DM: %d DM2: %d DM3: %d DM4: %d /Rules", InDm1, InDm2, InDm3, InDm4);
    TextDrawSetString(Textdraw0,str);
    return 1;
    }

    Einmal editiert, zuletzt von PhoenixMast3r ()


  • new InDm1;
    new InDm2;
    new InDm3;
    new InDm4;




    forward UpdateDM();


    public OnGameModeInit()
    {
    //Textdraws
    Textdraw0 = TextDrawCreate(2.000000,425.000000, "www.lone-eagle.tk");
    TextDrawUseBox(Textdraw0, true);
    TextDrawBoxColor(Textdraw0, COLOR_DARKRED);
    TextDrawAlignment(Textdraw0,0);
    TextDrawBackgroundColor(Textdraw0,0x000000ff);
    TextDrawFont(Textdraw0,1);
    TextDrawLetterSize(Textdraw0,0.499999,1.300000);
    TextDrawColor(Textdraw0,0xffffffff);
    TextDrawSetOutline(Textdraw0,1);
    TextDrawSetProportional(Textdraw0,1);
    TextDrawSetShadow(Textdraw0,2);


    UpdateDM();
    SetTimer("UpdateDM",1000,1);


    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    TextDrawHideForPlayer(playerid, Textdraw0);
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    TextDrawShowForAll(Textdraw0);
    return 1;
    }


    OnPlayerDeath(playerid, killerid, reason)
    {
    TextDrawHideForPlayer(playerid,Textdraw0);
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext,"/dm",true) == 0)
    {
    InDm1++;
    .
    .
    .
    return 1;
    }




    if(strcmp(cmdtext,"/dmoff",true) == 0)
    {
    InDm1--;
    .
    .
    .
    return 1;
    }



    if(strcmp(cmdtext,"/dm2",true) == 0)
    {
    InDm2++;
    .
    .
    .
    return 1;
    }




    if(strcmp(cmdtext,"/dm2off",true) == 0)
    {
    InDm2--;
    .
    .
    .
    return 1;
    }




    if(strcmp(cmdtext,"/dm3",true) == 0)
    {
    InDm3++;
    .
    .
    .
    return 1;
    }




    if(strcmp(cmdtext,"/dm3off",true) == 0)
    {
    InDm3--;
    .
    .
    .
    return 1;
    }




    if(strcmp(cmdtext,"/dm4",true) == 0)
    {
    InDm4++;
    .
    .
    .
    return 1;
    }




    if(strcmp(cmdtext,"/dm4off",true) == 0)
    {
    InDm4--;
    .
    .
    .
    return 1;
    }


    return 0;
    }


    public UpdateDM()
    {
    new str[128];
    format(str, 128, " Forum: www.lone-eagle.tk DM: %d DM2: %d DM3: %d DM4: %d /Rules", InDm1, InDm2, InDm3, InDm4);
    TextDrawSetString(Textdraw0,str);
    return 1;


    }

  • Danke für die antwort mein scripter probiert es gerade. ;)


    So sich das etz angeschaut und er meint wenn du das auf 1000 setzt geht es genauso wenig.

    2 Mal editiert, zuletzt von PhoenixMast3r ()

  • Auch wenns nicht das Problem ist könntes du es mir erklären ? Text da oben zeigt er mir nicht an ;)


    new str[128];
    format(str, sizeof(str), " Forum: www.lone-eagle.tk DM: %d DM2: %d DM3: %d DM4: %d /Rules", InDm1, InDm2, InDm3, InDm4)


    sizeof = Größe von (String) ^^


    //So Verstanden


    Ünnötig ist Erstens:


    public OnPlayerDisconnect(playerid, reason)
    {
    TextDrawHideForPlayer(playerid, Textdraw0);
    return 1;
    }


    OnPlayerDeath(playerid, killerid, reason)
    {
    TextDrawHideForPlayer(playerid,Textdraw0);
    return 1;
    }

    Wenn es für alle Anzeigt dann nützt TextDrawHideForPlayer nix ? (FOR PLAYER) Für Spieler !


    DMTimer:


    public UpdateDM()
    {
    new str[250];
    format(str, sizeof(str), " Forum: www.lone-eagle.tk DM: %d DM2: %d DM3: %d DM4: %d /Rules", InDm1, InDm2, InDm3, InDm4);
    TextDrawSetString(Textdraw0,str);
    return 1;
    }
    NICHTS GETESTET !

    Einmal editiert, zuletzt von Funner ()

  • Das Textdraw erscheint für Alle sobald sie Spawnen.
    Wenn man aber stirbt und wieder spawnt wird jedesmal das Textdraw neu aufgemacht.
    Bei einer Realtime Uhr hatte ich das mal das führte zum extremen Serverlagg aufgrund des immer wiederholten auftuens des textdraws wenn es nicht voher beim tod ausgeblendet wird.


    Ich habe es getestet und es ging auch eine Zeit.
    Aber dnan auf einma zählt der nur noch bis 1 das ist das Problem.

    [color=#0000FF]



    Suche aktive Leute die Interesse haben ein Freeroam Projekt großzuziehen! Es wird noch alles gesucht!
    Besonders: Scripter für einen GM der besonderen Art , Mapper, Brainstormer & Gehilfen! Bei Interesse einfach melden!
    Info: Server, Webspace & WBB 3 + Lizenz vorhanden!