ID:2190399
 
(See the best response by Nadrew.)
Code:
var/obj/HUD/Logo/FairyTailLogo/f = new
var/obj/HUD/Blackscreen/b = new
var/obj/Numbers/Numerals = new
var/obj/HUD/Logo/FireSpin/fs = new
var/obj/Keys/Slots = new
var/obj/HUD/Logo/Natsu/Na = new
var/obj/HUD/Logo/SunRays/Rays = new
var/obj/HUD/LoadingScreens/Loadingfont/Lg = new
var/NewGameClicked = 1
mob/Login()
if(fexists("Players/[usr.key].sav")) //If the save file exists we skip the introduction
usr.loc = locate_tag("login1")
src.Frozen = 1
winset(src,"Main.OOCbox","is-visible=false")
winset(src,"Main.input3","is-visible=false")
usr.client.screen+=f
usr.client.screen+=Rays
add_login()
AddHUD(/gui/gui/Update_Log)
else
winset(src,"Main.OOCbox","is-visible=false")
winset(src,"Main.input3","is-visible=false")
AdminCheck()
animate(f, transform = matrix()*3, alpha = 0, time = 10)
animate(fs, transform = matrix()*15, alpha = 0, time = 10)
animate(Na, transform = matrix()*1, pixel_x = 100, pixel_y = 1, alpha = 0, time = 10)
resize()
new/maptext("Made by", "CENTER - 1 : 17, SOUTH + 5", "Credits", 96, 20, mo=2)
new/maptext("Kikoro", "CENTER - 1 : 70, SOUTH + 5", "Credits", 96, 20, mo=2)
src.Frozen = 1
MusicMixer()
//usr <<sound('Fairy Tail Opening 18.wav')
src.loc = locate_tag("test")
UnFadeScreen()
sleep(10)
FadeScreen()
usr.client.screen+=Rays
Delete_Maptext("Credits")
src.loc = locate_tag("login1")
//src.loc = locate_tag("test2")
UnFadeScreen()
usr.client.screen+=f
usr.client.screen+=fs
animate(fs, transform = matrix()*1, alpha = 255, time = 10)
usr.Spin()
animate(f, transform = matrix()*1, alpha = 255, time = 15) //color = null, time = 15)
sleep(25)
animate(fs, transform = matrix()*5, alpha = 0, time = 10)
animate(Na, transform = matrix()*1, pixel_x = 1, pixel_y = 1, alpha = 255, time = 10)
add_login()
AddHUD(/gui/gui/Update_Log)
sleep(25)
src.client.screen-=fs


Problem description:
I'm having trouble making these client sided, I have tried using the usr var however it seems to do the same thing. Theres more to the code but i think this may be enough to view the main problem. The code may be messy. Sorry about that.

When a user is already ingame on the login screen, The Logo will disappear again and then appear right after someone new joins. I have tested with two keys and this would reproduce the problem again when another person joins. HOWEVER if the person joins and quickly leaves, the Title will disappear permanently.


Best response
The objects are being created globally, meaning that one copy of the object exists for everyone, so anything you do to it is going to be visible to anyone that can see that object.

What you want is /image objects displayed to that one player alone and removed when they don't need them anymore.
In response to Nadrew
Ohhh I see. I'm still reading the dm guide so i didn't quite catch the image part. Thanks for the help! I'll give this a try.
In response to Nadrew
Nadrew wrote:
The objects are being created globally, meaning that one copy of the object exists for everyone, so anything you do to it is going to be visible to anyone that can see that object.

What you want is /image objects displayed to that one player alone and removed when they don't need them anymore.

So i tried it actually,

/*var/obj/HUD/Logo/FairyTailLogo/f = new
var/obj/HUD/Blackscreen/b = new*/

var/obj/Numbers/Numerals = new
//var/obj/HUD/Logo/FireSpin/fs = new
var/obj/Keys/Slots = new
var/obj/HUD/Logo/Natsu/Na = new
//var/obj/HUD/Logo/SunRays/Rays = new
var/obj/HUD/LoadingScreens/Loadingfont/Lg = new
var/NewGameClicked = 1

var/image/f = image('FairyTailLogo.dmi') //make an image attached to usr
var/image/Rays = image('Sunrays.dmi') //make an image attached to usr
var/image/b = image('Black.dmi') //make an image attached to usr
var/image/fs = image('Fire.dmi') //make an image attached to usr
mob/Login()
if(fexists("Players/[usr.key].sav")) //If the save file exists we skip the introduction
usr.loc = locate_tag("login1")
src.Frozen = 1
winset(src,"Main.OOCbox","is-visible=false")
winset(src,"Main.input3","is-visible=false")
usr.client.screen+=f
usr.client.screen+=Rays
add_login()
AddHUD(/gui/gui/Update_Log)
else
winset(src,"Main.OOCbox","is-visible=false")
winset(src,"Main.input3","is-visible=false")
AdminCheck()
animate(f, transform = matrix()*3, alpha = 0, time = 10)
animate(fs, transform = matrix()*15, alpha = 0, time = 10)
animate(Na, transform = matrix()*1, pixel_x = 100, pixel_y = 1, alpha = 0, time = 10)
resize()
new/maptext("Made by", "CENTER - 1 : 17, SOUTH + 5", "Credits", 96, 20, mo=2)
new/maptext("Kikoro", "CENTER - 1 : 70, SOUTH + 5", "Credits", 96, 20, mo=2)
src.Frozen = 1
MusicMixer()
//usr <<sound('Fairy Tail Opening 18.wav')
src.loc = locate_tag("test")
UnFadeScreen()
sleep(10)
FadeScreen()
usr.client.screen+=Rays
Delete_Maptext("Credits")
src.loc = locate_tag("login1")
//src.loc = locate_tag("test2")
UnFadeScreen()
usr.client.screen+=f
usr.client.screen+=fs
animate(fs, transform = matrix()*1, alpha = 255, time = 10)
usr.Spin()
animate(f, transform = matrix()*1, alpha = 255, time = 15) //color = null, time = 15)
sleep(25)
animate(fs, transform = matrix()*5, alpha = 0, time = 10)
animate(Na, transform = matrix()*1, pixel_x = 1, pixel_y = 1, alpha = 255, time = 10)
add_login()
AddHUD(/gui/gui/Update_Log)
sleep(25)
src.client.screen-=fs


How would i add in the coordinates of where the images go?
You're still creating the objects globally, every one of those variables are defined outside of a scope, so even if you do figure out how to display them where you want them, you'd still have the same problem.

You want all of those images to be defined under /mob for one, then you'd want to read further on the image() proc, it'll tell you how to set the location of the image and output it to a client.
In response to Nadrew
Alright things should be fixed by now. It seems that i didn't really require the image proc because i just needed to add the /mob at the start of every var apparently. XD Sorry that i wasted ur time I was being stupid.
This is not a place for usr. In Login(), src refers to the mob, but usr refers to whatever mob initiated the event. In a character loading situation, usr usually refers to the old, temporary mob that was used before the character loaded.

In general, you want to avoid putting usr in procs. It's a verb creature.