Zeige Ergebnis 1 bis 5 von 5
  1. #1

    Variablen entfernen in If Conditions

    Hallo Forum-Mitglieder,

    Ich habe vor Jahren mal ein wenig mit dem Map-Editor gearbeitet. Keine Große Sache. Auch damals wurde mir in diesem Forum sehr geholfen, deswegen wende ich mich jetzt erneut an euch.

    Gestern habe ich just for Fun angefangen mal wieder etwas rumzuwerkeln, nun haben sich ein paar Fragen aufgeworfen, auf die mir leider auch die SuFu keine Antworten bieten konnte. Zumindest habe ich sie nicht gefunden

    Ich komme mit diesen Memory Leaks (heißen die so? ) nicht ganz zu recht. Ich weiß zwar dass man diese löschen muss, allerdings habe ich keine Übersicht darüber gefunden, welche alles gelöscht werden müssen und vor allem wie.

    Beispiel: call RemoveLocation. Den Befehl kenne ich, aber muss ich auch Spezialeffekte zerstören? Wenn ja, mit welchem Befehl und an welcher Stelle innerhalb einer If Condition? Und: Reicht dieser Befehl aus, oder muss ich das Gebiet noch durch eine Aktion entfernen?

    Hier ein Beispiel:


    Thunderstorm Activate
    Ereignisse
    Einheit - A unit Startet den Effekt einer Fähigkeit
    Bedingungen
    (Ability being cast) Gleich Thunderstorm
    Aktionen
    Set Thunderstorm_Point = (Position of (Casting unit))
    Set ThunderstormCaster = (Casting unit)
    Auslöser - Turn on Thunderstorm Effect <gen>



    Thunderstorm Effect
    Ereignisse
    Zeit - Every 2.00 seconds of game time
    Bedingungen
    Aktionen
    Einheitengruppe - Add all units of (Units within 500.00 of Thunderstorm_Point matching (((Matching unit) belongs to an enemy of Spieler 1 (Rot)) Gleich True)) to Thunderstorm_Group
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    'IF'-Bedingungen
    (ThunderstormCaster has buff Thunderstorm ) Gleich True
    'THEN'-Aktionen
    Set Thunderstorm_Target = (Random unit from Thunderstorm_Group)
    Einheit - Cause ThunderstormCaster to damage Thunderstorm_Target, dealing 100.00 damage of attack type Zaubersprüche and damage type Normal
    Spezialeffekt - Create a special effect attached to the overhead of Thunderstorm_Target using Abilities\Spells\Other\Monsoon\MonsoonBoltTarget.mdl
    'ELSE'-Aktionen
    Auslöser - Turn off (This trigger)


    Den Spell erkläre ich jetzt nicht, dürftet ihr schätze ich schnell blicken?

    1. Mir wäre nun sehr geholfen, wenn mir jemand sagen könnte, was ich da alles zu entfernen habe und an welcher Stelle. (Im besten Fall auch mit passendem Befehl?). Nach der letzten Aktion im "Then"-Bereich oder ganz am Ende der If-Condition?

    2. Ich habe der casting unit und der "random unit" eine Variable zugewiesen. Wie kann ich die am Ende des Spells wieder entfernen, bzw. muss ich das?

    Ich hoffe dass mir da jemand helfen kann. Entschuldige mich für die vielen Fragen, eventuelle Unübersichtlichkeit und bedanke mich im vorraus!

    LG

  2. #2
    Benutzerbild von Crigges
    Registriert seit
    Mai 2011
    Ort
    Auf der alten Mutter Erde
    BNet Account
    curryking
    Beiträge
    775
    http://world-editor-tutorials.thehel...php?view=27219

    Speicherleaks bedeuten, du erstellst etwas und du entfernest es danach nicht mehr, so wird speicher belegt der nicht genutzt wird, was im extremfall zum crash führen kann.

    Variablen selbst leaken nicht, die kannst du auch nicht entfernen, sie helfen dir nur dabei leaks zu beseitigen.
    Als beispiel nehmen wir mal diese stelle in deinem code:
    Spezialeffekt - Create a special effect attached to the overhead of Thunderstorm_Target using Abilities\Spells\Other\Monsoon\MonsoonBoltTarget.md
    Da wird ein neuer specialeffect erstellt, dieser verbraucht speicher. Wenn du den effect nicht zerstörst ist dieser speicher belegt, egal ob du den effekt im spiel siehst oder nicht, speicher kostet er immer.
    Nun willst du ja dass der speicher wieder freigegeben wird sobald du den effekt nicht mehr siehst. Dazu rufst du destroy Special Effect auf, der speicher wird dadruch wieder freigebeben.
    Die Intelligenz des Zufalls ist unübertroffen!

    Wurster gesucht!!!

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

  3. #3
    Anhand eines HandleCounters, also einem Script das die Leaks zählt und visuell darstellt, hab ich festgestellt das dass removen von "Einheitengruppen" nicht wirklich funktioniert, meine Erfahrung, daher vermeide ich sowas wie "Pick all Units"

    Ich persönlich remove alle Location-Leaks, d.h. benutze niemals sowas wie "Position of Unit", sondern erstelle eine Punkt-Variable, Beispielsweise mit dem Namen "Point"

    Set Point = Position of Unit

    Mach dann was du willst und ab der Stelle, ab der diese Variable nicht mehr benötigt wird, einfach:

    CostumScript: call RemoveLocation(udg_Point)

    Und du hast die Entstehung eines Leaks verhindert

  4. #4
    Durch den Link wurden auch meine Fragen die ich jetzt noch gehabt hätte beantwortet! Super!

    Dadurch dass mein Spell durch die Verwendung von Position of Casting Unit gar nicht so funktioniert habe wie ich es wollte, habe ich ihn so wie von Azoth empfohlen umgebaut.

    Freut mich dass meine Fragen so schnell beantwortet wurden! Danke euch beiden

  5. #5
    Co-Sektionsleiter Maps
    Gewinner 40. ArtContest
    Benutzerbild von Frotty
    Registriert seit
    Okt 2008
    Ort
    Weedtown
    BNet Account
    Frotty
    Beiträge
    3.061
    Zitat Zitat von Azoth Beitrag anzeigen
    Anhand eines HandleCounters, also einem Script das die Leaks zählt und visuell darstellt, hab ich festgestellt das dass removen von "Einheitengruppen" nicht wirklich funktioniert, meine Erfahrung, daher vermeide ich sowas wie "Pick all Units"
    Sehr wahrscheinlich benutzt du einfach einen fehlerhaften HandleCounter - die alten Versionen funktioneiren nicht mehr mit neueren wc3 patches weil ids nicht mehr sofort recycled werden.
    Deshalb funktionieren auch solche Sachen wie lastorder von wc3c.net nicht mehr.

    Hier findest du einen ausführlichen test dazu: http://warcraft.ingame.de/forum/show...highlight=Leak

Ähnliche Themen

  1. Antworten: 13
    Letzter Beitrag: 10. Dezember 2009, 18:38
  2. Conditions
    Von Systalisma im Forum Triggerforum
    Antworten: 3
    Letzter Beitrag: 27. April 2009, 21:16
  3. AND conditions überflüssig?
    Von Black)Ninja_inaktiv im Forum Triggerforum
    Antworten: 3
    Letzter Beitrag: 22. Januar 2007, 17:18
  4. Victory Conditions
    Von Lord Nazghûl im Forum Allgemeine Mappingfragen
    Antworten: 2
    Letzter Beitrag: 08. August 2005, 16:19
  5. or any conditions are true
    Von TheFrozenFisch im Forum Triggerforum
    Antworten: 5
    Letzter Beitrag: 24. Dezember 2004, 11:58

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