[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Hey,
    bin aktuell an einer Uhr mithilfe eines Textdraws + Timer.
    Das Problem ist, dass das Textdraw sich mit dem vorherigen überlappt und dieses irgendwie einfach nicht gelöscht wird.


    Var;

    Code
    new Text:TimeDraw;


    Create

    Code
    TimeDraw = TextDrawCreate(547.000000, 19.288877, "00:00");
    	TextDrawLetterSize(TimeDraw, 0.492998, 2.390223);
    	TextDrawAlignment(TimeDraw, 1);
    	TextDrawColor(TimeDraw, 5684479);
    	TextDrawSetShadow(TimeDraw, 0);
    	TextDrawSetOutline(TimeDraw, 1);
    	TextDrawBackgroundColor(TimeDraw, 51);
    	TextDrawFont(TimeDraw, 2);
    	TextDrawSetProportional(TimeDraw, 1);


    Forward/Public



    Ich wollte jetzt nicht unbedingt eine For-Schleife durch alle Spieler dafür nutzen.

    MfG. Adrian

    • Versuch mal dein Code über dein vorherigen textdraw zu packen, falls du es nicht getan hast.
  • Hey,
    Kennt sich einer von euch mit der Performance von Schleifen aus?
    In wie fern wird die Performance belastet, wenn man Schleifen mit einer Max. Höhe von 300 durchlaufen lässt?
    Also mit durchlaufen meine ich von 0 - 300

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Also es kommt denke ich mal drauf an was die Schleife alles macht und wofür genau du sie nutzt. Überleg aber vielleicht ob du dafür wirklich eine schleife brauchst oder ob diese auch wirklich so groß sein muss.

    MfG. Adrian

  • Hey,
    Kennt sich einer von euch mit der Performance von Schleifen aus?
    In wie fern wird die Performance belastet, wenn man Schleifen mit einer Max. Höhe von 300 durchlaufen lässt?
    Also mit durchlaufen meine ich von 0 - 300

    Könntest es mal damit versuchen, kommt aber drauf an was in der Schleife ausgegeben wird.


    [pwn]
    new count = GetTickCount();
    for(new i = 0; i < 300; i++)
    {
    //Code
    }
    printf("Executed in: %i. ms.", GetTickCount()-count);
    /pwn]

  • Beitrag von Jameso ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Man kann die Funktion anscheinend keiner Variable zuordnen, hat sich erledigt ().
  • C
    Actor[0] = CreateActor(50, 1525.2473,-1534.8134,-39.1011, 177.0);
        SetActorVirtualWorld(Actor[0], -1);

    Bei mir steht dort kein Actor, -1 heißt ja in allen virtuellen Welten oder nicht?
    Ist es nicht so, dass ein Actor nur in einer virtuellen Welt sein kann, kann man dagegen was tun?

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • ist das doch nicht sinnvoll, oder?

    Doch schon...


    Halt sobald niemand in der Virtuellen Welt ist, Actor zerstören, ansonsten syncen.


    Syncen musst du die ja so oder so, sonst spacken die dir komplett ab xD

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Tach,
    ich hab das Problem das ich gewisse Textdraws nicht "hiden" oder "destroyen" kann.


    Beispiel:


    PlayerTextDrawSetString(playerid, MSGTextdrawPlayer[playerid], "Message"); PlayerTextDrawShow(playerid, MSGTextdrawPlayer[playerid]);


    Dann will ich das es dem Spieler halt nicht mehr angezeigt wird, also Hide ich es.
    Allerdings wird es trotzdem weiterhin angezeigt.. bis zum nächsten Login sogesehen.


    PlayerTextDrawHide(playerid, MSGTextdrawPlayer[playerid]);


    Was mache ich Falsch?

  • 100% sicher das MSGTextdrawPlayer[playerid] zu dem aktuellen Textdraw zeigt? Also das du es nicht doppelt neu erstellst ohne es zuvor zu destroyen.

  • Egal wo ich es Verstecken oder Zerstören lasse es bleibt.


    Habe es jetzt gefühlt überall reingeballert um nachzuschauen.

  • @deklaN
    Schau mal am Besten, ob dein Code ausgeführt wird, printe dir einfach mal ob dein Code soweit kommt.


    Ich weiß nicht ob du es hast aber auch unter OnPlayerDisconnect:
    PlayerTextDrawHide(playerid, MSGTextdrawPlayer[playerid]);



    Wie mache ich das, dass der Spieler nur von einer Fahrseite geblitzt werden kann.


    http://prntscr.com/o9ofi2
    Hier mal ein Beispiel.


    Er nur geblitzt werden, wenn er von dem kleinen Pfeil kommt.
    Normal frage ich ja ab ob der Spieler inRangeOfPoint ist.


    Wie müsste ich da mit GetVehicleZAngle arbeiten? (wenn überhaupt die Funktion richtig ist)

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

    Einmal editiert, zuletzt von Jameso ()

  • Lass dir mal die IDs ausgeben des Textdraws. Einmal wenn du ihn erstellst und einmal, wenn du ihn löscht/versteckst.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Ist es möglich, wenn man einen MAX_WERT definiert hat, diesen dann auch im Minus zu nutzen?


    Define:

    Code
    #define MAX_OWNER 500


    Hier wird es angewandt

    Code
    new cInfo[MAX_OWNER][MAX_CARKEYS][CarInfo];


    Ist es mir nun möglich, dass MAX_OWNER ein Minus-Wert sein kann trotzdem auch bis 500 sein kann ?


    Ich hoffe das ist einigermaßen verständlich.
    PS: Hier wird bewusst nicht MAX_PLAYERS benutzt!

    MfG. Adrian

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