SHARE
TWEET

Everybody Edits - Winners

capasha Jan 23rd, 2018 (edited) 71 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using PlayerIOClient;
  7. using Newtonsoft.Json;
  8. using Newtonsoft.Json.Linq;
  9. using System.Drawing;
  10. using System.IO;
  11. namespace Mazer
  12. {
  13.     class Program
  14.     {
  15.         public static Dictionary<string, winners> winner = new Dictionary<string, winners>();
  16.         public static Dictionary<int, players> player = new Dictionary<int, players>();
  17.         public static int[,] winPos = new int[1, 1];
  18.         public static string readFromWinners = Directory.GetCurrentDirectory() + "\\winners.json";
  19.         public static string readFromAccount = Directory.GetCurrentDirectory() + "\\account.txt";
  20.         public static int value = 0;
  21.  
  22.         static void Main(string[] args)
  23.         {
  24.             string email = "guest", pass = "guest", roomid = "PWhjHBZnhAbEI";
  25.             if (File.Exists(readFromAccount))
  26.             {
  27.                 string[] account = File.ReadAllLines(readFromAccount);
  28.                 if (account.Length == 3)
  29.                 {
  30.                     email = account[0];
  31.                     pass = account[1];
  32.                     roomid = account[2];
  33.                 }
  34.             }
  35.             if (File.Exists(readFromWinners))
  36.             {
  37.                 var outn = JObject.Parse(File.ReadAllText(readFromWinners));
  38.                 foreach (var prop in outn)
  39.                 {
  40.                     if (!winner.ContainsKey(prop.Key))
  41.                     {
  42.                         winner.Add(prop.Key, new winners() { total = (int)prop.Value["total"] });
  43.                     }
  44.                 }
  45.                 value = winner.Values.Count;
  46.             }
  47.             System.Timers.Timer timer = new System.Timers.Timer();
  48.             timer.Interval = 30000;
  49.             timer.Elapsed += Timer_Elapsed;
  50.             timer.Start();
  51.             PlayerIO.QuickConnect.SimpleConnect("everybody-edits-su9rn58o40itdbnw69plyw", email, pass, null,
  52.                 delegate (Client client)
  53.                 {
  54.                     Console.WriteLine("Logged in");
  55.                     client.Multiplayer.CreateJoinRoom(roomid, "Everybodyedits" + client.BigDB.Load("config", "config")["version"], true, null, null,
  56.                         delegate (Connection con)
  57.                         {
  58.                             Console.WriteLine("Connected");
  59.                             con.Send("init");
  60.                             con.OnMessage += delegate (object sender, PlayerIOClient.Message m)
  61.                             {
  62.                                 switch (m.Type)
  63.                                 {
  64.                                     case "init":
  65.                                         con.Send("init2");
  66.                                         winPos = new int[m.GetInt(18), m.GetInt(19)];
  67.                                         for (int x1 = 0; x1 < m.GetInt(18); x1++)
  68.                                         {
  69.                                             for (int y1 = 0; y1 < m.GetInt(19); y1++)
  70.                                             {
  71.                                                 winPos[x1, y1] = 0;
  72.                                             }
  73.                                         }
  74.                                         winPos[23, 23] = 1;
  75.                                         break;
  76.  
  77.                                     case "god":
  78.                                         Console.WriteLine(m.ToString());
  79.                                         player[m.GetInt(0)].godmode = m.GetBoolean(1);
  80.                                         break;
  81.                                     case "add":
  82.                                         if (!player.ContainsKey(m.GetInt(0)))
  83.                                         {
  84.                                             player.Add(m.GetInt(0), new players() { nick = m.GetString(1), godmode = m.GetBoolean(6) });
  85.                                         }
  86.                                         break;
  87.                                     case "left":
  88.                                         if (player.ContainsKey(m.GetInt(0))) player.Remove(m.GetInt(0));
  89.                                         break;
  90.                                     case "m":
  91.                                        
  92.                                         int x = 0, y = 0, xx = 0, yy = 0;
  93.                                         if (m.GetInt(7) == 1) x++;
  94.                                         if (m.GetInt(7) == -1) x--;
  95.                                         if (m.GetInt(8) == 1) y++;
  96.                                         if (m.GetInt(8) == -1) y--;
  97.                                         xx = (int)((double)m.GetDouble(1)) / 16 + x;
  98.                                         yy = (int)((double)m.GetDouble(2)) / 16 + y;
  99.                                         if (player.ContainsKey(m.GetInt(0)) && !player[m.GetInt(0)].godmode)
  100.                                         {
  101.                                             player[m.GetInt(0)].pos = new Point(xx, yy);
  102.                                             if (winPos[xx, yy] != 0)
  103.                                             {
  104.                                                 if (!winner.ContainsKey(player[m.GetInt(0)].nick))
  105.                                                 {
  106.                                                     winner.Add(player[m.GetInt(0)].nick, new winners() { total = 1 });
  107.                                                     File.WriteAllText(readFromWinners, JsonConvert.SerializeObject(winner, Newtonsoft.Json.Formatting.Indented));
  108.                                                     con.Send("say", "[Bot] - Wohoo player " + player[m.GetInt(0)].nick + " won for the first time.");
  109.                                                 }
  110.                                                 else
  111.                                                 {
  112.                                                     winner[player[m.GetInt(0)].nick].total += 1;
  113.                                                     File.WriteAllText(readFromWinners, JsonConvert.SerializeObject(winner, Newtonsoft.Json.Formatting.Indented));
  114.                                                     con.Send("say", "[Bot] - Congratulations " + player[m.GetInt(0)].nick + " You won for the " + winner[player[m.GetInt(0)].nick].total + " time(s)");
  115.                                                 }
  116.                                             }
  117.                                         }
  118.                                         break;
  119.                                 }
  120.                             };
  121.                             con.OnDisconnect += delegate (object sender, string reason)
  122.                             {
  123.                                 Console.WriteLine("Disconnected");
  124.                             };
  125.                         },
  126.                         delegate (PlayerIOError error)
  127.                         {
  128.                             Console.WriteLine("Connection Error: " + error.Message);
  129.                         });
  130.                 },
  131.                 delegate (PlayerIOError error)
  132.                 {
  133.                     Console.WriteLine("Login Error: " + error.Message);
  134.                 });
  135.             Console.ReadKey();
  136.         }
  137.  
  138.         private static void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
  139.         {
  140.                 File.WriteAllText(readFromWinners, JsonConvert.SerializeObject(winner, Newtonsoft.Json.Formatting.Indented));
  141.         }
  142.     }
  143.     public class players
  144.     {
  145.         public string nick { get; set; }
  146.         public Point pos { get; set; }
  147.         public bool godmode { get; set; }
  148.     }
  149.     public class winners
  150.     {
  151.         public int total { get; set; }
  152.     }
  153. }
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