• 🏆 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!
Bannar
Reaction score
281

Profile posts Latest activity Postings Experience Albums Resources About Medals

  • Hello there, I have an issue with your builder event.
    I imported it to get the builder when the building is finished, but while reading the replies I learned that it only work for start.
    So how to detect at all the unit finishing the building ?
    I need it to detect if a building was created through item or not.
    In theory, it is very simple : if the builder is a hero -> item, else peon.
    But in practice, when a building is done the builder is null...
    Your system disabled the only thing I needed at first.
    Unless Blizzard finally stops eating glue, I would like to know if I have to find another solution.
    I could use a different building ID in the item, but if someone wants a generic behaviour we have to clone EVERY unit in the map !
    Bannar
    Bannar
    The library in question has one job only - detect and fire construction-start event. It's not perfect due to War3 limitations as listed in the thread but aside from those nuances it achieves its goal.

    Construction-finish event is a different thing. I believe it has even more nuances to it and is outside of the scope of the library.
    In regard to differentiating between buildings spawned via item-order, check IsBuildOrder() [1] and its usage within my ConstructEvent.j.
    [1]: war3libs/src/ConstructEvent.j at master · crojewsk/war3libs
    FlameofChange
    FlameofChange
    Thank you for your response.
    Looks like I was previously too frustrated to see the whole point, but that's no longer the case.
    I figured out a solution myself in the meanwhile.
    Hello ! You who've been here for years and uber-active as developer, could you please help me sort some of the systems here ?

    For some (like indexers, DDS, Alloc, ...) you may be capable of telling me some of the ones that are hardly used/never used, graveyarded, outdated, ...
    Bannar
    Bannar
    (for my own bookkeeping - replied within the thread in question)
    Are you still wursting around? Should get those submissions reviewed/approved
    Bannar
    Bannar
    Hmm, don't remember any patches left that have not been approved. I'm quite busy with linux kernel, but if you provide me the link, I'll take a look.
    How about dat bitwise lib in wurst :3 ?
    I heard the quazzer is merging ur changes slowly
    Bannar
    Bannar
    ITT dev team pretty much did nothing since my last pull request. You can check discord history/ github history. No posts, no tests no pull requests. They do not even test changes because they are too lazy.

    Got ownership of of soundwire within linux drivers/ and co-ownership for sound/soc/intel that's why my activity died lately. Much work to do.
    Bannar
    Bannar
    I'm sure I'll do some more updates for wurst in future, maybe even near one ; )
    Frotty
    Frotty
    Drivers? ugh.
    I made my own version (without generics though) if you want to take a look at it :)
    Bannar
    Bannar
    If you speak about collections, then non-generic versions are available in plenty. E.g.: Nes' github has both non-generic and semi-generic collections.

    I'm happy with my solutions, which after some time became popular within community due to them being easy to use and jass-friendly (cascade).
    They abuse Table to generate little code basically act as extension methods for said library.

    Due to fact that "collection" subject has been pretty exhausted already, it's highly unlikely new versions would be approved. Preferred approach is to propose updates for existing solutions.
    Pinzu
    Pinzu
    Consider it suggestions. :)
    No profile message for 4 years?
    Not anymore!
    In other news, iirc you reported some issue with compiletime() inside constant arrays. I wasn't able to reproduce it, care to elaborate?
    Bannar
    Bannar
    Gz on the profile message achievement.
    The issue seems to be related with war3 path or some unhandled null pointer exception - run wurst map vscode command was failing.
    First appeared 6-7 days ago, updated wurst 2-3 times during that time to see if issue would be resolved. No success, unfortunately. Build command worked just fine, thus I workarounded this with simple .ps1 script.
    Talked with Water yesterday and he told me to update wurst again since some additional safety checks were lately added. Indeed the update (803 build) fixed the problem.
    If this is not the issue you wished to talk about, apologizes.
    Hi there - I'm a novice coder coming from a C++ coding environment. I'm looking to get familiar with JASS but the directions I read on the wiki and other (outdated) tutorials around the net got me very confused on what I should tackle first.

    I am interested at understanding JASS and how the whole map creation process works - You mentioned this in your "Compiling vJass and Wurst using VSCode" post :
    Heavily favored over Wurst by new users because of streamlined learning curve: GUI -> Jass -> vJass

    Does this imply that to get a better grasp on JASS I should play around with the GUI World Editor first ?
    Bannar
    Bannar
    Most people get to know GUI triggers first before moving forward to pure Jass and possibly vJass.
    If you're familiar with c++, in my opinion you should be moving straight to vJass. The OOP concept and scopes make it much easier for developer to organize the map structure.
    RustKnight
    RustKnight
    Nice to know that - I was actually hoping for such an answer. Can you maybe think of what I could start reading as a tutorial ? Consider that I have almost no knowledge of World Editor and Jass syntax.

    As far as I understood you're recommending me a vJass tutorial...
    MyPad
    MyPad
    Oh, and I wish to interpret awaiting Update in another manner, being able to physically test the resource before approval.
    Bannar
    Bannar
    Hmm, now when I'm thinking about it, that status might make sense.
    However, what we could do is talk with Ralle about its impact i.e. maybe leave the resource still up on the front page? Don't you think?
    For any resource the first few days are the most important, that's why I was negative towards the results of your actions.
    Does not change the fact that I appreciate your time and input in looking at my resources!
    MyPad
    MyPad
    Alright. I'll see if I can propose another meaning to Awaiting Update currently in Spell Submissions.
    Reputation (+4):
    (Post) Thanks, I'll stick with UnitEvent for the time being. Hopefully someone can make a vJASS version of it that maybe uses UnitDex *wink wink* :D
    hello man
    firstly thank you for your help

    I uninstalled my old war 3 and installed TFT from blizzard. The problem is I counldn't select the language soe I've the correct version but nothing worked with the sharpcraft editor.
    Dark-Zalor
    Dark-Zalor
    I did I chose English(US)
    But my game is in french maybe it's due to the cd key
    Bannar
    Bannar
    I'm pretty sure you are missing something. My cd-key is Polish, yet I'm able to enjoy both, English WE and War3. Btw, Poland lies farther away from UK and US than France, so there is still some hope left, @Dark-Zalor : )
    Dark-Zalor
    Dark-Zalor
    hahahaha
    you're funny
    Hey there, Bannar. Could you help me a bit regarding your tree revival system?
    Bannar
    Bannar
    gusanomental
    gusanomental
    Thanks a million. Would you happen to have a simple test map showing how the demo code you provided works? For the moment I have no idea how to use it.
    Bannar
    Bannar
    Sure thing. Yeah, I forgotten a bit about you being GUI-user. Unfortunately GUI-based solution would not be as elegant, that's I decided to go with vJass for now. After todays work, I'll upload test map, probably update my TreeRevival (pure Jass snippet in Spell section) with this one.
    Hello! I used your treeRevival system and when I imported it in my map there came an error unexpected:elseif, so I had to remove "else" and "endif". I use JNGP 2.0.X. It didn't affect the system. Is this normal?
    Thank you. My apologies for writing back after more than a month. Had exams and other stuff in my university. Thanks a lot again.
    Hey ! I am using your Weather vJass snippet. You said you could implement sound effect to it. Are you going to do it or are you too occupied to do that ? Just want to know if I should wait or just modify it myself (for my use only of course).
    I was planning on using it in a Dota style map, where it would be unlikely that there were more than 100 units. Also, in a 1v1 melee setting it would be unlikely to get up to 100 units on the map at once.

    I changed the periodic to .07 and it still looks good and runs much better. I played 1v1 against the computer and it was doing well, until the end when I was attacking the enemies base and it lagged out.

    So let me make sure I understand what you are saying. I should not run checks for the type of unit in the loop but should store that separately indexing the value of height, offset, length of bar, etc. Then I should not calculate color inside the loop but use an outside table. Something like string(hp_color[(percentage of hp_unit's life)])? Basically anything that can be calculated and stored outside the loop should be and the loop should be as simple as possible?

    Is there anyway around the 100 FloatTxt limit? I've googled it and the answer seems to be 'no.'

    The GUI unit indexer ... that's the one made by Bribe right? That's a bit advanced for me. I get that it assigned a number to each unit, but beyond that I'm lost looking at it.
    Pastebin.w3x I am still adding final touches, but this seems to work a little better than before. I realized I should be testing it in a small map with no other triggers and the lag practically disappeared. However, I am fairly sure that if it was used in a 4-8 player map it would lag again. Also, I realized there is a limit to floatin' text. This will be a problem.

    HP Units init
    Events
    Time - Elapsed game time is 0.01 seconds
    Conditions
    Actions
    -------- Selects all units already in the map to get HP bars --------
    Set Mana_Group = (Units in (Playable map area))
    Unit Group - Pick every unit in Mana_Group and do (Actions)
    Loop - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    (Life of (Picked unit)) Greater than or equal to 100.00
    (Owner of (Triggering unit)) Not equal to Neutral Passive
    Then - Actions
    -------- Sets the length of the Bar --------
    Set StateString = llllllllllllllllllllllllllllllllllllllllllllllllllllllllll
    Set HP_int = (HP_int + 1)
    -------- sets an index number for each of the units --------
    Set HP_Unit[HP_int] = (Picked unit)
    Set HPstatus = (((Life of (Picked unit)) / (Max life of (Picked unit))) x (Real((Length of StateString))))
    Set tempp1 = (Position of HP_Unit[HP_int])
    Set tempp2 = (tempp1 offset by 40.00 towards 180.00 degrees)
    Floating Text - Create floating text that reads StateString at tempp2 with Z offset 0.00, using font size 4.00, color (0.00%, 100.00%, 0.00%), and 0.00% transparency
    Set HP_Text[HP_int] = (Last created floating text)
    Floating Text - Show (Last created floating text) for (All players)
    Custom script: call RemoveLocation(udg_tempp1)
    Custom script: call RemoveLocation(udg_tempp2)
    Trigger - Turn on Loops <gen>
    Else - Actions
    Custom script: call DestroyGroup(udg_Mana_Group)
    Add HP Units
    Events
    Unit - A unit enters (Entire map)
    Unit - A unit Finishes reviving
    Conditions
    Actions
    -------- Sets the length of the Bar --------
    Set StateString = llllllllllllllllllllllllllllllllllllllllllllllllllllllllll
    Set HP_int = (HP_int + 1)
    -------- sets an index number for each of the units --------
    Set HPstatus = (((Life of (Triggering unit)) / (Max life of (Triggering unit))) x (Real((Length of StateString))))
    Set HP_Unit[HP_int] = (Triggering unit)
    Set tempp1 = (Position of HP_Unit[HP_int])
    Set tempp2 = (tempp1 offset by 40.00 towards 180.00 degrees)
    Floating Text - Create floating text that reads StateString at tempp2 with Z offset 0.00, using font size 4.00, color (0.00%, 100.00%, 0.00%), and 0.00% transparency
    Set HP_Text[HP_int] = (Last created floating text)
    Floating Text - Show (Last created floating text) for (All players)
    Custom script: call RemoveLocation(udg_tempp1)
    Custom script: call RemoveLocation(udg_tempp2)



    The loop is too long now to post in a VM.
  • Loading…
  • Loading…
  • Loading…
  • Loading…
  • Loading…
  • Loading…
  • Loading…
Top