• 🏆 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!

[General] World Editor Spell Problem + more

Status
Not open for further replies.
Level 4
Joined
May 27, 2012
Messages
60
Well, here I am making a map in the editor, when I made two spells for one character, both using the spell shockwave but both are trigger based spells, and in-game when I go to use one of the spells, it will activate the other spell since it was made as shockwave as well.
Is there any way to make it so using the spell won't try to activate the other spell as well since it was used as shockwave? Or will I simply have to remake it?

On another note.. Is there any editor program that will help in making spells for heroes? Like.. If I were to make a spell with 100 levels, is there some kind of tool that can help me rather than me just typing in every single box the increments per level of the spell, or the tooltips per level? or I will have to do this on my own?

Thanks in advanced
 
Level 12
Joined
Jun 10, 2008
Messages
1,043
Well, here I am making a map in the editor, when I made two spells for one character, both using the spell shockwave but both are trigger based spells, and in-game when I go to use one of the spells, it will activate the other spell since it was made as shockwave as well.
Is there any way to make it so using the spell won't try to activate the other spell as well since it was used as shockwave? Or will I simply have to remake it?

I do believe you'll have to remake it. So when you click the spell do both trigger or just the opposite one? If it's the opposite one it might be a problem in triggering. If both, you'll probably have to remake it.



On another note.. Is there any editor program that will help in making spells for heroes? Like.. If I were to make a spell with 100 levels, is there some kind of tool that can help me rather than me just typing in every single box the increments per level of the spell, or the tooltips per level? or I will have to do this on my own? Thanks in advanced

I do not believe so. The object editor doesn't have any tools that edit it in large amounts. JNPG is probably the best editor for map-making, though.
 
Level 20
Joined
Jul 14, 2011
Messages
3,213
Well, here I am making a map in the editor, when I made two spells for one character, both using the spell shockwave but both are trigger based spells, and in-game when I go to use one of the spells, it will activate the other spell since it was made as shockwave as well.
Is there any way to make it so using the spell won't try to activate the other spell as well since it was used as shockwave? Or will I simply have to remake it?
Each ability has an ID. If you give 2 custom abilities to a unit, both based on the same, both will have the same ID, so, when any of them is casted, both will be detected as Casted and go on Cooldown, because... they're "both" the same (at some point).

You would have to base one of them on Channel (wich is an ability with no effect just fotr triggering purposes) and, when that spell is cast, you create a dummy unit, add the ability to it, and order the dummy to cast the ability. Channel allows modificating the BaseID of the ability, so, you can have a Custom Channel Ability with the ID of Shockwave, and Another Channel Ability with the ID of Chain Lightning.

On another note.. Is there any editor program that will help in making spells for heroes? Like.. If I were to make a spell with 100 levels, is there some kind of tool that can help me rather than me just typing in every single box the increments per level of the spell, or the tooltips per level? or I will have to do this on my own?
There's something called "LUA OBJECTS" or something like that wich allows creating objects (units, abilities, etc.) during gametime.

Object Editor has an "Auto Fill" (with right click) option that allows manipulating all the fields of the same type in the ability at the same time with some characteristics. Like "I want the ability to do 5 damage for every level" you just select the first level, select AutoFill and select "Constant Ratio: 5" and it will increase every level by a constant of 5.

You must know that abilities with more than 4 levels takes MUCH more map space, and becomes MUCH slower to load during gametime, because they're handled in a different way by Wc3 system. So, abilities with many levels is not good, nor recommended.
 
Level 4
Joined
May 27, 2012
Messages
60
I do believe you'll have to remake it. So when you click the spell do both trigger or just the opposite one? If it's the opposite one it might be a problem in triggering. If both, you'll probably have to remake it.





I do not believe so. The object editor doesn't have any tools that edit it in large amounts. JNPG is probably the best editor for map-making, though.

It's not a triggering problem because only one of the abilities is trigger based, ignore what I said in my main post, I wasn't paying attention. What's JNPG? I have Jass NewGen but whats the P stand for?




Each ability has an ID. If you give 2 custom abilities to a unit, both based on the same, both will have the same ID, so, when any of them is casted, both will be detected as Casted and go on Cooldown, because... they're "both" the same (at some point).

You would have to base one of them on Channel (wich is an ability with no effect just fotr triggering purposes) and, when that spell is cast, you create a dummy unit, add the ability to it, and order the dummy to cast the ability. Channel allows modificating the BaseID of the ability, so, you can have a Custom Channel Ability with the ID of Shockwave, and Another Channel Ability with the ID of Chain Lightning.


There's something called "LUA OBJECTS" or something like that wich allows creating objects (units, abilities, etc.) during gametime.

Object Editor has an "Auto Fill" (with right click) option that allows manipulating all the fields of the same type in the ability at the same time with some characteristics. Like "I want the ability to do 5 damage for every level" you just select the first level, select AutoFill and select "Constant Ratio: 5" and it will increase every level by a constant of 5.

