1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. The winners of the 27th Texturing Contest have been announced. Congratulations to the winners!
    Dismiss Notice
  3. We need your help nominating resources for or next YouTube video. Post here now.
    Dismiss Notice
  4. The Terraining Mini Contest Reload #2 - Machinery has began! Create a scene centered around a piece of machinery. Get creative tinker boys and girls!
    Dismiss Notice
  5. Join us on our next Custom Game Night, on Saturday, February the 24th at 7:00pm UTC! We'll see you all on our Discord and on Battle.net!
    Dismiss Notice
Frotty
Joined:
Jan 1, 2009
Messages:
1,152
Location:
No
Occupation:
Programmer

Frotty — Wurst Reviewer

Hivefags pls, from No

    1. MyPad
      MyPad
      Excuse me, @Frotty. It seems that the generated Object Editor shows even vanilla units as custom units if they have been modified in wurst via existing pseudonatives. I wonder if this feature will be included, to effectively change the contents of existing object data in Wurst, that is to say the vanilla objects. The feature would be the Wurst equivlent of an ObjectMerger function modifyobject. (Not create a new object, modify it only.)
      1. View previous comments...
      2. MyPad
        MyPad
        Spell differentiation technique (by lfh), when it comes to Damage Detection (Runed Bracers), leads to buggy behavior with Mana Shield; Life drain not absorbing drained life; Spell damage reduction not working properly (due to override); Locust Swarm draining the health of the caster instead of healing it, among a few, leading to the eventual modification of the vanilla objects or workarounds.
        Feb 8, 2018
      3. Frotty
        Frotty
        I still don't see why. Why not create new units?
        Feb 8, 2018
      4. MyPad
        MyPad
        Yeah, that's the thing and such. Object editing through code still feels strange when I'm used to a lower-level way of writing them :dazed:
        Feb 9, 2018
    2. TriggerHappy
      TriggerHappy
      1. Frotty
        Frotty
        Feb 1, 2018
      2. TriggerHappy
        TriggerHappy
        I think he doesn't want to open source it, but he could at least give it to you privately. I might have had access to them at one point, though I can't remember.

        But yeah a clientside highlighter would probably be best.
        Feb 1, 2018
      3. Frotty
        Frotty
        in general the black text white background code views on hive are fucking eyecancer. Hence I'm not even in the mood to write a geshi for that and rather wait till he switches, hopefully something with customizable styling..
        Feb 1, 2018
    3. Jampion
      Jampion
      Hello. I started using wurst this week and it feels really good so far.

      There seems to be no dialog package in the handles folder. I made one for my map, but I think it would be a useful addition to the standard library.
      The dot-syntax is just so much more comfortable to use.

      Thank you for a good and modern alternative to vJASS.
      1. Frotty
        Frotty
        Thanks for the kind words, you're welcome.
        Indeed many such ext-func packages are missing from the stdlib, as it mostly contains what I/we use and dialogs are generally nothing I'd ever use.

        However it would indeed be a nice addition to the stdlib, so you should make a PR https://github.com/wurstscript/WurstStdlib2

        If you need some help with that, let me know :)
        Jan 17, 2018
      2. Jampion
        Jampion
        Thank you, I already created the PR with the help of @HappyTauren

        Is there any specific reason why you don't use dialogs? Is there anything bad about them I am not aware of?
        Jan 17, 2018
      3. Frotty
        Frotty
        I commented most concerns on the PR. players can't chat, and it blocks the command card. Blocks the screen, is overly big. I don't like it and I can't think of any case where it would be appropriate to use them except Single Player.
        Jan 17, 2018
    4. HappyTauren
      HappyTauren
      Now I actually went to your profile on my own. How does that make you feel?
      1. Frotty
        Frotty
        weeb free zone.
        Jan 13, 2018
      2. HappyTauren
        HappyTauren
        There's a bit of weeb in all of us
        Jan 13, 2018
      3. HappyTauren
        HappyTauren
        btw why do you want me to make that import public
        Jan 13, 2018
    5. Chaosy
      Chaosy
      Tried making some upgrades with wurst code. While it worked great for copying an upgrade there is no function for modifying the ability that is attached to the upgrade.
      I just want an empty upgrade, check if level is higher than 0 with code and use it that way. But I need to remove the existing ability first.
      1. View previous comments...
      2. Chaosy
        Chaosy
        Alright. Would be great if you poked me whenever it is addressed.
        Jan 8, 2018
      3. Chaosy
        Chaosy
        Also, is there a way to make an wurst.file to always be imported? I have seen the use of "public import X" but I am unsure if that does what I want it to.

        I have a file that contains a bunch of ids that I want to use in a lot of different files. So I can use CreateUnit(players[0], paladin, ...)
        Jan 8, 2018
      4. Frotty
        Frotty
        package A public import B imports package B into any package, into which A is imported. You can collect your common imports as public imports into one package which you import into your other packages.

        @HappyTauren has found a way to replace the Wurst.wurst file, which gets automatically imported, but this isn't really intended.
        Jan 13, 2018
    6. Natu
      Natu
      Hello! I just discovered Wurst and I'm very interested.
      Just a question, my map is like an MMO, is there already a Save/Load system in Wurst?

      And why does it take at least 3 minutes before my map starts loading?
      It copied the map. Then 3-5 minutes of nothing. Then Frozen Throne window finally appear. Is that normal?
      1. Frotty
        Frotty
        Hi, sry didnt see visitor msg due to hive's alert spam. I answered on thread.
        Jan 3, 2018
    7. DD_legionTN
      DD_legionTN
      1. View previous comments...
      2. DD_legionTN
        DD_legionTN
        I will post the issues here instead of github since those issues are just minor issue.

        1. Unused constant do not have green underline below it

        2. Local variable sometimes will be underlined with green line, informing unused, yet it actually been used

        3. In switch statement (of type enum), hopefully can show only related component

        4. compiletime() lacking returns real operation

        For issue #2, please refer to this link : https://fatox.de/asawowadeq.wurst
        At line 115/116, x/y variables both informing unused but it actually been used.
        Dec 28, 2017
      3. Frotty
        Frotty
        1. Will check on that

        2. No, the warning in your example is correct. It doesn't say "variable unused", it says the assignment "= 0." is never used, because you always overwrite this value before accessing it again. If you want to supress it, you can prefix the name with "_" or use "real x" instead of "var x = 0.".

        3. I suppose suggestions could be slightly improved.

        4. Yes because then things like "compiletime(123)" would throw an ambigious reference error since it could be int or real.
        Dec 28, 2017
      4. DD_legionTN
        DD_legionTN
        2. Ah i see, thanks for that.

        3. Yea, just need autocomplete to show related component of the enum type. If possible, remove used enum from autocomplete in the switch statement.

        4. So I will need to use .toReal() to convert into real for constant real which requires compiletime() calculation.
        Dec 28, 2017
    8. General Frank
      General Frank
      Sure, they will never stop, because I will continue asking them.
      Why should people work their butts off if the work is done for nothing and nothing again?
      Believe me, I fulfilled some requests where the project never took off.
      1. Frotty
        Frotty
        ? I ment the OP. Shameless giant requests with little to no specification from unknown members without payoff.
        Dec 11, 2017
      2. General Frank
        General Frank
        Dude, we are thinking the same thing and I agree with you.
        Dec 11, 2017
    9. Chaosy
      Chaosy
      Maybe I should check before writing this.. but nah.

      I was thinking if something like group.action() exists in wurst.

      So basically group.kill() would loop through "this" and kill each unit.
      Feels like a very nice convenience to have if it does not exist already.

      So all functions that exist in Unit could be extended to group.
      1. Frotty
        Frotty
        Seems redundant. A much more useful thing would be to add a .forEach ext-function so it would allow oneliners like:
        someGroup.forEach((unit u) -> u.kill())

        This already exists for enums via ClosuresForGorups. It is generally not recommended to use groups for stuff other than enums anyway.
        Dec 3, 2017
      2. Chaosy
        Chaosy
        Really? I think it is an amazing idea ;P

        I use collection.ForEach() in both c# and javascript, it is very comfortable, but I cannot say that I like the syntax as much.

        group.function() seems way cleaner to me, as long as you only want to do one thing.

        And why would groups not be recommended? I know that Lists exist, but for adding units you have to use a unit group most of the time.

        All units in range of location, for example. Or is that a enum as you called it?
        Dec 3, 2017
      3. Frotty
        Frotty
        The ext functions for units exist for a reason. In groups you would only wrap boilerplate code inside those, which really doesn't seem good.

        Groups lack order and any access other than FoG - as I said, for GroupEnum** functions there are closures provided in ClosureForGroups, which allows things like:

        forUnitsInRange(target, radius, (unit u) -> u.kill())
        and
        forNearestUnit(...)

        Of course, you can still implement those extension functions yourselves, if you so desire them. But I don't think it would be a good fit for the stdlib.
        Cheers
        Dec 3, 2017
    10. MyPad
      MyPad
      Hey Frotty. I tried to run a map from vscode, but I keep getting this error:

      Wurst: Warcraft path not set (change wurst.wc3path in your settings).

      I have already mapped it to the folder of the game. I wonder what must be done.
      1. View previous comments...
      2. Frotty
        Frotty
        By providing information about what exactly doesn't work? Could you be any more vague?
        Dec 4, 2017
      3. MyPad
        MyPad
        Dec 5, 2017
      4. Frotty
        Frotty
        Dec 5, 2017
    11. BlueSaint
      1. View previous comments...
      2. BlueSaint
        BlueSaint
        Yeah. Next Friday I'm home again.
        Nov 28, 2017
      3. Frotty
      4. BlueSaint
        BlueSaint
        Wow, what an incredibly horrific song!
        Nov 28, 2017
    12. deepstrasz
      deepstrasz
      Actually, the option to disable/hide it has been removed since Hive 2.0.
      1. View previous comments...
      2. deepstrasz
        deepstrasz
        I like giving some but not necessarily want or need any.
        Nov 21, 2017
      3. Frotty
        Frotty
        you are a rephoe and everyone knows it!
        Nov 21, 2017
      4. deepstrasz
        deepstrasz
        Everyone? That should mean I am famous which I am not.
        Nov 23, 2017
    13. MyPad
      MyPad
      Good day, Frotty. I hear that Wurst is actively maintained and I project it to be en route to becoming the viable alternative to vJASS, and Zinc. I used it a little bit and I misunderstand the nature of how the Wurst project affects the maps currently being worked upon. I would like to ask how maps are imported to the project.

      Cheers and more power to readability!
      1. Frotty
        Frotty
        Hi and thanks. However I don't really understand - what do you misunderstand?
        Wurst doesn't affect "maps being worked on". Of course you can decide to continue an existing map with wurst (https://wurstscript.github.io/tutorials/legacymaps.html) however Wurst does not support vJass if that's what you thought.

        Cheers
        Nov 18, 2017
      2. MyPad
        MyPad
        Thanks for the quick reply. What I meant was something like this:

        There is a map, someMap.w3x,
        I want to know if including someMap.w3x on the Wurst Folder will make it a part of the project and if not the case, how to do so (make sure that the map will have the compiled wurst code).

        Once again, thanks for Wurst.
        Nov 18, 2017
      3. Frotty
        Frotty
        did you check the link? It is only "imported" if you use it as base for runmap/buildmap commands.
        Also thanks for the kind words!
        Nov 18, 2017
    14. Trokkin
      Trokkin
      Well, since the tutorial/manual seems not to cover every feature in wurstscript (or maybe I'm just blind), I'd like to ask you a question: what is stacktraces option for compiler and how can I debug a legacy map that crashes during loading time?
      (there's no triggers/variables in the map file and no my scripts added? I checked compiled.txt and seen that Wurst adds DummyRecycler, UnitIndexer, and some other non-default packages and nothing else... Yet same project runs with other maps just nice. Btw, I'm running from VSCode)
      1. View previous comments...
      2. Trokkin
        Trokkin
        Well I was testing it for almost an hour and found out that it was a strange symbol in description of one of my spells - '�'. The description was actually shortened by editor, and this was at it's end. And this little thing broke the whole game. Unbelievable.
        Nov 8, 2017
      3. Frotty
        Frotty
        Nov 8, 2017
      4. Frotty
        Frotty
        Hey, I came online 3 minutes after you left the channel ;)
        Nov 9, 2017
    15. Chaosy
      Chaosy
      Played around a bit with wurstscript

      Two concerns, 1. no optional brackets, I really like using it personally. Not a big deal, but would be nice as an option
      2. no force iteration. group.hasNext works but force.hasNext does not, am I missing something
      1. View previous comments...
      2. Frotty
        Frotty
        Feel free to ask questions, I will respond once in a while when I visit hive.
        And yes, if you run from vscode only the map in _build/ will be changed. With Wurstpack the original still gets modified and the import folder was created when we still had the old workflow.
        I will add some explanation about it in the docs.
        Oct 31, 2017
      3. Chaosy
        Chaosy
        So I take the one in the build folder and replace the original?
        I think I tried that and got compile error.
        Oct 31, 2017
      4. Frotty
        Frotty
        Because it has the compiled war3map.j . To clean it you could save the map once in vanilla editor and then vscode runmap should work.
        Alternativly provide a war3map.j inside the wurst root and pass the
        -noExtractMapScript flag to the compiler.
        Nov 1, 2017
    16. pyf
      pyf
      ... for fun or for profit?
      :|
      1. Frotty
        Frotty
        Depends I guess. However I'm not gonna do your work for you for free ;)
        Sep 18, 2017
    17. HappyTauren
      HappyTauren
      I must say Wurst seems to be designed very well and it looks like a hybrid of python and java.
      1. Frotty
        Frotty
        But it doesn't allow "extends array" so hivers will die of aids when using it or something I heard.
        Jul 12, 2017
      2. HappyTauren
        HappyTauren
        So the problem is that it is not exactly like vJass?

        Jesus...

        Anyways, how do I enable object data injecting if I run wurstscript from VSCode -> JVM?
        Jul 12, 2017
    18. Lord Aiden
      Lord Aiden
      Thx for the rep!
    19. WhiteFang
      WhiteFang
      Excuse me,do you have a moment to talk about our lord and savior Kek?
      1. View previous comments...
      2. Frotty
        Frotty
        Why can't you give me another chance
        Jun 8, 2017
      3. BlueSaint
        BlueSaint
        Sure, coming to get kicked for third time
        Jun 8, 2017
      4. Frotty
        Frotty
        well it's always for a reason!
        Jun 8, 2017
    20. BlueSaint
      BlueSaint
      You are despicable human being.
      1. View previous comments...
      2. Frotty
        Frotty
        But then why am I despicable? ;(
        Jun 7, 2017
      3. BlueSaint
        BlueSaint
        was jk dw bby
        Jun 7, 2017
      4. Frotty
        Frotty
        awww c:
        Jun 7, 2017
  • Loading...
  • Loading...
  • About

    Location:
    No
    Occupation:
    Programmer
    Current Project:
    oxRox
    WarCraft 3 Account:
    Frotty
    WarCraft 3 Realm:
    Northrend (Europe)
    Staff Position:
    Wurst Reviewer
    probably

    Interact

  • Loading...