System Advanced Unit Transfer System

tooltiperror

Super Moderator
Reaction score
231
>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?
 

Sevion

The DIY Ninja
Reaction score
424
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.
 

NoobImbaPro

You can change this now in User CP.
Reaction score
60
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.
 

Sevion

The DIY Ninja
Reaction score
424
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.
 

NoobImbaPro

You can change this now in User CP.
Reaction score
60
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 ??
 

Dirac

22710180
Reaction score
147
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.
 

tooltiperror

Super Moderator
Reaction score
231
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.
 

NoobImbaPro

You can change this now in User CP.
Reaction score
60
@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
 

Ayanami

칼리
Reaction score
288
@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.

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.

@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.

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.
 

NoobImbaPro

You can change this now in User CP.
Reaction score
60
"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.
 

tooltiperror

Super Moderator
Reaction score
231
it seems this has received no updates in over a month, and seems to still serve no good purpose.

Graveyarded.
 

NoobImbaPro

You can change this now in User CP.
Reaction score
60
I requested to remove this thread from graveyard. Isn't it possible?
 

tooltiperror

Super Moderator
Reaction score
231
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.
 

NoobImbaPro

You can change this now in User CP.
Reaction score
60
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)
 

Solmyr

Ultra Cool Member
Reaction score
30
avatar27099_4.gif


Indeed.​

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

NoobImbaPro

You can change this now in User CP.
Reaction score
60
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?
 

Darthfett

Aerospace/Cybersecurity Software Engineer
Reaction score
615
Yes you are right. This system can help and newbies in vJass handle better moving issues, until they become professionals.

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.
 

NoobImbaPro

You can change this now in User CP.
Reaction score
60
*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)
 

luorax

Invasion in Duskwood
Reaction score
67
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.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top