TOM_RUS
28.06.2012, 19:38
Решил запостить чтобы не потерялось
Commentator mode allows you: detach camera from player, disable camera collision, change camera speed, yaw, pitch, fov, position
lua CommentatorSetMode(number)
lua CommentatorToggleMode()
CMSG_COMMENTATOR_ENABLE
uint32 enable; // 0-disable/1-enable/2-toggle
server should set/remove PLAYER_FLAGS: PLAYER_FLAGS_COMMENTATOR and PLAYER_FLAGS_COMMENTATOR_UBER
lua CommentatorGetMode()
returns 0 (no flags), 1 (PLAYER_FLAGS_COMMENTATOR), 2 (PLAYER_FLAGS_COMMENTATOR_UBER)
lua CommentatorExitInstance()
CMSG_COMMENTATOR_EXIT_INSTANCE (empty)
SMSG_COMMENTATOR_STATE_CHANGED
uint64 guid;
uint8 state; // 0 or 1
CMSG_COMMENTATOR_INSTANCE_COMMAND
uint64 guid1; // source (commentator?)
uint64 guid2; // target (player?)
uint64 battleMasterGuid;
uint32 command; // 0-start instance, 1-add player, 2-remove player
uint32 mapId;
uint32 teamSize; // 2, 3, 5
uint32 minLevel;
uint32 maxLevel;
uint32 teamNumber; // factionIndex (meaning depends on command?)
lua CommentatorUpdateMapInfo(mapName)
CMSG_COMMENTATOR_GET_MAP_INFO
string map;
SMSG_COMMENTATOR_MAP_INFO (fires COMMENTATOR_MAP_UPDATE event)
uint32 count;
uint64 guid;
for(count)
{
uint32 teamSize;
uint32 minLevel;
uint32 maxLevel;
uint32 instanceCount;
for(instanceCount)
{
uint32 mapId;
uint32 unk1;
uint16 unk2;
uint8 unk3; // may be index
uint64 guid;
uint32 unk4;
}
}
lua CommentatorUpdatePlayerInfo()
CMSG_COMMENTATOR_GET_PLAYER_INFO
uint32 mapid;
uint32 unk1;
uint16 unk2;
uint8 unk3;
SMSG_COMMENTATOR_GET_PLAYER_INFO
not implemented in retail client...
SMSG_COMMENTATOR_PLAYER_INFO (fires event COMMENTATOR_PLAYER_UPDATE)
uint32 mapId;
uint64 guid;
uint32 count;
for(count)
{
uint64 guid;
string name; // used, max 0x30
uint8 unk1;
uint8 unk2;
uint8 unk3;
uint32 unk4; // used
uint32 unk5;
uint32 unk6;
uint32 unk7;
uint32 factionIndex; // used
uint32 unk9;
uint16 unk10;
uint8 unk11;
uint32 unk12;
uint32 unk13; // used
uint32 unk14; // used
uint32 unk15; // used
uint32 unk16; // used
uint8 unk17;
}
lua CommentatorEnterInstance()
CMSG_COMMENTATOR_ENTER_INSTANCE
uint32 mapid;
uint32 unk1;
uint16 unk2;
uint8 unk3;
uint64 guid;
lua CommentatorGetNumPlayers(factionIndex)
returns numPlayers
lua CommentatorSetCamera(xPos,yPos,zPos,yaw,pitch,fov)
lua CommentatorGetCamera()
returns x, y, z, yaw, pitch, zoom(fov?)
lua CommentatorGetCurrentMapID()
returns mapId
lua CommentatorStartInstance(mapID,teamSize,minLevel,m axLevel)
lua CommentatorSetMoveSpeed(speed)
lua CommentatorSetCameraCollision(enable)
lua CommentatorSetTargetHeightOffset(offset)
lua CommentatorSetSkirmishMatchmakingMode(mode)
CMSG_COMMENTATOR_SKIRMISH_QUEUE_COMMAND
uint32 command; // 0 - Set Matchmaking Mode
uint32 mode; // mode
uint64 guid1; // 0
uint64 guid2; // 0
uint32 unk2; // 0
lua CommentatorRequestSkirmishQueueData()
CMSG_COMMENTATOR_SKIRMISH_QUEUE_COMMAND
uint32 command; // 1 - Request Skirmish Queue Data
uint32 mode; // 1
uint64 guid1; // 0
uint64 guid2; // 0
uint32 unk2; // 0
lua CommentatorGetSkirmishQueuePlayerInfo(index)
returns string guid1, string guid2, bool unk
lua CommentatorGetSkirmishQueueCount()
returns queueCount
lua CommentatorStartSkirmishMatch(guid1, guid2, unk1)
CMSG_COMMENTATOR_SKIRMISH_QUEUE_COMMAND
uint32 command; // 2 - Start Skirmish Match
uint32 mode; // 1
uint64 guid1;
uint64 guid2;
uint32 unk1;
lua CommentatorRequestSkirmishMode()
CMSG_COMMENTATOR_SKIRMISH_QUEUE_COMMAND
uint32 command; // 3 - Request Skirmish Mode
uint32 mode; // 1
uint64 guid1; // 0
uint64 guid2; // 0
uint32 unk2; // 0
SMSG_COMMENTATOR_SKIRMISH_QUEUE_DATA (fires event COMMENTATOR_SKIRMISH_QUEUE_REQUEST)
uint32 mode;
uint32 count;
for(count)
{
uint64 guid1;
uint64 guid2;
uint8 unk1;
}
SMSG_COMMENTATOR_SKIRMISH_QUEUE_MODE (fires event COMMENTATOR_SKIRMISH_QUEUE_REQUEST)
uint32 mode;
lua CommentatorGetPlayerInfo(factionIndex,playerIndex)
returns name, factionIndex, unk1, unk2, unk3, unk4, unk5
lua CommentatorSetMapAndInstanceIndex(mapIndex,instanc eIndex)
lua CommentatorSetPlayerIndex(factionIndex,playerIndex )
lua CommentatorGetNumMaps()
returns numMaps
lua CommentatorGetMapInfo(mapIndex)
returns teamSize, minLevel, maxLevel, instanceIndex
lua CommentatorGetInstanceInfo(mapIndex,instanceIndex)
returns mapId, unk, guid_low, guid_high
lua CommentatorFollowPlayer(factionIndex,playerIndex)
lua CommentatorLookatPlayer(factionIndex,playerIndex)
lua CommentatorZoomIn()
lua CommentatorZoomOut()
lua CommentatorAddPlayer(teamNumber)
lua CommentatorRemovePlayer()
lua CommentatorSetBattlemaster()
sets battlemaster guid for later use
lua CommentatorGetSkirmishMode()
returns SkirmishMode
related lua events:
EVENT_COMMENTATOR_MAP_UPDATE (by SMSG_COMMENTATOR_MAP_INFO)
EVENT_COMMENTATOR_ENTER_WORLD (fires after loading?)
EVENT_COMMENTATOR_PLAYER_UPDATE (by SMSG_COMMENTATOR_PLAYER_INFO)
EVENT_COMMENTATOR_SKIRMISH_QUEUE_REQUEST (by SMSG_COMMENTATOR_SKIRMISH_QUEUE_DATA, SMSG_COMMENTATOR_SKIRMISH_QUEUE_MODE)
EVENT_COMMENTATOR_SKIRMISH_MODE_REQUEST (not implemented in retail client?)
Commentator mode allows you: detach camera from player, disable camera collision, change camera speed, yaw, pitch, fov, position
lua CommentatorSetMode(number)
lua CommentatorToggleMode()
CMSG_COMMENTATOR_ENABLE
uint32 enable; // 0-disable/1-enable/2-toggle
server should set/remove PLAYER_FLAGS: PLAYER_FLAGS_COMMENTATOR and PLAYER_FLAGS_COMMENTATOR_UBER
lua CommentatorGetMode()
returns 0 (no flags), 1 (PLAYER_FLAGS_COMMENTATOR), 2 (PLAYER_FLAGS_COMMENTATOR_UBER)
lua CommentatorExitInstance()
CMSG_COMMENTATOR_EXIT_INSTANCE (empty)
SMSG_COMMENTATOR_STATE_CHANGED
uint64 guid;
uint8 state; // 0 or 1
CMSG_COMMENTATOR_INSTANCE_COMMAND
uint64 guid1; // source (commentator?)
uint64 guid2; // target (player?)
uint64 battleMasterGuid;
uint32 command; // 0-start instance, 1-add player, 2-remove player
uint32 mapId;
uint32 teamSize; // 2, 3, 5
uint32 minLevel;
uint32 maxLevel;
uint32 teamNumber; // factionIndex (meaning depends on command?)
lua CommentatorUpdateMapInfo(mapName)
CMSG_COMMENTATOR_GET_MAP_INFO
string map;
SMSG_COMMENTATOR_MAP_INFO (fires COMMENTATOR_MAP_UPDATE event)
uint32 count;
uint64 guid;
for(count)
{
uint32 teamSize;
uint32 minLevel;
uint32 maxLevel;
uint32 instanceCount;
for(instanceCount)
{
uint32 mapId;
uint32 unk1;
uint16 unk2;
uint8 unk3; // may be index
uint64 guid;
uint32 unk4;
}
}
lua CommentatorUpdatePlayerInfo()
CMSG_COMMENTATOR_GET_PLAYER_INFO
uint32 mapid;
uint32 unk1;
uint16 unk2;
uint8 unk3;
SMSG_COMMENTATOR_GET_PLAYER_INFO
not implemented in retail client...
SMSG_COMMENTATOR_PLAYER_INFO (fires event COMMENTATOR_PLAYER_UPDATE)
uint32 mapId;
uint64 guid;
uint32 count;
for(count)
{
uint64 guid;
string name; // used, max 0x30
uint8 unk1;
uint8 unk2;
uint8 unk3;
uint32 unk4; // used
uint32 unk5;
uint32 unk6;
uint32 unk7;
uint32 factionIndex; // used
uint32 unk9;
uint16 unk10;
uint8 unk11;
uint32 unk12;
uint32 unk13; // used
uint32 unk14; // used
uint32 unk15; // used
uint32 unk16; // used
uint8 unk17;
}
lua CommentatorEnterInstance()
CMSG_COMMENTATOR_ENTER_INSTANCE
uint32 mapid;
uint32 unk1;
uint16 unk2;
uint8 unk3;
uint64 guid;
lua CommentatorGetNumPlayers(factionIndex)
returns numPlayers
lua CommentatorSetCamera(xPos,yPos,zPos,yaw,pitch,fov)
lua CommentatorGetCamera()
returns x, y, z, yaw, pitch, zoom(fov?)
lua CommentatorGetCurrentMapID()
returns mapId
lua CommentatorStartInstance(mapID,teamSize,minLevel,m axLevel)
lua CommentatorSetMoveSpeed(speed)
lua CommentatorSetCameraCollision(enable)
lua CommentatorSetTargetHeightOffset(offset)
lua CommentatorSetSkirmishMatchmakingMode(mode)
CMSG_COMMENTATOR_SKIRMISH_QUEUE_COMMAND
uint32 command; // 0 - Set Matchmaking Mode
uint32 mode; // mode
uint64 guid1; // 0
uint64 guid2; // 0
uint32 unk2; // 0
lua CommentatorRequestSkirmishQueueData()
CMSG_COMMENTATOR_SKIRMISH_QUEUE_COMMAND
uint32 command; // 1 - Request Skirmish Queue Data
uint32 mode; // 1
uint64 guid1; // 0
uint64 guid2; // 0
uint32 unk2; // 0
lua CommentatorGetSkirmishQueuePlayerInfo(index)
returns string guid1, string guid2, bool unk
lua CommentatorGetSkirmishQueueCount()
returns queueCount
lua CommentatorStartSkirmishMatch(guid1, guid2, unk1)
CMSG_COMMENTATOR_SKIRMISH_QUEUE_COMMAND
uint32 command; // 2 - Start Skirmish Match
uint32 mode; // 1
uint64 guid1;
uint64 guid2;
uint32 unk1;
lua CommentatorRequestSkirmishMode()
CMSG_COMMENTATOR_SKIRMISH_QUEUE_COMMAND
uint32 command; // 3 - Request Skirmish Mode
uint32 mode; // 1
uint64 guid1; // 0
uint64 guid2; // 0
uint32 unk2; // 0
SMSG_COMMENTATOR_SKIRMISH_QUEUE_DATA (fires event COMMENTATOR_SKIRMISH_QUEUE_REQUEST)
uint32 mode;
uint32 count;
for(count)
{
uint64 guid1;
uint64 guid2;
uint8 unk1;
}
SMSG_COMMENTATOR_SKIRMISH_QUEUE_MODE (fires event COMMENTATOR_SKIRMISH_QUEUE_REQUEST)
uint32 mode;
lua CommentatorGetPlayerInfo(factionIndex,playerIndex)
returns name, factionIndex, unk1, unk2, unk3, unk4, unk5
lua CommentatorSetMapAndInstanceIndex(mapIndex,instanc eIndex)
lua CommentatorSetPlayerIndex(factionIndex,playerIndex )
lua CommentatorGetNumMaps()
returns numMaps
lua CommentatorGetMapInfo(mapIndex)
returns teamSize, minLevel, maxLevel, instanceIndex
lua CommentatorGetInstanceInfo(mapIndex,instanceIndex)
returns mapId, unk, guid_low, guid_high
lua CommentatorFollowPlayer(factionIndex,playerIndex)
lua CommentatorLookatPlayer(factionIndex,playerIndex)
lua CommentatorZoomIn()
lua CommentatorZoomOut()
lua CommentatorAddPlayer(teamNumber)
lua CommentatorRemovePlayer()
lua CommentatorSetBattlemaster()
sets battlemaster guid for later use
lua CommentatorGetSkirmishMode()
returns SkirmishMode
related lua events:
EVENT_COMMENTATOR_MAP_UPDATE (by SMSG_COMMENTATOR_MAP_INFO)
EVENT_COMMENTATOR_ENTER_WORLD (fires after loading?)
EVENT_COMMENTATOR_PLAYER_UPDATE (by SMSG_COMMENTATOR_PLAYER_INFO)
EVENT_COMMENTATOR_SKIRMISH_QUEUE_REQUEST (by SMSG_COMMENTATOR_SKIRMISH_QUEUE_DATA, SMSG_COMMENTATOR_SKIRMISH_QUEUE_MODE)
EVENT_COMMENTATOR_SKIRMISH_MODE_REQUEST (not implemented in retail client?)