A System that only levels up skills that are always used

rodge_002

New Member
Reaction score
4
This is what I'm thinking...

I want skills to have experience, like when you use them, you get an amount of skill exp points and when you kill enemies with that skill, you get more. Each skill will have their own experience and when they reach the required, they'll level up.

I think someone had thought of this before, and I know deep inside that I will require tons of variables for this. But I don't know how to start...

So people, can you help me do it?

And is there a way to put in the Skill's description its current experience so that the user will keep track on it?

Like:
Body Burst - [Level 1]

Instantly kills an enemy in a violent explosion, damaging nearby units.

Experience:
<o/200>
 

bOb666777

Stand against the ugly world domination face!
Reaction score
117
Umm yeah I actually used that in a map I made
It's fairly easy, just use integers with arrays (or if you know enought jass to use one, you can use an attachment system) to keep track of each ability's exp
to make the levels, simply use non-hero abilities with levels (you can make an ability level up with trigger)

Except, like CaptD said, you cant show the exp in its tooltip

What I did is, everytime you cast the ability, display the exp as a game message. That's enought, since its the only times it gains exp
Level can be shown in the tooltip though.
 

rodge_002

New Member
Reaction score
4
haha

Well, after thinking - I think that's better. The mystery of what to do to level up your skill will make the players wonder for a while.

So, any tips on how to make such? Like advices? Because I think this might cause leaks on my scenario, and maybe something new can help me perhaps...

