• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by xToxicInferno · Aug 23, 2010 at 07:22 PM · experienceleveling

Experience system leveling prematurely

Alright, I've been tinkering with this leveling system, trying to input a way to make the exp requirement increase as your skill does (i am using Fallout 3's exp formula FYI) now the problem here is that it levels when it shouldn't. It is probably pretty obvious to you why, but i can't see it. I just need fresh eyes to look it over. Just to say the problem is NOT having my starting exp at 0, along with having the required exp at 0. I see that, and i did it with the intention of the tutorial level not allowing you to level up, so i would add a Boolean to disable the entire exp system till a specific time, when in which the character will level up (Fallout 3, and Elder Scroll, fans know what i am talking about). The problem is when the player gets to level 2 they need to get 200 exp to get to level 3. However it says that the player is at level 3 when it needs to get 200 exp. I do not understand why it is leveling up twice.

var guiTextEXP : GUIText; static var accumulatedExperiencePoints : int = 0; private var levelExpRequirements : int; private var currentLevel : int = 1;

function FixedUpdate () {

 if(accumulatedExperiencePoints >= levelExpRequirements) {
     var levelFormula1 : int = 3*currentLevel;
     var levelFormula2 : int = levelFormula1+2;
     var levelFormula3 : int = currentLevel-1;
     var levelFormula4 : int = levelFormula2*levelFormula3;
     var levelFormula5 : int = levelFormula4*25;
     Debug.Log(levelFormula5);
     levelExpRequirements = levelFormula5;
     currentLevel += 1;
 }

 guiTextEXP.text = accumulatedExperiencePoints+"/" + levelExpRequirements + "|" + currentLevel;

}

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by Joe Ellis · Aug 23, 2010 at 08:07 PM

Move the currentLevel += 1; to the beginning of the block just prior to assigning levelFormula1. This way, you are calculating requirements based on the new level and not the previous level. Moving this line will cause this code to work as expected.

Comment
Add comment · Show 1 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image xToxicInferno · Aug 23, 2010 at 08:11 PM 0
Share

This is so funny, as i found this out JUST as you posted your answer...sometimes i make the stupidest mistakes...

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

No one has followed this question yet.

Related Questions

Leveling up in RPG 1 Answer

new user very easy c# question regarding syntax 1 Answer

RPG tutorials/guides? 2 Answers

Need help with a proficiency system(experience system) 1 Answer

PlayerPrefs reset error 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges