## Engine
Class XboxLiveManager

source: C:\XIII\Engine\Classes\XboxLiveManager.uc

    Core.Object
       |
       +--Engine.XboxLiveManager

Direct Known Subclasses:None

class XboxLiveManager
extends Core.Object

    // This class is the front-end to access the xboxlive capabilities buried inside the engine.

Variables
`string` | `Alias` the name of the player
`string` | `AltIPAddress` Its Alternate IP address
`string` | `AltIPAddress` Its Alternate IP address
`int` | `CurrentNbPlayers` The current nb of players in the game
`int` | `CurrentNbSpectators` The current nb of spectators in the game
`int` | `GameServerId` The Id of the game server
`string` | `IPAddress` Its IP address
`string` | `IPAddress` Its IP address
`int` | `IsSpectator` is he a spectator ?
`int` | `MaxNbPlayers` The max number of players allowed in
`int` | `MaxNbSpectators` The max number of spectators allowed in
`string` | `Name` Its name
`string` | `errorMessages[132]` XBLE_COUNT messages
`bool` | `isOnline`
`BYTE` | `onlineStatus`
`int` | `onlineStatusFlags`
`BYTE` | `voiceStatus`

Function Summary
`bool` | `AcceptFriendRequest(string friendName)`
`bool` | `AcceptGameInvite(string friendName)`
`bool` | `AddPlayerToMuteList(int index)`
`bool` | `AddPlayerToMuteListByName(string name)`
`void` | `AllGameServer(out MMGameServer)`
    //========================  ========================
    native(460) static final iterator
`void` | `AllPlayerConnectedToMyGameServer(out MMPlayer)`
    ;

    native(447) static final iterator
`bool` | `BlockFriendRequest(string friendName)`
`bool` | `BootToDownloadManager()`
`bool` | `BootToUpdateXBE()`
`bool` | `CachePlayerList()`
    // Ingame player list (currently playing players)
`bool` | `CancelFriendRequest(string friendName)`
`string` | `ConvertString(string org)`
`void` | `CreatePlayerAccount(string _Alias, string _Password, string _FirstName, string _LastName, string _Email, string _Country)`
    // create a user account on Game Service network (before login)
    native(475) static final
`bool` | `DeclineFriendRequest(string friendName)`
`bool` | `DeclineGameInvite(string friendName)`
`bool` | `EnumerateFriends(bool start)`
`bool` | `ErrorLoggingIn(string user)`
    // Returns true if there was an error logging in (resets it also)
`bool` | `FriendFindIsFinished()`
`bool` | `FriendFindSession(string friendName)`
`bool` | `FriendIsInSameGame(string friendName)`
`bool` | `FriendIsInSameSession(string friendName)`
`string` | `FriendJoinGetURL()`
`bool` | `FriendJoinIsFinished()`
`bool` | `FriendJoinSession()`
`string` | `GetAccountName(int index)`
    // Get the name of a specified Xbox Live account
`FRIEND_PACKET` | `GetActiveFriend()`
`string` | `GetActiveFriendName()`
`string` | `GetActiveFriendTitle()`
`string` | `GetActivePlayer()`
`string` | `GetCurrentUser()`
    // Get the current user (doesn't have to be logged in however)
`string` | `GetErrorString(int msg)`
    // Get a descriptive error string from specified error
`string` | `GetFirstMap(eGameType gameType)`
    // Maphandling
`FRIEND_PACKET` | `GetFriend(string friendName)`
`FRIEND_PACKET` | `GetFriendAtIndex(int index)`
    // FRIENDS SYSTEM
`string` | `GetFriendGameName(string friendName)`
`string` | `GetFriendInviterAfterBoot()`
`string` | `GetFriendNameAtIndex(int index)`
`string` | `GetFriendTitleAtIndex(int index)`
`string` | `GetGameTypeString(eGameType gameType)`
`string` | `GetGamerTag(string IP)`
    // Get the username from the user with specified IP
`int` | `GetLadderSize()`
`int` | `GetLastError()`
    // Get the last error (XBL_MESSAGE)
`LevelInfo` | `GetLevelInfo()`
`int` | `GetMyLadderRank()`
`bool` | `GetMyLadderStats()`
    //ladder things
`string` | `GetNextMap(eGameType gameType)`
`string` | `GetNiceName(string Map)`
`int` | `GetNumberOfAccounts()`
    // Get number of Xbox Live accounts on the system
`int` | `GetNumberOfFriends()`
`int` | `GetNumberOfPlayers()`
`bool` | `GetOnlineStatus()`
`string` | `GetPlayerName(int index)`
`string` | `GetRandomMap(eGameType gameType)`
`int` | `GetRecommendedPlayers(string Map)`
`int` | `GetSearchFriendlyFire()`
`eGameType` | `GetSearchGameType()`
`eLanguage` | `GetSearchLanguage()`
`string` | `GetSearchMap()`
`int` | `GetSetting(int id)`
`eGameType` | `GetStatisticsType()`
`string` | `GetUserInvitedAfterBoot()`
`eVoiceMask` | `GetVoiceMask()`
`bool` | `GetVoiceMaskEnabled()`
`float` | `GetVoiceMaskPitchScale()`
`float` | `GetVoiceMaskRoboticValue()`
`float` | `GetVoiceMaskSpecEnergyWeight()`
`float` | `GetVoiceMaskWhisperValue()`
`bool` | `GetVoiceStatus()`
`bool` | `GetVoiceThroughSpeakers()`
`bool` | `HasFriendRequest()`
`bool` | `HasInvite()`
`bool` | `HasPasscode(string user)`
    // Returns true if the specified user has a passcode
`bool` | `HasPlayerVoice(int index)`
`bool` | `HasUserVoice(string user)`
    // Has specified user voice?
`void` | `IFinishMatch()`
    ;
    native(451) static final
`void` | `IStartMatch()`
    //========================  ========================
    native(452) static final
`bool` | `InternalKick(string playerName)`
`bool` | `IsAccountListUpdated()`
    // Is the account list updated since last check? (sets the update flag to false also)
`bool` | `IsFriend(string playerName)`
`bool` | `IsFriendsListChanged()`
`bool` | `IsGameServerAdditionalInfoArrived(out int, out string)`
    ;
    native(456) static final
`bool` | `IsGameServerListComplete(out int)`
    ;
    native(463) static final
`bool` | `IsGameServerRefreshed(out int)`
    ;
    native(458) static final
`bool` | `IsGetMyLadderStatsDone()`
`bool` | `IsHost()`
`bool` | `IsInSameSession(string friendName)`
`bool` | `IsIngame()`
    // returns true if we are inside of a game (maybe without network)
`bool` | `IsJoinGameServerAcknowledged(out int, out string, out string, out int)`
    ;
    native(454) static final
`bool` | `IsJoiningAfterBoot()`
    // Functions to join a game after rebooting (joining from other xbox game)
`bool` | `IsKicked()`
`bool` | `IsLadderGame()`
`bool` | `IsLoggedIn(string user)`
    // Returns true if/when the login is successful
`bool` | `IsLoggedInTwice()`
    // Check if someone logged in using this account (should autologout)
`bool` | `IsMatchFinishedAcknowledged(out int)`
    ;
    native(441) static final
`bool` | `IsMatchStartedByGameServer()`
    //========================  ========================
    native(453) static final
`bool` | `IsMyGameServerRegistered(out int)`
    ;
    native(448) static final
`bool` | `IsMyGameServerUpdated(out int)`
    ;
    native(445) static final
`bool` | `IsMyStatsUpdateDone()`
`bool` | `IsNetCableIn()`
    // Check if the actual hardware network cable is connected to the xbox
`bool` | `IsPlayerAccountCreated(out int)`
    ;
    native(474) static final
`bool` | `IsPlayerAccountModified(out int)`
    ;
    native(461) static final
