System Advanced Unit Transfer System

Discussion in 'Graveyard' started by NoobImbaPro, Jul 2, 2011.

  1. tooltiperror

    tooltiperror Super Moderator Staff Member

    Ratings:
    +233 / 0 / -0
    >Its main purpose is to save time during coding, it isn't something new.
    Sometimes more time coding for verbosity or more efficiency is worth it.

    >Think of DotA
    I don't play DotA, so this means nothing to me.

    What can this system do for me that I can't get with any other knockback system?
     
  2. Sevion

    Sevion The DIY Ninja

    Ratings:
    +423 / 0 / -0
    Saving time is great and all, but would you sacrifice efficiency or readability/verbosity for it? In any other case I would be fine with that, but with vJASS I wouldn't. Why? vJASS's efficiency is terrorbad.

    I also don't play DotA. I really don't like it when people use examples from DotA.
     
  3. NoobImbaPro

    NoobImbaPro You can change this now in User CP.

    Ratings:
    +60 / 0 / -0
    DotA has many unique skills/abilities that other maps don't use, I refer this map as an example because you can get many uses of my system.
    It's the only one map that has great custom skills.

    @tooltiperror
    "I don't play DotA, so this means nothing to me."
    So you don't like DotA ?
    Do you think it should not exist ?

    "Sometimes more time coding for verbosity or more efficiency is worth it."
    Yes you are right. This system can help and newbies in vJass handle better moving issues, until they become professionals.
    And I can make a knockback with faster performance than this system, but it won't be that safe, because if I make a logical mistake it would be most of times hard to find it.
    Also when you make a logical mistake you won't search a 300++ line trigger. It also prevents all kinds of bugs during movement.
    You should seek performance where you really need to have.
     
  4. Sevion

    Sevion The DIY Ninja

    Ratings:
    +423 / 0 / -0
    Just because someone doesn't play DotA doesn't mean they think it shouldn't exist. That person may simply not enjoy playing DotA. Don't jump to conclusions.

    Laziness is not good. I've had to search thousands of lines of code for bugs.

    I know people who've searched more.
     
  5. NoobImbaPro

    NoobImbaPro You can change this now in User CP.

    Ratings:
    +60 / 0 / -0
    That's not laziness, that's better bug tracker handling. I think you've never developed a MMO like Lineage or Counter Strike
    or learned programming theory lessons to describe this as laziness.
    In your life you might searched thousands of lines of code for bugs and I don't care, I came here to save you space and time.

    Lazy programmer is the one who don't like coding at all.

    "I know people who've searched more."
    So what, were they happy doing that ??
     
  6. Dirac

    Dirac 22710180

    Ratings:
    +147 / 0 / -0
    You're being completely irrational. The lazy programmer is the one that does an aweful job, dosn't care at all, and takes no suggestions, and i'm sorry but you fit the description. People are trying to help you give your system something useful and unique and all you do is counter their opinions with "my system is good, please shut up". If someone tells you to use AIDS because it's better, it just might be, because it is.
     
  7. tooltiperror

    tooltiperror Super Moderator Staff Member

    Ratings:
    +233 / 0 / -0
    Right, I'm going to make three points against this resource.

    1) This does not solve any problem. Knockback, which this seems to try to fix,
    2) It is horribly documented. Seriously, try reading the doc of approved resources.
    3) The interface is rather bad, and you seem to make it worse with each update.
     
  8. NoobImbaPro

    NoobImbaPro You can change this now in User CP.

    Ratings:
    +60 / 0 / -0
    @tooltiperror
    I hear what you say, I don't ignore you, but you can't help me just telling my interface is bad, documentation is bad, point exactly what you don't like, how should it be, because I said its my first system and I don't know how to make it like the others.
    I read many documentations, but I am not good at writing. I tried to do my best.
    Let's take my documentation, what missing ? Should I add comments to my methods and their purpose, to know what I am coding in these lines? Do I have something you don't understand ?

    Thank you.

    @Dirac
    "If someone tells you to use AIDS because it's better, it just might be, because it is" :nuts:
    I don't have any problem with AIDS, I just referred an example and pointed its con (UnitUserData).
    Because it is, ahahahahahaha, this is an answer of a dumb guy who follows the mass, a passive recipient of information.(if you don't understand report google translate)
    And if they say you to jump the Niagara waterfalls, you will do it because they say that it will be awesome?
    They don't have an explanation to make it logic? Only a logic sentence is approved.

    UPDATE 1.6.D
     
  9. Ayanami

    Ayanami 칼리

    Ratings:
    +287 / 0 / -0
    About Documentation, tooltiperror did tell you to take a look at the approved system documentations. Read carefully. Not good at writing ins't a good excuse. If you have seen others' documentation, at least you can closely follow that format. You also have to understand that systems aren't there for fun. They're meant to serve a certain purpose, and a good one too. AIDS allows people to efficiently index units. Damage allows people to deal damage, detect and differentiate from Physical and magical damage. Knockback is simply just a knockback, it serves no greater purpose. And unless you can accurately claim that it's very efficient, I don't think a Knockback system will be approved, even if you provide other complex knockback methods.

    This is exactly your problem, I have to say. Why do you keep aggravating and offending other people with your "neat" shoot backs? You could have point out calmly that he had the wrong idea. But honestly, it all lies in the tone.

    I will give you a suggestion. Your documentation is in a mess. Forget about the grammar for now, just format it neatly. Cut out all the explanation of how the parabola and such works, a documentation isn't a place to flaunt your information. Use proper paragraphing and just remove all non-relevant information. Just tell us what are the significant methods we have to take note of and how it works. Tell us how to import the system. Just tell us how to use it and not how it works.
     
  10. NoobImbaPro

    NoobImbaPro You can change this now in User CP.

    Ratings:
    +60 / 0 / -0
    "I will give you a suggestion. Your documentation is in a mess. Forget about the grammar for now, just format it neatly. Cut out all the explanation of how the parabola and such works, a documentation isn't a place to flaunt your information. Use proper paragraphing and just remove all non-relevant information. Just tell us what are the significant methods we have to take note of and how it works. Tell us how to import the system. Just tell us how to use it and not how it works."

    Now I get it....I am sorry I didn't make it from beginning.


    I will do that to the next update, I will implement the homing system too.
     
  11. tooltiperror

    tooltiperror Super Moderator Staff Member

    Ratings:
    +233 / 0 / -0
    it seems this has received no updates in over a month, and seems to still serve no good purpose.

    Graveyarded.
     
  12. NoobImbaPro

    NoobImbaPro You can change this now in User CP.

    Ratings:
    +60 / 0 / -0
    Update 2.0.A
     
  13. NoobImbaPro

    NoobImbaPro You can change this now in User CP.

    Ratings:
    +60 / 0 / -0
    I requested to remove this thread from graveyard. Isn't it possible?
     
  14. tooltiperror

    tooltiperror Super Moderator Staff Member

    Ratings:
    +233 / 0 / -0
    I don't see what problems you've fixed. It's still a bad knockback system with no true purpose. You simply told me to remove it from the Graveyard.
     
  15. NoobImbaPro

    NoobImbaPro You can change this now in User CP.

    Ratings:
    +60 / 0 / -0
    The coding is not ok?
    The documentation is not ok?
    It's not efficient to use it?

    It's your safest moving system. It's only for knockback? You can also move effect's with it (based on units). You can twist it from its main purpose, you are free to adapt every constant to your need for every instance.
    I've added doubly linked list for more configuration, and added fly overwrite to make it more eye candy.
    So where's no purpose?
    I will try to make a node list for every moving instance (struct), for safer movement handling. I think buffstruct will help me with this.
    emjlr3 slide system is better with all these constants?
    if you want 6 slide types you will copy/paste system 6 times to set the constants to your needs?
    (@emjlr3 No offense man, you are experienced a lot, but I don't know why I can't make him happy)
     
  16. Solmyr

    Solmyr Active Member

    Ratings:
    +30 / 0 / -0
    [​IMG]

    Indeed.​

    It's funny how your avatar perfectly describes this script.
     
  17. NoobImbaPro

    NoobImbaPro You can change this now in User CP.

    Ratings:
    +60 / 0 / -0
    of course I am funny :D

    I care so much about the safe movement and I leave the code's speed?

    Have you tried the demo map?
     
  18. Darthfett

    Darthfett Super Mod

    Ratings:
    +614 / 0 / -0
    This system is pretty far from being useful to newbies, as reading the documentation requires you to read almost the entire code. The interface is quite complicated, and if I can't figure out how to use the system with one full read of the code, then I don't see how any 'newbie' can do so after several reads.

    I noticed that you're Converting to degrees in GetAngleFromUnitToUnit, GetAngleFromUnitToPoint, and GetAngleFromPointToUnit functions. I think you should stick to using radians, as most JASS functions use them, and someone who uses the functions may expect radians, given that there is no documentation on them at all.

    As far as the actual interface, I think the idea of 'Simple', 'Advanced', etc modes is not something that makes a whole lot of sense. What's simple and what's advanced is relative, and will seem arbitrary to anyone who uses the system.

    In order to improve the documentation, you should keep it concise, while still explaining any effects the parameters passed will have (as well as documenting any public functions). I would also recommend several code examples of use (in the actual post, few people will want to open up an attached document, much less a test map). The test map is still nice to have for a system like this, as long as you have some interesting examples to show. For now, I haven't taken a look at it.

    Unfortunately, with all these issues, the system will have to stay in the graveyard. Unless we see a large number of changes, it will stay in the graveyard.
     
  19. NoobImbaPro

    NoobImbaPro You can change this now in User CP.

    Ratings:
    +60 / 0 / -0
    *This system is pretty far from being useful to newbies, as reading the documentation requires you to read almost the entire code. The interface is quite complicated, and if I can't figure out how to use the system with one full read of the code, then I don't see how any 'newbie' can do so after several reads.

    I thought the documentation will help them...
    You're right, thank you.

    (I have some things to do because I have to prepare for university, then I will try to improve it)
     
  20. luorax

    luorax Invasion in Duskwood

    Ratings:
    +67 / 0 / -0
    Well, I wanted to create something like this today, because I needed a system to stack those movement kind of abilities. I think I'll use this instead.

    One thing to note: you should order your script:
    JASS:
    
    private method move takes nothing returns nothing
    endmethod
            
    static method start takes unit whichUnit, real speed, real angle, real baseheight, boolean checkPathing returns thistype
        call this.startPeriodic()
    endmethod
            
    method periodic takes nothing returns nothing
        call .move()
        call .onPeriodic()
    endmethod
            
    implement T32x


    Should be:

    JASS:
    
    private method move takes nothing returns nothing
    endmethod
    method periodic takes nothing returns nothing
        call .move()
        call .onPeriodic()
    endmethod
            
    implement T32x        
    static method start takes unit whichUnit, real speed, real angle, real baseheight, boolean checkPathing returns thistype
        call this.startPeriodic()
    endmethod


    It is using useless trigger evaluations, which is unnecessary.
     

Share This Page