System Attribute System

Hero

─║╣ero─
Reaction score
250
This is my attribute system that allows you to add attributes to a hero upon leveling...

Features
(as of now)
-Supports a single hero for each player
-Supports the addition of 1 intelligence,agility,strength
-In JASS

Future Updates Will Support
-More than one hero for each player will be able to use this system
-Optimization

_______________
Ok being updated soon...

Sorry no screenshot as of now...will be adding it

Code:

JASS:
constant function SkillPointsGiven takes nothing returns integer
    return 3
endfunction    

constant function AgilityRawCode takes nothing returns integer
    return 'A002'
endfunction

constant function IntelligenceRawCode takes nothing returns integer
    return 'A004'
endfunction

constant function StrengthRawCode takes nothing returns integer
    return 'A001'
endfunction

function Trig_Atrribute_System_Actions takes nothing returns nothing
    local unit u=GetLevelingUnit()
    set udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] = udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))]+ SkillPointsGiven()
endfunction

function Add_Strength_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == StrengthRawCode() 
endfunction

function Add_Strength_Actions takes nothing returns nothing
    local unit u=GetTriggerUnit()
    local integer Str=GetHeroStr(u,false)+1
if udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] >0 then
    set udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] = udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] - 1 
    call SetHeroStr(u,Str,true)
    call DisplayTimedTextToPlayer( GetOwningPlayer(u), 0.52, -1.00, 2.00, "|cffff0000You have|r " + I2S(udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))]) + " |cffff0000attribute points left!|r" )
else 
    call SimError(GetOwningPlayer(u),"Not enough attribute points left")
endif
endfunction

function Add_Intelligence_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == IntelligenceRawCode() 
endfunction

function Add_Intelligence_Actions takes nothing returns nothing
    local unit u=GetTriggerUnit()
    local integer Int=GetHeroInt(u,false)+1
if udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] >0 then
    set udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] = udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] - 1 
    call SetHeroInt(u,Int,true)
    call DisplayTimedTextToPlayer( GetOwningPlayer(u), 0.52, -1.00, 2.00, "|cffff0000You have|r " + I2S(udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))]) + " |cffff0000attribute points left!|r" )
else 
    call SimError(GetOwningPlayer(u),"Not enough attribute points left")
endif
endfunction

function Add_Agility_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == AgilityRawCode() 
endfunction

function Add_Agility_Actions takes nothing returns nothing
    local unit u=GetTriggerUnit()
    local integer Agi=GetHeroAgi(u,false)+1
if udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] >0 then
    set udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] = udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] - 1 
    call SetHeroAgi(u,Agi,true)
    call DisplayTimedTextToPlayer( GetOwningPlayer(u), 0.52, -1.00, 2.00, "|cffff0000You have|r " + I2S(udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))]) + " |cffff0000attribute points left!|r" )
else 
    call SimError(GetOwningPlayer(u),"Not enough attribute points left")
endif
endfunction

//===========================================================================
function InitTrig_Atrribute_System takes nothing returns nothing
    local trigger A_Agi=CreateTrigger()
    local trigger A_Str=CreateTrigger()
    local trigger A_Int=CreateTrigger()
    set gg_trg_Atrribute_System = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Atrribute_System, EVENT_PLAYER_HERO_LEVEL )
    call TriggerAddAction( gg_trg_Atrribute_System, function Trig_Atrribute_System_Actions )
    
    call TriggerRegisterAnyUnitEventBJ( A_Agi, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( A_Agi, Condition( function Add_Agility_Conditions ) )
    call TriggerAddAction( A_Agi, function Add_Agility_Actions )
    
    call TriggerRegisterAnyUnitEventBJ( A_Str, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( A_Str, Condition( function Add_Strength_Conditions ) )
    call TriggerAddAction( A_Str, function Add_Strength_Actions )
    
    call TriggerRegisterAnyUnitEventBJ( A_Int, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( A_Int, Condition( function Add_Intelligence_Conditions ) )
    call TriggerAddAction( A_Int, function Add_Intelligence_Actions )
endfunction
 

Attachments

  • Attribute System.w3x
    31.7 KB · Views: 249

H34DhUnT3r

Ultra Cool Member
Reaction score
36
looks good
2 things that annoyed me

1. it takes damn long to wait before you can add a same point again..
if you add 1 str you need to wait before you can do that again

2. agi and int button is green if you push it (like in no icon)

Greetings,
H34DhUnT3r[NL]
 

Hero

─║╣ero─
Reaction score
250
looks good
2 things that annoyed me

1. it takes damn long to wait before you can add a same point again..
if you add 1 str you need to wait before you can do that again

2. agi and int button is green if you push it (like in no icon)

Greetings,
H34DhUnT3r[NL]

Yeah I know about those bugs...icon problem is blizzards fault..they didn't include DISBTn for Intelligence and Agility Icon...the other problem I can probably fix in the upcoming versions
 

LoveTD's

New Member
Reaction score
34
hmmm didn't i make something that looks same like this years ago and everyone is making systems of it :D wow ^^

headhunter tijd niet gezien eddy :D kga denkik weer is beginne

(b.t.w. i'm noob at doing jass so thats a difference with mine... mine was in triggers... good of you that you did it in jass :D)

Hmm looks real nice... actually better then mine ^^ +rep
 

LoveTD's

New Member
Reaction score
34
but that was like 2 years ago and almost no one commented... so you couldn't know... but it could be originaly my idea but i doubt that :D ow also maybe some of us likes to see the code :S

JASS:
constant function SkillPointsGiven takes nothing returns integer
    return 3
endfunction    

constant function AgilityRawCode takes nothing returns integer
    return 'A002'
endfunction

constant function IntelligenceRawCode takes nothing returns integer
    return 'A004'
endfunction

constant function StrengthRawCode takes nothing returns integer
    return 'A001'
endfunction

function Trig_Atrribute_System_Actions takes nothing returns nothing
    local unit u=GetLevelingUnit()
    set udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] = udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))]+ SkillPointsGiven()
