• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Trigger] Request about leaks

Status
Not open for further replies.
Level 9
Joined
May 31, 2010
Messages
366
Hi, my request is not that easy: im working on an rpg map the last 4 years, but i did never understand how to recognize leaks, now i was testing the map and after 5-6h playing wc3 crashes cuz of mem-leaks

so what i want is someone who can look trough the map and fix the most and greatest leaks, if he/she want he will become credits in the map for the work if someone wan't to do this i will post my the map here

btw.: the map is in german if needed i will add some subscriptions to the triggers to explain what they do
 
Level 9
Joined
May 31, 2010
Messages
366
if you need some subsciptions to the triggers i will upload a version with them, i hope you caan do this for me cuz i spend a lot of work into this map and now it is not playable cuz of leaks... you can contact me with pm for other questions
 

Attachments

  • DK 1.30.w3x
    7.8 MB · Views: 39
Level 10
Joined
May 8, 2009
Messages
252
Since the amount of leaks is to important, I won't fix them but here the leaks I found:
In the "tunnel etc." folder, all your triggers are leaking, don't do :

  • Unit - Move (Entering unit) instantly to (Center of Gebiet 292 <gen>), facing (Position of Knight 1419 <gen>)
set points and remove them afterwards:
  • Set Point = (Center of Gebiet 292 <gen>)
  • Set Point2 = (Position of Knight 1419 <gen>)
  • Unit - Move (Entering unit) instantly to (Point), facing (Point2)
  • Custom script: call RemoveLocation (udg_Point)
  • Custom script: call RemoveLocation (udg_Point2)
Do the same for ALL the triggers you have, I checked them and 80% contains a similar leak where you order units to move to a point, where you move instantly units to a point facing another point, where you create an item/unit on a point, where your respawn heroes at a point, so on so forth...

In the "Compass" and "lager tele" folders, the triggers containing the action :"Center region on point" are leaking. Unfortunately you cannot move a region like this. You must create a region with variable and move it like this:

  • red region move
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • Custom Script: call RemoveRect (udg_RedRegionMoveUp)
      • Custom Script: call RemoveRect (udg_RedRegionMoveUp2)
      • Set Point = (Position of Kampfmagier 0009 <gen>)
      • Set Point_Copy = ((Point) offset by (-15.00, 45.00))
      • Set RedRegionMoveUp = (Region centered at (Point_Copy) with size (200.00, 200.00))
      • Custom Script: call RemoveLocation (udg_Point_Copy)
      • Set Point_Copy = ((Point) offset by (-40.00, 45.00))
      • Set RedRegionMoveUp2 = (Region centered at (Point_Copy) with size (200.00, 200.00))
      • Unit - Move Attribute 1585 <gen> instantly to (Point)
      • Custom Script: call RemoveLocation (udg_Point)
      • Custom Script: call RemoveLocation (udg_Point_Copy)
In the "schilder" folder and the similar ones, you don't have to do :

  • schild 1
    • Events
      • Unit - A unit enters Gebiet 040 <gen>
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Owner of (Entering unit)) Equal to Player 1 (Red)
        • Then - Actions
          • Cinematic - Clear the screen of text messages for (All players)
          • Game - Display to Player Group - Player 1 (Red) the text: Traceys Waffen und ...
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Owner of (Entering unit)) Equal to Player 2 (Blue)
            • Then - Actions
              • Cinematic - Clear the screen of text messages for (All players)
              • Game - Display to Player Group - Player 2 (Blue) the text: Traceys Waffen und ...
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Owner of (Entering unit)) Equal to Player 3 (Teal)
                • Then - Actions
                  • Cinematic - Clear the screen of text messages for (All players)
                  • Game - Display to Player Group - Player 3 (Teal) the text: Traceys Waffen und ...
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Owner of (Entering unit)) Equal to Player 4 (Purple)
                    • Then - Actions
                      • Cinematic - Clear the screen of text messages for (All players)
                      • Game - Display to Player Group - Player 4 (Purple) the text: Traceys Waffen und ...
                    • Else - Actions
                      • Do nothing
Simply edit it to:

  • schild 1
    • Events
      • Unit - A unit enters Gebiet 040 <gen>
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Owner of (Entering unit)) Equal to Player 1 (Red)
        • Then - Actions
          • Cinematic - Clear the screen of text messages for (All players)
          • Game - Display to Player Group - Player 1 (Red) the text: Traceys Waffen und ...
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Owner of (Entering unit)) Equal to Player 2 (Blue)
            • Then - Actions
              • Cinematic - Clear the screen of text messages for (All players)
              • Game - Display to Player Group - Player 2 (Blue) the text: Traceys Waffen und ...
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Owner of (Entering unit)) Equal to Player 3 (Teal)
            • Then - Actions
              • Cinematic - Clear the screen of text messages for (All players)
              • Game - Display to Player Group - Player 3 (Teal) the text: Traceys Waffen und ...
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Owner of (Entering unit)) Equal to Player 4 (Purple)
            • Then - Actions
              • Cinematic - Clear the screen of text messages for (All players)
              • Game - Display to Player Group - Player 4 (Purple) the text: Traceys Waffen und ...
            • Else - Actions
Do the same for the "Schatzkarte"'s triggers, "Atrribut System"'s triggers

I think this will take some considerable time.... this is obviously the boring part of map creation, so GOOD LUCK
 
Level 18
Joined
May 11, 2012
Messages
2,103
that's what happens when you got some serious work with map without first knowing what are leaks and some other things. try to understand them first, and then go make some awesome maps ;))

I'll have a look at it now and try to fix most of leaks

Man, you have huge huge amount of leaks ;)), this will take some time haha
and you definitely must reduce the number of objects on map because I can't save it now after what I did...
 
Last edited:
Level 9
Joined
May 31, 2010
Messages
366
im using JassNewGen WE there you can disable the limit of units and doodads, maybe just export the trigger skript-file

y i startetd this map since i was 14 y.o. sso didnt care about leaks xD
i often tried to read the post "things that leak" but i did not understand this, maybe cuz of my english skills....
 
Status
Not open for further replies.
Top