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: 190

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,463
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: 194
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,463
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,463
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,463
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,463
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,463
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,463
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.
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
  • Ghan Ghan:
    Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
  • The Helper The Helper:
    Power back on finally - all is good here no damage
    +2
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    New recipe is another summer dessert Berry and Peach Cheesecake - https://www.thehelper.net/threads/recipe-berry-and-peach-cheesecake.194169/

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top