ID:166419
 
Sometimes you just want to screw with people, so how would I use a mob like a car? Because changing the key is like auto eject and I already have 3 different commands that involve booting.
Also,sortof involving the same thing, how would I make a spy command to see a user but not actually be right by them?
much obliged
-Evil MasterGameModerater
by the by, if you want to see me screw with someone check my game out at http://games.byond.com/hub/WarLin/WarlinsWorld
You could just override the GMs Move() and the mobs Move(), when the GM moves call the mobs move. And for the other thing, look up client.eye.
And as for that Spy verb, try this.

mob/proc/spy(mob/o)
src.client.eye = o
src.client.perspective = EYE_PERSPECTIVE


mob/verb/Spy(mob/o in world)
spy(o)
while(!o)//incase the mob logs out, you don't want a black screen
spy(src)//will return your eye to you
return
In response to Evidence
Evidence wrote:

> mob/verb/Spy(mob/o in world)
> spy(o)
> while(!o)//incase the mob logs out, you don't want a black screen
> spy(src)//will return your eye to you
> return
>


That while loop will never start, because the mob, 'o', will not be null immediatly after you you spy. It is also a bad idea to keep looping and checking whether or not a player has logged out or not. It would work better to move the eye back to the player when the watched person logs out on Logout().

A system I used for this type of "spying" didn't use that. Instead, you would return to your eye when you moved.

mob
var
mob/watching
verb
spy(mob/M in world)
src.watching = M
src.client.eye = M
src.client.perspective &= ~MOB_PERSPECTIVE // turn off the MOB_PERSPECTIVE bit
src.client.perspective |= EYE_PERSPECTIVE // turn on the EYE_PERSPECTIVE bit

Move()
. = ..()
if(. && src.watching)
src.watching = null
src.client.eye = src
src.client.perspective &= ~EYE_PERSPECTIVE
src.client.perspective |= MOB_PERSPECTIVE


~~> Unknown Person
In response to Unknown Person
thank you people who i could not post a thanks for before because my internet was cut