void AvatarPropertiesRequestHandler(Packet packet, Agent agent) { AvatarPropertiesRequestPacket request = (AvatarPropertiesRequestPacket)packet; Agent foundAgent; if (server.Agents.TryGetValue(request.AgentData.AvatarID, out foundAgent)) { AvatarPropertiesReplyPacket reply = new AvatarPropertiesReplyPacket(); reply.AgentData.AgentID = agent.AgentID; reply.AgentData.AvatarID = request.AgentData.AvatarID; reply.PropertiesData.AboutText = Utils.StringToBytes(foundAgent.ProfileAboutText); reply.PropertiesData.BornOn = Utils.StringToBytes(foundAgent.ProfileBornOn); reply.PropertiesData.CharterMember = new byte[1]; reply.PropertiesData.FLAboutText = Utils.StringToBytes(foundAgent.ProfileFirstText); reply.PropertiesData.Flags = (uint)foundAgent.ProfileFlags; reply.PropertiesData.FLImageID = foundAgent.ProfileFirstImage; reply.PropertiesData.ImageID = foundAgent.ProfileImage; reply.PropertiesData.PartnerID = foundAgent.PartnerID; reply.PropertiesData.ProfileURL = Utils.StringToBytes(foundAgent.ProfileURL); server.UDP.SendPacket(agent.AgentID, reply, PacketCategory.Transaction); } else { Logger.Log("AvatarPropertiesRequest for unknown agent " + request.AgentData.AvatarID.ToString(), Helpers.LogLevel.Warning); } }
private Packet OutAvatarPropertiesRequestHandler(Packet requestpacket, IPEndPoint sim) { if (!form.checkBox1profilekey.Checked) { return(requestpacket); } if (requestpacket.Header.Resent) { return(requestpacket); } AvatarPropertiesRequestPacket packet = (AvatarPropertiesRequestPacket)requestpacket; UUID uuid = packet.AgentData.AvatarID; if (shared.key2name.ContainsKey(uuid)) { frame.SayToUser(shared.key2name[uuid] + " = " + uuid.ToString()); } else { plugin.RequestNameFromKey(uuid); pending.Add(uuid); } return(packet); }
/// <summary> /// Start a request for Avatar Properties /// </summary> /// <param name="avatarid"></param> public void RequestAvatarProperties(LLUUID avatarid) { AvatarPropertiesRequestPacket aprp = new AvatarPropertiesRequestPacket(); aprp.AgentData.AgentID = Client.Self.AgentID; aprp.AgentData.SessionID = Client.Self.SessionID; aprp.AgentData.AvatarID = avatarid; Client.Network.SendPacket(aprp); }
public void getProfile() { AvatarPropertiesRequestPacket arp = new AvatarPropertiesRequestPacket(); arp.AgentData = new AvatarPropertiesRequestPacket.AgentDataBlock(); arp.AgentData.AgentID = frame.AgentID; arp.AgentData.AvatarID = frame.AgentID; arp.AgentData.SessionID = frame.SessionID; proxy.InjectPacket(arp, Direction.Outgoing); }
private Packet OutAvatarPropertiesRequestHandler(Packet requestpacket, IPEndPoint sim) { if (requestpacket.Header.Resent) { return(requestpacket); } AvatarPropertiesRequestPacket packet = (AvatarPropertiesRequestPacket)requestpacket; UUID uuid = packet.AgentData.AvatarID; System.Timers.Timer timer = new System.Timers.Timer(5000); bool found = false; PacketDelegate replyCallback = delegate(Packet replypacket, IPEndPoint blarg) { if (!found) { UUIDNameReplyPacket reply = (UUIDNameReplyPacket)replypacket; foreach (UUIDNameReplyPacket.UUIDNameBlockBlock block in reply.UUIDNameBlock) { if (block.ID == uuid) { found = true; string firstname = Utils.BytesToString(block.FirstName); string lastname = Utils.BytesToString(block.LastName); frame.SayToUser(firstname + " " + lastname + " = " + uuid.ToString()); return(replypacket); } } } return(replypacket); }; proxy.AddDelegate(PacketType.UUIDNameReply, Direction.Incoming, replyCallback); timer.Elapsed += delegate(object sender, System.Timers.ElapsedEventArgs e) { proxy.RemoveDelegate(PacketType.UUIDNameReply, Direction.Incoming, replyCallback); timer.Stop(); }; UUIDNameRequestPacket request = new UUIDNameRequestPacket(); request.UUIDNameBlock = new UUIDNameRequestPacket.UUIDNameBlockBlock[1]; request.UUIDNameBlock[0] = new UUIDNameRequestPacket.UUIDNameBlockBlock(); request.UUIDNameBlock[0].ID = uuid; request.Header.Reliable = true; proxy.InjectPacket(request, Direction.Outgoing); timer.Start(); return(packet); }
public void BeginAvatarPropertiesRequest(LLUUID avatarid, AvatarPropertiesCallback apc, AvatarStatisticsCallback asc, AvatarIntrestsCallback aic) { //Set teh callback! AvatarPropertiesCallbacks[avatarid] = apc; AvatarStatisticsCallbacks[avatarid] = asc; AvatarIntrestsCallbacks[avatarid] = aic; //Oh noes //Packet construction, good times AvatarPropertiesRequestPacket aprp = new AvatarPropertiesRequestPacket(); AvatarPropertiesRequestPacket.AgentDataBlock adb = new AvatarPropertiesRequestPacket.AgentDataBlock(); adb.AgentID = Client.Network.AgentID; adb.SessionID = Client.Network.SessionID; adb.AvatarID = avatarid; aprp.AgentData = adb; //send the packet! Client.Network.SendPacket(aprp); }
private void AvatarPropertiesRequestHandler(Packet packet, LLAgent agent) { AvatarPropertiesRequestPacket request = (AvatarPropertiesRequestPacket)packet; User user; if (m_userClient != null && m_userClient.TryGetUser(request.AgentData.AvatarID, out user)) { SendAvatarProperties(agent, request.AgentData.AvatarID, user); SendAvatarInterests(agent, request.AgentData.AvatarID, user); } else { m_log.Warn("Could not find user " + request.AgentData.AvatarID + ", returning empty profile to " + agent.Name); SendAvatarProperties(agent, request.AgentData.AvatarID, null); SendAvatarInterests(agent, request.AgentData.AvatarID, null); } }
/// <summary> /// Start a request for Avatar Properties /// </summary> /// <param name="avatarid"></param> public void RequestAvatarProperties(UUID avatarid) { AvatarPropertiesRequestPacket aprp = new AvatarPropertiesRequestPacket(); aprp.AgentData.AgentID = Client.Self.AgentID; aprp.AgentData.SessionID = Client.Self.SessionID; aprp.AgentData.AvatarID = avatarid; Client.Network.SendPacket(aprp); }