ID:264056
 
Code:
    Login()
..()
src.client.mob.dir = EAST
src.inair = 0
src.loc=locate(89,11,1)
new/obj/Sonic(src.client)
new/obj/Mario(src.client)
new/obj/Diddy_Kong(src.client)
src.icon = null
src.icon_state = null
src.overlays -= src.overlays
src.clash = 0
src.hasclash = 0
src.cangetclash = 1
usr.kills = 0
usr.doing = 0
src.hyruletemple = 0
src.lylatcruise = 0
src.bridgeofeldin = 0
world << "[src] has logged in!"
return

Logout()
Del(src)
..()

client/Del() //When a player logs out this is called
world << "[src] has just shut himself down from this world..." //This message is sent to the world when the player leaves the game
..() //This deletes the players icon when he/she leaves the game


Problem description: Everytime a player logs in, other than me, they get booted. I know it has to do with the logout, but if I don't have the logout, when players logout their characters won't delete. Help please.

Login() is indented too far, so you're putting that information as the default for all of the parent_type, and Login() will do nothing.
In response to Darkmag1c1an11
Actually, I'd bet the code got pasted funny, which messed up that indent. It happens sometimes. I think the problem is the return at the end of Login(). Remove that, and see if it works.
Tried it, only me and my bro can login, heres what it says when someone else tries.

Hoitin1029 has just shut himself down from this world...
Hoitin1029 has logged in!
runtime error: Cannot modify null.saved.
proc name: New (/client/New)
source file: Save.dm,33
usr: null
src: Hoitin1029 (/client)
call stack:
Hoitin1029 (/client): New()
Hoitin1029 has just shut himself down from this world...
Del() should not be called directly. Replace it with del().

I think you've mucked something up elsewhere, possibly in client/New().

Also: src.client.mob is really, really dumb.
In response to Element Hero creator
Element Hero creator wrote:
runtime error: Cannot modify null.saved.
proc name: New (/client/New)
source file: Save.dm,33

that would be where your problem is, not in the login code
and garthor beat me to pointing out the thing about src.client.mob =P sosad
In response to Garthor
Might be client/new, is something wrong with it?

client/New()
..()
var/savefile/client_file = new(Import())
if(client_file)
client_file["usr"] >> mob //use this if you want to save ALL of the users vars
client_file["saved2"] >> mob.saved
client_file["money"] >> mob.money
client_file["description"] >> mob.description

return ..()
In response to Xooxer
Xooxer wrote:
Actually, I'd bet the code got pasted funny, which messed up that indent.

Indeed, you are quite correct.
It is a problem with the <DM> tag, in fact. Thankfully it's easily circumvented.
In response to Element Hero creator
I haven't read the rest of the topic, so I'm not sure if this will fix your problem. However, you should not call the parent procedure ( ..() ) twice, it would only do harm unless you really know what you're doing (doing it on purpose).
Lastly, un-indent the 'return ..()' so it is executed even if there is no savefile. Currently, it's only in the if(), which should cause a logout if there is no file.

Also, your [saving/]loading of the individual vars (saved,money,description) is obsolete since you've saved the entire mob itself, which should automatically save those variables correctly as well (otherwise, you should fix that).
In response to Kaioken
:D Thanks Kaioken, I finnaly got it to work :) this has been bugging me forever.