Zeige Ergebnis 1 bis 8 von 8
  1. #1

    [gelößt] leaks von Einheitpositionen

    Hi Leute,
    Hab mal wieder ein Problem. Meine Einheit Puppenspieler hat ein Problem mit seiner Puppe. Diese Puppen sind normale Einheiten mit den Fähigkeiten: Unverwundbar(neutral), Heuschrecke und Zauberimmunität.
    Die Puppen werden automatisch jede Sekunde für jeden Puppenspieler erzeugt, der keine Puppe hat und ihm dann mit
    Hashtable - Save Handle Of(last created unit) as (Key(Picked unit)) of 23 in ht

    dem Puppenspieler zugewiesen.(ht ist eine Globale Hashtable; alles initialisiert, da liegt nicht das problem)
    in einem zweiten Trigger wird alle 0.03 Sekunden überprüft, welchen Abstand der Puppenspieler zu seiner Puppe hat. Wenn dieser größer als 850 ist, soll der Abstand auf 850 gesetzt werden.
    Einheit - Move (Load(key(Picked unit)) of 23 in ht) instantly to ((Posiotion of (Picked unit)) offset by 850 towards (Angle from (Position of (Picked unit)) to (Position of (Load (Key (Picked unit)) of 23 in ht))) degrees)

    in dieser Zeile scheint das Problem zu liegen. Nun wird die Position der Puppe aber fast immer auf 850 Abstand gesetzt, selbst wenn sich der Puppenspieler auf die Puppe hinbewegt
    Nach einer halben Stunde debuggen hab ich herausgefunden, dass er immer den Abstand zwischen der Position des Puppenspielers und der Position, wo die Puppe erzeugt wird überprüft.
    Was hab ich übersehen? Oder macht Jass in diesem Fall den Fehler?
    LG Randooming
    Geändert von Rand00ming (27. Oktober 2014 um 22:19 Uhr)

  2. #2
    Co-Sektionsleiter Maps
    Gewinner 40. ArtContest
    Benutzerbild von Frotty
    Registriert seit
    Okt 2008
    Ort
    Weedtown
    BNet Account
    Frotty
    Beiträge
    3.061
    Zeig mal lieber die kompletten trigger

  3. #3
    Erstmal stimm ich Frotty zu, zeig mal alles, und dann kann es sein das du die Position einfach nicht in dem periodischen trigger auf die Position aktualisierst, wäre das erste was mir dazu einfällt?!

  4. #4
    Ereignis
    Zeit - Every 1.00 seconds of game time
    Aktion
    Einheitengruppe - Pick every unit in (Units of type Puppenspieler) and do (Actions)
    Schleife - Aktion
    'IF'-Bedingung
    Load(Key(Picked unit) of 23 in ht) is alive gleich false
    'THEN'-Aktion
    Einheit - Create 1 Puppe for Owner of (picked unit) at (Position of (Picked unit)) facing Vorgabe
    Einheit - Turn collosion for (Last created unit) Aus
    Hashtable - Save Handle of (last created unit) as (Key(Picked unit)) of 23 in ht
    'ELSE'-Aktion

    und der zweite Trigger:
    Ereignis
    Zeit - Every 0.03 seconds of game time
    Aktion
    Einheitengruppe - Pick every unit in (Units of type Puppenspieler) and do (Actions)
    Schleife - Aktion
    'IF'-Bedingung
    (Distance between (Position of (Picked unit)) and (Load (Key (Picked unit)) of 23 in ht)) größer als 850
    'THEN'-Aktion
    Einheit - Move (Load (Key (Picked unit)) of 23 in ht) instandly to ((Position of (Picked unit)) offset by 850 towards (Angle from (Position of (Picked unit)) to (Position of (Load (Key (Picked unit)) of 23 in ht))) degrees)
    'ELSE'-Aktion

  5. #5
    Setz' mal die Distanz, wohin die Puppe gesetzt wird, auf ca. 800-830, da der Puppenspieler nicht mit 0.3 E/sek. Schnell ist und so könnte es sein, dass der trigger das immer feuert
    ..
    Ansonsten glaube ich soll is alive etwas bugen und kannste mit real ( leben of xy_Handel) größer gleich 0.4
    Du kannst dir sonst mal nen spezialeffekt an der Position von dem abgefragten Punkt erzeugen, um zu gucken ob es tatsächlich der gewünschte Punkt ist.
    Falls das alles nicht klappt sag Bescheid ich guck mal was da geht... Bzw guck dir mal das Thema lenkst an vor allem bei deinem zweiten trigger könnte das langsam interessant sein.

  6. #6
    Hab alles probiert was du vorgeschlagen hast, hab an allen Werten, Eigenschaften und Einstellungen herumgeschraubt an denen es liegen könnte. keine Besserung. Ich hab dann eine Neue Map erstellt und dort die beiden Trigger erstellt und es hat funktioniert???? Danach hab ich alle anderen Auslöser deaktiviert ... und es funktioniert immer noch nicht. Ich verstehs net.

    Zitat Zitat von apsyll Beitrag anzeigen
    Bzw guck dir mal das Thema lenkst an vor allem bei deinem zweiten trigger könnte das langsam interessant sein.
    Ach ja hab ich auch nicht verstanden.

  7. #7
    dann lösch doch einfach mal die Trigger und mach zwei neue, so wie sie in der anderen Map funktioniert hat, solche probleme hatte ich auch schon, vor allem wenn ich mit copy & paste gearbeitet habe, ich schätze mal eine besondere eigenheit von dem Auslösereditor
    Das Thema sollte leaks heissen, dank der Autokorrektur verschrieben, sollten hier ein paar Threads geben die es erklären, stark verallgemeinert gehts um Daten die gespeichert werden aber dann nicht mehr darauf zugegriffen werden kann...

  8. #8
    Danke für den tipp. Daran lag es anscheinend. über diese 'Eigenheit' des Editors sollte man bescheid wissen. Werde mich dazu informieren.
    vielen dank nochmal

Ähnliche Themen

  1. hu-ud close position
    Von art.of.human im Forum Human Castle
    Antworten: 13
    Letzter Beitrag: 02. Februar 2007, 11:51
  2. Iframe Position für FF und IE
    Von Naturzauberer im Forum Support-, Coding- & Webdesignforum
    Antworten: 2
    Letzter Beitrag: 01. Januar 2007, 21:06
  3. Position
    Von kleinpauli im Forum Allgemeine Mappingfragen
    Antworten: 3
    Letzter Beitrag: 24. Juni 2006, 18:08
  4. tp-position
    Von Garash im Forum Community Forum
    Antworten: 16
    Letzter Beitrag: 16. August 2005, 01:49
  5. roboter/puppen > animationen
    Von Death-in-Fire im Forum TV & Kino Forum
    Antworten: 12
    Letzter Beitrag: 08. August 2005, 23:13

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