Tutorial Skill Spell Books

HydraRancher

Truth begins in lies
Reaction score
197
Skill System
By HydraRancher



Contents
  1. What will we learn?
  2. What kind of map is it for?
  3. Pros and Cons
  4. Object Editor Work
  5. Trigger Editor Work
  6. Q&A



1. What will we learn?
This tutorial will cover the basics such as using Channel as a dummy ability, nulling the default starting stats and stats gained over level, using the spell book ability and more advanced things, such as Multiboards, complex lines of codes and multiple other useful techniques.

By the end of this tutorial, you should have mastered this technique, however, if you have been unsatisfied with the result of the time [del]that has been wasted[/del] it has taken to review, attempt to learn, and understand this tutorial, I shall fully compensate your time with a much larger detailed explanation of the significant topic, as to help others understand how to create a stat adding spell book.

A warning to all who attempt to acheive a greater knowledge and understanding of the capabilities of the WE, if you currently do not think you can learn this topic succesfully, feel free to withdraw from reading, and read some easier topics, before coming on to this complex design.

If at any point you are completely confused at something and it is simply because you are unknowledgeable of the topic, stop reading this immediately as it is made for slightly advanced users, and not recommended for New beginners ("Newbs"). If you are hoping for a game better than DotA, an RPG which is outstanding, magnificent, and the best possibly accomplishable, but you do not know where to begin, this isn't it. The code will only play with your minds and confuse you to a state beyond confusability.

So be warned, once you begin reading from this point, I am assuming you know what I am explaining.



2. What Kind of Map is it for?
That is a very good question indeed, this is intended for ORPG games or/and any game with a hero really.
What this is is a different method of researching stats, so your hero slots are all freed up, and no pesky ESC to add stats.

The reason why I didnt say "How to add stats using hero abilities" because:
1. Less obvious. It's less obvious, it's, for the less advanced, nearly self explanatory, and it causes lots of ORPG's to use NPC's to add abilities, instead of the handy, warcraft built, hero abilities.
2. Eye - Candy. Complex systems with awesome looks appeal to the brain. This system, doesn't have an annoying "1" in a tiny box next to the large + in a slot of your inventory, but simply has 2 abilities, one active, one disabled, to create this nice look of new abilities/stats learnable, without the boring, original hero ability design for adding stats.
3. Do-able. Before creating this tutorial, I tried many a time using Hero abilities, but never accomplished it, finally, I stumbled upon a milestone which caused a specific brain wave to say...Hey! Spell books! You may be able to use Hero Abilities in a different way (Dark Invasion), but I dont think in the way accomplished in this tutorial.

That's my LED solution!

Test Map is at the bottom.



3. Pros and Cons
Pros:
You can use your hero slots.
Better eye-candy wise.
More "Customizable"
Its GUI


Cons
Takes up one skill slot.
More complicated than using hero slots.
Triggering can be a bit tedious




4. Object Editor Work
Well lets get started!
First on our list, is the hero, make sure you set all its stat values to 0 thats:
Starting Strength
Starting Agility
Starting Intelligence
Agility Per Level
Strength Per Level
Intelligence Per Level


Great job! Now we will use an easily customizable spell - Channel!
Find this spell by holding cntrl+f and typing in channel, you will first come to "Possession (Channeling)" so just search (cntrl+f) for it again, and voila!
channelpic.jpg

Now C n P this (Cntrl+C and Cntrl+V for all your people who are unaware) and rename it to "Agility" (or anything to do with agility).

