Esempio n. 1
0
        // timespan, accountId, charId
        // <Error>Invalid fame list</Error>
        protected override void HandleRequest()
        {
            Program.Logger.Info($"Request \"{Context.Request.Url.LocalPath}\" from: {(Context.Request.RemoteEndPoint.Address.ToString() == "::1" ? "localhost" : Context.Request.RemoteEndPoint.Address.ToString())}");
            DbChar character = null;

            if (Query["accountId"] != null)
            {
                character = Database.LoadCharacter(int.Parse(Query["accountId"]), int.Parse(Query["charId"]));
            }
            var list = FameList.FromDb(Database, Query["timespan"], character);

            WriteLine(list.ToXml());
        }
Esempio n. 2
0
		public static void Initialize() {
			ServerConsole.Info("\t# loading fame lists...");
			// TODO: some sort of dynamic class lists would be nice to have..
			string jobsBlacksmith = string.Concat((int)EClass.Blacksmith, ',', (int)EClass.BabyBlacksmith, ',', (int)EClass.Whitesmith);
			string jobsAlchemist = string.Concat((int)EClass.Alchemist, ',', (int)EClass.BabyAlchemist, ',', (int)EClass.Creator);
			string jobsTaekwon = string.Concat((int)EClass.Taekwon);
			int size = 10;

			// Load from database
			Blacksmith = ReadFameList(jobsBlacksmith, size);
			Alchemist = ReadFameList(jobsAlchemist, size);
			Taekwon = ReadFameList(jobsTaekwon, size);

			ServerConsole.WriteLine(EConsoleColor.Status, " Done (" + Blacksmith.Count + " blacksmith, " + Alchemist.Count + " Alchemist, " + Taekwon.Count + " Taekwon)");
		}
Esempio n. 3
0
        public override void HandleRequest(RequestContext context, NameValueCollection query)
        {
            DbChar character = null;

            if (query["accountId"] != null)
            {
                character = Database.LoadCharacter(
                    int.Parse(query["accountId"]),
                    int.Parse(query["charId"])
                    );
            }
            var list = FameList.FromDb(Database, query["timespan"], character);

            Write(context, list.ToXml().ToString());
        }
Esempio n. 4
0
		private static FameList ReadFameList(string jobs, int size) {
			FameList list = new FameList(size);

			string query = "SELECT `charID`,`fame` FROM `char` WHERE `fame` > 0 AND `class` IN ({0}) ORDER BY `fame` DESC LIMIT 0,{1}";
			DataTable table = Core.Database.Query(query, jobs, size);
			if (table.HasResults() == false) {
				return list;
			}

			foreach (DataRow row in table.Rows) {
				uint id = row.Field<uint>("char_id");
				int fame = row.Field<int>("fame");

				// Push it to the list
				list.Add(new FameListEntry(id, fame));
			}

			return list;
		}
Esempio n. 5
0
        public override void HandleRequest(HttpListenerContext context)
        {
            NameValueCollection query;

            using (StreamReader rdr = new StreamReader(context.Request.InputStream))
                query = HttpUtility.ParseQueryString(rdr.ReadToEnd());

            DbChar character = null;

            if (query["accountId"] != null)
            {
                character = Database.LoadCharacter(
                    int.Parse(query["accountId"]),
                    int.Parse(query["charId"])
                    );
            }
            FameList list = FameList.FromDb(Database, query["timespan"], character);

            Write(context, list.ToXml().ToString());
        }