ID:274052
 
How can i Control a NPC like a clone?
If you mean control as in moving them around, you could override client/Move() to handle that or use special macros

e.g.
mob/npc
var/tmp/client/controller

Click()
.=..()

if( controller )
if( usr.client==controller )
if( usr.client.eye == src )
usr.client.eye = usr.client.mob
controller = null
usr << "You are no longer controlling [src]."
else
controller = usr.client
usr.client.eye = src
usr << "You can now control [src]."

Del()
if( controller )
controller.eye = controller.mob

return ..()

client

Move(loc,dir)

var/mob/m = eye
if( ismob(m) )
return m.Move( loc, dir )

return ..()


As for cloning, you'll have to write a proc to clone your mob's variables. The built-in vars list will help with this.