17.07.2013, 17:24
pawn Код:
enum pInfo
{
Float: PosX,
Float: PosY,
Float: PosZ,
Float: Angle,
Interior,
VirtualWorld
}
new PlayerInfo[MAX_PLAYERS][pInfo];
forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
INI_Float("PosX",PlayerInfo[playerid][PosX]);
INI_Float("PosY",PlayerInfo[playerid][PosY]);
INI_Float("PosZ",PlayerInfo[playerid][PosZ]);
INI_Int("Interior",PlayerInfo[playerid][Interior]);
INI_Int("VirtualWorld",PlayerInfo[playerid][VirtualWorld]);
return 1;
}
public OnPlayerConnect(playerid)
{
PlayerInfo[ playerid ][PosX] = 0;
PlayerInfo[ playerid ][PosY] = 0;
PlayerInfo[ playerid ][PosZ] = 0;
PlayerInfo[ playerid ][Angle] = 0;
PlayerInfo[ playerid ][Interior] = 0;
PlayerInfo[ playerid ][VirtualWorld] = 0;
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
GetPlayerPos( playerid, PlayerInfo[ playerid ][PosX], PlayerInfo[ playerid ][PosY], PlayerInfo[ playerid ][PosZ] );
GetPlayerFacingAngle( playerid, PlayerInfo[ playerid ][Angle] );
INI_WriteFloat( File, "PositionX", PlayerInfo[ playerid ][PosX] );
INI_WriteFloat( File, "PositionY", PlayerInfo[ playerid ][PosY] );
INI_WriteFloat( File, "PositionZ", PlayerInfo[ playerid ][PosZ] );
INI_WriteFloat( File, "Angle", PlayerInfo[ playerid ][Angle] );
INI_WriteInt( File, "Interior", GetPlayerInterior( playerid ) );
INI_WriteInt( File, "VirtualWorld", GetPlayerVirtualWorld( playerid ) );
INI_Close(File);
return 1;
}
public OnPlayerSpawn(playerid)
{
if(PlayerInfo[playerid][NewPlayer] == false)
{
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
}
if ( PlayerInfo[ playerid ][PosX] != 0 && PlayerInfo[ playerid ][PosY] != 0 && PlayerInfo[ playerid ][PosZ]!= 0 && PlayerInfo[ playerid ][Angle] != 0 )
{
SetPlayerPos( playerid, PlayerInfo[ playerid ][PosX], PlayerInfo[ playerid ][PosY], PlayerInfo[ playerid ][PosZ] );
SetPlayerFacingAngle( playerid, PlayerInfo[ playerid ][Angle] );
SetPlayerInterior( playerid, PlayerInfo[ playerid ][Interior] );
SetPlayerVirtualWorld( playerid, PlayerInfo[ playerid ][VirtualWorld] );
}
return 1;
}