public EventData CreateEvent(UUID creator, UUID regionID, UUID parcelID, DateTime date, uint cover, EventFlags maturity, uint flags, uint duration, Vector3 localPos, string name, string description, string category) { IRegionData regiondata = Aurora.DataManager.DataManager.RequestPlugin <IRegionData>(); IParcelServiceConnector parceldata = Aurora.DataManager.DataManager.RequestPlugin <IParcelServiceConnector>(); if (regiondata == null || parceldata == null) { return(null); } GridRegion region = regiondata.Get(regionID, UUID.Zero); if (region == null) { return(null); } if (parcelID != UUID.Zero) { LandData parcel = parceldata.GetLandData(region.RegionID, parcelID); if (parcel == null) { return(null); } } EventData eventData = new EventData(); eventData.eventID = GetMaxEventID() + 1; eventData.creator = creator.ToString(); eventData.simName = region.RegionName; eventData.date = date.ToString(new DateTimeFormatInfo()); eventData.dateUTC = (uint)Util.ToUnixTime(date); eventData.cover = eventData.amount = cover; eventData.maturity = (int)maturity; eventData.eventFlags = flags | (uint)maturity; eventData.duration = duration; eventData.globalPos = new Vector3( region.RegionLocX + localPos.X, region.RegionLocY + localPos.Y, region.RegionLocZ + localPos.Z ); eventData.name = name; eventData.description = description; eventData.category = category; GD.Insert("asevents", new string[] { "EID", "creator", "region", "parcel", "date", "cover", "maturity", "flags", "duration", "localPosX", "localPosY", "localPosZ", "name", "description", "category" }, new object[] { eventData.eventID, creator.ToString(), regionID.ToString(), parcelID.ToString(), date.ToString("s"), eventData.cover, (uint)maturity, flags, duration, localPos.X, localPos.Y, localPos.Z, name, description, category }); return(eventData); }