• 🏆 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!
Almia
Reaction score
297

Profile posts Latest activity Postings Experience Albums Resources About Medals

  • Hey Almia i have a request from you can you make Rubick DotA ultimate in this way i say ? :

    When Rubick use his ultimate in enemy and ally he can choose what spell he want i mean when he steal from a hero the 4 spells of Hero come to book for example and then choose one of them . please my friend about 3 month want it steel i didn't find no one better than you
    CMD is not a language, you may be referring to Batch.

    You would have to call it Regex and provide functions for matching the Regex string.

    local Regex singleWordFilter = Regex.create("[a-zA-Z]+")
    local boolean isWord

    set isWord = singleWordFilter.match("hello") // Returns true
    set isWord = singleWordFilter.match("hi") // Returns true
    set isWord = singleWordFilter.match("lol okay") // Returns false


    These are the specifications for Regex in its entirety.

    And this is the API I expect out of you:

    struct RegexSearchResult
    method operator valid takes nothing returns boolean
    // Returns whether the operation succeeded
    method getString takes nothing returns string
    // Returns the found sub-sequence

    struct Regex extends array
    static method create takes string expression returns Regex
    // Creates a Regular Expression using the argument string

    method match takes string target returns boolean
    // Determines whether the target string matches the Regex
    method search takes string target returns RegexSearchResult
    // Determines whether a sequence of the target string matches the Regex
    // Op-limit Unsafe unless you come up with a nice algorithm.
    // You'd have to look into certain implementations of this to see how you can
    // pull it off efficiently ;)
    method replace takes string target, Regex newFormat returns string
    // You don't need to implement this.
    // Some documentation on it can be found here:
    // cplusplus.com/reference/regex/match_replace/

    Also, please, enough of all this shit you're creating like StackTable and TableStack, and QueueStack, and StackQueue and StackTableQueue and QueueTableStack and AGRGAGRAGGRAGGRAGRA

    Regex is useful for advanced player commands with a very small amount of code.
    It's useful for passing arguments to commands that must follow very specific conditions.

    If you do this right, you will have my respect.

    Make me proud son.
    ----------
    May I ask where do you compile/code WurstScript syntax to maps?
    ----------
    This is the language WurstScript: http://peq.github.io/WurstScript/manual.html
    To use WurstScript you will need WurstPack (JNGP for Wurst) and the WurstScript Eclipse-Plugin. Check the manual for reference.


    ----------
    2) Im going to write it in either GUI,JASS or Zinc
    ----------
    There are many physics engines for wc3, most of them work. However the aims of Momentum3d are to provide a very flexible and modular framework which is easy to expand. This was realized by language features of WurstScript like "Dynamic Dispatch" and an advanced optimizer. There is no such thing in (v)Jass, GUI or Zinc so it is impossible to make a 1:1 port of Momentum3d to any of these languages.
    Actually i wrote Momentum because the Features WurstScript provides enabled it to write things in such a nice way. In vJass it would just be another piece of shitty code...


    ----------
    3) I won't add anything because I thought it is now complete(based on the video)
    ----------
    Its far from finished. No offense, but if you have such little understanding of what a physics engine is supposed to to (and how) you probably shouldnt try to write one yet.
    It does it through ObjectMerger.exe (in grimext folder). It can inject it into the map's w3u, w3a, etc. depending on the object type. PitzerMike posted the source code on wc3c:
    http://www.wc3c.net/showpost.php?p=1132323&postcount=15
    But the source went down when assembla was revamped. You'll have to contact Mike directly and ask him for the source/ask him to post the source, then you can see how it is done. I'm sure he'll be willing to send it to you, since he posted it before.
    While i find your terminology "creating a physics engine from momentum" misleading (since momentum is a physics engine) id love to see someone working on it. Feel free to fork the project or use the code... If you want i can add you as a contributor, so you get writing access to the github repository. There are other people who contributed, namely Frotty and Menag, however i dont think they are interested in the project anymore.

    I still have some ideas for momentum which i havent put in code yet, if you are interested i can share some of them with you. Do you already have a concept, know what you want to add etc.?
    Which Lua exactly? Object merger code or the ones in wehack.lua, findpath.lua, etc.? Basically Lua is an interface written in ANSI C. As such, there are ways to write Lua functions in C/C++ and expose them to Lua. To see how JNGP implements it, check out the source code for Grimoire (the actual source code is under the "source/" folder):
    https://w3grimoire.svn.sourceforge.net/svnroot/w3grimoire/
    It includes Lua header files + lua5.1.dll. If you want to see how, for example, the wehack functions are exposed to lua, see wehack.cpp:
    https://w3grimoire.svn.sourceforge.net/svnroot/w3grimoire/source/wehack.cpp
    For example, here are one of the declarations:
    int lua_execprocess(lua_State *l)For a tutorial on incorporating Lua into C++, check out this great tutorial:
    http://csl.name/lua/
    Good luck!
    Almia, is it possible for a person to master JASS without knowing GUI well?
    I'm currently in process of finishing and defending my licentiate so I'm quite busy.
    Ah right. Indeed I am using those. I tried my best to stay away from Queue, Stack, Linked List, [Std] something etc.

    Yeh I am learning vJASS also. Quite easy to absorb. I am currently converting Mystic Storm to vJASS xD
    Just to clarify, I do this right:

    function Parabola takes real height, real current, real max returns real
    // Set value of height
    // Set value of current
    // Set value of max
    return 4 * height * current (max - current) / (max * max)
    endfunction

    Or am I wrong?
    First part,
    I see, so it doesn't have much use anyway.

    Second one,
    I'll check it out.
    ..ooo......k.....k..........a...........y.......y
    o......o....k..k...........a..a...........y...y..
    o......o....kk............a.....a...........y....
    o......o....k..k........aaaaaaaa.........y...
    ..ooo......k.....k....a............a........y...
    No, I mean, whenever we finished a game, can all the score info stored into a notepad?
    Also, is it possible to store a data from a map in notepad [sorta like save load] then load the notepad data in another map?
    Can you make your Compressed Tavern to vJASS with neat and readable text :3 :3
    I love you ;) ;)
    Almia, is there a way to make a folder that contains result of playing a map via trigger, sort like the Tools System you made, if possible, what languages you can use for it? JASS? VJASS? GUI?
    Cool, I'll test it tomorrow.

    As for coding a dequeue (I assume you mean a double-ended queue, rather than removing something from a queue), I'm familiar with the structure but I haven't ever coded it in vJASS (or any language for that matter) since I haven't really found the need for it yet.
    how does that ruin my day? haha... though yeah, its only useful until Moyack releases v2.0...
    Hey almia no offense but what is your gender?.. because your name make me think your a girl..
  • Loading…
  • Loading…
  • Loading…
  • Loading…
  • Loading…
  • Loading…
  • Loading…
Top