Need expert (not really expert) advices for my first skill made...

Reaction score
9
I need some advice(s) for my 1st skill made, I made it in GUI, I'm a beginner in skill-making and I believe that this skill is not MUI, so check it out and tell me where/what I'm wrong...;)

Name: Drag Shot
Type: Single Target Unit - Ranged
Level: 4
Description: Fires a magical arrow that slows the target's attack rate and movement speed for a duration, then drag it back for some distance and dealing damage based on Caster's Agility.
Skill Stats (Level 1/Level 2/Level 3/Level 4)
Slows (Attack Rate-Movement Speed): 4-8%/8-16%/12-24%/16-32%
Slows Duration: 1.6/3.2/4.8/6.4 seconds
Drag Distance: 256/512/768/1024
Drag Damage: (1.6/3.2/4.8/6.4)x Caster's Agility

If someone can help me, I'll really appreciate it...:)
And I want to make the target will be Invulnerable during dragging since if the Caster have more than 100 Agility and Level 4 of this skill would have very much damage, so when the target is dragged back it cannot be attacked, to reduce its chance to losing a fight...:)
 

Attachments

  • Drag Shot Test.w3x
    20.5 KB · Views: 177

afisakov

You can change this now in User CP.
Reaction score
37
Tips I can think of.
2) Have drag_end have the event timer expires initially instead of adding it every time the trigger runs. The way you are doing it will end up with tons of copies of the event
2) post your triggers in
Trigger:
tags directly on this site instead of map, easier for people to see and should result in more responses.
3) If you truly intend to make target invulnerable, then you don't really want to use unit facing to determine direction of drag, since caster may change targets during and then unit will be dragged in a strange direction- better to use angle between points.
If you do not need the trigger to be MUI you can set the angle at the beginning of the trigger and just reference it during the periodic step (assuming u want dragged unit to keep going if it passes caster, otherwise keep setting angles between points every time to have it home on caster and stay next to him)
4) perhaps deal the damage continuous during the drag instead of all at once afterwards, might be more visually pleasing, though this is optional
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
Here is a semi-MUI version of it using Hashtables.

Its not completely MUI because the same unit can not be hit by drag shot from 2 different players at the same time. Until the effect of the first drag shot is over no other drag shot effect can be applied to the unit.

The unit gets invulnerable and the damage is dealt at the end.
 

Attachments

  • Drag Shot Test.w3x
    25.2 KB · Views: 181
Reaction score
9
afisakov said:
2) Have drag_end have the event timer expires initially instead of adding it every time the trigger runs. The way you are doing it will end up with tons of copies of the event
Hmm, the event of "Drag Shot End" is exactly timer expires, have you look at the map already...?
 
Reaction score
9
afisakov said:
3) If you truly intend to make target invulnerable, then you don't really want to use unit facing to determine direction of drag, since caster may change targets during and then unit will be dragged in a strange direction- better to use angle between points.

If you do not need the trigger to be MUI you can set the angle at the beginning of the trigger and just reference it during the periodic step (assuming u want dragged unit to keep going if it passes caster, otherwise keep setting angles between points every time to have it home on caster and stay next to him)
1st off, what's relation between makes the target Invulnerable with the targets facing point or drag direction...? I don't see anything that can affect the target's Invulnerability from the targets facing point, also the drag direction is based on target's facing point (180 degrees + Target's facing point)... The 2nd, I need the trigger to be MUI, and for setting angles at the beginning will become my first choice, because it sounds more easier...
 
Reaction score
9
afisakov said:
4) perhaps deal the damage continuous during the drag instead of all at once afterwards, might be more visually pleasing, though this is optional

But having the target attacked while its being dragged, will increases the target's chance to losing a fight, which make the fight will be easier to win...
 
Reaction score
9
Accname said:
Here is a semi-MUI version of it using Hashtables.

Its not completely MUI because the same unit can not be hit by drag shot from 2 different players at the same time. Until the effect of the first drag shot is over no other drag shot effect can be applied to the unit.

The unit gets invulnerable and the damage is dealt at the end.

Why the same unit cannot be hit by drag shot from different players...? The drag direction was based on the unit's facing point, not angle between the caster and the targets, also the drag direction was never been defined (only defined the locations of dragging step, not the whole drag direction), since I only used a timer to stop the dragging... I'll check the map right away, thanks for your help...:)