You must know that abilities with more than 4 levels takes MUCH more map space, and becomes MUCH slower to load during gametime, because they're handled in a different way by Wc3 system. So, abilities with many levels is not good, nor recommended.

Could you direct me to LUA OBJECTS or whatever it's called?
Also, so if I wanted an ability with more than 4 levels, is there anyway to make it so it won't slow the map down? and the autofill thing is not working for me in jass new gen like you said.

Thanks for the help so far guys

I guess i'll have to learn how to make channeling abilities :)
 
Last edited:
Level 20
Joined
Jul 14, 2011
Messages
3,213
I have no idea about LUA Objects, but I know it's possible to create things dinamically during gametime. Search for it in Google, or using Hiveworkshops search function.

JNPG is Jass NewGen Pack.

It's not like it's going to make the map slowdown... Let me show you an example:

Lets say that an ability with 4 levels requires 1 second to load and requires 1kb of map space. This means that, when you give the ability to the unit, the game lags/stops for 1 second to load the ability. 0.25 seconds per level (0.25 x 4 = 1). If you do it in Map Initialization, that second will happen during Loading time (while LoadingScreen is shown).

Suddenly, if the ability has 5 levels, doesn't take 0.25 per level, but something like 0.33, and instead of 1kb, takes 3kb. I already forgot the reason, it has something to do with .slk files.

It's pretty easy to make the channel thing.
  • Melee Initialization
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to YourDummyAbility
    • Actions
      • Set TPoint = (Position of (Triggering unit))
      • Unit - Create 1 YourDummyUnit for (Triggering player) at TPoint facing Default building facing degrees
      • Unit - Order (Last created unit) to Move To TPoint
      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
      • Custom script: call RemoveLocation(udg_TPoint)
What do you want to achieve with the 100 level ability? There's probably a better way to handle it.
 
I believe the lua scripts are run at map compiling, which means you still cannot make things dynamically during gameplay... not sure though, but at least that what I see them mostly used for (automating object creation on the WE)... Instead of making them manually, you just type the lua code, hit save button and poof, the objects are already on the object editor... but that would suffice for your second query, though its still a bit of work typing all those codes...

as for the first question, well, for dummy spells (spells which does nothing by itself and relies on triggers for the actual effect), you should use channel as a base...
 
Level 20
Joined
Jul 14, 2011
Messages
3,213
If you want attribute bonuses, you can make 3 abilities (Str, Int, Agi) with 1 level, when the Hero learns one of these abiltiies, you increases the stat with triggers, and reduce the level of the ability, so it will always remain on lvl 1, but the stats will increase and the stats points will be consumed.
 
or you can have 3 usable abilities [and maybe put it inside a spellbook] if you cannot afford to make three hero abils just for the sake of learning them... then once you cast it, you add a point to the stat that it is affecting, of course if you have enough points...

that is of course if the attribute bonuses are for something like a stat system...

but if it's for passives, items etc, then you cannot use this method...
 
Level 4
Joined
May 27, 2012
Messages
60
or you can have 3 usable abilities [and maybe put it inside a spellbook] if you cannot afford to make three hero abils just for the sake of learning them... then once you cast it, you add a point to the stat that it is affecting, of course if you have enough points...

that is of course if the attribute bonuses are for something like a stat system...

but if it's for passives, items etc, then you cannot use this method...

It's nothing like that, it's for an enfos team survival map.
So pretty much...

- start the effect of an ability
- ability being cast equal to attribute bonus
- add 1 agility/str/int to triggering unit
- remove 1 skillpoint
- lower ability level

Is that right?
I understand how to do all of that except for the bottom 3, I mean I probably could but I'm not home right now so I'm not on my editor.
 
Level 4
Joined
Aug 26, 2012
Messages
123
gorillabull said:
object editor has autofill
That's true, when you right-click on one of the levels, there'll be an "Auto Fill Levels" options on pop-up menu. There, you can select a constant factor etc, and it should work, because after you click OK, the values will immediately change...
(also, there's a preview on the dialog box...)

For the shockwave, can we change each of the orderID's on Object Editor?
(It's on "Text - Order String - Turn On" or something...)

For the 100-level ability, do you want to have additional stats when you cast or when you learn?
(when you cast it, then you shouldn't remove the ability, just like what Adiktus's said, but when you learn it, it'll be like:

  • Events
    • Unit - A unit Learns a skill
  • Conditions
    • Hero skill learned equal to (yourability)
  • Actions
    • Unit - Add (stats_you_want) to triggering unit
    • Hero - Remove 1 skill point from (triggering unit)
    • Unit - Decrease ability level...
Pretty much like that...)
 
For the shockwave, can we change each of the orderID's on Object Editor?
(It's on "Text - Order String - Turn On" or something...)

--> actually, nope... It will only change the order string of the skill... Only the spell, "Channel", can have it's BaseOrderID changed... and that ID is what causes the two shockwave-based spells to "fire" when one is casted...
 
Status
Not open for further replies.
Top