Make it a unit ability and set its levels to 1 (if it isnt already). Make the description something like "Gives agility" (you'd probably want to be a bit more imaginative :p)
You will have to change most of the settings to make it a dummy ability:

Art Caster - Change this to what ever you want, its "Dark Portal - Archimonde" for me.
Art Effect - Wipe this clean.
Art Icon - Again can be anything.
Art Target - Clean.
Art Duration - 0.00
Data - base order ID - This is something you have to remember, it HAS to be different for all your different copies, for your first it can remain channel.
Data - Disable other abilities - False.
Data - Follow through time - 0.00.
Data - Options - Visible.
Data - Target type - Instant
//this is already that by default

The rest either dont matter or I have already told you to set (such as Hero ability - false).

Copy your ability twice, and name these the OTHER attributes. The ONLY thing you have to change (apart from tooltips) is the Base ID, otherwise all three spells will be casted at the same time (and you dont want that!).

The main part that plays into this is Spellbooks. Find the spell book ability (cntrl+f) and search for "Spell Book", it should come up right away, copy this and follow these instructions:

Art - Button Position X - 3 //This is not essential, but looks better.
Art - Button Position Y - 1
Art - Icon - Once again can be ANYTHING, but it is best if it has a "turn off" version (or DISBTN if its imported!).
Data - Spell list - Add your three spells, Agi, Str and Int.
Stats - Item Ability - False this should make it a unit ability
Tooltips - Anything, preferably something like "New Stats!".


This will be your spell book ability, add it to your hero.
Now find Critical strike, and copy it (it doesnt matter what type).
Give it one level and make it a unit ability.
The only values you actually have to change (apart from Tooltips) is the "Damage Chance", set this to 0, and the Button X and Y, to make this effective, copy the ones off your Spellbook ability.

Call it "No new stats" and give it the DISBTN/Turn off icon of your New stats ability.

This concludes the object editor part.



5. Trigger Editor Work

Now, for the fun bit!

Here is your initiallization trigger, this is essential.
Trigger:
  • Initiallization
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Game - Display to (All players) the text: Type "level" to lev...
      • -------- The 10 is the ammount of players there are. --------
        • Do Multiple ActionsFor each (Integer A) from 1 to 10, do (Actions)
          • Loop - Actions
            • Set StatGain[(Integer A)] = 1
            • Set CurrentLevel[(Integer A)] = 1
            • Set Level[(Integer A)] = 1
            • Set PointsLeft[(Integer A)] = 3


Explanation:
StatGain is ONLY if your using this type of stat system (I'll explain it more later)
Current level is to deliver the right points
Level is the same
PointsLeft is the ammount of points you have left (that one was SOOO difficult, took my dad 20 minutes)


Here is the Leveling trigger, this gives points when you level.

Trigger:
  • Level Up
    • Events
      • Unit - A unit Gains a level
    • Conditions
    • Actions
      • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • PointsLeft[(Player number of (Owner of (Triggering unit)))] Equal to (==) 0
        • Then - Actions
          • Unit - Add New Stats! to (Triggering unit)
          • Unit - Remove No New Stats from (Triggering unit)
        • Else - Actions
      • Set CurrentLevel[(Player number of (Owner of (Triggering unit)))] = (Hero level of (Triggering unit))
      • Set PointsLeft[(Player number of (Owner of (Triggering unit)))] = (PointsLeft[(Player number of (Owner of (Triggering unit)))] + (3 x (CurrentLevel[(Player number of (Owner of (Triggering unit)))] - Level[(Player number of (Owner of (Triggering unit)))])))
      • Set Level[(Player number of (Owner of (Triggering unit)))] = (Hero level of (Triggering unit))


Set Current Level - Set the current Level

Now this is a very complicated line let me explain:
Trigger:
  • Set PointsLeft[(Player number of (Owner of (Triggering unit)))] = (PointsLeft[(Player number of (Owner of (Triggering unit)))] + (3 x (CurrentLevel[(Player number of (Owner of (Triggering unit)))] - Level[(Player number of (Owner of (Triggering unit)))])))


Set Points left is obviously set the variable.
It says Points Left + [something] which means it only wants to increase the value. 3 x obviously means mutiply. Current Level - Level, this checks the level difference, and gives you 3x points.

Set Level - This is to make sure Level keeps up and doesnt add any extra points.

If statement
- This is checking wether you have the Add New stats ability or not. It adds the add new stats ability if you do not.




Intelligence:
Trigger:
  • Intelligence
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to (==) Mind Skill
      • PointsLeft[(Player number of (Owner of (Triggering unit)))] Greater than (>) 0
    • Actions
      • Set PointsLeft[(Player number of (Owner of (Triggering unit)))] = (PointsLeft[(Player number of (Owner of (Triggering unit)))] - 1)
      • Hero - Modify Intelligence of (Triggering unit): Add StatGain[(Player number of (Owner of (Triggering unit)))]
      • Set StatJump[(Player number of (Owner of (Triggering unit)))] = (StatJump[(Player number of (Owner of (Triggering unit)))] + 1)
        • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • StatJump[(Player number of (Owner of (Triggering unit)))] Equal to (==) 3
          • Then - Actions
            • Set StatJump[(Player number of (Owner of (Triggering unit)))] = 0
            • Set StatGain[(Player number of (Owner of (Triggering unit)))] = (StatGain[(Player number of (Owner of (Triggering unit)))] + 1)
          • Else - Actions
        • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • PointsLeft[(Player number of (Owner of (Triggering unit)))] Equal to (==) 0
          • Then - Actions
            • Unit - Remove New Stats! from (Triggering unit)
            • Unit - Add No New Stats to (Triggering unit)
          • Else - Actions


Unit - Unit begins casting - this is only so it reacts alot faster, it does NOT effect the ability.

Conditions - Quite obvious.

Set PointsLeft = PointsLeft - 1 - Again quite obvious.

Hero - Modify stats - You know what I'm gonna say........ADDS THE ABILITY! Oh wait I mean increases the stats...That one was hard.

Set StatJump
- This is only if your using my system of adding stats.
If Statement - Again like the above.

IMPORTANT
The way my system works, is the first 3 stats add 1 point, the second 3 add 2, the third 3 and 3 etc.


So...
The second if - Checks wether you have no points left, if so, adds the dummy ability, if not, does nothing.




And that concludes the trigger section.



5.5. BONUSES
(These have test maps below)

Stat Checking
-Copy your channel one more time, and call it Change Stats, add it to the spellbook.
-Use the following trigger.
Trigger:
  • Check Stats
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Check Stats
    • Actions
      • Game - Display to (Player group((Owner of (Triggering unit)))) the text: (You have + ((String(PointsLeft[(Player number of (Owner of (Triggering unit)))])) + points remaining.))




Alternatively, you can use a Multiboard, this requires you to modify the majority of the triggers. This way, you do not need to have the "Change Stats" Ability
Trigger:
  • Multiboard Initialization
    • Events
      • Time - Elapsed game time is 0.01 seconds
    • Conditions
    • Actions
      • For each (Integer A) from 1 to (Number of players in (All players)), do (Actions)
        • Loop - Actions
          • Multiboard - Create a multiboard with 4 columns and 2 rows, titled Points Left
          • Set StatMultiboard[(Integer A)] = (Last created multiboard)
          • Multiboard - Set the text for (Last created multiboard) item in column 1, row 1 to Points Left
          • Multiboard - Set the text for (Last created multiboard) item in column 2, row 1 to Strength
          • Multiboard - Set the text for (Last created multiboard) item in column 3, row 1 to Agility
          • Multiboard - Set the text for (Last created multiboard) item in column 4, row 1 to Intelligence
          • Multiboard - Set the text for (Last created multiboard) item in column 1, row 2 to (String(PointsLeft[(Integer A)]))
          • Multiboard - Set the text for (Last created multiboard) item in column 2, row 2 to (String(StrengthGained[(Integer A)]))
          • Multiboard - Set the text for (Last created multiboard) item in column 3, row 2 to (String(AgilityGained[(Integer A)]))
          • Multiboard - Set the text for (Last created multiboard) item in column 4, row 2 to (String(IntelligenceGained[(Integer A)]))
          • Multiboard - Set the display style for (Last created multiboard) item in column 0, row 0 to Show text and Hide icons
          • For each (Integer B) from 1 to 4, do (Actions)
            • Loop - Actions
              • Multiboard - Set the width for (Last created multiboard) item in column (Integer B), row 1 to 7.50% of the total screen width
              • Multiboard - Set the width for (Last created multiboard) item in column (Integer B), row 2 to 7.50% of the total screen width
          • Custom script: if Player(GetForLoopIndexA()-1) == GetLocalPlayer() then
          • Custom script: call MultiboardDisplay(bj_lastCreatedMultiboard,true)
          • Custom script: else
          • Custom script: call MultiboardDisplay(bj_lastCreatedMultiboard,false)
          • Custom script: endif
          • Multiboard - Minimize (Last created multiboard)
          • Multiboard - Maximize (Last created multiboard)


Trigger:
  • Multiboard Periodic
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • For each (Integer A) from 1 to (Number of players in (All players)), do (Actions)
        • Loop - Actions
          • Multiboard - Set the text for StatMultiboard[(Integer A)] item in column 1, row 2 to (String(PointsLeft[(Integer A)]))
          • Multiboard - Set the text for StatMultiboard[(Integer A)] item in column 2, row 2 to (String(StrengthGained[(Integer A)]))
          • Multiboard - Set the text for StatMultiboard[(Integer A)] item in column 3, row 2 to (String(AgilityGained[(Integer A)]))
          • Multiboard - Set the text for StatMultiboard[(Integer A)] item in column 4, row 2 to (String(IntelligenceGained[(Integer A)]))

And the Strength/Agility/Intelligence:

Trigger:
  • Intelligence
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Mind Skill
      • PointsLeft[(Player number of (Owner of (Triggering unit)))] Greater than 0
    • Actions
      • Set PointsLeft[(Player number of (Owner of (Triggering unit)))] = (PointsLeft[(Player number of (Owner of (Triggering unit)))] - 1)
      • Hero - Modify Intelligence of (Triggering unit): Add StatGain[(Player number of (Owner of (Triggering unit)))]
      • Set IntelligenceGained[(Player number of (Owner of (Triggering unit)))] = (IntelligenceGained[(Player number of (Owner of (Triggering unit)))] + StatGain[(Player number of (Owner of (Triggering unit)))])
      • Set StatJump[(Player number of (Owner of (Triggering unit)))] = (StatJump[(Player number of (Owner of (Triggering unit)))] + 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • StatJump[(Player number of (Owner of (Triggering unit)))] Equal to 3
        • Then - Actions
          • Set StatJump[(Player number of (Owner of (Triggering unit)))] = 0
          • Set StatGain[(Player number of (Owner of (Triggering unit)))] = (StatGain[(Player number of (Owner of (Triggering unit)))] + 1)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • PointsLeft[(Player number of (Owner of (Triggering unit)))] Equal to 0
        • Then - Actions
          • Unit - Remove New Stats! from (Triggering unit)
          • Unit - Add No New Stats to (Triggering unit)
          • Wait 1.00 seconds
          • Unit - Order (Triggering unit) to Stop
        • Else - Actions

Trigger:
  • Agility
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Leg Skill
      • PointsLeft[(Player number of (Owner of (Triggering unit)))] Greater than 0
    • Actions
      • Set PointsLeft[(Player number of (Owner of (Triggering unit)))] = (PointsLeft[(Player number of (Owner of (Triggering unit)))] - 1)
      • Hero - Modify Agility of (Triggering unit): Add StatGain[(Player number of (Owner of (Triggering unit)))]
      • Set AgilityGained[(Player number of (Owner of (Triggering unit)))] = (AgilityGained[(Player number of (Owner of (Triggering unit)))] + StatGain[(Player number of (Owner of (Triggering unit)))])
      • Set StatJump[(Player number of (Owner of (Triggering unit)))] = (StatJump[(Player number of (Owner of (Triggering unit)))] + 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • StatJump[(Player number of (Owner of (Triggering unit)))] Equal to 3
        • Then - Actions
          • Set StatJump[(Player number of (Owner of (Triggering unit)))] = 0
          • Set StatGain[(Player number of (Owner of (Triggering unit)))] = (StatGain[(Player number of (Owner of (Triggering unit)))] + 1)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • PointsLeft[(Player number of (Owner of (Triggering unit)))] Equal to 0
        • Then - Actions
          • Unit - Remove New Stats! from (Triggering unit)
          • Unit - Add No New Stats to (Triggering unit)
          • Wait 1.00 seconds
          • Unit - Order (Triggering unit) to Stop
        • Else - Actions


Trigger:
  • Strength
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Hand Skill
      • PointsLeft[(Player number of (Owner of (Triggering unit)))] Greater than 0
    • Actions
      • Set PointsLeft[(Player number of (Owner of (Triggering unit)))] = (PointsLeft[(Player number of (Owner of (Triggering unit)))] - 1)
      • Hero - Modify Strength of (Triggering unit): Add StatGain[(Player number of (Owner of (Triggering unit)))]
      • Set StrengthGained[(Player number of (Owner of (Triggering unit)))] = (StrengthGained[(Player number of (Owner of (Triggering unit)))] + StatGain[(Player number of (Owner of (Triggering unit)))])
      • Set StatJump[(Player number of (Owner of (Triggering unit)))] = (StatJump[(Player number of (Owner of (Triggering unit)))] + 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • StatJump[(Player number of (Owner of (Triggering unit)))] Equal to 3
        • Then - Actions
          • Set StatJump[(Player number of (Owner of (Triggering unit)))] = 0
          • Set StatGain[(Player number of (Owner of (Triggering unit)))] = (StatGain[(Player number of (Owner of (Triggering unit)))] + 1)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • PointsLeft[(Player number of (Owner of (Triggering unit)))] Equal to 0
        • Then - Actions
          • Unit - Remove New Stats! from (Triggering unit)
          • Unit - Add No New Stats to (Triggering unit)
          • Wait 1.00 seconds
          • Unit - Order (Triggering unit) to Stop
        • Else - Actions




6. Q&A
My Q&A doesnt beat Acehart's, but ahwell.


Q:
I dont understand any of this!
A:Tell me what!
A2:Too bad.

Q:The abilities all messed up! It said "Add "My Spell" to (Triggering Unit)
A:
As explained above, replace it.

Q:You Suck!
A:Thanks >.>
A2:O RLY?

Q:This was very helpful, my friends said THATS AWESOME!
A:No they didnt...

Q:Ok maybe not, but they liked it!
A:Thanks.

Q:YOU DIDNT FINISH YOUR Q&A!!!
A:I ran out of ideas.
A2:There havent been enough complaints....




Please comment on all good and bad and tell me what I need to improve (this is my first tut!)


Ingame Pictures:
skillpic.jpg



ChangeLog
v1.0: Created
v1.1: Fixed the "New Skills" not popping up bugg
v1.2: Fixed the "New Skills" bugg properly
v1.3: Removed the "Stop", it did not allow the effect to show.
v1.4: Re-added the "Stop" with a wait in it, as it froze the hero when I removed the spellbook.
v1.5: You can now view your stats.
v1.5 Multiboard: Same as above, but with Multiboards.
v1.5b: Fixed some typing errors
v1.5c: Added extra things...New topic and more info on the "What does it do" topic.
v1.5d: Fixed a small bugg in the triggering.

Credits
-Me Myself :D
-Nexor, for unintentionally helping me by posting his GetLocalPlayer() multiboard triggger.
-Those who helped me before I released this:
  • Komaqtion
  • Azlier
  • All the people who Commented
  • I Probably forgot LOADS of people, if you want credit, link your thread please



Test map:
 

Attachments

  • Skill System Fixed 1.4.w3x
    21.2 KB · Views: 550
  • Skill System v1.5.w3x
    21.6 KB · Views: 425
  • Skill System v1.5 Multiboard.w3x
    23.1 KB · Views: 421

Azlier

Old World Ghost
Reaction score
461
I level up the Paladin in the test map and he can't learn above 3 stat bonuses.

At least if I use the 3 starting bonuses he has, and then level him.
 

HydraRancher

Truth begins in lies
Reaction score
197
I level up the Paladin in the test map and he can't learn above 3 stat bonuses.

At least if I use the 3 starting bonuses he has, and then level him.

Yes I have just noticed the error[del], it is supposed to be (in the level trigger)
NOT equal to 0, I will fix this and re-upload the map.[/del]
I've fixed this bugg.
 

Nukitty

New Member
Reaction score
1
Epic

Nice work on the map Hydra, Still don't understand trigger's though, I'm just your ideas man...Kitty xP
 

Furby

Current occupation: News poster
Reaction score
144
Pros:
...
Its GUI

I lol'd. :D

Btw, I didn't really look through triggers but I've tested map, leveled up Strength 3 times then hero bugged and I could not move with him, he kept casting something forever.. :rolleyes:
 

HydraRancher

Truth begins in lies
Reaction score
197
Sure, I'll get on it right away.

EDIT:

Implemented perfectly.

You'll be happy to know, Nexor, that I used this thread as influence for the Multiboard:
I use the JASS version of globals variable, so there is no "udg_" before it, but if you prefer GUI, just make a Multiboard array variable named Multiboard.

Trigger:
  • Multiboard init
    • Events
      • Time - Elapsed game time is 0.10 seconds
    • Conditions
    • Actions
      • For each (Integer A) from 1 to (Number of players in (All players)), do (Actions)
        • Loop - Actions
          • Multiboard - Create a multiboard with 6 columns and 4 rows, titled Game Time - 0:00
          • Custom script: set Multiboard[GetForLoopIndexA()] = bj_lastCreatedMultiboard
          • Multiboard - Set the text for (Last created multiboard) item in column 1, row 1 to |cff316ac5Name:
          • Multiboard - Set the width for (Last created multiboard) item in column 0, row 0 to 8.50% of the total screen width
          • Multiboard - Set the display style for (Last created multiboard) item in column 0, row 0 to Show text and Hide icons
          • Custom script: if Player(GetForLoopIndexA()-1) == GetLocalPlayer() then
          • Custom script: call MultiboardDisplay(bj_lastCreatedMultiboard,true)
          • Custom script: else
          • Custom script: call MultiboardDisplay(bj_lastCreatedMultiboard,false)
          • Custom script: endif
          • Multiboard - Minimize (Last created multiboard)
          • Multiboard - Maximize (Last created multiboard)
 

Nexor

...
Reaction score
74
Hehe, I lol'd at that one :D

I had A LOT of issues using multiboards locally, so now I'm a master at it :D

Thanks anyway for using my local Multiboard :D
+rep ! :D :D

EDIT: I just tested the map, and have a question: The multiboard displays the points spent on each stat? if so there's no problem with it.
 

tooltiperror

Super Moderator
Reaction score
231
I don't think anyone would really use this, except on rare occasions.

All, GUI is not a pro, even for GUI users.
 

Laiev

Hey Listen!!
Reaction score
188
Little question.....

why you use Unit - A unit Begins casting an ability instead of Start effect of?
 

HydraRancher

Truth begins in lies
Reaction score
197
Hehe, I lol'd at that one :D

I had A LOT of issues using multiboards locally, so now I'm a master at it :D

Thanks anyway for using my local Multiboard :D
+rep ! :D :D

EDIT: I just tested the map, and have a question: The multiboard displays the points spent on each stat? if so there's no problem with it.

Yes, its simply if somebody wants to balance their stats out and dont want to figure out triangle numbers.



I don't think anyone would really use this, except on rare occasions.

All, GUI is not a pro, even for GUI users.

So youre saying GUI is not very good coding?



Little question.....

why you use Unit - A unit Begins casting an ability instead of Start effect of?

Said in the Tutorial, to react faster, tested it, and does not effect the ability.
 

tooltiperror

Super Moderator
Reaction score
231
How did you test it? Was it benchmarked correctly?

Also, GUI is horrible. JASS provides so much less code for the same stuff, it`s scary.
 

Nexor

...
Reaction score
74
begins casting fires when the unit starts the animation of the spell, it's similar to the event "A unit is attacked"
 

Anachron

New Member
Reaction score
53
Dude sorry, this is horrible xD You should make it bigger in all, allowing more customizing, give more features to it, like automatic teching, and should add the abilities to the units by default, maybe allow an unittypebased attribute system.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Ghan Ghan:
    Howdy
  • 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 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