1. The Melee Mapping Contest #4: 2v2 - Results are out! Step by to congratulate the winners!
    Dismiss Notice
  2. We're hosting the 15th Mini-Mapping Contest with YouTuber Abelhawk! The contestants are to create a custom map that uses the hidden content within Warcraft 3 or is inspired by any of the many secrets within the game.
    Dismiss Notice
  3. The 20th iteration of the Terraining Contest is upon us! Join and create exquisite Water Structures for it.
    Dismiss Notice
  4. Check out the Staff job openings thread.
    Dismiss Notice

Warcraft III - Patch 1.31 PTR

Discussion in 'Latest Updates and News' started by TriggerHappy, Apr 24, 2019.

  1. Jimpanse1

    Jimpanse1

    Joined:
    Sep 29, 2016
    Messages:
    21
    Resources:
    0
    Resources:
    0
    Are there any informations on what exactly got changed so that the custom maps listed (dbz tribute, builders & fighters, etc.) no longer desync?

    Since desync is still a huge problem (at least for me), i'd like to know if you guys have an idea on how to support the devs in pinpointing the problems. (It's cool to see that 6 maps got fixed (desyncs, loads), but you know..)
    For example my current LineTowerWars Crash quota is around 100%. Both for LTW and TeamLTW. Any version. Would it help them to give them the map and the replay?

    As for other maps, desyncs happen, but its hard to figure out what the cause is.
    I did think that LTW crashes because of many units, but since i played 23 Taurens and battled around 1k units at 1 spot with 0.8fps and didn't have a desync on 1.30, i have no clue what else could be the issue. Maybe some certain later units spawning or some endgame elemental towers getting build...
     
  2. Fasolace

    Fasolace

    Joined:
    Sep 14, 2009
    Messages:
    240
    Resources:
    6
    Skins:
    1
    Template:
    5
    Resources:
    6
    This please
     
  3. Quantum_Menace

    Quantum_Menace

    Joined:
    May 17, 2008
    Messages:
    69
    Resources:
    0
    Resources:
    0
    I noticed something odd about the garbage collection map regarding unit groups, which I'd avoided like the plague because of seemingly unstoppable leaking.

    If I try to destroy the group directly and set the var to nil, the handle(?) still leaks and causes the memory use to increase by 500K/second.

    However, if I disable the selected line and let Dr Super Good's garbage collection system destroy the group, the memory levels off.

    Or am I just doing it wrong?
     

    Attached Files:

  4. Sir Moriarty

    Sir Moriarty

    Joined:
    Jun 13, 2016
    Messages:
    315
    Resources:
    2
    Spells:
    1
    Tutorials:
    1
    Resources:
    2
    First off, setting the var to nil does nothing in Lua. In JASS it had a purpose because JASS leaks handle values unless you null them. Not the case in Lua.

    My guess as to why the difference, would be that DSG's system also changes Lua's GC settings to make it more aggressive, which means handles are more eagerly collected. There's been some investigation but the results are very strange, and it seems that for whatever reason the Lua GC doesn't really want to collect the handles on the default settings, unless explicitly told to (via a call to collectgarbage()).
     
  5. Tommi Gustafsson

    Tommi Gustafsson

    Joined:
    May 26, 2017
    Messages:
    262
    Resources:
    6
    Tools:
    1
    Maps:
    2
    Tutorials:
    3
    Resources:
    6
    Found a minor bug. If you do as follows:
    1. Open up a campaign in the Campaign Editor
    2. Select a map in the General tab
    3. Click on the Name text box and place your cursor somewhere in the string
    4. Press Delete to delete a character in the name string

    Then, the Campaign Editor will try to delete the selected map as well.
     
  6. Tommi Gustafsson

    Tommi Gustafsson

    Joined:
    May 26, 2017
    Messages:
    262
    Resources:
    6
    Tools:
    1
    Maps:
    2
    Tutorials:
    3
    Resources:
    6
    I found also a strange behavior concerning ethereal units. This is a bug in both 1.30.4 and 1.31 PTR,
    It used to be that enemy units ignored ethereal units, which they could not damage.
    Now, they attack ethereal units but do no damage.
    I think the old behavior was better.

    EDIT: I found the reason for the bug. I had set Gameplay Constant called "Gameplay - Magic Immunes resist damage" to False. When it is true, Ethereal works normally.

    Test map attached.
     

    Attached Files:

    Last edited: May 9, 2019
  7. Remixer

    Remixer

    Joined:
    Feb 19, 2011
    Messages:
    1,580
    Resources:
    49
    Models:
    16
    Packs:
    1
    Maps:
    31
    Template:
    1
    Resources:
    49
    Could you explain how to make the "Timed-life" bar disappear? I tried but could not quite make it work.
     
  8. WeirdEditor

    WeirdEditor

    Joined:
    May 10, 2018
    Messages:
    108
    Resources:
    0
    Resources:
    0
    What are difference between names of functions in Lua with ones in JASS?
    I just found ConditionalTriggerExecute. In JASS, it is simply TriggerExecute.
    I want a complete list of them.
     
  9. IcemanBo

    IcemanBo

    Joined:
    Sep 6, 2013
    Messages:
    6,098
    Resources:
    22
    Maps:
    3
    Spells:
    11
    Template:
    1
    Tutorials:
    4
    JASS:
    3
    Resources:
    22
    It's not new.
    TriggerExecute is from common.j -- patch 1.30.4 | HIVE
    ConditionalTriggerExecute is from blizzard.j -- patch 1.30.4 | HIVE
     
  10. WeirdEditor

    WeirdEditor

    Joined:
    May 10, 2018
    Messages:
    108
    Resources:
    0
    Resources:
    0
  11. IcemanBo

    IcemanBo

    Joined:
    Sep 6, 2013
    Messages:
    6,098
    Resources:
    22
    Maps:
    3
    Spells:
    11
    Template:
    1
    Tutorials:
    4
    JASS:
    3
    Resources:
    22
  12. MyPad

    MyPad

    Spell Reviewer

    Joined:
    May 9, 2014
    Messages:
    1,242
    Resources:
    5
    Models:
    1
    Icons:
    1
    Spells:
    2
    JASS:
    1
    Resources:
    5
    Make a trigger that detects the "phoenixmorph" order (using an issues a no-target event). Cancel the timed life (kills the summon without the morph phoenix ability), intercept the order, and prevent morphing inside that order event.
     
  13. Remixer

    Remixer

    Joined:
    Feb 19, 2011
    Messages:
    1,580
    Resources:
    49
    Models:
    16
    Packs:
    1
    Maps:
    31
    Template:
    1
    Resources:
    49
    It would probably be easiest if you could make a test map for me. But I do not quite comprehend how you can intercept the order and prevent it? Cancel timed-life does not seem to apply to units having the "Morph Phoenix" ability, so that does not make them "summoned" so I guess this solution only works if something makes your units summoned to begin with.
     
  14. fenix140

    fenix140

    Joined:
    Sep 6, 2010
    Messages:
    46
    Resources:
    0
    Resources:
    0
    I do not know if this would be helpful. But you can use the power book, and put in this item the Morph Phoenix skill, the only thing you have to do is that a unit picks up this item, and the life bar will appear as a defect, although it has some side effects. Greetings ...
     
  15. The Stormbringer

    The Stormbringer

    Joined:
    Sep 10, 2017
    Messages:
    2
    Resources:
    0
    Resources:
    0
    Have they mentioned any plans to improve GUI support for the Editor, or are they just doing code-based improvements?
     
  16. KeepVary

    KeepVary

    Joined:
    May 12, 2019
    Messages:
    4
    Resources:
    0
    Resources:
    0
    Does anyone know how to use
    TriggerRegisterVariableEvent
    in Lua without using GUI trigger and variable? In other words, how to create a global real variable in Lua without GUI?
    Before the Lua support comes out, i was worried about how did they handle that parameters like "string varName" or "funcName". I recently tested this, found that only GUI real variables (with registered GUI TriggerRegisterVariableEvent) can become global, that makes a "udg_realVar" (inside Lua function "InitGlobals") convert to "globals.udg_realVar", but "globals" is a userdata in Lua environment. I've no idea what make this happens and how to do the same thing with pure Lua code.
     
  17. Sir Moriarty

    Sir Moriarty

    Joined:
    Jun 13, 2016
    Messages:
    315
    Resources:
    2
    Spells:
    1
    Tutorials:
    1
    Resources:
    2
    Why would you want
    TriggerRegisterVariableEvent
    with Lua variables? I know in JASS it was used for custom events and whatnot, to compensate for JASS's deficiencies, but in Lua there's a myriad of ways of accomplishing the same thing just using the language itself.

    Besides, this native would be impossible to implement without significantly modifying Lua, and potentially destroying performance in the process.

    TL;DR Regardless of what you used that native for in the past, there's probably a better way of doing it now.

    EDIT: P.S. As to how udg globals are created in Lua, I think that is performed entirely by the engine now, using the GUI variable table or whatever.
     
    Last edited: May 12, 2019
  18. KeepVary

    KeepVary

    Joined:
    May 12, 2019
    Messages:
    4
    Resources:
    0
    Resources:
    0
    I think this native is very convenient for state machine or some structures that which can easily doing interactive between events.

    Actually, what I really want to know is the usage of things that Blz put into Lua's environment, such as userdata "globals", function "__jarray", table "bj_ghoul".
     
    Last edited: May 12, 2019
  19. Quilnez

    Quilnez

    Joined:
    Oct 12, 2011
    Messages:
    3,215
    Resources:
    37
    Icons:
    2
    Tools:
    1
    Maps:
    7
    Spells:
    21
    Tutorials:
    2
    JASS:
    4
    Resources:
    37
    Want to address these two issues. They are caused by undersized texture. I use some 1x1 alpha textures for units and as a tile texture (to save filesize) but it causes crash on 1.31. I think people will rarely experience this but just in case they need to know. Would be nice to have the 1x1 textures back working again though.
     
  20. WeirdEditor

    WeirdEditor

    Joined:
    May 10, 2018
    Messages:
    108
    Resources:
    0
    Resources:
    0
    Need a syntax checker for Lua.

    Now I have a 13000 lines of lua converted from JASS and it just doesn't compile.
    (If you know YDWE), It works in YDWE and I have fixed all '_array_', '_loop_' issues. All official natives/API.

    I need to know what's wrong!