#define dUserSetFLOAT(%1).( udb_UserSetFLOAT(%1, #define dUserFLOAT(%1).( udb_UserFLOAT(%1, enum SavePlayerPosEnum { Float:LastX, Float:LastY, Float:LastZ } new SavePlayerPos[MAX_PLAYERS][SavePlayerPosEnum]; //main------------------------------------------------------------------------------------- public udb_UserSetFLOAT(nickname[],key[],Float:value) { new fname[MAX_STRING]; format(fname,sizeof(fname),"%s.dudb.sav",udb_encode(nickname)); return dini_FloatSet(fname,key,value); } public Float:udb_UserFLOAT(nickname[],key[]) { new fname[MAX_STRING]; format(fname,sizeof(fname),"%s.dudb.sav",udb_encode(nickname)); return dini_Float(fname,key); } public PlayerName(playerid) { new name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, MAX_PLAYER_NAME); return name; } public OnPlayerDisconnect(playerid) { new Float:x; new Float:y; new Float:z; GetPlayerPos(playerid,Float:x,Float:y,Float:z); if (PLAYERLIST_authed[playerid]) { dUserSetFLOAT(PlayerName(playerid)).("x",Float:x); dUserSetFLOAT(PlayerName(playerid)).("y",Float:y); dUserSetFLOAT(PlayerName(playerid)).("z",Float:z); } PLAYERLIST_authed[playerid]=false; return false; }