private void CreateObjects( ) { // Create some objects ObjectStreamer.CreateDynamicObject("port_xr_lifeboat", new Vector3(-859.655f, -803.499f, 25.566f), new Vector3(0, 0, 0), 0); ObjectStreamer.CreateDynamicObject("bkr_prop_biker_bowlpin_stand", new Vector3(-959.655f, -903.499f, 25.566f), new Vector3(0, 0, 0), 0); ObjectStreamer.CreateDynamicObject("bkr_prop_biker_tube_crn", new Vector3(-909.655f, -953.499f, 25.566f), new Vector3(0, 0, 0), 0); }
public static object ListObjectsFromFile( [ExcelArgument(Name = "path", Description = "The path", AllowReference = true)] object xlPath, [ExcelArgument(Name = "fileName", Description = "The file name", AllowReference = true)] object xlFileName, [ExcelArgument(Name = "fileFormat", Description = "[Optional] The file format; the file extension will be used by default", AllowReference = true)] object xlFileFormat) { try { IExcelDataQuery fileFormatDataQuery = ExcelDataQuery.Create(xlFileFormat, "File format"); string fileName; IObjectStreamer objectStreamer; if (fileFormatDataQuery.IsEmpty == true) { fileName = GetFileName(xlPath, xlFileName, ObjectStreamer.GetFileExtensions()); if (ObjectStreamer.TryGetObjectStreamerByFileExtension(ExtendedPath.GetExtension(fileName), out objectStreamer) == false) { throw new ArgumentException("Invalid file extension '" + ExtendedPath.GetExtension(fileName) + "', used default file extensions or specify the file format."); } } else { if (fileFormatDataQuery.TryGetPoolValue <IObjectStreamer>(ObjectStreamer.TryGetObjectStreamer, out objectStreamer, dataAdvice: ExcelDataAdvice.Create(ObjectStreamer.GetNames())) == false) { throw new ArgumentException("Invalid file format " + fileFormatDataQuery.ToString(0, 0) + "."); } fileName = GetFileName(xlPath, xlFileName, objectStreamer.FileExtension); fileFormatDataQuery.QueryCompleted(); } StreamReader streamReader = new StreamReader(fileName); IObjectStreamReader objectStreamReader = objectStreamer.GetStreamReader(streamReader); var objectNames = ExcelPool.GetObjectNames(objectStreamReader); int n = objectNames.Count(); object[,] output = new object[n + 1, 2]; output[0, 0] = "Name"; output[0, 1] = "Type"; int j = 1; foreach (var obj in objectNames) { output[j, 0] = obj.Item2; output[j, 1] = obj.Item1.Name.String; j++; } objectStreamReader.Close(); return(ExcelDataConverter.GetExcelRangeOutput(output)); } catch (Exception e) { return(ExcelDataConverter.GetExcelRangeErrorMessage(e)); } }
/// <summary>Handles the Click event of the open [file] button. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> private void openToolStripMenuItem_Click(object sender, EventArgs e) { StringBuilder filterStrBuilder = new StringBuilder(); foreach (var objectStreamer in ObjectStreamer.Values) { if (filterStrBuilder.Length > 1) { filterStrBuilder.Append("|"); } filterStrBuilder.Append(objectStreamer.Name.String + " (*." + objectStreamer.FileExtension.String + ")|"); filterStrBuilder.Append("*." + objectStreamer.FileExtension.String); } string filter = filterStrBuilder.ToString() + "|All files (*.*)|*.*"; OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.CheckFileExists = true; openFileDialog.CheckPathExists = true; openFileDialog.AddExtension = true; openFileDialog.Multiselect = false; openFileDialog.Title = "Load Dodoni.net objects"; openFileDialog.Filter = filter; if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { IObjectStreamer objectStreamer; string fileExtension = ExtendedPath.GetExtension(openFileDialog.FileName); if (ObjectStreamer.TryGetObjectStreamerByFileExtension(fileExtension, out objectStreamer) == false) { MessageBox.Show("Invalid file extension '" + fileExtension + "'."); return; // exit function } try { StreamReader streamReader = new StreamReader(openFileDialog.FileName); IObjectStreamReader objectStreamReader = objectStreamer.GetStreamReader(streamReader); string infoMessage; IEnumerable <ExcelPoolItem> excelPoolItems; if (ExcelPool.TryLoadObjects(objectStreamReader, out infoMessage, out excelPoolItems) == false) { MessageBox.Show("Error: " + infoMessage); } ObjectStreamReaderInfoForm infoForm = new ObjectStreamReaderInfoForm(); infoForm.ShowDetails(infoMessage, excelPoolItems); objectStreamReader.Close(); } catch (Exception exception) { MessageBox.Show("Error: " + exception.Message); } } }
public static object LoadObjectsFromFile( [ExcelArgument(Name = "path", Description = "The path", AllowReference = true)] object xlPath, [ExcelArgument(Name = "fileName", Description = "The file name", AllowReference = true)] object xlFileName, [ExcelArgument(Name = "objectNames", Description = "[Optional] A list of object names to load; all objects will be loaded by default", AllowReference = true)] object xlObjectNames, [ExcelArgument(Name = "fileFormat", Description = "[Optional] The file format; the file extension will be used by default", AllowReference = true)] object xlFileFormat) { try { IExcelDataQuery fileFormatDataQuery = ExcelDataQuery.Create(xlFileFormat, "File format"); string fileName; IObjectStreamer objectStreamer; if (fileFormatDataQuery.IsEmpty == true) { fileName = GetFileName(xlPath, xlFileName, ObjectStreamer.GetFileExtensions()); if (ObjectStreamer.TryGetObjectStreamerByFileExtension(ExtendedPath.GetExtension(fileName), out objectStreamer) == false) { throw new ArgumentException("Invalid file extension '" + Path.GetExtension(fileName) + "', used default file extensions or specify the file format."); } } else { if (fileFormatDataQuery.TryGetPoolValue <IObjectStreamer>(ObjectStreamer.TryGetObjectStreamer, out objectStreamer, dataAdvice: ExcelDataAdvice.Create(ObjectStreamer.GetNames())) == false) { throw new ArgumentException("Invalid file format " + fileFormatDataQuery.ToString(0, 0) + "."); } fileName = GetFileName(xlPath, xlFileName, objectStreamer.FileExtension); fileFormatDataQuery.QueryCompleted(); } IExcelDataQuery objectNamesDataQuery = ExcelDataQuery.Create(xlObjectNames, "Object names"); IEnumerable <string> objectNames = objectNamesDataQuery.GetColumnVector <string>(); objectNamesDataQuery.QueryCompleted(); StreamReader streamReader = new StreamReader(fileName); IObjectStreamReader objectStreamReader = objectStreamer.GetStreamReader(streamReader); string infoMessage; IEnumerable <ExcelPoolItem> excelPoolItems; ExcelPool.TryLoadObjectsByName(objectStreamReader, objectNames, out infoMessage, out excelPoolItems); objectStreamReader.Close(); return(infoMessage.ToTimeStampString()); } catch (Exception e) { return(ExcelDataConverter.GetExcelRangeErrorMessage(e)); } }
public void CreateWorldItemObject(IPlayer player, uint objectHash, string positionJson, string rotationJson, int itemID) { Vector3 position = JsonConvert.DeserializeObject <Vector3>(positionJson); Vector3 rotation = JsonConvert.DeserializeObject <Vector3>(rotationJson); DynamicObject dynamicObject = ObjectStreamer.CreateDynamicObject(objectHash, position, rotation, player.Dimension, null, true, null, null, null, null, true, 275); dynamicObject.SetData("dynamicObject:ownerAccountId", player.GetAccountEntity().DbModel.Id); Alt.Log($"ID OBIEKTU STWORZONEGO: {dynamicObject.Id}"); EntityHelper.Add(dynamicObject); player.SendSuccessNotify("Postawiono obiekt pomyślnie", "Twój obiekt został postawiony"); player.Emit("item:synchronizateWorldObjectWithClient", dynamicObject.Id, itemID); }
private async Task OnConsoleCommand(string name, string[] args) { // destroy all objects if (name == "dao") { ObjectStreamer.DestroyAllDynamicObjects( ); Console.WriteLine($"all objects destroyed."); } // create all objects if (name == "cao") { ObjectStreamer.DestroyAllDynamicObjects( ); CreateObjects( ); } // destroy object if (name == "do") { if (args.Length == 0) { return; } ulong objId = Convert.ToUInt64(args[0]); if (ObjectStreamer.DestroyDynamicObject(objId)) { Console.WriteLine($"Object with ID { objId } deleted!"); } } // change rotation if (name == "cr") { if (args.Length == 0) { return; } ulong objId = Convert.ToUInt64(args[0]); var obj = ObjectStreamer.GetDynamicObject(objId); if (obj != null) { Vector3 rot = obj.Rotation; obj.Rotation = new Vector3(rot.X, rot.Y, rot.Z + 5f); Console.WriteLine($"Object rotation increased on Z with +5f"); } else { Console.WriteLine($"Couldnt find object with ID { objId }"); } } // change visible if (name == "cv") { if (args.Length == 0) { return; } ulong objId = Convert.ToUInt64(args[0]); var obj = ObjectStreamer.GetDynamicObject(objId); if (obj != null) { obj.Visible = !obj.Visible; Console.WriteLine($"Object visibility set to { obj.Visible }"); } else { Console.WriteLine($"Couldnt find object with ID { objId }"); } } // change lod distance if (name == "cld") { if (args.Length == 0) { return; } ulong objId = Convert.ToUInt64(args[0]); var obj = ObjectStreamer.GetDynamicObject(objId); if (obj != null) { obj.LodDistance += 100; Console.WriteLine($"Object LOD Dist increased by 100"); } else { Console.WriteLine($"Couldnt find object with ID { objId }"); } } // change texture variation if (name == "ctv") { if (args.Length == 0) { return; } ulong objId = Convert.ToUInt64(args[0]); var obj = ObjectStreamer.GetDynamicObject(objId); if (obj != null) { var variations = Enum.GetValues(typeof(TextureVariation)); obj.TextureVariation = ( TextureVariation )variations.GetValue(new Random( ).Next(variations.Length)); Console.WriteLine($"Object texture variation changed to a random variation"); } else { Console.WriteLine($"Couldnt find object with ID { objId }"); } } // change dynamic if (name == "cd") { if (args.Length == 0) { return; } ulong objId = Convert.ToUInt64(args[0]); var obj = ObjectStreamer.GetDynamicObject(objId); if (obj != null) { obj.Dynamic = !obj.Dynamic; Console.WriteLine($"Object dynamic changed to: { obj.Dynamic }"); } else { Console.WriteLine($"Couldnt find object with ID { objId }"); } } // change on fire(EXPERIMENTAL, DOESNT WORK VERY WELL AS OF RIGHT NOW!) if (name == "cof") { if (args.Length == 0) { return; } ulong objId = Convert.ToUInt64(args[0]); var obj = ObjectStreamer.GetDynamicObject(objId); if (obj != null) { obj.OnFire = !obj.OnFire; Console.WriteLine($"Object on fire changed to: { obj.OnFire }"); } else { Console.WriteLine($"Couldnt find object with ID { objId }"); } } // change frozen if (name == "cf") { if (args.Length == 0) { return; } ulong objId = Convert.ToUInt64(args[0]); var obj = ObjectStreamer.GetDynamicObject(objId); if (obj != null) { obj.Frozen = !obj.Frozen; Console.WriteLine($"Object frozen changed to: { obj.Frozen }"); } else { Console.WriteLine($"Couldnt find object with ID { objId }"); } } // change light color if (name == "clc") { if (args.Length == 0) { return; } ulong objId = Convert.ToUInt64(args[0]); var obj = ObjectStreamer.GetDynamicObject(objId); if (obj != null) { Random r = new Random( ); obj.LightColor = new Rgb(r.Next(0, 256), r.Next(0, 256), r.Next(0, 256)); Console.WriteLine($"Object lightcolor changed to random value"); } else { Console.WriteLine($"Couldnt find object with ID { objId }"); } } // change model if (name == "cm") { if (args.Length == 0) { return; } ulong objId = Convert.ToUInt64(args[0]); var obj = ObjectStreamer.GetDynamicObject(objId); if (obj != null) { // change object into a house obj.Model = "lf_house_17_"; Console.WriteLine($"Object changed into a house."); } else { Console.WriteLine($"Couldnt find object with ID { objId }"); } } // change pos if (name == "cp") { if (args.Length == 0) { return; } ulong objId = Convert.ToUInt64(args[0]); var obj = ObjectStreamer.GetDynamicObject(objId); if (obj != null) { Console.WriteLine($"obj pos: { obj.Position.Z }"); obj.Position += new Vector3(0, 0, 5); Console.WriteLine($"Object position increased on Z with +5f { obj.Position.Z }"); } else { Console.WriteLine($"Couldnt find object with ID { objId }"); } } // get object by ID if (name == "go") { if (args.Length == 0) { return; } ulong objId = Convert.ToUInt64(args[0]); var obj = ObjectStreamer.GetDynamicObject(objId); if (obj != null) { Console.WriteLine($"Object found, data: { obj.Model }, { obj.Rotation.X }, { obj.Rotation.Y }, { obj.Rotation.Z }, { obj.Frozen }, ...!"); } else { Console.WriteLine($"Couldnt find object with ID { objId }"); } } // get closest object if (name == "gc") { IPlayer player = Alt.GetAllPlayers( ).First( ); if (player != null) { (DynamicObject obj, float distance) = ObjectStreamer.GetClosestDynamicObject(player.Position); if (obj == null) { Console.WriteLine("Couldn't find any object near player."); return; } Console.WriteLine($"Closest object ID is { obj.Id } at a distance of { distance }."); } else { Console.WriteLine($"Couldnt find any players."); } } // count objects if (name == "countobj") { Console.WriteLine($"total objects created: { ObjectStreamer.GetAllDynamicObjects( ).Count }"); } }
public override void OnStop( ) { ObjectStreamer.DestroyAllDynamicObjects( ); Console.WriteLine($"Server stopped."); }
public void CreateObjectTestCMD(IPlayer player, string name) { ObjectStreamer.CreateDynamicObject(name, new Vector3(player.Position.X, player.Position.Y, player.Position.Z), new Vector3(0, 0, 0), 0); player.SendSuccessNotify("Utworzono obiekt", name); }