`bool` | `IsPlayerInGame(int index)`
`bool` | `IsPlayerListUpdated()`
`bool` | `IsPlayerMuted(int index)`
`bool` | `IsPlayerNameInGame(string playerName)`
`bool` | `IsPlayerOnMuteList(int index)`
`bool` | `IsPlayerOnMuteListByName(string name)`
`bool` | `IsPlayerTalking(int index)`
`bool` | `IsPlaying()`
    // returns true if successfully joined / created a game
`bool` | `IsServerDown()`
`bool` | `IsStartMatchAcknowledged(out int)`
    ;
    native(443) static final
`bool` | `IsUpdatingFriends()`
`bool` | `IsUserMuted(string user)`
    //native static final function bool          AddListener(string user);
    //native static final function bool          RemoveListener(string user);
`void` | `JoinGameServer(int _GameServerID, string _Password)`
    //========================  ========================
    native(455) static final
`string` | `JoinGetURL()`
`bool` | `JoinIsFinished()`
`bool` | `JoinSession()`
`bool` | `Kick(string playerName)`
`void` | `LeaveGameServer()`
    //========================  ========================
    native(450) static final
`void` | `Login(string _Alias, string _Password)`
    //======================== Login ========================
    // Send a request to log a player in the match making system. The name (_Alias) and password (_Password) are required.

    native(473) static final
`void` | `Logout()`
    ;
    native(472) static final
`void` | `MatchFinished()`
    ;

    native(442) static final
`void` | `ModifyPlayerAccount(string _Password, string _FirstName, string _LastName, string _Email, string _Country)`
    // Modify user account
    native(462) static final
`bool` | `OptimatchCancelQuery()`
`bool` | `OptimatchGetCycleLevels(int index)`
`int` | `OptimatchGetFragLimit(int index)`
`bool` | `OptimatchGetFriendlyFire(int index)`
`eGameType` | `OptimatchGetGameType(int index)`
`eLanguage` | `OptimatchGetLanguage(int index)`
`string` | `OptimatchGetMapName(int index)`
`eSkill` | `OptimatchGetMaxSkill(int index)`
`eSkill` | `OptimatchGetMinSkill(int index)`
`int` | `OptimatchGetOpenPrivateSlots(int index)`
`int` | `OptimatchGetOpenPublicSlots(int index)`
`string` | `OptimatchGetOwner(int index)`
`int` | `OptimatchGetPlayerCount(int index)`
`int` | `OptimatchGetQoS(int index)`
`int` | `OptimatchGetResultCount()`
`int` | `OptimatchGetTimeLimit(int index)`
`int` | `OptimatchGetTotalPrivateSlots(int index)`
`int` | `OptimatchGetTotalPublicSlots(int index)`
`string` | `OptimatchGetURL()`
`bool` | `OptimatchIsProbing()`
`bool` | `OptimatchJoinIsFinished()`
`bool` | `OptimatchJoinSession(int index)`
`bool` | `OptimatchProbe()`
`XBL_MESSAGES` | `OptimatchProcessQuery()`
`bool` | `OptimatchStartQuery(eGameType gametype, string mapname, eLanguage language, int minplayers, int maxplayers, int friendlyFire, int cycleLevels, eSkill minskill, eSkill maxskill)`
`bool` | `QuickmatchCancelQuery()`
`bool` | `QuickmatchGetCycleLevels(int index)`
`int` | `QuickmatchGetFragLimit(int index)`
`bool` | `QuickmatchGetFriendlyFire(int index)`
`eGameType` | `QuickmatchGetGameType(int index)`
`eLanguage` | `QuickmatchGetLanguage(int index)`
`string` | `QuickmatchGetMapName(int index)`
`eSkill` | `QuickmatchGetMaxSkill(int index)`
`eSkill` | `QuickmatchGetMinSkill(int index)`
`int` | `QuickmatchGetOpenPrivateSlots(int index)`
`int` | `QuickmatchGetOpenPublicSlots(int index)`
`string` | `QuickmatchGetOwner(int index)`
`int` | `QuickmatchGetPlayerCount(int index)`
`int` | `QuickmatchGetQoS(int index)`
`int` | `QuickmatchGetResultCount()`
`int` | `QuickmatchGetTimeLimit(int index)`
`int` | `QuickmatchGetTotalPrivateSlots(int index)`
`int` | `QuickmatchGetTotalPublicSlots(int index)`
`string` | `QuickmatchGetURL()`
`bool` | `QuickmatchIsProbing()`
`bool` | `QuickmatchJoinIsFinished()`
`bool` | `QuickmatchJoinSession(int index)`
`bool` | `QuickmatchProbe()`
`XBL_MESSAGES` | `QuickmatchProcessQuery()`
`bool` | `QuickmatchStartQuery(eGameType gametype)`
    // Matchmaking
`string` | `RebootToDashboard(int page)`
    // Reboot the xbox into the specified page of the dashboard (account management etc)
`void` | `RefreshGameServer(int _GameServerID)`
    ;

    native(459) static final
`void` | `RegisterMyGameServer(string _Name, int _MaxPlayers, int _MaxSpectators, string _Password, string _Info, string _AdditionalInfo, int _Port, bool _IsDedicated)`
    ;

    native(449) static final
`bool` | `RemoveFriend(string friendName)`
`bool` | `RemovePlayerFromMuteList(int index)`
`bool` | `RemovePlayerFromMuteListByName(string name)`
`void` | `RequestGameServerAdditionalInfo(int _GameServerID)`
    //========================  ========================
    native(457) static final
`void` | `RequestGameServerList()`
    //========================  ========================
    native(471) static final
`void` | `ResetJoiningAfterBoot()`
`bool` | `ResetVoiceNet()`
`bool` | `RevokeGameInvite(string friendName)`
`bool` | `SendFeedback(string friendName, BYTE feedback)`
`bool` | `SendFriendRequest(string friendName)`
`bool` | `SendGameInvite(string friendName)`
`bool` | `SessionCreate()`
`bool` | `SessionDelete()`
`bool` | `SessionIsCreateFinished()`
`bool` | `SessionIsSubnetStarted()`
`void` | `SessionListen(bool listen)`
`XBL_MESSAGES` | `SessionProcess()`
`void` | `SessionReset()`
`void` | `SessionSetCycleLevels(bool cyclelevels)`
`void` | `SessionSetFragLimit(int fraglimit)`
`void` | `SessionSetFriendlyFire(bool friendlyfire)`
`void` | `SessionSetGameType(eGameType gametype)`
`void` | `SessionSetLanguage(eLanguage language)`
`void` | `SessionSetMapName(string mapname)`
`void` | `SessionSetMaxSkill(eSkill skill)`
`void` | `SessionSetMinSkill(eSkill skill)`
`void` | `SessionSetPrivateSlots(int count)`
`void` | `SessionSetPublicSlots(int count)`
`void` | `SessionSetReserved(int reserved)`
`void` | `SessionSetTimeLimit(int timelimit)`
`bool` | `SessionStartSubnet()`
`bool` | `SessionUpdate()`
`bool` | `SetActiveFriend(string friendName)`
`bool` | `SetActivePlayer(string playerName)`
`void` | `SetCurrentUser(string user)`
    // Set the current user (doesn't have to be logged in however)
`void` | `SetLadderGame(bool ladder)`
`bool` | `SetListeners(string user, string hear1, string hear2, string hear3)`
    //native static final function bool          ClearListeners();
`void` | `SetOnlineStatus(bool enabled)`
`bool` | `SetPlayerVoiceStatus(string playerName, bool mute)`
`void` | `SetSearchParams(eGameType gt, string map, int ff, eLanguage lang)`
`void` | `SetSetting(int id, int val)`
`void` | `SetShouldUpdateStats(bool set)`
`void` | `SetStatisticsType(eGameType gametype)`
    // Statistics
`bool` | `SetUserState(string user, int flags)`
    // Set user state on xbox live (US_JOINABLE | US_ONLINE | US_PLAYING | US_VOICE)
