X-Y System berechnung

  • Hey,
    wollt mal fragen wie ich den weg von Punkt A bis Punkt B berechne?
    Dabei sollte der speed auch entscheidend sein, sollte halt auch noch der speed mit drin sein....500% speed=schnell, 100% speed=etwas langsamer.

  • Code
    1. float speed = 5;
    2. float xdist = (-10629) - (-10628);
    3. float ydist = (3112) - (3091);
    4. float result = Math.Sqrt(xdist * xdist + ydist * ydist);
    5. float traveltime = dist / speed;


    Bei einer Geschwindigkeit von 5 M/S beträgt die Laufzeit ca. 4,2 Sekunden.


    MfG

  • 2D oder 3D?
    In jedem Fall ist die Distanz der beiden Punkte die Länge des Deltas (Differenz) der Zwei Vektoren (Positionen).
    Ich fand die Vector-Class im SourceSDK übrigens sehr gut.


    Die Formel, bei einer konstanten Geschwindigkeit, wie du sie hast, ist:
    s = v * t
    Der Weg ist s, v ist die Geschwindigkeit und t die Zeit. Durch umstellen kannst du jede gesuchte Variable mit den gegebenen finden.


    MfG


    PS: Zu deiner zweiten Frage:
    1 = v * t
    t = 1 / v
    So lange braucht er. ;)

  • Ist in 3D(Silkroad).
    Wie lange bräuchte zB der char jetzt von 6701x>6702x zu kommen?
    Default speed=50
    wenn ich 1 durch 50 nehm braucht der 0,02ms...das ist etwas wenig :dos:

    • Du brauchst für beide Punkte X, Y und Z.
    • Du meinst bestimmt 50 Units/Per-Second.


    Möchtest du von [3000, 5123, 597] zu [3200, 5123, 597] mit einer Geschwindigkeit von 50UPS, machst du folgendes:

    Code
    1. 3200 - 3000 = 200
    2. 5123 - 5123 = 0
    3. 597 - 597 = 0
    4. => Velocity = 50
    5. Length = sqrt( 200² + 0² + 0² ) = 200
    6. Time = Length / Velocity = 4


    Übrigens, ja, er braucht 0,02 Sekunden für eine Einheit.


    MfG

  • 3200 - 3000 = 1000
    ist das nicht 200? :D

    Ein scharfes Auge...gefällt mir. 8)


    Okay, danke :)
    Noch als letztes:
    Wie geht packet (Z) zu game(Z)?
    Wenn das noch jemand weiß hab ichs mit den Fragen :)

    Ich habe kein Wort davon verstanden.


    MfG

  • Sorry das ich wieder nerve aber ich hab grad 0plan xD
    ich brauch jetzt folgendes: Wo der char gerade ist wenn man läuft, und das alle 200ms...


    Twice ich hab die Z position gemeint, hab sie aber jetzt selber raus.

  • Du schaust dir am besten mal den Bot von keinplan an,
    dort ist alles mögliche drinne, und in der klasse cMovement ist ein PositionTracker integriert.
    Da findest du den ganzen Code, den du brauchst!


    MfG


    DANKEE DANKE DANKE!!!
    Omg du bist der beste :yahoo:
    gercreed+Twice danke :)


  • Snippet?
    Ich benutz auch jede menge Timer und hab wenig CPU auslastung


    Nein, sind nicht snippet. Allerdings hab ich jetzt mal spawncheck raus und die cpu bleibt auf 0% beim laufen... :wtf:
    Liegt anscheinend an beidem, aber wie soll man das ändern btw fixen?


    Edit: Habs jetzt mit snippet versucht, ändert allerdings nichts...

  • was meinst du überhaupt mit Snippet?


    Ein Snippet ist ein Code Schnipsel, den man z.B. hier im Forum postet, damit andere nachvollziehen können was du vorhast ^^, bzw. dann auch wo dein Problem steckt.