ID:138208
 
Hmm I was checking up on Logout() after recommending it for saving, and my fear was correct:

Like the old Enter() situation, Logout() isn't what you really expect it to be. That is, Logout() occurs AFTER the mob has been disconnected from the client, which means it's too late to save the mob based on the ckey, since you no longer know what the ckey was, or what player was associated.

It would be nice to have a LoggingOut() function, to let a mob save itself before the player disconnects. Since the client.mob variable could be changed anywhere anytime, I don't think there is any other way to guarantee a save point.