ID:264743
 
Code:
mob/Pein
verb
CeasePathControl(mob/M in oview(usr))
set name = "Return to Body"
set category = "Six Paths"
src.controlled=M
src<<"You are no longer controlling any of Your Six Paths."
usr.client.perspective = EYE_PERSPECTIVE
usr.client.eye = M
usr.client.mob = M
usr.verbs -= /mob/Pein/verb/ShinraTensei
usr.verbs -= /mob/Pein/verb/BenshoTenin
usr.verbs -= /mob/Pein/verb/ChibakuNoTensei
usr.verbs -= new /mob/Puppet/verb/kugutsu()
usr.contents -= new /obj/Slug_Summoning_Scroll
usr.contents -= new /obj/Big_Snake_Scroll
usr.contents -= new /obj/Frog_Summoning_Scroll
usr.contents -= new /obj/Bee_Summoning_Scroll
usr.verbs -= new /mob/Tenten/verb/HomingShuriken()
usr.verbs -= new /mob/Tenten/verb/HomingKunai()
usr.ghost=0
usr.tai=usr.Mtai
usr.nin=usr.Mnin
usr.gen=usr.Mgen


mob/Pein
verb
DevapathControl(mob/M in oview(usr))
set name = "Deva Path(Control)"
set category = "Six Paths"
src.controlled=M
src<<"You are now controlling [M.name]"
usr.client.perspective = EYE_PERSPECTIVE
usr.client.eye = M
usr.client.mob = M
M.contents += usr.contents
M.verbs += /mob/Pein/verb/ShinraTensei
M.verbs += /mob/Pein/verb/BenshoTenin
M.verbs += /mob/Pein/verb/ChibakuNoTensei
M.verbs += usr.verbs)
if(M.Realplayer == 1)
src.controlled=null
src<<"You can't control real players"
if(M.human == 1)
src.controlled=null
src<<"You can't control real players"


Problem description:
alright the Path control works fine but when I try to return to the original body is bring me to my loading screen which isnt a huge issue but would prove annoying to players suggestions?


Try giving a key to the original mob, and see if that solves the problem. How your switching control of mobs, is one of the worst way to do it.
M.key=key//This uses less lines than the 3 
//usr.client you have, though it still one of
//the worst ways to control mobs.
In response to RichardKW
RichardKW wrote:
Try giving a key to the original mob, and see if that solves the problem. How your switching control of mobs, is one of the worst way to do it.
M.key=key//This uses less lines than the 3 
> //usr.client you have, though it still one of
> //the worst ways to control mobs.

ahaha no good it kind of logs you out is there an alternative to usr.client XD
In response to Tensa Ulquiorra
There is a different way to control mobs, and it doesn't log the mob out, but its still gonna need client.eye if you want to change view. And a different way to use obj verbs.

Is the mob/pein login() different from mob or mob/char_create or does the mob/char_create or mob get the pein verbs.
In response to RichardKW
RichardKW wrote:
There is a different way to control mobs, and it doesn't log the mob out, but its still gonna need client.eye if you want to change view. And a different way to use obj verbs.

Is the mob/pein login() different from mob or mob/char_create or does the mob/char_create get the pein verbs.

the mob/char_create get the pein verbs that is correct
In response to Tensa Ulquiorra
And what are your other five mobs.
mob
verb
switch
var/lx=M.x
var/ly=M.y
//switch mobs here.
//mob at login screen for less than a second.
M.loc=locate(lx,ly,1)//locate back at last coordinates.
Changing a client's mob causes Login() and Logout() to be called. That is their defined role. You need to move the code that takes you to the login screen somewhere else, like mob/temporary_mob/Login().