- Home /
parser error? NpcDialog Script [pretty simple though...]
Hi! Tom Adamson posted an awesome, simple NPCDialog tutorial on Youtube ( https://www.youtube.com/watch?v=-UBQ5jd-j7Y ) I copied his exact script, but I get an unexpected symbol error, a parser error when I start enlisting the "PCTALK[0] = "...."; lines.
Here is the code:
using UnityEngine;
using System.Collections;
public class NPCDialog : MonoBehaviour {
//Declar variables.
string[] NPCTalk = new string[7];
string[] PCTalk = new string[7];
int myIndex = 0;
bool myTalking = true;
void Start()
{
//Initialize values.
NPCTalk[0] = "Wake up!";
NPCTalk[1] = "You showed up in our barn last night. Who are you?";
NPCTalk[2] = "You look like someone who’s been running all night. My dear... Those cuts of yours look bad. Have you been attacked?";
NPCTalk[3] = "You should go wash up, my wife will heat some soup, and we could talk more.";
NPCTalk[4] = "Our village is called Şchei.";
NPCTalk[5] = "Just get those wounds cleaned, and we can discuss further on the matter. You will find our well in the middle of the yard, by the cornfields. Come see me at my house. It’s the only two storeyed one in this yard.";
NpcTalk[6] = "Don’t wonder off just yet. I could use a fellow like yourself."
PCTalk[0] = "Where am I?";
PCTalk[1] = "...";
PCTalk[2] = "I met a pack of wolves.";
PCTalk[3] = "What is this place?";
PCTalk[4] = "Is there any work to be found around here?";
PCTalk[5] = "I will. Thank you.";
PCTalk[6] = "Understood.";
}
void OnGUI () {
//Display the Dialog.
if(myTalking){
GUI.Label(new Rect (20, 20, 150, 120), NPCTalk[myindex]);
if (GUI.Button(new Rect(20,70,150,30) PCTalk[myIndex]);
if(myIndex >= 6)
myIndex = 6;
else
myIndex++;
if (GUI.Button(new Rect(20,110,150,30),"Say again."))
myIndex = 0;
if (GUI.Button(new Rect(20,150,150,30), "Goodbye!."))
myTalking = false;
}
}
}
Any ideas? Please :( This would be an amazing dialogue system.
Line: 20, NpcTalk[6] ... is missing a semi-colon.... Also NpcTalk[6] should be NPCTalk[6] NpcTalk doesn't exist.
Answer by Antipastamasta · Jul 15, 2014 at 03:00 PM
Yes, the error is on line 10 - missing a semicolon. This was probably an easy mistake to miss since your strings are so long, so I would suggest using multi long strings to make your code easier to read and proof-read. It won't be as symmetric initially but you can add some indentations to fix that. In C# the multi-line string code is @"......" for example :
NPCTalk[2] = @ "You look like someone who’s been running all night. My dear... Those cuts of yours look bad. Have you been attacked?";
Answer by stevethorne · Jul 15, 2014 at 02:22 PM
While gjf is right about losing the semicolon at the end of line 35, that is not the source of the error, semicolons are perfectly fine at the end of an if statement, they're just most likely unwanted.
The source of the error comes from the missing semicolon at the end of line 20. It seems your semicolons like to run away!
Answer by gjf · Jul 15, 2014 at 01:06 PM
lose the semicolon at the end of line 35 ... i would guess that wasn't there in the tutorial ;)
Your answer
Follow this Question
Related Questions
help please 2 Answers
Parser Error Unexpected symbol `m_MovementAudio' 1 Answer
Unexpected Symbol `:' expecting : 2 Answers
Parser Error in For Loop 1 Answer