public OnPlayerDisconnect(playerid, reason) { /* Reason of quiting */ new szString[64], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, MAX_PLAYER_NAME); switch(reason) { case 0: format(szString, sizeof szString, "%s left the server. (Timed Out/Crashed)", name); case 1: format(szString, sizeof szString, "%s left the server. (Quit)", name); case 2: format(szString, sizeof szString, "%s left the server. (Kicked/Banned)", name); } /* Reason of quiting END */ SendClientMessageToAll(0xC4C4C4FF, szString); new INI:File = INI_Open(UserPath(playerid)); INI_SetTag(File,"data"); INI_WriteInt(File,"Cash",GetPlayerMoney(playerid)); INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]); INI_WriteInt(File,"Age",PlayerInfo[playerid][pAge]); INI_WriteInt(File,"Sex", PlayerInfo[playerid][pSex]); INI_WriteInt(File,"Skin", PlayerInfo[playerid][pSkin]); INI_WriteInt(File,"Location", PlayerInfo[playerid][pLocation]); INI_Close(File); return 1; }
case DIALOG_LOCATION: { if(!response) return Kick(playerid); if(response) { if(listitem == 0) { PlayerInfo[playerid][pLocation] = 0; SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], 942.0000,-4630.0000,2.2887,359.7559, 0, 0, 0, 0, 0, 0); SpawnPlayer(playerid); } } } case DIALOG_LOGIN: { if ( !response ) return Kick ( playerid ); if( response ) { if(udb_hash(inputtext) == PlayerInfo[playerid][pPass]) { INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid); GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]); SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], 942.0000,-4630.0000,2.2887,359.7559, 0, 0, 0, 0, 0, 0); SpawnPlayer(playerid); } else { Kick(playerid); } return 1; } } } return 1;
public OnPlayerDisconnect(playerid)
{
new Float:x, Float:y, Float:z;
new pname[MAX_PLAYER_NAME];
new string[128];
new file[60];
GetPlayerPos(playerid, x, y, z);
GetPlayerName(playerid,pname,sizeof(pname));
format(file,sizeof(file),"/Users/%s.ini",pname);
new INI:File = INI_Open(file);
INI_WriteFloat(File,"posX", x);
INI_WriteFloat(File,"posY", y);
INI_WriteFloat(File,"posZ", z);
INI_Close(File);
return 1;
}
you need to change your cords of last spawning of that player
add somewhere saveplayer(playerid) stock it define it , Good luck |
okay
pawn Код:
|
public OnPlayerDisconnect(playerid, reason) { /* Reason of quiting */ new szString[64], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, MAX_PLAYER_NAME); switch(reason) { case 0: format(szString, sizeof szString, "%s left the server. (Timed Out/Crashed)", name); case 1: format(szString, sizeof szString, "%s left the server. (Quit)", name); case 2: format(szString, sizeof szString, "%s left the server. (Kicked/Banned)", name); } /* Reason of quiting END */ SendClientMessageToAll(0xC4C4C4FF, szString); new INI:File = INI_Open(UserPath(playerid)); INI_SetTag(File,"data"); INI_WriteInt(File,"Cash",GetPlayerMoney(playerid)); INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]); INI_WriteInt(File,"Age",PlayerInfo[playerid][pAge]); INI_WriteInt(File,"Sex", PlayerInfo[playerid][pSex]); INI_WriteInt(File,"Skin", PlayerInfo[playerid][pSkin]); INI_WriteInt(File,"Location", PlayerInfo[playerid][pLocation]); INI_Close(File); return 1; }
public OnPlayerDisconnect(playerid, reason) { /* Reason of quiting */ new szString[64], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, MAX_PLAYER_NAME); switch(reason) { case 0: format(szString, sizeof szString, "%s left the server. (Timed Out/Crashed)", name); case 1: format(szString, sizeof szString, "%s left the server. (Quit)", name); case 2: format(szString, sizeof szString, "%s left the server. (Kicked/Banned)", name); } /* Reason of quiting END */ SendClientMessageToAll(0xC4C4C4FF, szString); new INI:File = INI_Open(UserPath(playerid)); INI_SetTag(File,"data"); INI_WriteInt(File,"Cash",GetPlayerMoney(playerid)); INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]); INI_WriteInt(File,"Age",PlayerInfo[playerid][pAge]); INI_WriteInt(File,"Sex", PlayerInfo[playerid][pSex]); INI_WriteInt(File,"Skin", PlayerInfo[playerid][pSkin]); INI_WriteInt(File,"Location", PlayerInfo[playerid][pLocation]); INI_Close(File); return 1; }
public OnPlayerDisconnect(playerid, reason) { /* Reason of quiting */ new szString[64], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, MAX_PLAYER_NAME); switch(reason) { case 0: format(szString, sizeof szString, "%s left the server. (Timed Out/Crashed)", name); case 1: format(szString, sizeof szString, "%s left the server. (Quit)", name); case 2: format(szString, sizeof szString, "%s left the server. (Kicked/Banned)", name); } /* Reason of quiting END */ SendClientMessageToAll(0xC4C4C4FF, szString); /* Saving Last Player Position*/ new Float:PosX; Float:PosY; Float:PosZ; GetPlayerPos(playerid, PosX, PosY, PosZ); new INI:File = INI_Open(UserPath(playerid)); INI_SetTag(File,"data"); INI_WriteInt(File,"Cash",GetPlayerMoney(playerid)); INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]); INI_WriteInt(File,"Age",PlayerInfo[playerid][pAge]); INI_WriteInt(File,"Sex",PlayerInfo[playerid][pSex]); INI_WriteInt(File,"Skin",PlayerInfo[playerid][pSkin]); INI_WriteInt(File,"Location",PlayerInfo[playerid][pLocation]); INI_WriteFloat(File,"LastPosX",PosX); INI_WriteFloat(File,"LastPosX",PosY); INI_WriteFloat(File,"LastPosX",PosZ); INI_Close(File); return 1; }