[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
  • Jemand nen Deutsches Tutorial? xDD

    An welcher Stelle genau scheiterst du denn?


    Ich meine...da sind Bildchen und Copy&Paste Stuff...ich weiß nicht...inwiefern dir Deutsch helfen würde?


    Stell am Besten dein Visual Studio auf Englisch um hahaha xD

    ast2ufdyxkb1.png


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

  • 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ß.

  • 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 ()