ID:2032745
 
(See the best response by Nadrew.)
Code:
/obj/screen/test
icon = 'icons/hud.dmi'
icon_state = "template"
screen_loc = "1,1"

/mob/carbon/human/Login()
src << "[src]"
new/obj/screen/test(client)
src << "[src]"
..()


Problem description:
For some reason the screen object won't appear on the screen. I tried everything I can think of and searched this forum up and down.

Just to clarify:
"template" is a valid icon state in hud.dmi.
both of the src << "[src]" are still called.
player spawns at (0,0) (this probably has nothing to do with it)

It's hard to tell, but if this is your exact code then there's nothing explicitly adding the object to the client's screen. You'd want to do...

/obj/screen/test/New(client/c)
c.screen += src

Oh hey, that worked. Thanks a lot man.
Best response
Ideally though you don't really need the overhead of overriding New() here.

You can simply do:

mob/Login()
..()
client.screen += new/obj/screen/test()
That's what I actually ended up doing. :P