Remove % exp

Nerfpl

New Member
Reaction score
53
Is there a way to remove % of currnet hero experience needed to levelup? jass or gui
 

iPeez

Hot food far all world wide!
Reaction score
165
Hero - Set (Triggering unit) experience to ((Hero experience of (Triggering unit)) / (100 x 100-The %)), Hide level-up graphics

Trigger:
  • Hero - Set (Triggering unit) experience to ((Hero experience of (Triggering unit)) / (100 x 1)), Hide level-up graphics
Above results in -99%

I didn't understood the question :S Does that helps?
 

Nerfpl

New Member
Reaction score
53
If at level 1 he needs 1000 experience from level 1 to level 2 i want to remove 30% so 300.

i mean the problem is that hero experience dosent start at 0 each level. it start at pervius value.
So lets say you got lvl 2. and now your experience will be sown like 1000/3000 but bar will be empty because he states 0% because you need to get 2000 this time to get to lvl 3
 

Romek

Super Moderator
Reaction score
963
This could help you quite a bit. Scroll down to the very bottom for Hero Exp stuff. :)
 

AceHart

Your Friendly Neighborhood Admin
Reaction score
1,495
> it starts at the previous value

Well, yes. But it doesn't have to.
Though, the details depend on what you want to do here.
Unfortunately, I did not get yet what the problem is.
 

Nerfpl

New Member
Reaction score
53
Hmm maybe i mixed too much at all.

Look ( each start at fresh level with empty bar)
Level 1. He needs 100 xp to get level 2 His currnet exp is 0/100
Level 2. He needs 300 xp to get level 3 His currnet exp is 100/400
Level 3. He needs 500 xp to get level 4 His currnet exp is 400/900

lets say he died at level 3. i want to remove 30% of that "500"
if i use something like
Set Hero exp = HeroExp*0.70 it will give me 400*0.70 instead of 500*0.70
and if he get some xp at level 3, lets say he gained 300. above will do 700*0.70 instead of 500*0.70

Unleast im wrong
 

Romek

Super Moderator
Reaction score
963
JASS:
globals
    integer array XP
endglobals

function YourFunc takes unit u, integer percent returns nothing
    local integer i = GetHeroLevel(u)
    call SetHeroXP(u, XP<i> + ((XP[i+1] - XP<i>) * (percent / 100)), false)
endfunction

function Init takes nothing returns nothing
    local integer i = 2
    set XP[1] = 0
    loop
        exitwhen i &gt; 10 // Your max level
            set XP<i> = XP[i-1] + (i * 100) + 100
        set i = i + 1
    endloop
endfunction    </i></i></i>


Freehand. Untested. Used Chocobos formulas. :)
 

Nerfpl

New Member
Reaction score
53
nice i will test this. Do i have to put this in scope or something?i dont know vJASS stuff
 

Romek

Super Moderator
Reaction score
963
JASS:
library SetExp initializer Init

globals
    private integer array XP
endglobals

function YourFunc takes unit u, integer percent returns nothing
    local integer i = GetHeroLevel(u)
    call SetHeroXP(u, XP<i> + ((XP[i+1] - XP<i>)* (percent / 100)), false)
endfunction

private function Init takes nothing returns nothing
    local integer i = 2
    set XP[1] = 0
    loop
        exitwhen i &gt; 10 // Your max level
            set XP<i> = XP[i-1] + (i * 100) + 100
        set i = i + 1
    endloop
endfunction

endlibrary</i></i></i>

Use that then. Change the name of "YourFunc" though.
 
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