Like how would you do this? Like for example, you kill a unit while casting a skill? (I'm thinking War Stomp)
 

rodge_002

New Member
Reaction score
4
@bob666777

@bob666777: You can use triggers to level up only one non-hero skill?

Because this is one thing in my scenario right now that I'm using for a while... :D I actually made multiple researches to get it... haha... If it is possible - then it shows I'm clearly still a noob in this... :D
 

CaptDeath

New Member
Reaction score
103
you can level any kind of skill as long as it has a level to go up


Edit next time or else its called a bump(which are allowed only after 24 hours(this is your warning next time offense people are sure to -rep you))
 

bOb666777

Stand against the ugly world domination face!
Reaction score
117
Uhh
Making kills by spells give more exp might be hard

What you could do is, when the unit casts the spell (for example, death bolt)
Wait X seconds (something low, like 0.1 for instant spells, for relatively slow projectile spells, use a bigger wait (Note, for triggered spells that have triggered damage, you dont need a wait ^^))
Check if target is still alive
If so, set DeathBoltXp[player number of owner of casting unit] to DeathBoltXp[player number of owner of casting unit] + 20
Else, set DeathBoltXp[player number of owner of casting unit] to DeathBoltXp[player number of owner of casting unit] + 40
 

rodge_002

New Member
Reaction score
4
...

@CaptDeath: Thanks for the warning... :D

@bOb666777: Okay. I'll try that... L8r... :D

EDIT: Um, I am now focusing on the War Stomp ability. How do you detect the units affected by it? Please reply... T_T
 

Cres

New Member
Reaction score
25
Actually, for the dynamic tooltip... I think you can just do something like every time you kill a unit with it, level the ability up. The problem with this is if you have 200 exp, then you will need 200 levels of the ability just for 1 level up. The good part about it is that you can set how much exp each unit gives.

To detect units affected by warstomp, just:

Event: Unit casts an ability
Condition: Ability = Warstomp
Action:
Pick every unit within <insert AOE of Warstomp> of Casting Unit and do Actions:
Whatever you want.
 

chovynz

We are all noobs! in different states of Noobism!
Reaction score
130
An idea that you might like to use.

Personal Multiboard.
You can display your hero's ability name, and level, as well as any other info you might like to show them about the level. And its not problem if there are more abilities either. Make sure they can hide it if they want to. I can't remember which one is hideable (leaderboard or multiboard).

Advice:
Dont get caught up on "heaps of variables." Just make it for player red, and one skill (make sure you use an array so that when you add the other players, you make it easy on yourself.) I think, You'll need...

Possible Use Case:
"Gerome the fat-kid watched excitedly as he logged into the game. This new game, called HeroSmash9000 was gonna be fun! He picked his hero from the Hero's Tavern and watched droolingly as the elusive, cunning Assassin called SmackMyDog appeared in front of him. Gerome's fat jowls wobbled in pleasure as he clicked on the pre-determined Headshot skill and then proceeded to use the skill for the first time. When the targeting reticle came up he pointed at an enemy hero and clicked on it. He gasped in surprise as a message came up "You have gained skill points! Every time you use it or kill with it, you gain points!". Gerome did a little jiggy dance as he saw his personal Multiboard update itself:
Code:
-Hero Skills------------------------------------------------------
|  [B]Class[/B]      [B]Ability[/B]    [B]Level[/B]   [B]Dmg[/B]   [B]Next[/B]   [B]Exp[/B] \ [B]Up[/B]    [B]Next[/B]   |
|  Assassin   Headshot   1       345   +125   10  \ 200   400    | 
----------------------------------------------------------------V-
Gerome grinned as he imagined lots of kills with this new skill. He used it as much as he could on as an enemy he came across. Then light dawned on his face and he panted with delight as he remembered that message, "...OR KILL WITH IT!" Gerome went into crafty mode and only targeted enemies that were in the already in the red. Score! He got a kill! Gerome died of overexcitment."

Variables or Events Identified from use case.
Unit, targetUnit of spell, Finished the effects of spell, Unit died, spellname, spellnameCurrentLevel, spellnameMaxLevel, spellnameDamage, spellnameNextDamage, spellnameExp, spellnameUpExp, spellnameNextExp, spellnameUseExp, spellnameKillExp-(this could be each killed units custom variable or some other specified.)

This should start you on the right tracks. I ran out of time.
 

Fritz0006

New Member
Reaction score
0
I wonder...

Should he use triggers to level up the skills (variables that keep track of the effects as it levels up), or should he have a different skill for every next level.

I suppose a different skill for every level because you need it to have a tooltip that says "Level X". Aye?
 

chovynz

We are all noobs! in different states of Noobism!
Reaction score
130
I re-read my post. Just to clarify...
Advice:
Dont get caught up on "heaps of variables." Just make it for player red, and one skill (make sure you use an array so that when you add the other players, you make it easy on yourself.) I think, You'll need... Blahblahblah

What I'm saying here is yes, you probably will have lots of triggers and variables but dont be frightened or scared off by all that. Just make it work (preferably using variables in your triggers) with player red. Then adjust the triggers to suit everyone when it's all working how you want it to.

Get the systems working properly, then adjust the details. It's like the Stone, rocks, sand and water principle. Put the big things in first (working systems), then the good things (terrain details and graphics, changing models), then the 'nice' things (non-essentials like what does the water look like, removing footprints, other things that wont make or break your map, but are 'nice to have'), finally the water (leftovers...doodads in certain places, or changing the way a unit is facing). Not hard a fast in that order, but a useful guide to doing things. Depending on your map genre some things take higher priority (i.e. in a stalker map, sound positioning might have a higher priority and be part of the "rock" group).

An alternative that works is to use Fritz's method : many level for each skill. Although I don't see much point in that as you'll be multiplying up on unnecessary repetitive work that do the exact same things. I suggest that if you want to use skill tooltips == use many levels/skills. If you're happy with a multiboard solution as suggested == use triggers to keep track.
 

bOb666777

Stand against the ugly world domination face!
Reaction score
117
It's funny how nobody actually answered his question
EDIT: Um, I am now focusing on the War Stomp ability. How do you detect the units affected by it? Please reply... T_T

You would have to use a different buff
The default buff is Stun (Pause), but that buff is used by a lot of other abilities
You could make your own Stun (Warstomp) buff, and have a periodic event trigger that Picks all units matching (Matching unit) has buff Stun (Warstomp)
 

rodge_002

New Member
Reaction score
4
Hey, I already settled it without the tooltip. I managed to get just one integer variable for each class and then set the arrays for each of their skills.

It's more unpredictable when your skill will level up, but so far - it's fine... :D
 
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