Also thanks to afisakov for his advices...:)
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
Five posts one after the other? I have seen quite a few double posts in my time, but this is a bit excessive, dont you think?

Its fairly simple why the unit can not be hit by 2 drag shots at the same time. It messes up the hashtable and the unit groups.
 
Reaction score
9
Five posts one after the other? I have seen quite a few double posts in my time, but this is a bit excessive, dont you think?
Sorry for that, my mistakes, I didn't used to talks at forum...

Its fairly simple why the unit can not be hit by 2 drag shots at the same time. It messes up the hashtable and the unit groups.
Hmm, hashtable... :confused:
I never get it, my WE just crashed every time I select "Create hashtable" in Trigger Editor, can you help me on this one too...? :D
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
I dont think I can.

Do you have the most recent version of wc3 installed?
Do you have some kind of third party extension installed? (Like WEU, JNG, etc)

If not, maybe try to re-install the game. Other then that, I cant think of anything.
 
Reaction score
9
I dont think I can.

Do you have the most recent version of wc3 installed?
Did you mean the latest WC3 patch...? The 1.26 patch, right...?

Do you have some kind of third party extension installed? (Like WEU, JNG, etc)
Nope, I don't have any third party extension installed...

If not, maybe try to re-install the game. Other then that, I cant think of anything.
Re-install the game...?:eek:
Is that means I have to delete all my previous map too...?
And Re-did the all campaigns mission again...?:eek:

Anyway, can you help me to make this spell becomes MUI just by adding array (the arrays are custom value of every caster and targets) to each variable...? I'm too afraid to try this one, since I don't really understand how to arrays work and the meaning of custom value...?:D
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
Did you mean the latest WC3 patch...? The 1.26 patch, right...?
I dont know. I dont play wc3 anymore for quite some time. I dont know what the latest patch's version number is.

Re-install the game...?:eek:
Is that means I have to delete all my previous map too...?
And Re-did the all campaigns mission again...?:eek:
If you de-install the game the maps are not deleted. Just in case you want to make sure you can always simply copy your maps folder.

Anyway, can you help me to make this spell becomes MUI just by adding array (the arrays are custom value of every caster and targets) to each variable...? I'm too afraid to try this one, since I don't really understand how to arrays work and the meaning of custom value...?:D
I dont think you can that easily make it fully MUI.
There would be a way with the hastables to modify it slightly in order to use 3 keys to access 1 value. This would, however, be quite inefficient in terms of memory usage and speed I guess, and the code would look much more ugly.
You have to ask yourself if you really need it to be MUI. Because if not then why would you want it to be?
 

afisakov

You can change this now in User CP.
Reaction score
37
But having the target attacked while its being dragged, will increases the target's chance to losing a fight, which make the fight will be easier to win...
I did not mean being attacked, I meant dealing the spell damage gradually while being dragged, so unit gets hurt by it while the chain or whatever is dragging it along instead of all at the end. Though this is purely cosmetic and optional.

1st off, what's relation between makes the target Invulnerable with the targets facing point or drag direction...

Sorry, I guess I did not read close enough. I had assumed from the name of the spell that drag would be based on caster facing, aka to "drag" the enemy toward the caster. Doing it no target facing gives the caster seemingly little control over where it drags to. If used while caster and target are meleeing each other you would actually drag the target away from yourself- which did not make much sense to me intuitively.

2) post your trigger in
[wc3.][/wc3.]
tags directly on this site instead of map, easier for people to see and should result in more responses.
Copy the trigger by right-clicking trigger name (once open not in list) and going down to "copy as text". Then paste it into forum and put the wc3 tags around it
[wc3.][/wc3.] (without the ".")
 
Reaction score
9
I dont think you can that easily make it fully MUI.
There would be a way with the hastables to modify it slightly in order to use 3 keys to access 1 value. This would, however, be quite inefficient in terms of memory usage and speed I guess, and the code would look much more ugly.
You have to ask yourself if you really need it to be MUI. Because if not then why would you want it to be?
Yes, I want it to be MUI, because the map that I want to developed was intended to be played by multiplayer...:D

