If Atribute Value </>

CheshireTiger
10 Jun 2021, 19:39I have an atribute "progress" set to ITEM at value 1.
I want an npc to react with msg if value is less then 5
And to react diferently when the value is greater then 4
How whould i achieve this effect?
Ive tried
item.progress = <5
Item.progress <= 5
Item.progress < 5

DarkLizerd
11 Jun 2021, 03:10You are 90% there already...
A switch may be the easiest route to go.
First, add the "progress" to the character:
(I made a male character called Mark".)
go to the attribute tab, and added progress, and set it as Integer, with a value of 1
Then the switch code:
switch (Mark.progress) {
case (1, 2, 3, 4) {
msg ("Sorry, buy I don't know you that well.")
}
case (5) {
msg ("Sure friend, you can do that for me.")
}
}
Then you just need a way to increase, or decrease, the value.
jmnevil54
11 Jun 2021, 04:05I would have just used an if statement.
if (item.progress < 5) {
msg ("You did not progress much.")
}
if (item.progress > 4) {
msg ("You progressed very much!")
}
else {
msg ("You did not progress.")
}
And then you add the progress attribute.
item.progress = item.progress + 1

CheshireTiger
11 Jun 2021, 17:09I got an error, but in not sure what i did to cause it.
set (item. progress, 1)
And
switch (item.progress) {
case (1,2,3,4) {
msg ("TEST")
K.V.
11 Jun 2021, 20:54Hello.
What is the error?
EDIT2 I forgot to correct this next line when I first posted this (and during the first edit). :)
I notice your first code block (set (item. progress, 1)
) should be set (item, "progress", 1)
.
...but I'd just do item.progress = 1
.
Po-tay-toe, po-tah-toe, though.
We really need to know what the error is to truly help you. And we might need more code.
By the way, I'm assuming your second sample block of code is just the first three lines from the block of code in the game, and I am therefore not going to mention its lack of completeness.
Anyway, what is your error? Can you copy it and paste it here?

CheshireTiger
11 Jun 2021, 21:43It apears in-game not while editing at the part where the progress attribute whould be set
Error running script: Object reference not set to an instance of an object.
mrangel
11 Jun 2021, 23:09I notice your first code block (
set (item. progress, 1)
) should beset (item.progress, 1)
.
Should be set (item, "progress", 1)
. The set
function takes 3 parameters; an object, an attribute name, and a value.
But yes, it's easier to type item.progress = 1
.

CheshireTiger
12 Jun 2021, 01:13During initial interaction with Vender i have
Item.progress= 1
Afterwords talking with him again whould cause
switch (Item.progress) {
case (1, 2, 3, 4) {
ClearScreen
msg ("NOT DONE YET")
What about 5 and above? Can i put >4 as another case? How whould i Increase the number by 1 during interaction with another npc?
K.V.
12 Jun 2021, 01:30Should be
set (item, "progress", 1)
Ha! Yeah, I edited the post and still messed it up. Fixed it now.
Error running script: Object reference not set to an instance of an object.
It sounds like Item
might not be set to an object (maybe).
I also notice the first post you have item
and the second post you have Item
. Quest is case-sensitive, so that could be the issue.
Where does item
or Item
come from in the code?

CheshireTiger
12 Jun 2021, 02:14K.V. i just checked
The item is set to object and is named with Capital in all instances.
What if i start progress as an instalation script right on it, and +1 from there on?