SHARE
TWEET

Everybody Edits - ListRooms

capasha Oct 29th, 2012 (edited) 402 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //This code is kinda outdated. I don't know if it still works. But it's a mess.
  2. // Go to http://pastebin.com/AZN4TT6a, it should be better and updated.
  3.  
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using PlayerIOClient;
  9. using System.Text.RegularExpressions;
  10. namespace ListRooms
  11. {
  12.     class Program
  13.     {
  14.         static List<rooms> roomdata = new List<rooms>();
  15.         static int total = 0;
  16.         static int count = 0;
  17.         static void Main(string[] args)
  18.         {
  19.             listRooms();
  20.             Console.ReadKey();
  21.         }
  22.  
  23.  
  24.         static void listRooms()
  25.         {
  26.             PlayerIO.QuickConnect.SimpleConnect("everybody-edits-su9rn58o40itdbnw69plyw", "guest", "guest",
  27.                 delegate(Client c)
  28.                 {
  29.                     c.Multiplayer.ListRooms("Everybodyedits133", null, 0, 0,
  30.                         delegate(PlayerIOClient.RoomInfo[] rooms)
  31.                         {
  32.                             foreach (PlayerIOClient.RoomInfo room in rooms)
  33.                             {
  34.                                 if (room.Id.StartsWith("OW"))
  35.                                 {
  36.                                     var reg = Regex.Replace(room.Id, "OW[a-z0-9 ]{2,4}", "", RegexOptions.IgnoreCase);
  37.                                     roomdata.Add(new rooms() { Id = room.Id, Name = reg, Players = room.OnlineUsers, Password = containsError(room, "needskey") == "yep" ? true : false, Plays = containsError(room, "plays") == "Error" ? 0 : Convert.ToInt32(containsError(room, "plays")), Width = 200, Height = 200, Owner = "Unknown" });
  38.  
  39.                                 }
  40.                                 else
  41.                                 {
  42.                                     total += 1;
  43.                                     readWorld(room.Id, c, room);
  44.                                 }
  45.                             }
  46.  
  47.  
  48.                         },
  49.                         delegate(PlayerIOError error)
  50.                         {
  51.                             Console.WriteLine(error.Message);
  52.                         });
  53.  
  54.                 },
  55.                 delegate(PlayerIOError error)
  56.                 {
  57.                     Console.WriteLine(error.Message);
  58.                 });
  59.  
  60.  
  61.         }
  62.  
  63.  
  64.         static string containsError(PlayerIOClient.RoomInfo room, string data)
  65.         {
  66.             try
  67.             {
  68.  
  69.                 return room.RoomData[data];
  70.             }
  71.             catch
  72.             {
  73.                 return "Error";
  74.             }
  75.  
  76.         }
  77.  
  78.  
  79.         static void readWorld(string id, Client c, PlayerIOClient.RoomInfo room)
  80.         {
  81.             c.BigDB.Load("Worlds", id,
  82.                 delegate(DatabaseObject worlds)
  83.                 {
  84.                     var awidth = 0;
  85.                     var aheight = 0;
  86.                     var aowner = "Unknown";
  87.                     try {
  88.                             awidth = worlds.GetInt("width");
  89.                             aheight = worlds.GetInt("height");
  90.                             aowner = worlds.GetString("owner");
  91.                             /* Other data
  92.  
  93.                              <worlddata>
  94.                              <enablePotions>
  95.                              <string> name
  96.                              <string> owner
  97.                              <int> type
  98.                              <int> plays
  99.                              <int> width
  100.                              <int> height
  101.                  <int> woots
  102.                  <int> totalwoots
  103.                              <boolean> visible
  104.                              <boolean> allowpotions
  105.                              <boolean> wootbanned
  106.                              <boolean> coinbanned
  107.                              <boolean> visible
  108.                              <boolean> isFeatured
  109.                              */
  110.                         }
  111.                         catch
  112.                         {
  113.  
  114.                         }
  115.                     count += 1;
  116.                     roomdata.Add(new rooms() { Id = room.Id, Name = containsError(room, "name") == "Error" ? "Untitled World" : containsError(room, "name"), Players = room.OnlineUsers, Password = containsError(room, "needskey") == "yep" ? true : false, Plays = containsError(room, "plays") == "Error" ? 0 : Convert.ToInt32(containsError(room, "plays")), Width = awidth, Height = aheight, Owner = aowner });
  117.                     var percent = (count * 100) / total;
  118.                     if (percent == 100)
  119.                     {
  120.                         Console.Title = "Saving data: Finished.";
  121.  
  122.                         // Can read the data now.
  123.                     }
  124.                     else
  125.                     {
  126.                         Console.Title = "Saving data: " + percent.ToString() + "%  finished.";
  127.                     }
  128.                 },
  129.             delegate(PlayerIOError error)
  130.             {
  131.  
  132.             });
  133.  
  134.  
  135.         }
  136.     }
  137.  
  138.     class rooms
  139.     {
  140.         public string Id { get; set; }
  141.         public string Name { get; set; }
  142.         public int Players { get; set; }
  143.         public int Plays { get; set; }
  144.         public bool Password { get; set; }
  145.         public int Width { get; set; }
  146.         public int Height { get; set; }
  147.         public string Owner { get; set; }
  148.  
  149.     }
  150. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top