player/verb/East()
if(src.Move(locate(usr.x,usr.y,usr.z),NORTH,src.step_x+6,src.step_y)==1)
world<<"1"
else
world<<"0"
Problem description: From what I understand the move proc returns 1 when success and 0 when fail. Now I assumed fail would be respresented by not being able to move from a dense object. However when i do the code from above what I get is nothing. Nothing even prints out to the screen. My objective is too have alternative moving behaviour if it touches something dense
If your problem is what I ran into, it's because you've changed the default Move() script. This isn't a big deal at all, but you will need to pass the value off.
For instance, if your script is like this:
It will not return a value, but if it's like this:
It will return the values as if you haven't changed it. What the period variable represents, is the default return value of the procedure. By changing it, you tell the script to return a value. By having .=..(), that means to run parent procedures, and return the values (it's hard to explain, so I'm sorry if I'm being too confusing).
Furthermore, you can actually do what you're trying to, by using step() instead:
I also found that using what you have, will return the number of pixels the mob has taken. So, your script would need to be something like this.