`void` | `SetVoiceMask(eVoiceMask mask)`
`void` | `SetVoiceMaskEnabled(bool enabled)`
`void` | `SetVoiceMaskPitchScale(float val)`
`void` | `SetVoiceMaskRoboticValue(float val)`
`void` | `SetVoiceMaskSpecEnergyWeight(float val)`
`void` | `SetVoiceMaskWhisperValue(float val)`
`void` | `SetVoiceStatus(bool enabled)`
`void` | `SetVoiceThroughSpeakers(bool enabled)`
    // Xbox Live Online Settings Options
`bool` | `ShouldRenderInvite()`
`void` | `ShutdownAndCleanup()`
    // Shutdown all live services and clean up
`bool` | `StartLogin(string user)`
    // Start a login request
`void` | `StartMatch()`
    ;

    native(444) static final
`void` | `StatsCancelRequestFriends()`
`void` | `StatsCancelRequestOverall()`
`void` | `StatsCancelRequestUser()`
`void` | `StatsCancelReset()`
`int` | `StatsGetActiveUserRank()`
`int` | `StatsGetFriendsResultCount()`
    //same as above, except it's for friends
`int` | `StatsGetFriendsResultDeaths(int index)`
`int` | `StatsGetFriendsResultFlagsCap(int index)`
`int` | `StatsGetFriendsResultFlagsRet(int index)`
`int` | `StatsGetFriendsResultGames(int index)`
`int` | `StatsGetFriendsResultGamesWon(int index)`
`int` | `StatsGetFriendsResultKills(int index)`
`int` | `StatsGetFriendsResultMinutes(int index)`
`string` | `StatsGetFriendsResultName(int index)`
`int` | `StatsGetFriendsResultPosition(int index)`
`int` | `StatsGetFriendsResultSuicides(int index)`
`int` | `StatsGetLeaderboardSize()`
`int` | `StatsGetResultCount()`
`int` | `StatsGetResultDeaths(int index)`
`int` | `StatsGetResultFlagsCap(int index)`
`int` | `StatsGetResultFlagsRet(int index)`
`int` | `StatsGetResultGames(int index)`
`int` | `StatsGetResultGamesWon(int index)`
`int` | `StatsGetResultKills(int index)`
`int` | `StatsGetResultMinutes(int index)`
`string` | `StatsGetResultName(int index)`
`int` | `StatsGetResultPosition(int index)`
`int` | `StatsGetResultSuicides(int index)`
`bool` | `StatsIsRankReady(int rank)`
`bool` | `StatsPumpRequestFriends()`
`bool` | `StatsPumpRequestOverall()`
`bool` | `StatsPumpRequestUser()`
`bool` | `StatsPumpReset()`
`bool` | `StatsRequestFriends(int page, int playersPerPage)`
`bool` | `StatsRequestOverall(int page, int playersPerPage)`
`bool` | `StatsRequestUser(int page, int playersPerPage)`
`bool` | `StatsReset()`
`bool` | `StatsSetRequestedRank(int rank)`
`bool` | `StatsStopCachingLeaderboard()`
`int` | `StatsUpdateMyStats(int kills, int deaths, int suicides, int minutes, int games, int gameswon, int flagscapt, int flagsret)`
`string` | `UnconvertString(string con)`
`bool` | `UpdateFriends()`
`void` | `UpdateMyGameServer(int _MaxPlayers, int _MaxSpectators, string _Password, string _Info, string _AdditionalInfo, int _Port)`
    ;

    native(446) static final
`bool` | `UpdatePlayersTalking()`
`void` | `UpdateServerListeners()`
`bool` | `VerifyIPLoggedIn(string gamertag, string IP)`
    // Verify that a specified IP number joined the VoiceNet
`bool` | `WasMyStatsUpdateSuccessful()`

