Wantedlabel fehlerhaft

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 Breadfish


    Und zwar mein Wantedlabel geht nicht so ganz, er zeigt mir das nicht übern Spieler an das er z.b 4-12 Wanteds hat.


    Code:



    public WantedShow(playerid)
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(Spieler[i][pFraktion] == 1)
    {
    if(Spieler[i][pWanteds] < 0)
    {
    new string[128];
    format(string,sizeof(string),"~r~Gesuchter Spieler\n~r~Wantedlevel: %d",Spieler[i][pWanteds]);
    UpdateDynamic3DTextLabelText(Spieler[i][pWantedAnzeige3D],COLOR_RED,string);
    return 1;
    }
    }
    }
    return 1;
    }


  • Probier mal : CreatePlayer3DTextLabel oder Attach3DTextLabelToPlayer anstatt wie du : UpdateDynamic3DTextLabelText


    //Edit noch etwas hinzugefügt +

  • Größer-als-Zeichen (>) und Kleiner-als-Zeichen (<).


    Vllt dadran?

  • Probier mal : CreatePlayer3DTextLabel oder Attach3DTextLabelToPlayer anstatt wie du : UpdateDynamic3DTextLabelText


    //Edit noch etwas hinzugefügt +


    Fehler:


    C:\Users\Desktop\Large City\gamemodes\MySelfmade.pwn(15691) : error 035: argument type mismatch (argument 2)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.



    Code:
    Attach3DTextLabelToPlayer(Spieler[i][pWantedAnzeige3D],string,0.0,0.0,0.4);

  • @KrasserTyp



    Ich habe mal 2 fragen an dich bezüglich deines Codes:


    public WantedShow(playerid)
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(Spieler[i][pFraktion] == 1)
    {
    if(Spieler[i][pWanteds] < 0)
    {
    new string[128];
    format(string,sizeof(string),"~r~Gesuchter Spieler\n~r~Wantedlevel: %d",Spieler[i][pWanteds]);
    UpdateDynamic3DTextLabelText(Spieler[i][pWantedAnzeige3D],COLOR_RED,string);
    return 1;
    }
    }
    }
    return 1;
    }



    1.) Wieso fragst du ab ob der Spieler der Wanteds haben soll in der Fraktion 1 ist.
    2.) Du nutzt hier "UpdateDynmaic3DTextLabelText" zum erstellen des TextLabels benötigst du dann auch "CreateDynamic3DTextLabel" damit das ganze funktioniert.



    Überprüf das nochmal, weil der Code so wie er ist sollte funktionieren.



    Mfg

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen

  • So richtig ?


    Spieler[playerid][pPlayerWanted] = CreateDynamic3DTextLabel(" ", COLOR_WHITE, 50.0, 60.0, 110.0, 20.0, playerid, INVALID_VEHICLE_ID, 0, -1, -1, -1, 100.0);


    Ich möchte das so haben das nur pFraktion == 1 nur sieht über denn Kopf.


  • Da muss du diese Funktionen dafür nutzen:



    CreatePlayer3DTextLabel
    UpdatePlayer3DTextLabel


    aber du möchtest die 3DTextLabels ja an einem Spieler anbringen.


    Attach3DTextLabelToPlayer
    UpdatePlayer3DTextLabel


    oder Update3DTextLabel müsste aber das UpdatePlayer3DTextLabel sein..


    Probier durch^^



    mfg



  • Ich habe dies jetzt so,


    Spieler[playerid][pPlayerWanted] = Create3DTextLabel("", COLOR_WHITE, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(Spieler[playerid][pPlayerWanted], playerid, 0.0, 0.0, 0.7);



    trozdem kommt nichts :(
    ich weiss nicht mehr weiter.
    Könntest Du vielleicht über TV helfen ? :s

  • Würde gerne helfen, blicke aber nicht durch was hier alles geschrieben wird.
    Im Grunde genommen müsstest du einfach beim Connecten einen 3DText, mit einer Variable, für den Spieler erstellen, mit:
    http://wiki.sa-mp.com/wiki/3dtextlabel
    Diesen musst du dann mit an den Spieler attachen, mit:
    http://wiki.sa-mp.com/wiki/Attach3DTextLabelToPlayer


    Sofern der Spieler Wanteds kriegt, müsstest du dann den 3DText updaten lassen mit:
    http://wiki.sa-mp.com/wiki/UpdatePlayer3DTextLabelText


    Beachte auch das du den 3DText, sofern er an dir selber attached ist, nicht selber siehst!

    Einmal editiert, zuletzt von Pavex () aus folgendem Grund: Text bearbeitet.



  • So, müsste eig.. jetzt klappen. Würde einer Testen kommen ? :3

  • Am 'bugfreiesten' ging es bei mir folgendermaßen immer.


    Beim Connecten erstellst du für den Spieler das Label, also bspw.
    variablexyz[playerid] = Create3DTextLabel([..]);


    und hängst es anschließend an den Spieler:
    Attach3DTextLabelToPlayer([..]);


    Beim Create3DTextLabel fügst du in die Text-Zeile ein Leerzeichen. Sprich, eigentlich wird ja immer ein Text angezeigt, du fügst da einfach nur ein Leerzeichen hin.


    Beim Disconnecten musst du den 3DText auch wieder löschen. Solltest du hoffentlich wissen, wie.


    Sobald du den 3DText nun verwenden willst, musst du in die Funktion gehen, und den 3DText nur Updaten. Das war's.
    Dann kannst du sobald die Wanteds alle weg sind zB einfach wieder den 3DText Updaten, und dort wie beim Createn ein 'Leerzeichen' reinhängen.
    Dann muss nicht alles Created, Attached, Geupdated, und gelöscht werden, sondern Created, Attached, beliebig oft geupdated und am Disconnect gelöscht werden.


    Sollte man verstehen. :)


    Fragen? Frag einfach. ^^



  • Danke für deine Hilfe.
    Aber wie mach ich das nun ?
    Ich habe auf das System langsam keine lust mehr.
    Soviel ausprobiert und nichts ging.

  • Wie du das machst hab ich dir so eben erklärt.
    Wenn du daraus nicht genug lernst, solltest du es wohl mit anderen Funktionen probieren.
    Und wenn du schon so kommst und sagst, du hast keine Lust mehr, dann wird das ganze auch nichts.
    SA-MP Server bestehen nicht aus "Ich mach jetzt ein Projekt, welches dann auch ohne Probleme fertig wird. Breadfish weiß eh alles, von daher wird das kein Problem für mich."


    (-: