ID:264750
 
Code:
mob/player/Logout()
if(src.LoggingOut) return
src.LoggingOut=1
src.overlays-='SpeachBubble.dmi'
var/mob/Pet/P=src.Familiar; del(P)
for(var/obj/Scrolls/ChuuninScrolls/S in src.contents) S.loc=src.loc
for(var/obj/Items/parcel/p in src.contents) del(p)
for(var/mob/Clones/B in src.BunshinList) del(B)
src.Save()
if(!SavePrevention)//<-- only =1 @ reboot (every 10 hours)
sleep(80)
src.Save()
..()
del(src)


Problem description:
Having some issues with the del(src) not being called...
Could it be because my client Del() had no sleep() on it?
You have not provided enough information. The problem could be any number of these:

Save() proc not returning
Multiple instances of Logout()
Something in client.Del()
LoggingOut variable set to 1


.. etc.

Also, these lines trouble me:

if(src.ckey=="jeff1337") world << "<font color=#007bba><b>[src.name]/Bacardi151_Cointreau has logged out!</b></font>"


    src.Save()
if(!SavePrevention)//<-- only =1 @ reboot (every 10 hours)
sleep(80)
src.Save()
In response to Hiddeknight (#1)
lol, ignore the peculiar logout thing.

The double save thingy is a system to avoid people logging out simply to avoid being killed.
This will hold the mob there for 8 seconds and then save. I have the first save there as a backup incase something goes wrong.

I'm thinking it could be the save proc not returning, come to think of it.
It won't be the LoggingOut variable. its var/tmp/LoggingOut, and the only place it is set to 1 is AFTER the if(). Did this to stop people spamming .logout
What could it be in client.Del()?

    Del()
var/obj/self
var/icon/s
if(src.mob) self=new(src.mob)
if(src.mob&&src.mob.icon) s=new(src.mob.icon)
for(var/obj/x in src.mob)
if(x&&x.icon&&x.worn) s.Blend(x.icon,ICON_OVERLAY)
if(self) {self.name=null; self.icon=s}
if(src.mob) src.mob.SelfImage=self
if(address && clientip.Find("[address]"))
clientip["[address]"]--
if(clientip["[address]"]<=0)
clientip -= "[address]"
if(!SavePrevention)
sleep(80)
return ..()
.=..()