Zeige Ergebnis 1 bis 3 von 3

Thema: Timer

  1. #1

    Timer

    Ich bin gerade dabei mir JASS anzueignen und bin dabei auf ein paar Probleme gestoßen.
    call TriggerSleepAction( 1.00 )

    sollte man ja nicht verwenden, da der ungenau ist.
    local timer t = CreateTimer()
    call TimerStart(t,1.00,false,function timer_callback)

    hat aber das Problem, dass man der Funktion keine Parameter mitgeben kann.

    Gibt es nativen wo man:
    -der im Timer ausgeführten Funktion Parameter mitgeben kann
    -die wie 'Wait', aber exakt sind
    oder was mein Problem auch lösen würde
    -Variablen, die lokal sind und für alle Funktionen in einem Trigger gültig sind

  2. #2
    Sektionsleiter Maps Benutzerbild von WaterKnight
    Registriert seit
    Aug 2003
    BNet Account
    WaterKnight
    Beiträge
    4.420
    Du kannst Parameter mitgeben, aber nicht über die Funktionsdeklaration. Im Prinzip heftet man die Daten an den Timer bzw. einen einzelnen Index, mit dem du dann in andere, zuvor angelegte, Datenstrukturen gehen kannst. Mit GetExpiredTimer() kommst du an den Timer, der die Funktion ausgelöst hat. Speichern kannst du zum Beispiel in einem Hashtable, wo du einen Key als GetHandleId(timer) wählst.

    Also so:

    function target takes nothing returns nothing
    local integer data = LoadInteger(HASHTABLE, GetHandleId(GetExpiredTimer()), 0)
    endfunction

    function source takes integer data returns nothing
    local timer t = CreateTimer()

    call SaveInteger(HASHTABLE, GetHandleId(t), 0, data)

    call TimerStart(t, 1, false, function target)

    set t = null
    endfunction
    Geändert von WaterKnight (10. August 2014 um 18:47 Uhr)
    Water's Footmen Wars
    Defend Wintercastle
    Mana
    God's Ascension (coming soon)
    Dark Colony (coming soon)

    Versunkene Zeiten - Vortex - Wild Scope - Hells Edge -
    Prison Break

  3. #3
    Benutzerbild von Crigges
    Registriert seit
    Mai 2011
    Ort
    Auf der alten Mutter Erde
    BNet Account
    curryking
    Beiträge
    775
    Alternativ steigst du auf wurst um und benutzt:


    doSomething()
    doAfter(1, () -> print("eine sekunde ist vergangen"))


    Benutzt im hintergrund einen timer und ist natürlich MUI
    Die Intelligenz des Zufalls ist unübertroffen!

    Wurster gesucht!!!

    Für schnelle Hilfe:
    -Der inwc IRC
    -Skype: Crigges

Ähnliche Themen

  1. [Jass] help with timer
    Von Reskill im Forum Triggerforum
    Antworten: 8
    Letzter Beitrag: 23. Februar 2013, 13:43
  2. (Timer-Fenster) Wieso verschwindet das letzte Timer-Fenster nicht?
    Von Schlitzfutziger im Forum Triggerforum
    Antworten: 1
    Letzter Beitrag: 29. Juni 2007, 19:21
  3. Timer
    Von L34D im Forum Allgemeine Mappingfragen
    Antworten: 2
    Letzter Beitrag: 02. Juni 2007, 09:00
  4. Create 2 Timer - Destroy First Timer Window!?
    Von p0werage im Forum Triggerforum
    Antworten: 3
    Letzter Beitrag: 17. September 2006, 16:28
  5. Timer
    Von Deadstorm im Forum Triggerforum
    Antworten: 5
    Letzter Beitrag: 28. Dezember 2004, 17:02

Forumregeln

  • Es ist dir nicht erlaubt, neue Themen zu verfassen.
  • Es ist dir nicht erlaubt, auf Beiträge zu antworten.
  • Es ist dir nicht erlaubt, Anhänge hochzuladen.
  • Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
  •