Ergebnis 1 bis 16 von 16

Thema: Präzise Spielzeitmessung

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Präzise Spielzeitmessung

    Klicke auf die Grafik für eine größere Ansicht 

Name:	bam.JPG 
Hits:	102 
Größe:	26,1 KB 
ID:	17366

    dieses skript misst bei einer tatsächlichen spielzeit von 5 min eine spielzeit von 4:45 min.
    liegt das daran, dass es die befehle danach noch verwursten muss? sollte man lieber ausschließlich die variable erhöhen und den rest in nem anderen event machen?

  2. #2
    Für Gesamtzeit gibt es den Time-played Wert, für präzise Dinge gibts den Timer.

  3. #3
    Monment. willst du sagen, der maker misst schon und man muss es nur irgendwo abfragen? aber warum ist es dann nicht "präzise"?

  4. #4
    Hast du berücksichtigt, dass so ein Event während Mapübergängen nicht korrekt funktioniert?

    Da du eine Wartezeit von einer Sekunde nimmst, kann es passieren, dass du mitten in diesem Warteprozess
    mal die Map wechselst und sie dann von vorne startet, sich also drauf rechnet.

    Hier ein Beispiel, das deutlich weniger Fehlerquote aufweisen müsste:
    Code:
    <> Framecounter + 1
    <> If Framecounter == 60
     <> Sekunden + 1
     <> Framecounter = 0
    :: END
    <> If Sekunden == 60
     <> Minuten + 1
     <> Sekunden = 0
    :: END
    <> Wait 0
    <>
    Zitat Zitat
    Für Gesamtzeit gibt es den Time-played Wert
    Kann ich irgendwie nirgendwo sehen.

  5. #5
    Zitat Zitat von IndependentArt Beitrag anzeigen
    Klicke auf die Grafik für eine größere Ansicht 

Name:	bam.JPG 
Hits:	102 
Größe:	26,1 KB 
ID:	17366
    Ich nehme an dass dies ein parallel prozess Event ist. Am ende einer pp events gibts ein 0.0 wait (1 frame), was bedeutest dass du den variabel nicht pro sekunde +1 macht, sondern pro 1.0167 sekunden. Mit zeit gibts daraus ein ziemlich falsches ergebnis. Richtiger wäre
    Code:
    wait 0.9
    wait 0.0
    wait 0.0
    wait 0.0
    wait 0.0
    wait 0.0
    Dann kommst du wieder auf eine Sekunde, ausser Eventuell bei Map wechseln.

    folglich
    Code:
    <> Framecounter + 1
    <> If Framecounter == 60
     <> Sekunden + 1
     <> Framecounter = 0
    :: END
    <> If Sekunden == 60
     <> Minuten + 1
     <> Sekunden = 0
    :: END
    <> Wait 0
    <>
    unter die selbe annahme dass es hier um ein PP Event handeln, muss der wait 0.0 am ende raus wenn der die frames zählen soll (oder den Framecounter 2 zulegen statt 1).

  6. #6
    Zitat Zitat
    Hast du berücksichtigt, dass so ein Event während Mapübergängen nicht korrekt funktioniert?
    auch ein common event? ich hab btw. aber bei der messung die map nicht gewechselt.


    okay, ich werd mal beide varianten ausprobieren.


    Zitat Zitat
    Dann kommst du wieder auf eine Sekunde, ausser Eventuell bei Map wechseln.

    folglich
    Code:
    <> Framecounter + 1
    <> If Framecounter == 60
     <> Sekunden + 1
     <> Framecounter = 0
    :: END
    <> If Sekunden == 60
     <> Minuten + 1
     <> Sekunden = 0
    :: END
    <> Wait 0
    <>
    unter die selbe annahme dass es hier um ein PP Event handeln, muss der wait 0.0 am ende raus wenn der die frames zählen soll (oder den Framecounter 2 zulegen statt 1).
    ohne das wait würde es ja laggen.

    heißt das dann, ein wait von 0.0 dauert 1 frame...?

    Geändert von IndependentArt (06.04.2013 um 12:53 Uhr)

  7. #7
    0.0 wait dauert 1 frame, ja
    und nein, es ist nicht gegeben dass es ohne dem 0.0 wait laggen wird (da es ja schon eins am ende jede pp event sowieso gibt). Das hängt eher von wie viel Code durchgeführt werden muss bevor es einen "pause" gibt.
    Wenn dir das aus irgendeinem Grund trotzdem angst einjagst kannst du aber wie gesagt einfach "Framecounter + 2" stattdessen machen, und dem wait 0.0 behalten.

  8. #8
    die methode funktioniert sehr präzise, hatte keine abweichung, ohne teleport.

    mit teleport dann leider ca. 1 sekunde pro teleport.

  9. #9

    Users Awaiting Email Confirmation

    Zitat Zitat von IndependentArt Beitrag anzeigen
    die methode funktioniert sehr präzise, hatte keine abweichung, ohne teleport.

    mit teleport dann leider ca. 1 sekunde pro teleport.
    kann man das ganze nicht per switch lösen, indem du das PP einen Switch zuweist und diesen dann vor jedem Teleport auf OFF setzt und danach wieder auf ON setzt?
    Vllt hab ich auch einfach deine Fragestellung nich verstanden...

  10. #10
    naja, es wird eine sekunde geklaut. aber wenn ich es mir so überlege: wen juckts? die eine sekunde, wo man teleportiert wird, kann man eh nicht spielen.

    dann werd ichs womöglich einfach so lassen, es sei denn corti enthüllt noch was über den geheimnisvollen "time played wert".

  11. #11
    Haha, bei letzterem hab ich mich geirrt. Da muss ich was verwechselt haben. Ich war mir irrtümlicherweise sicher, dass es bei Variable = ...z.b. Timer1 Seconds/Number of Fights etc. noch sowas gegeben hätte, aber nunja. Tut mich sorry Hoffnungen geweckt zu haben.

  12. #12
    Zitat Zitat von Kazesui Beitrag anzeigen
    Am ende einer pp events gibts ein 0.0 wait (1 frame), was bedeutest dass du den variabel nicht pro sekunde +1 macht, sondern pro 1.0167 sekunden.
    Das kann man folglich dann mit einem Loop/Jump to Label umgehen, oder?

  13. #13
    Zitat Zitat von G-Brothers Beitrag anzeigen
    Das kann man folglich dann mit einem Loop/Jump to Label umgehen, oder?
    ja

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •