Entered(mob/PC/M in world,var/obj/BlueFlag/B,turf/BlueFlagChecker/T)
if(M.contents == /obj/BlueFlag)
B.loc = T.loc
world<<"[M] returned the Blue Flag saftly!"
Eh...it simply dosn't work. I dont get any compile time errors, or runtime errors. Nothing happens when I step into the turf. All help is appreaciated.
You are assuming you know what is going to be passed to Entered...you don't know what kind of object will be passed, in particular why would a BlueFlag be passed? Unless you are calling Entered yourself.
Second, you are asking if M.contents, an array, is equal to a BlueFlag. An array is never going to equal a flag...you probably want to know if the flag is inside the contents, which is going to require you to iterate through the array and check each item.
I don't have time to provide the code, but hopefully this gives some hints.