• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

In need of somthing very special :D

Status
Not open for further replies.
Level 9
Joined
Jun 3, 2009
Messages
486
Hello, I am creating an RPG based amp and it is in need of an attribute system , i was trying to get some ideas for a good system, nothing to simple but somthing good, no buttons!

>Will give rep and credit for ideas
>Will give 5 rep for people that make a system and it is good enough to put in the map ;)
 
Level 9
Joined
Jun 3, 2009
Messages
486
What do you mean no buttons? No dialog buttons or no ability buttons or what?

No ability buttons, so its not like int button, str button, agl button, and then you just choos, absolutly not, i want a system of trigs, so the more you cast the more int you gain, but if you are stg based then you gain less int then a int based would.

@Boneknight: it says the link has expired :0
 
Level 10
Joined
Jan 28, 2009
Messages
442
You don't want buttons. You want a trigger system that sort of resembles the attribute system in the Elder Scrolls series, but you don't mind the icons for Str, Agl, Int below hero's EXP bar right?

Should be easy, if I get your request right. If you just have 1 hero per player, make 4 Integer Arrays called StrProg[], AglProg[], IntProg[], and PrimeAtt[]. Then you need an integer called Limit, and a unit array called Hero[].
Now, these names are ofc just examples.

Put player Index into the brackets [] to specify which hero. So that StrProg[2] means player 2's hero's Strength Progression.
PrimeAtt[2] = 1 means that the hero of player 2 has Strength as primary attribute
PrimeAtt[] == 2 = Prime: Agility
PrimeAtt[] == 3 = Prime: Intelligence

That way you can find out which hero is (1) Strength, (2) Agility, and (3) Intelligence based through triggers. So, whenever a hero does a task that requires Strength do this:
  • If/Then/Else Multiple Functions
    • Conditions
      • PrimeAtt[Index] Equal to 1
    • Then
      • Set StrProg[Index] Equal to StrProg[Index] + 2
    • Else
      • Set StrProg[Index] Equal to StrProg[Index] + 1
  • If/Then/Else Multiple Functions
    • Conditions
      • StrProg[Index] Greater than or equal to Limit
    • Then
      • Set Strength of Hero[Index] = Strength of Hero[Index] +1
      • Set StrProg[Index] = 0
    • Else
So you can add this (with variation of attribute) into different triggers that are triggered for example when a hero casts a spell, or when a hero engages in melee, or whatever you please.

If you want attributes to only go up when the hero gains a level, you delete the last if/then/else in the trigger above, and make another trigger like this:

  • Events
    • Unit - A unit gains a level
  • Conditions
    • Triggering player is in UserPlayers Equal to True
  • Actions
    • Hero - Set Strength of Triggering unit to (Strength of Triggering unit + (StrProg[player number of triggering player] / Limit))
    • Set StrProg(player number of triggering player) = 0
    • ------------Repeat this for each attribute--------------
Don't be mad or confused if some of these events/conditions/actions do not exist, or is named otherwise in the editor. Just take it theoretically.
 
Last edited:
Level 9
Joined
Jun 3, 2009
Messages
486
@ Hugget Sukker: hmmmm, i will creat the trig and let you know if i get it to work, Also, do you know a way for it to show on a multiboard but have it show for the owner of the hero only??

Edit: i used the base of the idea using the varaibles but made the system differently, thanks for the hlp man ;)
 
Last edited:
Level 10
Joined
Jan 28, 2009
Messages
442
Edit: i used the base of the idea using the varaibles but made the system differently, thanks for the hlp man ;)

Np there. Good system choice btw

Also, do you know a way for it to show on a multiboard but have it show for the owner of the hero only??

I recall that multiboards are created for individual players, or is it just that they can be hidden/shown for individuals?

hmm... (working on it)

Edit: Nope. You cannot show a multiboard for one player. Multiboards show for all players or no players. You can only maximize/minimize them for individual players, which is pretty useless in this case.

Use a leaderboard instead, if that suffices. Leaderboards are Player Group specific. So you'll need a Player Force variable for each player, or set TempForce = (Convert Player() to Player Group) <-- recommended.

I know multiboards are more handy for such things than leaderboards are, but it seems this is the choice you have.

Edit: Players, in this case, are just labels next to some values. Have nothing to do with the players, really. Keep that in mind. And make sure you have a defined way of sorting the "players" (labels+values) so one don't get confused when the stats suddenly change order.
 
Last edited:
Level 9
Joined
Jun 3, 2009
Messages
486
Np there. Good system choice btw



I recall that multiboards are created for individual players, or is it just that they can be hidden/shown for individuals?

hmm... (working on it)

Edit: Nope. You cannot show a multiboard for one player. Multiboards show for all players or no players. You can only maximize/minimize them, which is pretty useless in this case.

Use a leaderboard instead, if that suffices. Leaderboards are Player Group specific. So you'll need a Player Force variable for each player, or set TempForce = (Convert Player() to Player Group) - (recommended).

I know multiboards are more handy for such things than leaderboards are, but it seems this is the choice you have.

But ive seen it donr in Nickbas ORPG , each player has thier own multiboard that shows there stats:confused:

hmmmm, ill look into it abit more ;)
 
Level 9
Joined
Jun 3, 2009
Messages
486
Heres the trigger for a multiboard to show for a single player :D (Credit to BoneKnight), Very useful if you ask me :D
  • Init
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • Set Temp_Force = (All players matching ((Matching player) Equal to Player 1 (Red)))
      • Player Group - Pick every player in Temp_Force and do (Actions)
        • Loop - Actions
          • Set Player_1 = (Picked player)
      • Custom script: if GetLocalPlayer() == udg_Player_1 then
      • Multiboard - Create a multiboard with 10 columns and 10 rows, titled Title
      • Custom script: endif
 
Status
Not open for further replies.
Top