So, the only way to make it MUI is through hashtable...:(
That would be difficult for me...:(

I did not mean being attacked, I meant dealing the spell damage gradually while being dragged, so unit gets hurt by it while the chain or whatever is dragging it along instead of all at the end. Though this is purely cosmetic and optional.
That's an awesome ideas, but that means I have to counting how many steps that drag do to the target and calculate how much damage per drag step, so the target would get damage exactly like being planned, right...? I'm sorry if I was wrong...

Sorry, I guess I did not read close enough. I had assumed from the name of the spell that drag would be based on caster facing, aka to "drag" the enemy toward the caster. Doing it no target facing gives the caster seemingly little control over where it drags to. If used while caster and target are meleeing each other you would actually drag the target away from yourself- which did not make much sense to me intuitively.
No, the caster who had this spell must be ranged, so if the target facing the caster it would drag the target away from the caster (to avoid melee combat)... But if the target are not facing the caster (target facing =/> 180 degrees + caster facing) it would drag the target closer to the caster (to chase the escaping targets)... And I still want to use the drag direction based on the target's facing....

Copy the trigger by right-clicking trigger name (once open not in list) and going down to "copy as text". Then paste it into forum and put the wc3 tags around it
[wc3.][/wc3.] (without the ".")
Thanks, next time I'll make sure I do like what you said...
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
Yes, I want it to be MUI, because the map that I want to developed was intended to be played by multiplayer...:D

So, the only way to make it MUI is through hashtable...:(
That would be difficult for me...:(
MUI and multiplayer is no the same.
Many spells in many maps are not MUI. For all I know the majority of skills in maps like Dota are not MUI, and there is absolutely no reason for them to be.
MUI means, that the spell can be used by any number of units at the same time without any limitations.
For example, all of the standard wc3 skills are MUI.

But if a skill will only ever be used by a single unit in the map then the spell does not need to be MUI. All skills in AoS games (Dota, lol, etc) do NOT need to be MUI at all.

Besides, my hashtable solution as it is, is almost MUI.
 
Reaction score
9
MUI and multiplayer is no the same.
Many spells in many maps are not MUI. For all I know the majority of skills in maps like Dota are not MUI, and there is absolutely no reason for them to be.
MUI means, that the spell can be used by any number of units at the same time without any limitations.
For example, all of the standard wc3 skills are MUI.

But if a skill will only ever be used by a single unit in the map then the spell does not need to be MUI. All skills in AoS games (Dota, lol, etc) do NOT need to be MUI at all.

Besides, my hashtable solution as it is, is almost MUI.
Ok, I still need some understanding, these are some condition that probably would happen in the map (maybe you can suggest me is this spell has to be MUI or not:D ):
1. A uses this spell to targets B, while C uses this spell to targets D, both of A and C casting at the same time...
2. A uses this spell to targets B, while the drag is in process, C uses this spell to targets D...

So, is it to be MUI or not...?
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
If the sets B and D of targets do not share any units, that is: A casts the spell on different targets then C, then my implementation with hashtables will work.

However, with the current implementation A and C can not cast the spell on the same target at the same time. But both can cast on different targets and both can cast on the same target if they do it at different points in time.


If you need this spell for a hero ability and you know that the same player will NEVER have this hero twice or more (that is, every player can have the effect of this spell only on one unit at a time) then you could easily make the spell MPI.
This way both player A and player B could cast the spell on the same target at the same time.
This, however, would need a different approach then mine. For an MPI ability you usually use Arrays and not Hashtables.
 
Reaction score
9
If the sets B and D of targets do not share any units, that is: A casts the spell on different targets then C, then my implementation with hashtables will work.
Hmm, what's that mean by sharing any units...?

However, with the current implementation A and C can not cast the spell on the same target at the same time. But both can cast on different targets and both can cast on the same target if they do it at different points in time.
Yes, and that would likely to happen in my map, thanks...:)

If you need this spell for a hero ability and you know that the same player will NEVER have this hero twice or more (that is, every player can have the effect of this spell only on one unit at a time) then you could easily make the spell MPI.
This way both player A and player B could cast the spell on the same target at the same time.
This, however, would need a different approach then mine. For an MPI ability you usually use Arrays and not Hashtables.

Perfect...! Even though I don't understand what is MPI, but this is more understandable for me... I'll put the arrays right away, thanks so much...:D
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
MPI is Multiple-Player-Instanceable.
That means that multiple players can use the skill at once but each player only with a single one of their units.

MUI is Mutiple-Unit-Instanceable.
That means that multiple units can use the skill at once.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top