endfunction

function Add_Strength_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == StrengthRawCode() 
endfunction

function Add_Strength_Actions takes nothing returns nothing
    local unit u=GetTriggerUnit()
    local integer Str=GetHeroStr(u,false)+1
if udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] >0 then
    set udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] = udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] - 1 
    call SetHeroStr(u,Str,true)
    call DisplayTimedTextToPlayer( GetOwningPlayer(u), 0.52, -1.00, 2.00, "|cffff0000You have|r " + I2S(udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))]) + " |cffff0000attribute points left!|r" )
else 
    call SimError(GetOwningPlayer(u),"Not enough attribute points left")
endif
endfunction

function Add_Intelligence_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == IntelligenceRawCode() 
endfunction

function Add_Intelligence_Actions takes nothing returns nothing
    local unit u=GetTriggerUnit()
    local integer Int=GetHeroInt(u,false)+1
if udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] >0 then
    set udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] = udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] - 1 
    call SetHeroInt(u,Int,true)
    call DisplayTimedTextToPlayer( GetOwningPlayer(u), 0.52, -1.00, 2.00, "|cffff0000You have|r " + I2S(udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))]) + " |cffff0000attribute points left!|r" )
else 
    call SimError(GetOwningPlayer(u),"Not enough attribute points left")
endif
endfunction

function Add_Agility_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == AgilityRawCode() 
endfunction

function Add_Agility_Actions takes nothing returns nothing
    local unit u=GetTriggerUnit()
    local integer Agi=GetHeroAgi(u,false)+1
if udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] >0 then
    set udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] = udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] - 1 
    call SetHeroAgi(u,Agi,true)
    call DisplayTimedTextToPlayer( GetOwningPlayer(u), 0.52, -1.00, 2.00, "|cffff0000You have|r " + I2S(udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))]) + " |cffff0000attribute points left!|r" )
else 
    call SimError(GetOwningPlayer(u),"Not enough attribute points left")
endif
endfunction

//===========================================================================
function InitTrig_Atrribute_System takes nothing returns nothing
    local trigger A_Agi=CreateTrigger()
    local trigger A_Str=CreateTrigger()
    local trigger A_Int=CreateTrigger()
    set gg_trg_Atrribute_System = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Atrribute_System, EVENT_PLAYER_HERO_LEVEL )
    call TriggerAddAction( gg_trg_Atrribute_System, function Trig_Atrribute_System_Actions )
    
    call TriggerRegisterAnyUnitEventBJ( A_Agi, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( A_Agi, Condition( function Add_Agility_Conditions ) )
    call TriggerAddAction( A_Agi, function Add_Agility_Actions )
    
    call TriggerRegisterAnyUnitEventBJ( A_Str, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( A_Str, Condition( function Add_Strength_Conditions ) )
    call TriggerAddAction( A_Str, function Add_Strength_Actions )
    
    call TriggerRegisterAnyUnitEventBJ( A_Int, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( A_Int, Condition( function Add_Intelligence_Conditions ) )
    call TriggerAddAction( A_Int, function Add_Intelligence_Actions )
endfunction
 

Sim

Forum Administrator
Staff member
Reaction score
534
Did you just copy-paste his code instead of yours?

The system would, in that case, become his...
 

Sim

Forum Administrator
Staff member
Reaction score
534
Oh, fine ;)

Why would increase agility and increase intelligence have no Disabled version for their icon while increase strength gets it?
 

Hero

─║╣ero─
Reaction score
250
Oh, fine ;)

Why would increase agility and increase intelligence have no Disabled version for their icon while increase strength gets it?

Idk...it's like that originally in warcraft


And BuMp
 
General chit-chat
Help Users
  • The Helper The Helper:
    I just got to watch the video because even though I was there I was trying to work out tech problems with the chat since I was the social media guy so I was distracted but check it out guys the video is super fucking great!
    +1
  • WildTurkey WildTurkey:
    is there a stephen green in the house?
    +1
  • The Helper The Helper:
    What is up WildTurkey?
  • The Helper The Helper:
    Looks like Google fixed whatever mistake that made the recipes on the site go crazy and we are no longer trending towards a recipe site lol - I don't care though because it motivated me to spend alot of time on the site improving it and at least now the content people are looking at is not stupid and embarrassing like it was when I first got back into this like 5 years ago.
  • The Helper The Helper:
    Plus - I have a pretty bad ass recipe collection now! That section of the site is 10 thousand times better than it was before
  • The Helper The Helper:
    We now have a web designer at my job. A legit talented professional! I am going to get him to redesign the site theme. It is time.
  • Varine Varine:
    I got one more day of community service and then I'm free from this nonsense! I polished a cop car today for a funeral or something I guess
  • Varine Varine:
    They also were digging threw old shit at the sheriff's office and I tried to get them to give me the old electronic stuff, but they said no. They can't give it to people because they might use it to impersonate a cop or break into their network or some shit? idk but it was a shame to see them take a whole bunch of radios and shit to get shredded and landfilled
  • The Helper The Helper:
    whatever at least you are free
  • Monovertex Monovertex:
    How are you all? :D
    +1
  • 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 Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top