Source Code

    00001	// This class is the front-end to access the xboxlive capabilities buried inside the engine.
    00002
    00003	class XboxLiveManager extends Object
    00004		native
    00005	    transient;
    00006
    00007
    00008	struct FRIEND_PACKET
    00009	{
    00010	  //var string  name;
    00011	  var int     onlineStatusFlags;
    00012	  var BYTE    onlineStatus;
    00013	  var BYTE    voiceStatus;
    00014	  var bool    isOnline;
    00015	};
    00016
    00017	enum eVoiceMask
    00018	{
    00019	  //VOICE_Normal,
    00020	  VOICE_Anonymous,
    00021	  VOICE_WalkieTalkie,
    00022	  VOICE_RobotAngel,
    00023	  VOICE_Boogieman,
    00024	  VOICE_RobotLord1,
    00025	  VOICE_RobotLord2,
    00026	  VOICE_WhisperingDonald,
    00027	  VOICE_GenderBender,
    00028	  VOICE_RobotChild1,
    00029	  VOICE_RobotChild2,
    00030	  VOICE_WhisperChild,
    00031	  VOICE_NoHomers,
    00032	  VOICE_Android,
    00033	  VOICE_Robot,
    00034	  VOICE_Custom,
    00035	};
    00036
    00037	enum dashboardPage
    00038	{
    00039	  DASHBOARD_ACCOUNT_CREATION,
    00040	  DASHBOARD_ACCOUNT_MANAGEMENT,
    00041	  DASHBOARD_NETWORK_CONFIG,
    00042	  DASHBOARD_MESSAGES,
    00043	};
    00044
    00045	enum eGameType
    00046	{
    00047	  GT_DM,
    00048	  GT_TeamDM,
    00049	  GT_CTF,
    00050	  GT_Sabotage,
    00051	  GT_Duel,
    00052	  GT_Ladder,
    00053	  GT_Invalid,
    00054	};
    00055
    00056	enum eLanguage
    00057	{
    00058	  LANG_All,
    00059	  LANG_EnglishOnly,
    00060	  LANG_FrenchOnly,
    00061	  LANG_GermanOnly,
    00062	  LANG_SpanishOnly,
    00063	  LANG_SwedishOnly,
    00064	  LANG_DutchOnly,
    00065	  LANG_ItalianOnly,
    00066	  LANG_Invalid,
    00067	};
    00068
    00069	enum eSkill
    00070	{
    00071	  SKILL_All,
    00072	  SKILL_Beginner,
    00073	  SKILL_BelowAverage,
    00074	  SKILL_Average,
    00075	  SKILL_AboveAverage,
    00076	  SKILL_Skilled,
    00077	  SKILL_Pro,
    00078	  SKILL_Elite,
    00079	};
    00080
    00081	enum ePasscodeSymbol
    00082	{
    00083	  PS_DPAD_UP,
    00084	  PS_DPAD_DOWN,
    00085	  PS_DPAD_LEFT,
    00086	  PS_DPAD_RIGHT,
    00087	  PS_GAMEPAD_X,
    00088	  PS_GAMEPAD_Y,
    00089	  PS_GAMEPAD_LEFT_TRIGGER,
    00090	  PS_GAMEPAD_RIGHT_TRIGGER,
    00091	};
    00092
    00093	enum XBL_MESSAGES
    00094	{
    00095		XBLE_NONE,
    00096		XBLE_UNEXPECTED,
    00097		//general messages
    00098		XBLE_OVERFLOW,
    00099		XBLE_NO_SESSION,
    00100		XBLE_USER_NOT_LOGGED_ON,
    00101		XBLE_NO_GUEST_ACCESS,
    00102		XBLE_NOT_INITIALIZED,
    00103		XBLE_NO_USER,
    00104		XBLE_INTERNAL_ERROR,
    00105		XBLE_OUT_OF_MEMORY,
    00106		XBLE_TASK_BUSY,
    00107		XBLE_SERVER_ERROR,
    00108		XBLE_IO_ERROR,
    00109		XBLE_BAD_CONTENT_TYPE,
    00110		XBLE_USER_NOT_PRESENT,
    00111		XBLE_PROTOCOL_MISMATCH,
    00112		XBLE_INVALID_SERVICE_ID,
    00113		XBLE_INVALID_REQUEST,
    00114		//logon messages
    00115		XBLE_LOGON_NO_NETWORK_CONNECTION,
    00116		XBLE_LOGON_CANNOT_ACCESS_SERVICE,
    00117		XBLE_LOGON_UPDATE_REQUIRED,
    00118		XBLE_LOGON_SERVERS_TOO_BUSY,
    00119		XBLE_LOGON_CONNECTION_LOST,
    00120		XBLE_LOGON_KICKED_BY_DUPLICATE_LOGON,
    00121		XBLE_LOGON_INVALID_USER,
    00122		XBLE_SILENT_LOGON_DISABLED,
    00123		XBLE_SILENT_LOGON_NO_ACCOUNTS,
    00124		XBLE_SILENT_LOGON_PASSCODE_REQUIRED,
    00125		XBLE_LOGON_SERVICE_NOT_REQUESTED,
    00126		XBLE_LOGON_SERVICE_NOT_AUTHORIZED,
    00127		XBLE_LOGON_SERVICE_TEMPORARILY_UNAVAILABLE,
    00128		XBLE_LOGON_USER_HAS_MESSAGE,
    00129		XBLE_LOGON_USER_ACCOUNT_REQUIRES_MANAGEMENT,
    00130		XBLE_LOGON_MU_NOT_MOUNTED,
    00131		XBLE_LOGON_MU_IO_ERROR,
    00132	  XBLE_LOGON_CHANGE_USER_FAILED,
    00133		XBLE_LOGON_NOT_LOGGED_ON,
    00134		//notification messages
    00135		XBLE_NOTIFICATION_BAD_CONTENT_TYPE,
    00136		XBLE_NOTIFICATION_INVALID_MESSAGE_TYPE,
    00137		XBLE_NOTIFICATION_NO_ADDRESS,
    00138		XBLE_NOTIFICATION_INVALID_PUID,
    00139		XBLE_NOTIFICATION_NO_CONNECTION,
    00140		XBLE_NOTIFICATION_SEND_FAILED,
    00141		XBLE_NOTIFICATION_RECV_FAILED,
    00142		XBLE_NOTIFICATION_MESSAGE_TRUNCATED,
    00143		XBLE_NOTIFICATION_SERVER_BUSY,
    00144		XBLE_NOTIFICATION_LIST_FULL,
    00145		XBLE_NOTIFICATION_BLOCKED,
    00146		XBLE_NOTIFICATION_FRIEND_PENDING,
    00147		XBLE_NOTIFICATION_FLUSH_TICKETS,
    00148		XBLE_NOTIFICATION_TOO_MANY_REQUESTS,
    00149		XBLE_NOTIFICATION_USER_ALREADY_EXISTS,
    00150		XBLE_NOTIFICATION_USER_NOT_FOUND,
    00151		XBLE_NOTIFICATION_OTHER_LIST_FULL,
    00152		XBLE_NOTIFICATION_SELF,
    00153		XBLE_NOTIFICATION_SAME_TITLE,
    00154		XBLE_NOTIFICATION_NO_TASK,
    00155		//match messages
    00156		XBLE_MATCH_INVALID_SESSION_ID,
    00157		XBLE_MATCH_INVALID_TITLE_ID,
    00158		XBLE_MATCH_INVALID_DATA_TYPE,
    00159		XBLE_MATCH_REQUEST_TOO_SMALL,
    00160		XBLE_MATCH_REQUEST_TRUNCATED,
    00161		XBLE_MATCH_INVALID_SEARCH_REQ,
    00162		XBLE_MATCH_INVALID_OFFSET,
    00163		XBLE_MATCH_INVALID_ATTR_TYPE,
    00164		XBLE_MATCH_INVALID_VERSION,
    00165		XBLE_MATCH_OVERFLOW,
    00166		XBLE_MATCH_INVALID_RESULT_COL,
    00167		XBLE_MATCH_INVALID_STRING,
    00168		XBLE_MATCH_STRING_TOO_LONG,
    00169		XBLE_MATCH_BLOB_TOO_LONG,
    00170		XBLE_MATCH_INVALID_ATTRIBUTE_ID,
    00171		XBLE_MATCH_SESSION_ALREADY_EXISTS,
    00172		XBLE_MATCH_CRITICAL_DB_ERR,
    00173		XBLE_MATCH_NOT_ENOUGH_COLUMNS,
    00174		XBLE_MATCH_PERMISSION_DENIED,
    00175		XBLE_MATCH_INVALID_PART_SCHEME,
    00176		XBLE_MATCH_INVALID_PARAM,
    00177		XBLE_MATCH_DATA_TYPE_MISMATCH,
    00178		XBLE_MATCH_SERVER_ERROR,
    00179		XBLE_MATCH_NO_USERS,
    00180		XBLE_MATCH_INVALID_BLOB,
    00181		//offering messages
    00182		XBLE_OFFERING_NEW_CONTENT,
    00183		XBLE_OFFERING_NO_NEW_CONTENT,
    00184		XBLE_OFFERING_BAD_REQUEST,
    00185		XBLE_OFFERING_INVALID_USER,
    00186		XBLE_OFFERING_INVALID_OFFER_ID,
    00187		XBLE_OFFERING_INELIGIBLE_FOR_OFFER,
    00188		XBLE_OFFERING_OFFER_EXPIRED,
    00189		XBLE_OFFERING_SERVICE_UNREACHABLE,
    00190		XBLE_OFFERING_PURCHASE_BLOCKED,
    00191		XBLE_OFFERING_PURCHASE_DENIED,
    00192		XBLE_OFFERING_BILLING_SERVER_ERROR,
    00193		XBLE_OFFERING_OFFER_NOT_CANCELABLE,
    00194		XBLE_OFFERING_NOTHING_TO_CANCEL,
    00195		XBLE_OFFERING_ALREADY_OWN_MAX,
    00196		XBLE_OFFERING_NO_CHARGE,
    00197		XBLE_OFFERING_PERMISSION_DENIED,
    00198		XBLE_OFFERING_NAME_TAKEN,
    00199		//offering/billing messages
    00200		XBLE_BILLING_AUTHORIZATION_FAILED,
    00201		XBLE_BILLING_CREDIT_CARD_EXPIRED,
    00202		XBLE_BILLING_NON_ACTIVE_ACCOUNT,
    00203		XBLE_BILLING_INVALID_PAYMENT_INSTRUMENT_STATUS,
    00204		//i have no idea messages
    00205		XBLE_UODB_KEY_ALREADY_EXISTS,
    00206		XBLE_MSGSVR_INVALID_REQUEST,
    00207		XBLE_FEEDBACK_NULL_TARGET,
    00208		XBLE_FEEDBACK_BAD_TYPE,
    00209		XBLE_FEEDBACK_CANNOT_LOG,
    00210		//stat messages
    00211		XBLE_STAT_BAD_REQUEST,
    00212		XBLE_STAT_INVALID_TITLE_OR_LEADERBOARD,
    00213		XBLE_STAT_TOO_MANY_SPECS,
    00214		XBLE_STAT_TOO_MANY_STATS,
    00215		XBLE_STAT_USER_NOT_FOUND,
    00216		XBLE_STAT_SET_FAILED_0,
    00217		XBLE_STAT_PERMISSION_DENIED,
    00218		XBLE_STAT_LEADERBOARD_WAS_RESET,
    00219		XBLE_STAT_INVALID_ATTACHMENT,
    00220		XBLE_STAT_CAN_UPLOAD_ATTACHMENT,
    00221		//damned if I know
    00222		XBLE_STORAGE_INVALID_REQUEST,
    00223		XBLE_STORAGE_ACCESS_DENIED,
    00224		XBLE_STORAGE_FILE_IS_TOO_BIG,
    00225		XBLE_STORAGE_FILE_NOT_FOUND,
    00226		XBLE_STORAGE_INVALID_ACCESS_TOKEN,
    00227		XBLE_STORAGE_CANNOT_FIND_PATH,
    00228		XBLE_STORAGE_FILE_IS_ELSEWHERE,
    00229		XBLE_STORAGE_INVALID_STORAGE_PATH,
    00230		XBLE_STORAGE_INVALID_FACILITY,
    00231		XBLE_STORAGE_UNKNOWN_DOMAIN,
    00232		XBLE_STORAGE_SYNC_TIME_SKEW,
    00233		XBLE_STORAGE_SYNC_TIME_SKEW_LOCALTIME,
    00234		XBLE_CUSTOM_YOU_HAVE_NO_FRIENDS,
    00235		XBLE_RUNNING,
    00236		XBLE_COUNT
    00237	};
    00238
    00239
    00240	const US_JOINABLE = 1;
    00241	const US_ONLINE   = 2;
    00242	const US_PLAYING  = 4;
    00243	const US_VOICE    = 8;
    00244
    00245
