- Home /
hack and slash game errors
ok im following a tutorial on youtube (by burgzergarcade) and i got to the 30 part and while editing my script i got 36 errors and they were:
1) Assets/Scripts/Character Classes/BaseCharacter.cs(26,65): error CS0246: The type or namespace name AttributesName' could not be found. Are you missing a using directive or an assembly reference? 2) Assets/Scripts/Character Classes/BaseCharacter.cs(26,48): error CS1502: The best overloaded method match for
System.Enum.GetValues(System.Type)' has some invalid arguments
3) Assets/Scripts/Character Classes/BaseCharacter.cs(26,48): error CS1503: Argument #1' cannot convert
object' expression to type System.Type'</p> <p>4) Assets/Scripts/Character Classes/BaseCharacter.cs(123,57): error CS1503: Argument <code>#1' cannot convert</code>object' expression to type
ModifyingAttribute'
5) Assets/Scripts/Character Classes/BaseCharacter.cs(123,92): error CS0103: The name attribute' does not exist in the current context</p> <p>6) Assets/Scripts/Character Classes/BaseCharacter.cs(123,104): error CS0103: The name
GetPrimaryAttribute' does not exist in the current context
And a few other and i dont know how to fix any of them so if you know please help me. Here is my script: using UnityEngine; using System.Collections; using System;
public class BaseCharacter : MonoBehaviour {
private string _name;
private int _level;
private uint _freeExp;
private Attribute[] _primaryAttribute;
private Vital[] _vital;
private Skill[] _skill;
public void Awake() {
_name = string.Empty;
_level = 0;
_freeExp = 0;
_primaryAttribute = new Attribute[Enum.GetValues(typeof(AttributesName)).Length];
_vital = new Vital[Enum.GetValues(typeof(VitalName)).Length];
_skill = new Skill[Enum.GetValues(typeof(SkillName)).Length];
SetupPrimaryAttributes();
SetupVitals();
SetupSkills();
}
public string Name { get{ return _name; } set{ _name = value; } }
public int Level { get{ return _level; } set{ _level = value; } }
public uint FreeExp { get{ return _freeExp; } set{ _freeExp = value; } }
public void AddExp(uint exp) { _freeExp += exp;
CalculateLevel();
}
//Taker the avg of all of the players skills and assign that as the player level public void CalculateLevel() { }
private void SetupPrimaryAttributes() { for(int cnt = 0; cnt <_primaryAttribute.Length; cnt++) { _primaryAttribute[cnt] = new Attribute(); _primaryAttribute[cnt].Name = ((AttributeName)cnt).ToString(); }
}
private void SetupVitals() { for(int cnt = 0; cnt <_vital.Length; cnt++) _vital[cnt] = new Vital();
SetupVitalModifiers();
} private void SetupSkills() { for(int cnt = 0; cnt <_skill.Length; cnt++) _skill[cnt] = new Skill();
SetupSkillsModifiers();
}
public Attribute GetPrimaryAttributes(int index) { return _primaryAttribute[index]; }
public Vital GetVital(int index) { return _vital[index]; }
public Skill GetSkill(int index) { return _skill[index]; }
private void SetupVitalModifiers() { //health GetVital((int)VitalName.Health).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Constituion), .5f)); //energy GetVital((int)VitalName.Energy).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Constituion), 1)); //mana GetVital((int)VitalName.Mana).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower), 1)); }
private void SetupSkillsModifiers() { //melee offence GetSkill((int)SkillName.Melee_Offence).AddModifier(new ModifyingAttribute{attribute = GetPrimaryAttribute((int)AttributeName.Might), ratio = .33f}); GetSkill((int)SkillName.Melee_Offence).AddModifier(new ModifyingAttribute{attribute = GetPrimaryAttribute((int)AttributeName.Nimbleness), ratio = .33f}); //melee defence GetSkill((int)SkillName.Melee_Defence).AddModifier(new ModifyingAttribute{attribute = GetPrimaryAttribute((int)AttributeName.Speed), ratio = .33f}); GetSkill((int)SkillName.Melee_Defence).AddModifier(new ModifyingAttribute{attribute = GetPrimaryAttribute((int)AttributeName.Constituion), ratio = .33f}); //magic offence GetSkill((int)SkillName.Magic_Offence).AddModifier(new ModifyingAttribute{attribute = GetPrimaryAttribute((int)AttributeName.Concentration), ratio = .33f}); GetSkill((int)SkillName.Magic_Offence).AddModifier(new ModifyingAttribute{attribute = GetPrimaryAttribute((int)AttributeName.Willpower), ratio = .33f}); //magic defence GetSkill((int)SkillName.Magic_Defence).AddModifier(new ModifyingAttribute{attribute = GetPrimaryAttribute((int)AttributeName.Concentration), ratio = .33f}); GetSkill((int)SkillName.Magic_Defence).AddModifier(new ModifyingAttribute{attribute = GetPrimaryAttribute((int)AttributeName.Willpower), ratio = .33f}); //ranged offence GetSkill((int)SkillName.Ranged_Offence).AddModifier(new ModifyingAttribute{attribute = GetPrimaryAttribute((int)AttributeName.Concentration), ratio = .33f}); GetSkill((int)SkillName.Ranged_Offence).AddModifier(new ModifyingAttribute{attribute = GetPrimaryAttribute((int)AttributeName.Speed), ratio = .33f}); //ranged defence GetSkill((int)SkillName.Ranged_Defence).AddModifier(new ModifyingAttribute{attribute = GetPrimaryAttribute((int)AttributeName.Speed), ratio = .33f}); GetSkill((int)SkillName.Ranged_Defence).AddModifier(new ModifyingAttribute(attribute = GetPrimaryAttribute((int)AttributeName.Nimbleness), .33f)); }
public void StatUpdate() { for(int cnt = 0; cnt < _vital.Length; cnt++) _vital[cnt].Update();
for(int cnt = 0; cnt < _skill.Length; cnt++)
_skill[cnt].Update();
}
}
Answer by Bunny83 · Feb 01, 2011 at 08:26 PM
You use your own class called "AttributeName" but in the line where the error occurs (line 26) you wrote "AttributesName". Did you even read the error message? It says there is no type/class named "AttributesName". You can ignore the other errors because such an error can mess up the compiler and once you removed the "s" they may be gone.
That didn't fix it but i looked through the errors and put an s infront of $$anonymous$$odifyingAttribute and it got rid of a few errors but when i did what you told me to do it gave me an error saying AttributeName doesn't exist also :(
Then you are missing the enum declaration. I saw that script somewhere else and it seems you just copied it ... but maybe you missed some related files?
And, you still not fixed the code highlighting of you code... I'm not very motivated in put more time into this if you haven't the time to fix these tiny mistakes.
Answer by MacMac098 · Jul 02, 2011 at 10:06 PM
//This is my Script using UnityEngine; using System.Collections; using System;
public class BaseCharacter : MonoBehaviour { private string _name; private int _level; private uint _freeExp;
private Attribute[] _primaryAttibute;
private Vital[] _vital;
private Skill[] _skill;
public void Awake(){
_name = string.Empty;
_level = 0;
_freeExp = 0;
_primaryAttibute = new Attribute[Enum.GetValues(typeof(AttributeName)).Length];
_vital = new Vital[Enum.GetValues(typeof(VitalName)).Length];
_skill = new Skill[Enum.GetValues(typeof(SkillName)).Length];
SetupPrimaryAttributes();
SetupVitals();
SetupSkills();
}
public string Name {
get{ return _name; }
set{ _name = value;}
}
public int Level {
get{ return _level; }
set{ _level = value;}
}
public uint FreeExp {
get{ return _freeExp; }
set{ _freeExp = value;}
}
public void AddExp(uint exp) {
_freeExp += exp;
CalculateLevel();
}
public void CalculateLevel(){
}
private void SetupPrimaryAttributes() {
for(int cnt = 0; cnt <_primaryAttibute.Length; cnt++){
_primaryAttibute[cnt] = new Attribute();
_primaryAttibute[cnt].Name = ((AttributeName)cnt).ToString();
}
}
private void SetupVitals() {
for(int cnt = 0; cnt <_vital.Length; cnt++)
_vital[cnt] = new Vital();
SetVitalModifiers();
}
private void SetupSkills() {
for(int cnt = 0; cnt <_skill.Length; cnt++)
_skill[cnt] = new Skill();
SetupSkillModifiers();
}
public Attribute GetPrimaryAttribute(int index) {
return _primaryAttibute[index];
}
public Vital GetVital(int index) {
return _vital[index];
}
public Skill GetSkill(int index) {
return _skill[index];
}
private void SetVitalModifiers(){
//health
GetVital((int)VitalName.Health).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Constitution), .5f));
//energy
GetVital((int)VitalName.Energy).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Constitution), 1));
//mana
GetVital((int)VitalName.Mana).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower), 1));
}
private void SetupSkillModifiers(){
GetSkill((int)SkillName.Melee_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Might), .33f));
GetSkill((int)SkillName.Melee_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Nimbleness), .33f));
GetSkill((int)SkillName.Melee_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Speed), .33f));
GetSkill((int)SkillName.Melee_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Constitution), .33f));
GetSkill((int)SkillName.Magic_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Concentration), .33f));
GetSkill((int)SkillName.Magic_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower), .33f));
GetSkill((int)SkillName.Magic_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Constitution), .33f));
GetSkill((int)SkillName.Magic_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower), .33f));
GetSkill((int)SkillName.Ranged_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Concentration), .33f));
GetSkill((int)SkillName.Ranged_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Speed), .33f));
GetSkill((int)SkillName.Ranged_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Speed), .33f));
GetSkill((int)SkillName.Ranged_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Nimbleness), .33f));
}
public void StatUpdate() {
for(int cnt = 0; cnt < _vital.Length; cnt++)
_vital[cnt].Update();
for(int cnt =0;cnt < _skill.Length; cnt++)
_skill[cnt].Update();
}
}
Answer by MacMac098 · Jul 02, 2011 at 10:08 PM
using UnityEngine; using System.Collections; using System;
public class BaseCharacter : MonoBehaviour { private string _name; private int _level; private uint _freeExp;
private Attribute[] _primaryAttibute;
private Vital[] _vital;
private Skill[] _skill;
public void Awake(){
_name = string.Empty;
_level = 0;
_freeExp = 0;
_primaryAttibute = new Attribute[Enum.GetValues(typeof(AttributeName)).Length];
_vital = new Vital[Enum.GetValues(typeof(VitalName)).Length];
_skill = new Skill[Enum.GetValues(typeof(SkillName)).Length];
SetupPrimaryAttributes();
SetupVitals();
SetupSkills();
}
public string Name {
get{ return _name; }
set{ _name = value;}
}
public int Level {
get{ return _level; }
set{ _level = value;}
}
public uint FreeExp {
get{ return _freeExp; }
set{ _freeExp = value;}
}
public void AddExp(uint exp) {
_freeExp += exp;
CalculateLevel();
}
public void CalculateLevel(){
}
private void SetupPrimaryAttributes() {
for(int cnt = 0; cnt <_primaryAttibute.Length; cnt++){
_primaryAttibute[cnt] = new Attribute();
_primaryAttibute[cnt].Name = ((AttributeName)cnt).ToString();
}
}
private void SetupVitals() {
for(int cnt = 0; cnt <_vital.Length; cnt++)
_vital[cnt] = new Vital();
SetVitalModifiers();
}
private void SetupSkills() {
for(int cnt = 0; cnt <_skill.Length; cnt++)
_skill[cnt] = new Skill();
SetupSkillModifiers();
}
public Attribute GetPrimaryAttribute(int index) {
return _primaryAttibute[index];
}
public Vital GetVital(int index) {
return _vital[index];
}
public Skill GetSkill(int index) {
return _skill[index];
}
private void SetVitalModifiers(){
//health
GetVital((int)VitalName.Health).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Constitution), .5f));
//energy
GetVital((int)VitalName.Energy).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Constitution), 1));
//mana
GetVital((int)VitalName.Mana).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower), 1));
}
private void SetupSkillModifiers(){
GetSkill((int)SkillName.Melee_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Might), .33f));
GetSkill((int)SkillName.Melee_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Nimbleness), .33f));
GetSkill((int)SkillName.Melee_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Speed), .33f));
GetSkill((int)SkillName.Melee_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Constitution), .33f));
GetSkill((int)SkillName.Magic_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Concentration), .33f));
GetSkill((int)SkillName.Magic_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower), .33f));
GetSkill((int)SkillName.Magic_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Constitution), .33f));
GetSkill((int)SkillName.Magic_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower), .33f));
GetSkill((int)SkillName.Ranged_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Concentration), .33f));
GetSkill((int)SkillName.Ranged_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Speed), .33f));
GetSkill((int)SkillName.Ranged_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Speed), .33f));
GetSkill((int)SkillName.Ranged_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Nimbleness), .33f));
}
public void StatUpdate() {
for(int cnt = 0; cnt < _vital.Length; cnt++)
_vital[cnt].Update();
for(int cnt =0;cnt < _skill.Length; cnt++)
_skill[cnt].Update();
}
}
Your answer
Follow this Question
Related Questions
Script compile errors with following hack & slash tutorial 2 Answers
Error CS1525 calling OntriggerEnter 1 Answer
Component Call not recognizing boolean. User error? 1 Answer
error CS0246: The type or namespace name `rect' could not be found. 1 Answer
How to check for a missing class ( error CS0103 ) and act accordingly 3 Answers