Error running a get player input script

leftycool
Hi, I'm trying to run a script which asks the player to enter a number code. if correct, a script runs to move an object, and if incorrect, nothing happens.
I'm working from a vague tutorial and I just need someone to take a quick look at the script and tell me what is incorrect. I'm sure it'll be easy to spot for someone versed in the program.
I dont have a strong scripting background so the answer is hard for me to find.



The error message I get is:
Error running script: Error compiling expression 'code = 4059': CompareElement: Operation 'Equal' is not defined for types 'String' and 'Int32'

thankyou in advance to anyone who helps :)

sgreig
Try changing it to


code = "4509"


When you store the number in the variable "code", it's stored as a string, but by not putting the numbers in quotes in the if statement, Quest looks for an integer which causes the screw-up.

leftycool
Thanks. the tutorial I was using said to not use quotations if I was entering a number, so I was confused.

sgreig
Yes, that would be true if you were setting the value of a variable yourself, but user input is automatically made into a string if I'm not mistaken. As a point of interest, you could always use ToInt to convert the variable to an integer before you make the check as well, but it's easier to just add the quotation marks, I think.

Pertex
Your "else if" is buggy , too. First, you don't need "Else if". Just use an "Else". But if you want to use "Else if" change it to

Else if: [expression] code<>"4059"

This topic is now closed. Topics are closed after 60 days of inactivity.

Support

Forums