00246 00247 00248 const XONLINE_FRIENDSTATE_FLAG_NONE = 0x00000000; 00249 const XONLINE_FRIENDSTATE_FLAG_ONLINE = 0x00000001; 00250 const XONLINE_FRIENDSTATE_FLAG_PLAYING = 0x00000002; 00251 const XONLINE_FRIENDSTATE_FLAG_VOICE = 0x00000008; 00252 const XONLINE_FRIENDSTATE_FLAG_JOINABLE = 0x00000010; 00253 const XONLINE_FRIENDSTATE_MASK_GUESTS = 0x00000060; 00254 const XONLINE_FRIENDSTATE_FLAG_RESERVED0 = 0x00000080; 00255 const XONLINE_FRIENDSTATE_FLAG_SENTINVITE = 0x04000000; 00256 const XONLINE_FRIENDSTATE_FLAG_RECEIVEDINVITE = 0x08000000; 00257 const XONLINE_FRIENDSTATE_FLAG_INVITEACCEPTED = 0x10000000; 00258 const XONLINE_FRIENDSTATE_FLAG_INVITEREJECTED = 0x20000000; 00259 const XONLINE_FRIENDSTATE_FLAG_SENTREQUEST = 0x40000000; 00260 const XONLINE_FRIENDSTATE_FLAG_RECEIVEDREQUEST = 0x80000000; 00261 00262 00263 00264 00265 00266 00267 00268 var const localized string errorMessages[132]; // XBLE_COUNT messages 00269 00270 /* 00271 // a game server 00272 struct MMGameServer 00273 { 00274 var int GameServerId; // The Id of the game server 00275 var string Name; // Its name 00276 var string IPAddress; // Its IP address 00277 var string AltIPAddress; // Its Alternate IP address 00278 var int MaxNbPlayers; // The max number of players allowed in 00279 var int MaxNbSpectators; // The max number of spectators allowed in 00280 var int CurrentNbPlayers; // The current nb of players in the game 00281 var int CurrentNbSpectators;// The current nb of spectators in the game 00282 }; 00283 00284 00285 struct MMPlayer 00286 { 00287 var string Alias; // the name of the player 00288 var string IPAddress; // Its IP address 00289 var string AltIPAddress; // Its alternate IP address 00290 var int IsSpectator; // is he a spectator ? 00291 }; 00292 */ 00293 00294 // Check if the actual hardware network cable is connected to the xbox 00295 native static final function bool IsNetCableIn(); 00296 00297 // Check if someone logged in using this account (should autologout) 00298 native static final function bool IsLoggedInTwice(); 00299 00300 // Get number of Xbox Live accounts on the system 00301 native static final function int GetNumberOfAccounts(); 00302 // Get the name of a specified Xbox Live account 00303 native static final function string GetAccountName(int index); 00304 // Is the account list updated since last check? (sets the update flag to false also) 00305 native static final function bool IsAccountListUpdated(); 00306 00307 // Reboot the xbox into the specified page of the dashboard (account management etc) 00308 native static final function string RebootToDashboard(int page); 00309 00310 // Returns true if the specified user has a passcode 00311 native static final function bool HasPasscode(string user); 00312 // Returns true if the passcode is the correct one for the specified user. 00313 native static final function bool IsPasscodeCorrect(string user, ePasscodeSymbol passcode[4]); 00314 00315 // Start a login request 00316 native static final function bool StartLogin(string user); 00317 // Returns true if/when the login is successful 00318 native static final function bool IsLoggedIn(string user); 00319 // Returns true if there was an error logging in (resets it also) 00320 native static final function bool ErrorLoggingIn(string user); 00321 00322 // returns true if successfully joined / created a game 00323 native static final function bool IsPlaying(); 00324 00325 // returns true if we are inside of a game (maybe without network) 00326 native static final function bool IsIngame(); 00327 00328 // Set the current user (doesn't have to be logged in however) 00329 native static final function SetCurrentUser(string user); 00330 // Get the current user (doesn't have to be logged in however) 00331 native static final function string GetCurrentUser(); 00332 00333 // Shutdown all live services and clean up 00334 native static final function ShutdownAndCleanup(); 00335 00336 // Set user state on xbox live (US_JOINABLE | US_ONLINE | US_PLAYING | US_VOICE) 00337 native static final function bool SetUserState(string user, int flags); 00338 00339 // Get the last error (XBL_MESSAGE) 00340 native static final function int GetLastError(); 00341 00342 // Functions to join a game after rebooting (joining from other xbox game) 00343 native static final function bool IsJoiningAfterBoot(); 00344 native static final function ResetJoiningAfterBoot(); 00345 native static final function string GetFriendInviterAfterBoot(); 00346 native static final function string GetUserInvitedAfterBoot(); 00347 00348 native static final function bool IsLadderGame(); 00349 native static final function SetLadderGame(bool ladder); 00350 00351 native static final function SetSearchParams(eGameType gt, string map, int ff, eLanguage lang); 00352 native static final function eGameType GetSearchGameType(); 00353 native static final function string GetSearchMap(); 00354 native static final function int GetSearchFriendlyFire(); 00355 native static final function eLanguage GetSearchLanguage(); 00356 00357 00358 00359 // Get a descriptive error string from specified error 00360 final function string GetErrorString(int msg) 00361 { 00362 return errorMessages[msg]; 00363 } 00364 00365 // Has specified user voice? 00366 native static final function bool HasUserVoice(string user); 00367 00368 // Verify that a specified IP number joined the VoiceNet 00369 native static final function bool VerifyIPLoggedIn(string gamertag, string IP); 00370 00371 // Get the username from the user with specified IP 00372 native static final function string GetGamerTag(string IP); 00373 00374 // Maphandling 00375 native static final function string GetFirstMap(eGameType gameType); 00376 native static final function string GetNextMap(eGameType gameType); 00377 native static final function string GetRandomMap(eGameType gameType); 00378 native static final function string GetNiceName(string Map); 00379 native static final function int GetRecommendedPlayers(string Map); 00380 00381 // Ingame player list (currently playing players) 00382 native static final function bool CachePlayerList(); 00383 native static final function bool UpdatePlayersTalking(); 00384 native static final function int GetNumberOfPlayers(); 00385 native static final function string GetPlayerName(int index); 00386 native static final function bool IsPlayerTalking(int index); 00387 native static final function bool IsPlayerMuted(int index); 00388 native static final function bool HasPlayerVoice(int index); 00389 native static final function bool IsPlayerInGame(int index); 00390 00391 native static final function bool AddPlayerToMuteList(int index); 00392 native static final function bool RemovePlayerFromMuteList(int index); 00393 native static final function bool IsPlayerOnMuteList(int index); 00394 native static final function bool AddPlayerToMuteListByName(string name); 00395 native static final function bool RemovePlayerFromMuteListByName(string name); 00396 native static final function bool IsPlayerOnMuteListByName(string name); 00397 00398 00399 // Xbox Live Online Settings Options 00400 native static final function SetVoiceThroughSpeakers(bool enabled); 00401 native static final function bool GetVoiceThroughSpeakers(); 00402 native static final function SetOnlineStatus(bool enabled); 00403 native static final function bool GetOnlineStatus(); 00404 native static final function SetVoiceStatus(bool enabled); 00405 native static final function bool GetVoiceStatus(); 00406 native static final function SetVoiceMask(eVoiceMask mask); 00407 native static final function eVoiceMask GetVoiceMask(); 00408 00409 native static final function SetVoiceMaskSpecEnergyWeight(float val); 00410 native static final function SetVoiceMaskPitchScale(float val); 00411 native static final function SetVoiceMaskWhisperValue(float val); 00412 native static final function SetVoiceMaskRoboticValue(float val); 00413 native static final function float GetVoiceMaskSpecEnergyWeight(); 00414 native static final function float GetVoiceMaskPitchScale(); 00415 native static final function float GetVoiceMaskWhisperValue(); 00416 native static final function float GetVoiceMaskRoboticValue(); 00417 00418 native static final function SetVoiceMaskEnabled(bool enabled); 00419 native static final function bool GetVoiceMaskEnabled(); 00420 00421 native static final function bool IsServerDown(); 00422 native static final function bool IsKicked(); 00423 00424 // Statistics 00425 native static final function SetStatisticsType(eGameType gametype); 00426 native static final function int StatsGetLeaderboardSize(); 00427 native static final function bool StatsIsRankReady(int rank); 00428 native static final function int StatsGetActiveUserRank(); 00429 native static final function bool StatsSetRequestedRank(int rank); 00430 native static final function bool StatsStopCachingLeaderboard(); 00431 00432 native static final function eGameType GetStatisticsType(); 00433 00434 native static final function bool StatsReset(); 00435 native static final function bool StatsPumpReset(); 00436 native static final function StatsCancelReset(); 00437 00438 native static final function bool StatsRequestOverall(int page, int playersPerPage); 00439 native static final function bool StatsPumpRequestOverall(); 00440 native static final function StatsCancelRequestOverall(); 00441 native static final function bool StatsRequestFriends(int page, int playersPerPage); 00442 native static final function bool StatsPumpRequestFriends(); 00443 native static final function StatsCancelRequestFriends(); 00444 native static final function bool StatsRequestUser(int page, int playersPerPage); 00445 native static final function bool StatsPumpRequestUser(); 00446 native static final function StatsCancelRequestUser(); 00447 00448 native static final function int StatsUpdateMyStats(int kills, int deaths, int suicides, int minutes, int games, int gameswon, int flagscapt, int flagsret); 00449 native static final function bool IsMyStatsUpdateDone(); 00450 native static final function bool WasMyStatsUpdateSuccessful(); 00451 00452 native static final function int StatsGetResultCount(); 00453 native static final function int StatsGetResultPosition(int index); 00454 native static final function string StatsGetResultName(int index); 00455 native static final function int StatsGetResultKills(int index); 00456 native static final function int StatsGetResultDeaths(int index); 00457 native static final function int StatsGetResultMinutes(int index); 00458 native static final function int StatsGetResultGames(int index); 00459 native static final function int StatsGetResultGamesWon(int index); 00460 native static final function int StatsGetResultSuicides(int index); 00461 native static final function int StatsGetResultFlagsRet(int index); 00462 native static final function int StatsGetResultFlagsCap(int index); 00463 00464 //same as above, except it's for friends 00465 native static final function int StatsGetFriendsResultCount(); 00466 native static final function int StatsGetFriendsResultPosition(int index); 00467 native static final function string StatsGetFriendsResultName(int index); 00468 native static final function int StatsGetFriendsResultKills(int index); 00469 native static final function int StatsGetFriendsResultDeaths(int index); 00470 native static final function int StatsGetFriendsResultMinutes(int index); 00471 native static final function int StatsGetFriendsResultGames(int index); 00472 native static final function int StatsGetFriendsResultGamesWon(int index); 00473 native static final function int StatsGetFriendsResultSuicides(int index); 00474 native static final function int StatsGetFriendsResultFlagsRet(int index); 00475 native static final function int StatsGetFriendsResultFlagsCap(int index); 00476 00477 //ladder things 00478 native static final function bool GetMyLadderStats(); 00479 native static final function bool IsGetMyLadderStatsDone(); 00480 native static final function int GetLadderSize(); 00481 native static final function int GetMyLadderRank(); 00482 native static final function SetShouldUpdateStats(bool set); 00483 00484 00485 // Matchmaking 00486 native static final function bool QuickmatchStartQuery(eGameType gametype); 00487 native static final function XBL_MESSAGES QuickmatchProcessQuery(); 00488 native static final function bool QuickmatchCancelQuery(); 00489 native static final function int QuickmatchGetResultCount(); 00490 native static final function eGameType QuickmatchGetGameType(int index); 00491 native static final function string QuickmatchGetMapName(int index); 00492 native static final function string QuickmatchGetOwner(int index); 00493 native static final function int QuickmatchGetFragLimit(int index); 00494 native static final function int QuickmatchGetTimeLimit(int index); 00495 native static final function eLanguage QuickmatchGetLanguage(int index); 00496 native static final function eSkill QuickmatchGetMinSkill(int index); 00497 native static final function eSkill QuickmatchGetMaxSkill(int index); 00498 native static final function int QuickmatchGetPlayerCount(int index); 00499 native static final function bool QuickmatchGetFriendlyFire(int index); 00500 native static final function bool QuickmatchGetCycleLevels(int index); 00501 native static final function int QuickmatchGetTotalPublicSlots(int index); 00502 native static final function int QuickmatchGetOpenPublicSlots(int index); 00503 native static final function int QuickmatchGetTotalPrivateSlots(int index); 00504 native static final function int QuickmatchGetOpenPrivateSlots(int index); 00505 native static final function bool QuickmatchJoinSession(int index); 00506 native static final function bool QuickmatchJoinIsFinished(); 00507 native static final function string QuickmatchGetURL(); 00508 native static final function int QuickmatchGetQoS(int index); 00509 native static final function bool QuickmatchProbe(); 00510 native static final function bool QuickmatchIsProbing(); 00511 00512 00513 native static final function bool OptimatchStartQuery(eGameType gametype, string mapname, eLanguage language, int minplayers, int maxplayers, int friendlyFire, int cycleLevels, eSkill minskill, eSkill maxskill); 00514 native static final function XBL_MESSAGES OptimatchProcessQuery(); 00515 native static final function bool OptimatchCancelQuery(); 00516 native static final function int OptimatchGetResultCount(); 00517 native static final function eGameType OptimatchGetGameType(int index); 00518 native static final function string OptimatchGetMapName(int index); 00519 native static final function string OptimatchGetOwner(int index); 00520 native static final function int OptimatchGetFragLimit(int index); 00521 native static final function int OptimatchGetTimeLimit(int index); 00522 native static final function eLanguage OptimatchGetLanguage(int index); 00523 native static final function eSkill OptimatchGetMinSkill(int index); 00524 native static final function eSkill OptimatchGetMaxSkill(int index); 00525 native static final function int OptimatchGetPlayerCount(int index); 00526 native static final function bool OptimatchGetFriendlyFire(int index); 00527 native static final function bool OptimatchGetCycleLevels(int index); 00528 native static final function int OptimatchGetTotalPublicSlots(int index); 00529 native static final function int OptimatchGetOpenPublicSlots(int index); 00530 native static final function int OptimatchGetTotalPrivateSlots(int index); 00531 native static final function int OptimatchGetOpenPrivateSlots(int index); 00532 native static final function bool OptimatchJoinSession(int index); 00533 native static final function bool OptimatchJoinIsFinished(); 00534 native static final function string OptimatchGetURL(); 00535 native static final function int OptimatchGetQoS(int index); 00536 native static final function bool OptimatchProbe(); 00537 native static final function bool OptimatchIsProbing(); 00538 00539 native static final function string ConvertString(string org); 00540 native static final function string UnconvertString(string con); 00541 00542 native static final function bool JoinSession(); 00543 native static final function bool JoinIsFinished(); 00544 native static final function string JoinGetURL(); 00545 00546 native static final function bool FriendIsInSameGame(string friendName); 00547 native static final function bool FriendIsInSameSession(string friendName); 00548 native static final function bool FriendFindSession(string friendName); 00549 native static final function bool FriendFindIsFinished(); 00550 native static final function bool FriendJoinSession(); 00551 native static final function bool FriendJoinIsFinished(); 00552 native static final function string FriendJoinGetURL(); 00553 00554 native static final function bool SessionCreate(); 00555 native static final function bool SessionIsCreateFinished(); 00556 native static final function bool SessionStartSubnet(); 00557 native static final function bool SessionIsSubnetStarted(); 00558 native static final function bool SessionUpdate(); 00559 native static final function XBL_MESSAGES SessionProcess(); 00560 native static final function bool SessionDelete(); 00561 native static final function SessionReset(); 00562 native static final function SessionListen(bool listen); 00563 native static final function SessionSetGameType(eGameType gametype); 00564 native static final function SessionSetMapName(string mapname); 00565 native static final function SessionSetLanguage(eLanguage language); 00566 native static final function SessionSetFragLimit(int fraglimit); 00567 native static final function SessionSetTimeLimit(int timelimit); 00568 native static final function SessionSetPublicSlots(int count); 00569 native static final function SessionSetPrivateSlots(int count); 00570 native static final function SessionSetReserved(int reserved); 00571 native static final function SessionSetFriendlyFire(bool friendlyfire); 00572 native static final function SessionSetCycleLevels(bool cyclelevels); 00573 native static final function SessionSetMinSkill(eSkill skill); 00574 native static final function SessionSetMaxSkill(eSkill skill); 00575 00576 00577 static final function string GetGameTypeString(eGameType gameType) 00578 { 00579 switch(gameType) 00580 { 00581 case GT_DM: 00582 return "XIIIMP.XIIIMPGameInfo"; 00583 case GT_TeamDM: 00584 return "XIIIMP.XIIIMPTeamGameInfo"; 00585 case GT_CTF: 00586 return "XIIIMP.XIIIMPCTFGameInfo"; 00587 case GT_Sabotage: 00588 return "XIIIMP.XIIIMPBombGame"; 00589 case GT_Duel: 00590 return "XIIIMP.XIIIRocketArena"; 00591 case GT_Ladder: 00592 return "XIIIMP.XIIIMPGameInfo"; 00593 case GT_Invalid: 00594 return ""; 00595 } 00596 } 00597 00598 // FRIENDS SYSTEM 00599 00600 native static final function FRIEND_PACKET GetFriendAtIndex(int index); 00601 native static final function string GetFriendNameAtIndex(int index); 00602 native static final function string GetFriendTitleAtIndex(int index); 00603 native static final function FRIEND_PACKET GetFriend(string friendName); 00604 native static final function int GetNumberOfFriends(); 00605 00606 native static final function bool UpdateFriends(); 00607 native static final function bool IsFriendsListChanged(); 00608 00609 00610 native static final function bool SetActiveFriend(string friendName); 00611 native static final function FRIEND_PACKET GetActiveFriend(); 00612 native static final function string GetActiveFriendName(); 00613 native static final function string GetActiveFriendTitle(); 00614 00615 native static final function bool RemoveFriend(string friendName); 00616 native static final function string GetFriendGameName(string friendName); 00617 native static final function bool AcceptFriendRequest(string friendName); 00618 native static final function bool DeclineFriendRequest(string friendName); 00619 native static final function bool CancelFriendRequest(string friendName); 00620 native static final function bool BlockFriendRequest(string friendName); 00621 native static final function bool SendFriendRequest(string friendName); 00622 native static final function bool SendGameInvite(string friendName); 00623 native static final function bool AcceptGameInvite(string friendName); 00624 native static final function bool DeclineGameInvite(string friendName); 00625 native static final function bool RevokeGameInvite(string friendName); 00626 native static final function bool IsUpdatingFriends(); 00627 native static final function bool IsInSameSession(string friendName); 00628 00629 00630 native static final function bool SendFeedback(string friendName, BYTE feedback); 00631 00632 native static final function bool SetActivePlayer(string playerName); 00633 native static final function string GetActivePlayer(); 00634 native static final function bool IsFriend(string playerName); 00635 native static final function bool IsPlayerListUpdated(); 00636 00637 native static final function bool IsHost(); 00638 native static final function bool InternalKick(string playerName); 00639 native static final function bool SetPlayerVoiceStatus(string playerName, bool mute); 00640 00641 native static final function LevelInfo GetLevelInfo(); 00642 native static final function bool IsPlayerNameInGame(string playerName); 00643 00644 00645 native static final function bool ShouldRenderInvite(); 00646 native static final function bool HasInvite(); 00647 native static final function bool HasFriendRequest(); 00648 00649 native static final function bool BootToUpdateXBE(); 00650 00651 native static final function bool BootToDownloadManager(); 00652 00653 native static final function bool ResetVoiceNet(); 00654 00655 //native static final function bool AddListener(string user); 00656 //native static final function bool RemoveListener(string user); 00657 native static final function bool IsUserMuted(string user); 00658 //native static final function bool ClearListeners(); 00659 00660 native static final function bool SetListeners(string user, string hear1, string hear2, string hear3); 00661 00662 native static final function bool EnumerateFriends(bool start); 00663 00664 native static final function SetSetting(int id, int val); 00665 native static final function int GetSetting(int id); 00666 00667 static final function bool Kick(string playerName) 00668 { 00669 //local LevelInfo info; 00670 //info = GetLevelInfo(); 00671 //if (info == none) 00672 // return false; 00673 //if (InternalKick(playerName)) 00674 // info.Game.KickBan(playerName); 00675 return InternalKick(playerName); 00676 } 00677 00678 native static final function UpdateServerListeners(); 00679 00680 /* 00681 // create a user account on Game Service network (before login) 00682 native(475) static final function CreatePlayerAccount(string _Alias, string _Password, string _FirstName, string _LastName, string _Email, string _Country); 00683 native(474) static final function bool IsPlayerAccountCreated(out int _ResultCode); 00684 00685 //======================== Login ======================== 00686 // Send a request to log a player in the match making system. The name (_Alias) and password (_Password) are required. 00687 00688 native(473) static final function Login(string _Alias, string _Password); 00689 native(472) static final function Logout(); 00690 00691 00692 00693 //======================== ======================== 00694 native(471) static final function RequestGameServerList(); 00695 native(463) static final function bool IsGameServerListComplete(out int _ResultCode); 00696 00697 00698 // Modify user account 00699 native(462) static final function ModifyPlayerAccount(string _Password, string _FirstName, string _LastName, string _Email, string _Country); 00700 native(461) static final function bool IsPlayerAccountModified(out int _ResultCode); 00701 00702 00703 00704 //======================== ======================== 00705 native(460) static final iterator function AllGameServer(out MMGameServer _GameServer); 00706 00707 00708 native(459) static final function RefreshGameServer(int _GameServerID); 00709 native(458) static final function bool IsGameServerRefreshed(out int _ResultCode); 00710 00711 00712 //======================== ======================== 00713 native(457) static final function RequestGameServerAdditionalInfo(int _GameServerID); 00714 native(456) static final function bool IsGameServerAdditionalInfoArrived(out int _ResultCode, out string _AdditionalInfo); 00715 00716 00717 //======================== ======================== 00718 native(455) static final function JoinGameServer(int _GameServerID, string _Password); 00719 native(454) static final function bool IsJoinGameServerAcknowledged(out int _ResultCode, out string _GameServerIP, out string _GameServerAltIp, out int _GameServerPort); 00720 00721 //======================== ======================== 00722 native(453) static final function bool IsMatchStartedByGameServer(); 00723 00724 //======================== ======================== 00725 native(452) static final function IStartMatch(); 00726 native(451) static final function IFinishMatch(); 00727 00728 00729 //======================== ======================== 00730 native(450) static final function LeaveGameServer(); 00731 00732 00733 00734 00735 native(449) static final function RegisterMyGameServer(string _Name, int _MaxPlayers, int _MaxSpectators, string _Password, string _Info, string _AdditionalInfo, int _Port, bool _IsDedicated); 00736 native(448) static final function bool IsMyGameServerRegistered(out int _ResultCode); 00737 00738 native(447) static final iterator function AllPlayerConnectedToMyGameServer(out MMPlayer _Player); 00739 00740 native(446) static final function UpdateMyGameServer(int _MaxPlayers, int _MaxSpectators, string _Password, string _Info, string _AdditionalInfo, int _Port); 00741 native(445) static final function bool IsMyGameServerUpdated(out int _ResultCode); 00742 00743 native(444) static final function StartMatch(); 00744 native(443) static final function bool IsStartMatchAcknowledged(out int _ResultCode); 00745 00746 native(442) static final function MatchFinished(); 00747 native(441) static final function bool IsMatchFinishedAcknowledged(out int _ResultCode); 00748 */ 00749 00750 defaultproperties 00751 { 00752 errorMessages(0)="No error" 00753 errorMessages(1)="Unexpected error" 00754 errorMessages(2)="Overflow error" 00755 errorMessages(3)="No session found" 00756 errorMessages(4)="User is not logged on" 00757 errorMessages(5)="No guest access" 00758 errorMessages(6)="Not initialized" 00759 errorMessages(7)="No user" 00760 errorMessages(8)="Internal error" 00761 errorMessages(9)="Out of memory" 00762 errorMessages(10)="Task busy" 00763 errorMessages(11)="Server error" 00764 errorMessages(12)="IO error" 00765 errorMessages(13)="Bad content" 00766 errorMessages(14)="User not present" 00767 errorMessages(15)="Protocol mismatch" 00768 errorMessages(16)="Invalid service ID" 00769 errorMessages(17)="Invalid request" 00770 errorMessages(18)="No network connection" 00771 errorMessages(19)="Cannot access service" 00772 errorMessages(20)="Update required" 00773 errorMessages(21)="Server is too busy" 00774 errorMessages(22)="Connection lost" 00775 errorMessages(23)="Already logged in" 00776 errorMessages(24)="Invalid user" 00777 errorMessages(25)="Logon disabled" 00778 errorMessages(26)="No accounts" 00779 errorMessages(27)="Passcode required" 00780 errorMessages(28)="Service not requested" 00781 errorMessages(29)="Service not authorized" 00782 errorMessages(30)="Service temporarily unavailable" 00783 errorMessages(31)="User has message" 00784 errorMessages(32)="Account requires management" 00785 errorMessages(33)="Memory unit not mounted" 00786 errorMessages(34)="Failed to read from Memory unit" 00787 errorMessages(35)="Failed to change user" 00788 errorMessages(36)="Not logged on" 00789 errorMessages(37)="Bad content type" 00790 errorMessages(38)="Invalid message type" 00791 errorMessages(39)="No address" 00792 errorMessages(40)="Invalid PUID" 00793 errorMessages(41)="No connection" 00794 errorMessages(42)="Send failed" 00795 errorMessages(43)="Receive failed" 00796 errorMessages(44)="Message truncated" 00797 errorMessages(45)="Server is busy" 00798 errorMessages(46)="List is full" 00799 errorMessages(47)="Blocked notification" 00800 errorMessages(48)="Friend pending" 00801 errorMessages(49)="Flush tickets" 00802 errorMessages(50)="Too many requests" 00803 errorMessages(51)="User already exists" 00804 errorMessages(52)="User not found" 00805 errorMessages(53)="List is full" 00806 errorMessages(54)="Self notification" 00807 errorMessages(55)="Same title" 00808 errorMessages(56)="No task" 00809 errorMessages(57)="Invalid session ID" 00810 errorMessages(58)="Invalid title ID" 00811 errorMessages(59)="Invalid data type" 00812 errorMessages(60)="Request is too small" 00813 errorMessages(61)="Request is truncated" 00814 errorMessages(62)="Invalid search request" 00815 errorMessages(63)="Invalid offset" 00816 errorMessages(64)="Invalid attribute type" 00817 errorMessages(65)="Invalid version" 00818 errorMessages(66)="Overflow" 00819 errorMessages(67)="Invalid result" 00820 errorMessages(68)="Invalid string" 00821 errorMessages(69)="String is too long" 00822 errorMessages(70)="Data is too big" 00823 errorMessages(71)="Invalid attribute ID" 00824 errorMessages(72)="Session already exists" 00825 errorMessages(73)="Critical database error" 00826 errorMessages(74)="Not enough columns" 00827 errorMessages(75)="Permission denied" 00828 errorMessages(76)="Invalid part scheme" 00829 errorMessages(77)="Invalid parameters" 00830 errorMessages(78)="Data type mismatch" 00831 errorMessages(79)="Server error" 00832 errorMessages(80)="No users" 00833 errorMessages(81)="Invalid data" 00834 errorMessages(82)="New content" 00835 errorMessages(83)="No new content" 00836 errorMessages(84)="Bad request" 00837 errorMessages(85)="Invalid user" 00838 errorMessages(86)="Invalid offer ID" 00839 errorMessages(87)="Ineligible for offer" 00840 errorMessages(88)="Offer expired" 00841 errorMessages(89)="Service unreachable" 00842 errorMessages(90)="Purchase blocked" 00843 errorMessages(91)="Purchase denied" 00844 errorMessages(92)="Billing server error" 00845 errorMessages(93)="Offer not cancelable" 00846 errorMessages(94)="Nothing to cancel" 00847 errorMessages(95)="Already own max" 00848 errorMessages(96)="No charge" 00849 errorMessages(97)="Permission denied" 00850 errorMessages(98)="Name is already taken" 00851 errorMessages(99)="Authorization failed" 00852 errorMessages(100)="Credit card expired" 00853 errorMessages(101)="Non active account" 00854 errorMessages(102)="Invalid payment instrument status" 00855 errorMessages(103)="Database key already exists" 00856 errorMessages(104)="Invalid request" 00857 errorMessages(105)="NULL Target" 00858 errorMessages(106)="Bad type" 00859 errorMessages(107)="Cannot log" 00860 errorMessages(108)="Bad request" 00861 errorMessages(109)="Invalid title or leaderboard" 00862 errorMessages(110)="Too many specs" 00863 errorMessages(111)="Too many stats" 00864 errorMessages(112)="User not found" 00865 errorMessages(113)="Set failed" 00866 errorMessages(114)="Permission denied" 00867 errorMessages(115)="Leaderboard was reset" 00868 errorMessages(116)="Invalid attachment" 00869 errorMessages(117)="Can upload attachment" 00870 errorMessages(118)="Invalid request" 00871 errorMessages(119)="Access denied" 00872 errorMessages(120)="File is too big" 00873 errorMessages(121)="File not found" 00874 errorMessages(122)="Invalid access token" 00875 errorMessages(123)="Cannot find path" 00876 errorMessages(124)="File is elsewhere" 00877 errorMessages(125)="Invalid storage path" 00878 errorMessages(126)="Invalid facility" 00879 errorMessages(127)="Unknown domain" 00880 errorMessages(128)="Sync time skew" 00881 errorMessages(129)="Sync time skew localtime" 00882 errorMessages(130)="You have no friends yet" 00883 errorMessages(131)="Processing..." 00884 }

End Source Code