/// <summary> /// Creates a new npc and spawns it. /// </summary> /// <param name="id">The id of the npc.</param> /// <param name="name">The name of the npc.</param> /// <param name="location">The location of the npc.</param> /// <param name="mesh">The mesh of the npc.</param> /// <param name="avatar">The avatar of the npc.</param> /// <param name="npctype">The type of the npc.</param> /// <param name="flag">The flat of the npc.</param> public static void CreateNPC(uint id, string name, Maps.MapPoint location, ushort mesh, byte avatar, Enums.NPCType npctype = Enums.NPCType.Normal, ushort flag = 2) { Entities.NPC npc = new ProjectX_V3_Game.Entities.NPC(); npc.EntityUID = id; npc.Mesh = (ushort)(mesh * 10); npc.Flag = flag; npc.Name = name; npc.X = location.X; npc.Y = location.Y; npc.NPCType = npctype; npc.Avatar = avatar; if (!location.Map.EnterMap(npc)) { return; } if (Core.Kernel.NPCs.TryAdd(npc.EntityUID, npc)) { IniFile npcini = new IniFile(ServerDatabase.DatabaseLocation + "\\NPCInfo\\" + id + ".ini", "Info"); npcini.WriteString("Name", name); npcini.WriteString("Type", npctype.ToString()); npcini.Write<ushort>("MapID", location.MapID); npcini.Write<ushort>("X", location.X); npcini.Write<ushort>("Y", location.Y); npcini.Write<ushort>("Flag", flag); npcini.Write<ushort>("Mesh", mesh); npcini.Write<byte>("Avatar", avatar); npc.Screen.UpdateScreen(null); } }
/// <summary> /// Adds a new map to the database and server. /// </summary> /// <param name="mapid">The new map id.</param> /// <returns>Returns true if the map was added.</returns> public static bool AddMap(ushort mapid) { string name = "UnknownMap" + ProjectX_V3_Lib.ThreadSafe.RandomGenerator.Generator.Next(); Maps.Map map = new ProjectX_V3_Game.Maps.Map(mapid, name); Enums.MapTypeFlags flag = Enums.MapTypeFlags.Normal; if (!map.Flags.TryAdd((ulong)flag, flag)) return false; map.MapType = Enums.MapType.Normal; IniFile ini = new IniFile(Database.ServerDatabase.DatabaseLocation + "\\MapInfo\\" + mapid + ".ini", "MapInfo"); ini.Write<ushort>("ID", mapid); ini.WriteString("Name", name); ini.WriteString("MapType", "Normal"); ini.SetSection("Flags"); ini.Write<int>("Count", 1); ini.WriteString("0", "Normal"); return Core.Kernel.Maps.TryAddAndDismiss(mapid, name, map); }
public void NewFile() { const string fileName = "NewFile.ini"; using (IniFile ini = new IniFile(fileName)) { ini.WriteString("foo", "bar", "qux"); Assert.AreEqual("qux", ini.ReadString("foo", "bar")); } Assert.IsTrue(File.Exists(fileName)); File.Delete(fileName); }
protected override void ExecuteTask() { string whatImDoing = String.Format("Setting {0}/{1}={2} in file: {3}", Section, Key, Value, FileName); // display build log message Log(Level.Verbose, LogPrefix + whatImDoing); // perform operation try { IniFile iniFile = new IniFile(FileName); iniFile.WriteString(Section, Key, Value); } catch (Exception e) { throw new BuildException("Failed: " + whatImDoing,Location,e); } }
/// <summary> /// Sets the login info of the character or creates the base character file if first time logging in. /// </summary> /// <param name="client">The client.</param> /// <param name="Account">The account.</param> /// <param name="DatabaseUID">The database UID.</param> /// <param name="EntityUID">The entity UID.</param> public static void SetLoginOrCreate(SocketClient client, string Account, int DatabaseUID, uint EntityUID) { IniFile characterfile = new IniFile(DatabaseLocation + "\\Characters\\" + DatabaseUID + ".ini", "Character"); if (!characterfile.Exists()) characterfile.Write<bool>("New", true); characterfile.WriteString("Account", Account); characterfile.Write<uint>("LastEntityUID", EntityUID); }
private static void WriteStringKey(string key, string value, string firstvalue) { using (IniFile ini = new IniFile(fileName)) { Assert.AreEqual(firstvalue, ini.ReadString("Section1", key)); ini.WriteString("Section1", key, value); Assert.AreEqual(value, ini.ReadString("Section1", key)); } using (IniFile ini = new IniFile(fileName)) { Assert.AreEqual(value, ini.ReadString("Section1", key)); } }
public void WriteStringNoSection() { using (IniFile ini = new IniFile(fileName)) { Assert.IsFalse(ini.SectionExists("doesnotexist")); ini.WriteString("doesnotexist", "foo", "bar"); Assert.IsTrue(ini.SectionExists("doesnotexist")); Assert.AreEqual("bar", ini.ReadString("doesnotexist", "foo")); } using (IniFile ini = new IniFile(fileName)) { Assert.IsTrue(ini.SectionExists("doesnotexist")); Assert.AreEqual("bar", ini.ReadString("doesnotexist", "foo")); } }
public void WriteAndRead() { using (IniFile ini = new IniFile(fileName)) { ini.WriteString("foo", "bar", "qux"); Assert.AreEqual("qux", ini.ReadString("foo", "bar")); } using (IniFile ini = new IniFile(fileName)) { ini.WriteString("foo", "bar", "qux"); Assert.AreEqual("qux", ini.ReadString("foo", "bar")); } using (IniFile ini = new IniFile(fileName)) { Assert.AreEqual("qux", ini.ReadString("foo", "bar")); } }