I've kept nothing secret, I just said nothing of what you said would impact the event or saved config from it. The data would save after death, just like Item Saving which is why I said earlier it should be exactly like it except for location. It's pretty stand up and straight to the point.
If it saves beyond death, it should not store your location on your Player object, as that will get deleted.
If it saves through a rejoin, it should not store your location on your GameConnection object, as that will get deleted.
Of it saves through a server restart, it needs to store your location in a file on your hard drive, instead of just... in memory.
Anyway... I have no way of testing this right now and I'm working off of memory here but-
registerOutputEvent("Player","saveTransform");
function Player::saveTransform(%this){if(isObject(%this.client)){%this.client.savedTransform = %this.getTransform();}}
registerOutputEvent("Player","loadTransform");
function Player::loadTransform(%this){if(isObject(%this.client)){if(%this.client.savedTransform !$= ""){%this.setTransform(%this.client.savedTransform);}}}
I sure hope that works.