id 0 Bugt

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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 habe einen Timer der soll einen TextDraw aktualisiren:


    Spoiler anzeigen
    new chanche[MAX_PLAYERS];
    new werbungs[128];public infotimer()
    {
    for(new i = 0;i < MAX_PLAYERS;i++)
    {
    new ss[128];
    new h,m,s;
    gettime(h,m,s);
    SetWorldTime(h);
    format(ss,sizeof(ss),"Zeit: %02d:%02d:%02d~n~Name: %s[%d]~n~Geld: %d~n~Level: %d~n~~n~%s",h,m,s,PlayerInfo[i][pName],i,PlayerInfo[i][pMoney],PlayerInfo[i][pLevel],werbungs);
    TextDrawSetString(infos[i],ss);
    if(IsPlayerInAnyVehicle(i))
    {
    if(chanche[i] == 0)
    {
    TextDrawShowForPlayer(i,carinfos[i]);
    TextDrawShowForPlayer(i,carinfo[i]);
    chanche[i] = 1;
    }
    new carss[128];
    format(carss,sizeof(carss),"Tempo: %d km/h",ErmittleGeschwindigkeit(i,true));
    TextDrawSetString(carinfos[i],carss);

    }
    else
    {
    if(chanche[i] == 1)
    {
    TextDrawHideForPlayer(i,carinfos[i]);
    TextDrawHideForPlayer(i,carinfo[i]);
    chanche[i] = 0;
    }
    }

    //TextDrawSetString(info[i],"Player Infos");
    }

    return 1;
    }


    der infotimer geht jede sekunde und die werbung ist einfach nur ein string der alle 10 sec seinen text ändert.


    Ich hoffe das reicht an information wne ihr noch mehr scriptauschnitte braucht sagt bescheit.


    MFG
    Modder112


    PS: Forhe Weinachten

    Teamspeak zum Quatschen?

    IP: 217.79.182.216:9999

    Jeder kann Semi-Permanent Channel erstellen ;)

  • huch hatte vergssen zu sagen was passier.


    wen ich konnecte soll wir dort mein name angezeig und meine id: Modder [0] aber meine name wir nicht angezeigt und meine id zählt von 0 auf 499 hoch


    und ja es ist nur bei is 0 so. Man kann notfals einen bot connecten lassen aber den fählr mir ja ein slot. (nicht so gut bei einen 15 slot server)

    Teamspeak zum Quatschen?

    IP: 217.79.182.216:9999

    Jeder kann Semi-Permanent Channel erstellen ;)

  • Das wird auch alles innerhalb der Schleife gemacht. Die Schleife geht alle Spieler durch, dadurch das du MAX_PLAYERS Angegeben hast geht sie wie du sagst die 499 User durch und erhöht die ID jedesmal. Mach das einfach Ausserhalb der for-Schleife und dann dürfte es gehen. Vergiss aber nicht den Parameter "playerid" mit zu Übergeben! Also auch im Timer, mit SetTimerEx(Falls du es nicht wissen solltest)
    .


    Sollte dann z.B. so Aussehen(Leeres Bsp.)

    for(new i = 0; i < sizeof MAX_PLAYERS;i++)
    {
    //Alles andere kann hier drinne passieren
    }
    //Hier Ausserhalb der for-Schleife würde ich dann die Playerid Abfragen und Anzeigen lassen, kannst du sicherlich auch schon oben machen!


    Sollte daran etwas falsch sein bitte Berichtigen, ich merke selber das ich nicht ganz bei mir bin, was daran liegt das ich gestern nur 5 Stunden Schlaf hatte und ich irgendwas mit Alkohl gegessen hatte(Schokolade :D )...



    MfG

  • das soll ja so sein das er dies für jeden speiler durchgeht. jeder spiele hat ja auch eine eigene Variable (infos[i]) und die ist player für player ja anders.

    Teamspeak zum Quatschen?

    IP: 217.79.182.216:9999

    Jeder kann Semi-Permanent Channel erstellen ;)