Wanted Grund

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
  • Guten Abend,


    ich hab folgendes Problem:
    Wenn ich ein Officer bin und Wanteds verteil updaten sie sich ohne Probleme, nach dem ich aber 1x Offduty und wieder Onduty gegangen bin überschreibt sich der Text mehrmals.
    Wenn ich dann die komplette Wantedanzahl clearen will cleart er die wanteds die vergeben wurden nach dem erneuten onduty gehen, die davor bleiben als 3DTextLabel jedoch sollten
    die doch auch verschwinden.


    http://www.pic-upload.de/view-28406029/Unbenannt.png.html


  • Wahrscheinlich musst du den Tag vor der -1 auch noch dort setzen, wo du die Variable auf -1 setzt bzw. initialisierst.
    Eigentlich müsstest du da mehrere Tag Mismatch Warnungen bekommen.
    Versuche es so:

  • Wahrscheinlich musst du den Tag vor der -1 auch noch dort setzen, wo du die Variable auf -1 setzt bzw. initialisierst.
    Eigentlich müsstest du da mehrere Tag Mismatch Warnungen bekommen.
    Versuche es so:

    Hättest du eventuell Zeit dir das Gesamtpacket mal anzusehen ?
    Irgendwas stimmt da nich :(

  • Das gibt die Log aus.


    [00:10:05] 1
    [00:10:05] 9 0 65535
    [00:10:05] 9 0 65535
    [00:10:09] 1
    [00:10:09] 9 0 65535
    [00:10:09] 9 0 65535
    [00:10:24] 1


    9 = meine id (copid)
    0= Spieler id


    Das Label destroyt erstens nicht mehr, und 2. buggt sich der Grund übereinander.

  • so wird er aufgerufen:

    C
    CreateWantedLabel(playerid,i);


    Der Public wird bei einer Wanted Vergabe aufgerufen:



    Und an manchen stellen wo der Label Destroyt werden soll oder createt werden soll wird halt der Code von ganz oben ausgeführt

  • Was wird so geprintet?

  • Was wird so geprintet?

    Offensichtlich wird mit dem Print bewiesen dass Variable Maske == 0 ist, dass die IDS beim erstellen und beim löschen übereinstimmen weswegen die Delete Funktion richtig ausgeführt werden müsste.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • 65535 ist keine korrekte ID, sondern der Wert der invaliden ID.Ich habe die Tags richtig gesetzt, sollte jetzt noch immer 65535 ausgegeben werden, dann sieht es wohl so aus, als können keine Labels mehr erstellt werden (Limit erreicht?).

    Wäre das Limit erreicht würden die Textdraws sich nicht überschneiden. Sein Problem liegt darin dass erstellte nicht gelöscht werden und nicht dass sie nicht erstellt werden.

  • [19:13:30] 1
    [19:13:30] 9 0 65535
    [19:13:30] 9 0 65535
    [19:13:34] 1
    [19:13:34] 9 0 65535
    [19:13:34] 9 0 65535
    [19:13:41] 1
    [19:13:41] 0 0 65535
    [19:13:41] 0 0 65535
    [19:13:41] 3
    [19:13:41] 0 0 65535
    [19:13:44] 1
    [19:13:44] 9 0 65535
    [19:13:44] 9 0 65535
    [19:13:45] 1
    [19:13:45] 9 0 65535
    [19:13:45] 9 0 65535
    [19:13:47] 1
    [19:13:47] 9 0 65535
    [19:13:47] 9 0 65535


    genau das gleiche.

  • Ich kann es mir nicht erklären, außer, dass du das Limit erreicht hast. Ich habe dir jetzt mal zu Testzwecken diese Schleife eingebaut, um die ersten 1000 Labels des Spielers zu löschen, vielleicht gibt das ja Aufschluss.



    Außerdem habe ich ein paar kleine Dinge hinzugefügt und die prints umgestellt. So muss es laut Code klappen, schauen wir mal was die prints jetzt sagen.

  • Gute Neuigkeiten,
    Ich hab das ganze mal ausprobiert. Ich kann nun den Personen ohne Probleme Wanteds verteilen
    der text aktualisiert sich ohne probleme. Auch wenn ich offduty wieder gehe und nochmal onduty und dann
    ein Wanted verteile updatet sich er.


    Das einzigste Problem ist noch das sich der Wanted Label mit /clear nicht destroyt. Wenn ich den Wanted Label Clear
    und Neu duty geh ist er weg jedoch geht das mit /clear noch nicht.


    Log:


    [17:58:56] Maske = 0 -> Lösche 1000 Labels
    [17:58:56] Lösche: 65535 | playerid: 0 | copid: 9
    [17:58:56] Neues Label ist leer: -1
    [17:58:56] Neues Label ist: 0
    [17:58:57] Maske = 0 -> Lösche 1000 Labels
    [17:58:57] Lösche: 65535 | playerid: 0 | copid: 9
    [17:58:57] Neues Label ist leer: -1
    [17:58:57] Neues Label ist: 0
    [17:58:58] Maske = 0 -> Lösche 1000 Labels
    [17:58:58] Lösche: 65535 | playerid: 0 | copid: 9
    [17:58:58] Neues Label ist leer: -1
    [17:58:58] Neues Label ist: 0
    [17:58:59] Maske = 0 -> Lösche 1000 Labels
    [17:58:59] Lösche: 65535 | playerid: 0 | copid: 9
    [17:58:59] Neues Label ist leer: -1
    [17:58:59] Neues Label ist: 0
    [17:59:19] Maske = 0 -> Lösche 1000 Labels
    [17:59:19] Lösche: 65535 | playerid: 0 | copid: 9
    [17:59:19] Neues Label ist leer: -1
    [17:59:19] Neues Label ist: 0
    [17:59:21] Maske = 0 -> Lösche 1000 Labels
    [17:59:21] Lösche: 65535 | playerid: 0 | copid: 9
    [17:59:21] Neues Label ist leer: -1
    [17:59:21] Neues Label ist: 0
    [17:59:25] Maske = 0 -> Lösche 1000 Labels
    [17:59:25] Lösche: 65535 | playerid: 0 | copid: 9
    [17:59:25] Neues Label ist leer: -1
    [17:59:25] Neues Label ist: 0

  • Schreibe die Funktion jetzt bitte mal so:



    Im Befehl:

    C
    CreateWantedLabel(giveplayerid,0);


    zu:

    C
    for(new i=0; i<sizeof(WantedPlayerLabel); i++)
    {
    	DeletePlayer3DTextLabel(i, WantedPlayerLabel[playerid][i]);
    	WantedPlayerLabel[playerid][i]  = PlayerText3D:INVALID_3DTEXT_ID;
    }
  • So das Clearen funktioniert immer noch nicht. Beim ersten /clear versuch ist es destroyt daraufhin habe ich nochmal ein wanted vergeben
    und wollte es erneut clearen jedoch hat er dies nicht getan.


    Log:
    [21:15:59] Maske = 0
    [21:15:59] Lösche: 0 | playerid: 0 | copid: 9
    [21:15:59] Neues Label ist leer: -1
    [21:15:59] Neues Label ist: 0
    [21:15:59] Speichere Label ist: 0


    @Jeffry

  • Sorry, bin gestern Abend nicht mehr dazu gekommen und bin erst jetzt wieder heim gekommen.
    Versuche es so:

    C
    for(new i=0; i<sizeof(WantedPlayerLabel); i++)
    {
    	DeletePlayer3DTextLabel(i, WantedPlayerLabel[giveplayerid][i]);
    	WantedPlayerLabel[giveplayerid][i]  = PlayerText3D:INVALID_3DTEXT_ID;
    }

    Das dürfte dann klappen, da ich grade bemerkt habe, dass du bei /clear eine ID eingibst.

  • guten Abend,


    Jeffry Vielen Dank, wirklich sehr nett von dir das du mir hilfst.
    Jetzt hab ich noch eine Frage :) Wenn ich die Wanteds einzeln runterclear Updatet sich der Label nicht sondern er verschwindet.
    Das liegt natürlich daran das wir den Label deleten. Wie könnte man das genau machen das er sich updatet und wenn das WantedLevel = 0 ist
    den Label deletet.