ID:144114
 
Code:
mob/Manager
icon='gfx/manager.dmi'
verb/Get_Job()
set src in oview(1)
if(usr.job==1)
usr<<"I dont pay you to talk to me get to work !"
else
switch(input("Who is the are the founders of McBlob's ?")in list("McBlob and McBlob Jr.","McBlob and his cusin Sam","There are no founders only co-founders"))
if("McBlob and McBlob Jr.")
usr.incorrect++
if("McBlob and his cusin Sam")
usr.correct++
if("There are no founders only co-founders")
usr.incorrect++
switch(input("What is the burger that started it all ?")in list("Blob Burger","Super Big Tastey Blob Burger","None of the above"))
if("Blob Burger")
usr.incorrect++
if("Super Big Tastey Blob Burger")
usr.incorrect++
if("None of the above")
usr.correct++
switch(input("Do you swear o try to go to work everyday ?")in list("I swear","I swear to know one"))
if("I swear")
usr.correct++
if("I swear to know one")
usr.incorrect+
usr.Evaluate()
usr.incorrect=0
usr.correct=0
verb/Work()
set src in oview(1)
if(usr.worked==1)
usr<<"Go home you worked already !"
else if(usr.job==1)
usr<<"Get ready for a days work !"
usr.sight = BLIND
sleep(10)
usr.sight = !BLIND
usr<<"Wow you did great today !"
usr.pay_day++
usr.worked++
sleep(1000)
usr.worked--


Problem description:
I keep geting missing expression.


The following are not indented properly:
   usr.Evaluate()
usr.incorrect=0
usr.correct=0
which I think I told you last time about Evaluate()

If you don't know what I am talking about, this is how you have it currently:
mob/Manager
verb/Get_Job()
....
usr.Evaluate()
usr.incorrect=0
usr.correct=0
verb/Work()
....
Where it should be something like this:
mob/Manager
verb/Get_Job()
....
usr.Evaluate() //Indented in one more
usr.incorrect=0
usr.correct=0
verb/Work()
....


Also, for all the switches you used like this (2 incorrect + 1 incorrect):
                    if("Blob Burger")
usr.incorrect++
if("Super Big Tastey Blob Burger")
usr.incorrect++
if("None of the above")
usr.correct++
You could of used switch:
                    if("None of the above")
usr.correct++
else //Yes, the mystical else :O
usr.incorrect++


- GhostAnime
In response to GhostAnime
In addition to the advice GhostAnime gave you, one error that was overlooked is your use of set.

Everything underneath the set needs to be moved over one indentation to the left. Nothing gets indented under settings. You use set, and then you continue on with your verb/proc with the next line of code being indented the same as the set.
In response to Zagreus
Also, here's an excerpt from the DM reference:

usr.sight |= BLIND // turn on the blind bit
usr.sight &= ~BLIND // turn off the blind bit

I'd do it that way... just cause that's how they tell you to do it. I've never tried it the way you're doing before, and I'm not sure if that'll even work.
With the errors previously mentioned aside, you've got a flaw in your work verb.

    verb/Work()
set src in oview(1)
if(usr.worked==1)
usr<<"Go home you worked already !"
else if(usr.job==1)
usr<<"Get ready for a days work !"
usr.sight = BLIND
sleep(10)
usr.sight = !BLIND
usr<<"Wow you did great today !"
usr.pay_day++
usr.worked++
sleep(1000)
usr.worked--


You check to see if they worked, but then you sleep before you actually set the worked var.

Say I click Work, then rapidly click it 10 more times in the next second.

The first click starts the whole thing off and then theres that 1 second (10 tick) delay before worked is actually set.

So my next 10 clicks ALSO pass that first If() and do the exact same thing.

The result is that after roughly 2 seconds, pay_day is incremented by 11, worked is incremented by 11, and then after 100 more seconds, worked is decremented by 11 and I can do it all over again.

You need to rethink the design of your verbs like that. Set worked before any delays occur or else you leave the door open to abuse.
In response to Zagreus
He should do it like that, but just setting it will work. It will, however, wipe any other sight bits that are currently on.