/// <summary> /// /// </summary> /// <param name="prey"></param> public void KickUser(LLUUID prey) { EstateOwnerMessagePacket estate = new EstateOwnerMessagePacket(); estate.AgentData.AgentID = Client.Network.AgentID; estate.AgentData.SessionID = Client.Network.SessionID; estate.MethodData.Invoice = LLUUID.GenerateUUID(); estate.MethodData.Method = Helpers.StringToField("kick"); estate.ParamList = new EstateOwnerMessagePacket.ParamListBlock[2]; estate.ParamList[0].Parameter = Helpers.StringToField(Client.Network.AgentID.ToStringHyphenated()); estate.ParamList[1].Parameter = Helpers.StringToField(prey.ToStringHyphenated()); Client.Network.SendPacket((Packet)estate); }
/// <summary> /// /// </summary> /// <param name="prim"></param> /// <param name="position"></param> /// <param name="avatarPosition"></param> public void RezObject(PrimObject prim, LLVector3 position, LLVector3 rayStart, LLUUID groupID) { ObjectAddPacket add = new ObjectAddPacket(); add.AgentData.AgentID = Client.Network.AgentID; add.AgentData.SessionID = Client.Network.SessionID; add.AgentData.GroupID = groupID; // TODO: Why 2? add.ObjectData.AddFlags = 2; add.ObjectData.BypassRaycast = 1; add.ObjectData.Material = (byte)prim.Material; add.ObjectData.PathBegin = PrimObject.PathBeginByte(prim.PathBegin); add.ObjectData.PathCurve = (byte)prim.PathCurve; add.ObjectData.PathEnd = PrimObject.PathEndByte(prim.PathEnd); add.ObjectData.PathRadiusOffset = PrimObject.PathRadiusOffsetByte(prim.PathRadiusOffset); add.ObjectData.PathRevolutions = PrimObject.PathRevolutionsByte(prim.PathRevolutions); add.ObjectData.PathScaleX = PrimObject.PathScaleByte(prim.PathScaleX); add.ObjectData.PathScaleY = PrimObject.PathScaleByte(prim.PathScaleY); add.ObjectData.PathShearX = PrimObject.PathShearByte(prim.PathShearX); add.ObjectData.PathShearY = PrimObject.PathShearByte(prim.PathShearY); add.ObjectData.PathSkew = PrimObject.PathSkewByte(prim.PathSkew); add.ObjectData.PathTaperX = PrimObject.PathTaperByte(prim.PathTaperX); add.ObjectData.PathTaperY = PrimObject.PathTaperByte(prim.PathTaperY); add.ObjectData.PathTwist = PrimObject.PathTwistByte(prim.PathTwist); add.ObjectData.PathTwistBegin = PrimObject.PathTwistByte(prim.PathTwistBegin); add.ObjectData.PCode = (byte)prim.PCode; add.ObjectData.ProfileBegin = PrimObject.ProfileBeginByte(prim.ProfileBegin); add.ObjectData.ProfileCurve = (byte)prim.ProfileCurve; add.ObjectData.ProfileEnd = PrimObject.ProfileEndByte(prim.ProfileEnd); add.ObjectData.ProfileHollow = (byte)prim.ProfileHollow; add.ObjectData.RayEnd = position; add.ObjectData.RayEndIsIntersection = 0; add.ObjectData.RayStart = rayStart; add.ObjectData.RayTargetID = LLUUID.GenerateUUID(); add.ObjectData.Rotation = prim.Rotation; add.ObjectData.Scale = prim.Scale; add.ObjectData.State = (byte)prim.State; if (prim.Textures != null) { add.ObjectData.TextureEntry = prim.Textures.ToBytes(); } else { add.ObjectData.TextureEntry = new byte[0]; } Client.Network.SendPacket(add); }
/// <summary> /// /// </summary> /// <param name="group"></param> /// <param name="gtc"></param> public void BeginGetGroupTitles(LLUUID group, GroupTitlesCallback gtc) { LLUUID requestID = LLUUID.GenerateUUID(); GroupTitlesCallbacks[group] = gtc; GroupTitlesRequestPacket request = new GroupTitlesRequestPacket(); request.AgentData.AgentID = Client.Network.AgentID; request.AgentData.SessionID = Client.Network.SessionID; request.AgentData.GroupID = group; request.AgentData.RequestID = requestID; Client.Network.SendPacket(request); }
/// <summary> /// /// </summary> /// <param name="group"></param> /// <param name="grc"></param> public void BeginGetGroupRoles(LLUUID group, GroupRolesCallback grc) { LLUUID requestID = LLUUID.GenerateUUID(); lock (GroupRolesCaches) { GroupRolesCaches[requestID] = new Dictionary <LLUUID, GroupRole>(); } GroupRolesCallbacks[group] = grc; GroupRoleDataRequestPacket request = new GroupRoleDataRequestPacket(); request.AgentData.AgentID = Client.Network.AgentID; request.AgentData.SessionID = Client.Network.SessionID; request.GroupData.GroupID = group; request.GroupData.RequestID = requestID; Client.Network.SendPacket(request); }
/// <summary> /// /// </summary> /// <param name="reservedNewbie"></param> /// <param name="forSale"></param> /// <param name="auction"></param> /// <returns></returns> public int DirLandRequest(bool reservedNewbie, bool forSale, bool auction) { // Set the class-wide variables so the callback has them ReservedNewbie = reservedNewbie; ForSale = forSale; Auction = auction; // Clear the list ParcelsForSale.Clear(); // Start the timer DirLandTimeout = false; DirLandTimer.Start(); DirLandQueryPacket query = new DirLandQueryPacket(); query.AgentData.AgentID = Client.Network.AgentID; query.AgentData.SessionID = Client.Network.SessionID; query.QueryData.Auction = auction; query.QueryData.ForSale = forSale; query.QueryData.QueryFlags = 0; query.QueryData.QueryID = LLUUID.GenerateUUID(); query.QueryData.ReservedNewbie = reservedNewbie; Client.Network.SendPacket((Packet)query); while (!DirLandTimeout) { Client.Tick(); } // Make sure the timer is actually stopped DirLandTimer.Stop(); return(ParcelsForSale.Count); }
/// <summary> /// /// </summary> /// <param name="fromName"></param> /// <param name="sessionID"></param> /// <param name="target"></param> /// <param name="message"></param> /// <param name="conferenceIDs"></param> public void InstantMessage(string fromName, LLUUID sessionID, LLUUID target, string message, LLUUID[] conferenceIDs) { InstantMessage(fromName, sessionID, target, message, conferenceIDs, LLUUID.GenerateUUID()); }
/// <summary> /// /// </summary> /// <param name="target"></param> /// <param name="message"></param> /// <param name="IMSessionID"></param> public void InstantMessage(LLUUID target, string message, LLUUID IMSessionID) { InstantMessage(FirstName + " " + LastName, LLUUID.GenerateUUID(), target, message, null, IMSessionID); }