ID:2142498
 
(See the best response by Ter13.)
Code:
Unstarted_Quest -= "rats"
Inprogress_Quest.Add("rats")


Problem description:

I am trying to remove a quest from one list and add to another but ive tried using +=/-= and .Add() Remove() removing the item from list seems to work but it won't add it to the other list
Are you getting an error message?

If so, the list is probably not initialized. You need to initialize a list variable before you can add to it.
In response to Ter13
I'm not thats why im not sure why its not working
How do you know it's not working? (Smart money says that this is a scope problem, and that you are mucking around with the quest-giver's quest list rather than the player's.)

You really should show more of the code that is going wrong. There's nothing wrong with the code you showed, and it doesn't show the context of the actual problem.
In response to Ter13
I added the list to the statpanel to watch and gave a mob a click() proc

Click()
if("rats" in Inprogress_Quest)
usr << "working"
Show me the whole proc where you are removing and adding the quest (as well as the owning object prototype). My money is that you are mucking with the quest-giver's quest lists and not actually the player.
mob/NPC
Marcielle
name = "Marcielle"
icon = 'npc.dmi'
icon_state = "Marcielle"
var list/marcielle = list("How are you today?","The weather has been so eratic lately don't you think?","My husband has been extremely busy lately with problems showing up all over town!")
var list/marcielle2 = list("How dare you speak to me?","Get out of here!","You show your face around here after what you have done!?")
Click()
if(usr in oview(1, src) && "Jimmy" in Inprogress_Quest || "Jimmy" in Completed_Quest)
usr << pick(marcielle2)
if(usr in oview(1,src) && "Jimmy" in Unstarted_Quest)
usr << pick(marcielle)
Unstarted_Quest -= "Marcielle"
Inprogress_Quest.Add("Marcielle")
else
usr << "<font color = red>You must be closer to talk with [src]!</font>"

mob
var
list/Unstarted_Quest = list("rats","Jimmy","Marcielle")
list/Inprogress_Quest = list()
list/Completed_Quest = list()
list/spoken_logs = list()

In essence I merely want it to remove a item from the first list and add it to the next one i'm not getting any compile nor run time errors, I added the list to the stat screen and its added to a click proc on multiple mobs so i can ensure its all working properly
mob/NPC
Marcielle
name = "Marcielle"
icon = 'npc.dmi'
icon_state = "Marcielle"
var list/marcielle = list("How are you today?","The weather has been so eratic lately don't you think?","My husband has been extremely busy lately with problems showing up all over town!")
var list/marcielle2 = list("How dare you speak to me?","Get out of here!","You show your face around here after what you have done!?")
Click()
if(usr in oview(1, src) && "Jimmy" in Inprogress_Quest || "Jimmy" in Completed_Quest)
usr << pick(marcielle2)
if(usr in oview(1,src) && "Jimmy" in Unstarted_Quest)
usr << pick(marcielle)
usr.Unstarted_Quest -= "Marcielle"
usr.Inprogress_Quest += "Marcielle"
else
usr << "<font color = red>You must be closer to talk with [src]!</font>"


You were modifying Marcielle's quest lists, not the player that clicked on Marcielle, as I said here:
http://www.byond.com/forum/?post=2142498#comment20882178
and here:
http://www.byond.com/forum/?post=2142498#comment20882096
Best response
To explain why this is happening, you need to read this whole comment:

http://www.byond.com/forum/?post=2003116#comment17822051
In response to Ter13
read through your post thank you got a lot better understanding of usr/src now!
In addition, you need to put parentheses around any "in" operator clause that you use. This line does not work the way you think it does:

if(usr in oview(1, src) && "Jimmy" in Inprogress_Quest || "Jimmy" in Completed_Quest)

The "in" operator has a very very low precedence in DM. This is something Tom always wanted to change, and it's something I may change myself later on (IMO, the best choice would be a precedence just above && and ||), but for now you need to use parentheses when the in operator is used in a complex expression.

if(usr in oview(1, src) && ("Jimmy" in Inprogress_Quest) || ("Jimmy" in Completed_Quest))

I would also recommend that you use parentheses whenever you mix the && and || operators, just to be absolutely sure of your logic.

if(usr in oview(1, src) && (("Jimmy" in Inprogress_Quest) || ("Jimmy" in Completed_Quest)))

In response to Lummox JR
ok will start using parentheses more to be sure everythings working properly as intended