- Home /
Question by
fibroideagle · Oct 25, 2014 at 07:46 AM ·
javascript
Please help with skill point system javascript
Hello, I am in need of help. Basically I don't want people to gain skill points when it goes below 0. Can someone please help me?
pragma strict
var buttonName :String; private var act :boolean; public var LevelUpSystem : LevelUpSystem; public var GUIManager : GUIManager; var SkillPoints :boolean; var closeOnButton :boolean; //Should it close again when you press b?
function OnGUI(){
GUI.Box(Rect(Screen.width / 4, Screen.height / 4, Screen.width / 2, Screen.height / 2), ""); //Background Box
if (GUI.Button (Rect(Screen.width / 4 + 15, Screen.height / 4 + 15, Screen.width / 2 - 30, Screen.height / 4 - 15), "Heal")){
LevelUpSystem.skillPoints -= 1; //Where the problem might be.
GUIManager.Health += 25;
}
}
Comment
Best Answer
Answer by bubzy · Oct 25, 2014 at 07:57 AM
this is in c# and written just for the example, im sure you can work out the logic, I've highlighted the important line with a comment
using UnityEngine;
using System.Collections;
[System.Serializable]
public class player
{
public string name;
public int strength;
public int health;
public int swordSkill;
public player(string _name, int str, int hp, int swskill)
{
name = _name;
strength = str;
health = hp;
swordSkill = swskill;
}
}
public class skillScript : MonoBehaviour {
// Use this for initialization
public player superStud = new player("Pirate Unicorn", 100, 100, 0);
public int availableSkillPoints =10;
void Start () {
}
// Update is called once per frame
void Update () {
if(Input.GetKeyDown(KeyCode.Space))
{
if(availableSkillPoints > 0) //this is the important bit
{
superStud.swordSkill += 1;
availableSkillPoints -= 1;
}
else
{
Debug.Log ("No Skill Points Available");
}
}
}
}
YES! IT WOR$$anonymous$$S!!! Thanks so so so much dude. I really needed the help. I'm going to write down the new part I added so people who do need help can look at it.
#pragma strict
var buttonName :String;
private var act :boolean;
public var LevelUpSystem : LevelUpSystem;
public var GUI$$anonymous$$anager : GUI$$anonymous$$anager;
var closeOnButton :boolean; //Should it close again when you press b?
function Start () {
}
function Update () {
if(Input.Get$$anonymous$$eyDown(buttonName)){
if(closeOnButton){
if(act){
act = false;
}else act = true;
}else{
act = true;
}
}
}
function OnGUI(){
if(act){
GUI.Box(Rect(Screen.width / 4, Screen.height / 4, Screen.width / 2, Screen.height / 2), ""); //Background Box
if (GUI.Button (Rect(Screen.width / 4 + 15, Screen.height / 4 + 15, Screen.width / 2 - 30, Screen.height / 4 - 15), "Heal")){
if(LevelUpSystem.skillPoints > 0)//Where the bug was fixed!
{
GUI$$anonymous$$anager.Health += 25;
LevelUpSystem.skillPoints -= 1;
}
else
{
Debug.Log ("No Skill Points Available");
}
}
}
}
Your answer