Exemple #1
0
 private void OnGreetPlayer(GreetPlayerEventArgs args)
 {
     try
     {
         var player = TShock.Players[args.Who];
         foreach (var c in Change.GetChanges(player.Name))
         {
             if (c.Account == -2)
             {
                 player.GiveItem(c.NetID, c.Stack, c.Perfix);
                 player.SendSuccessMessage("您的商品已退回,请查收");
                 c.Delete();
             }
             if (c.Account == -1)
             {
                 Bank ba = Data.GetBank(player.Name);
                 ba.Money += c.Prize;
                 ba.Save();
                 player.SendSuccessMessage($"您的商品:[i/s{c.Stack}:{c.NetID}]," +
                                           $"价格:{c.Prize}已售出,货款已到账,请查收");
                 c.Delete();
             }
         }
     }
     catch { }
 }
Exemple #2
0
 private void OnGreetPlayer(GreetPlayerEventArgs args)
 {
     try
     {
         var player = TShock.Players[args.Who];
         foreach (var c in Change.GetChanges(player.Name))
         {
             if (c.Account == -2)
             {
                 player.GiveItem(c.NetID, c.Stack, c.Perfix);
                 player.SendSuccessMessage("您的商品已退回,请查收");
                 //player.SendSuccessMessage("Your item has been returned,please check.");
                 c.Delete();
             }
             if (c.Account == -1)
             {
                 Bank ba = Data.GetBank(player.Name);
                 ba.Money += c.Prize;
                 ba.Save();
                 player.SendSuccessMessage($"您的商品:[i/s{c.Stack}:{c.NetID}]," +
                                           $"价格:{c.Prize}已售出,货款已到账,请查收");
                 //player.SendSuccessMessage($"Your item:[i/s{c.Stack}:{c.NetID}]has been selled," + $"prize:{c.Prize},the prize has been add to your money,please check.");
                 c.Delete();
             }
         }
     }
     catch { }
 }
Exemple #3
0
 private void OnGreetPlayer(GreetPlayerEventArgs e)
 {
     if (getConfig.motd_enabled && TShock.Players[e.Who] != null)
     {
         ShowMOTD(TShock.Players[e.Who]);
     }
 }
        private void OnGreet(GreetPlayerEventArgs args)
        {
            if (TShock.Players[args.Who] == null)
            {
                return;
            }

            if (!TShock.Players[args.Who].IsLoggedIn)
            {
                return;
            }

            int id = TShock.Players[args.Who].User.ID;

            if (!indexid.ContainsKey(args.Who))
            {
                indexid.Add(args.Who, id);
            }

            if (players.ContainsKey(id))
            {
                if (!players[id].hasGreeted)
                {
                    players[id].Greet(args.Who);
                }

                players[id].pastGreet = true;
            }
        }
Exemple #5
0
        private static void GreetPlayer(GreetPlayerEventArgs args)
        {
            if (TShock.Players[args.Who] == null)
            {
                return;
            }

            if (PlayerKilling.ContainsKey(TShock.Players[args.Who]))
            {
                PlayerKilling.Remove(TShock.Players[args.Who]);
            }

            PlayerKilling.Add(TShock.Players[args.Who], null);

            TimeCache[args.Who] = 0;

            SentDamageCache[args.Who] = new Dictionary <KillType, int>
            {
                { KillType.Mob, 0 },
                { KillType.Boss, 0 },
                { KillType.Player, 0 }
            };

            RecvDamageCache[args.Who] = 0;
        }
Exemple #6
0
        private void OnGreetPlayer(GreetPlayerEventArgs args)
        {
            var player = TShock.Players[args.Who];

            if (player == null || !player.Active || string.IsNullOrWhiteSpace(player.Name))
            {
                return;
            }

            //AddClone checks to see if it exists before actually adding to db
            DB.AddClone(new CloneInfo()
            {
                Character = player.Name, IP = player.IP, UUID = player.UUID
            });
            var clones = DB.GetClones(player.IP, player.UUID);

            var notifies = TShock.Players.Where(e => e != null && e.Active && e.IsLoggedIn && e.HasPermission("clones.check") && !disabledNotify.Contains(e.Account.ID)).ToList();

            if (clones.Count > 5)
            {
                notifies.ForEach(e => e.SendInfoMessage($"{player.Name} has a lot of clones, including: {string.Join(", ", clones.GetRange(clones.Count - 3, 3))}. Use /clones for more clones."));
            }
            else
            {
                notifies.ForEach(e => e.SendInfoMessage($"{player.Name} also goes by: {string.Join(", ", clones)}"));
            }
        }
Exemple #7
0
        void OnGreet(GreetPlayerEventArgs args)
        {
            RPlayers.Add(new RecPlayer(args.Who));

            var player    = TShock.Players[args.Who];
            var RecPlayer = RPlayers.AddToList(new RecPlayer(args.Who));
        }
Exemple #8
0
 private void OnGreet(GreetPlayerEventArgs args)
 {
     lock (players)
     {
         players[args.Who] = new RegionPlayer(TShock.Players[args.Who], regions);
     }
 }
Exemple #9
0
        public void OnGreetPlayer(GreetPlayerEventArgs e)
        {
            int      count = 0;
            string   ids   = "<";
            TSPlayer ply   = TShock.Players[e.Who];



            using (var reader = MessengerDB.QueryReader("SELECT * FROM Messages"))
            {
                while (reader.Read())
                {
                    if ((reader.Get <string>("Receiver") == ply.Name) && (reader.Get <string>("Status") == "Unread"))
                    {
                        count++;

                        ids = ids + reader.Get <int>("ID") + " | ";
                    }
                }
            }

            if (count != 0)
            {
                ply.SendMessage("[Messenger] You have " + count + " unread message(s). Use /msg " + ids.Remove(ids.Length - 3) + ">", Color.LightBlue);
            }
        }
Exemple #10
0
        private void OnGreet(GreetPlayerEventArgs args)
        {
            BHPlayers.Add(new BHPlayer(args.Who));

            var player    = TShock.Players[args.Who];
            var RecPlayer = BHPlayers.AddToList(new BHPlayer(args.Who));
        }
Exemple #11
0
 private void OnGreetPlayer(GreetPlayerEventArgs args)
 {
     if (TShock.Players[args.Who].IsLoggedIn)
     {
         OnPlayerPostLogin(new PlayerPostLoginEventArgs(TShock.Players[args.Who]));
     }
 }
Exemple #12
0
 private void OnJoin(GreetPlayerEventArgs e)
 {
     if (TShock.Players[e.Who] != null)
     {
         UpdateList(e.Who);
     }
 }
 void OnGreet(GreetPlayerEventArgs args)
 {
     if (Config.JoinLogID != 0)
     {
         Logs.JoinLeave(TShock.Players[args.Who]);
     }
 }
        public void OnGreet(GreetPlayerEventArgs args)
        {
            if (TShock.Players[args.Who].User == null)
            {
                // Player hasn't logged in or has no account.
                return;
            }


            WarpbackData wb = WarpbackData.Get(TShock.Players[args.Who]);

            if (wb.Available)
            {
                bool haslens = !config.greetRequiresItem;
                if (!haslens)
                {
                    foreach (NetItem thing in TShock.Players[args.Who].PlayerData.inventory)
                    {
                        if (config.returnItemTypes.Contains(thing.NetId))
                        {
                            haslens = true;
                        }
                    }
                }

                if (haslens)
                {
                    SendInfoMessageIfPresent(TShock.Players[args.Who], config.msgOnGreet);
                }
            }
        }
Exemple #15
0
        public void OnJoin(GreetPlayerEventArgs args)
        {
            Players.Add(new Mplayer(args.Who));

            var player  = TShock.Players[args.Who];
            var Mplayer = Utils.GetPlayers(args.Who);

            var readTableIP = SQLEditor.ReadColumn("muteList", "IP", new List <SqlValue>());

            if (readTableIP.Contains(player.IP))
            {
                Mplayer.muted    = true;
                Mplayer.muteTime = -1;
                foreach (TSPlayer tsplr in TShock.Players)
                {
                    if ((tsplr.Group.HasPermission("mute")) || (tsplr.Group.Name == "superadmin"))
                    {
                        tsplr.SendInfoMessage("A player that is on the perma-mute list is about to enter the server, and has been muted.");
                    }
                }
            }
            else
            {
                Mplayer.muteTime = -1;
                Mplayer.muted    = false;
            }
        }
Exemple #16
0
 /// <summary>
 /// Creates a new player object when a player joins
 /// </summary>
 /// <param name="args">The greet player arguments</param>
 public void OnGreetPlayer(GreetPlayerEventArgs args)
 {
     lock (Players)
     {
         Players[args.Who] = new Player(args.Who, Manager);
     }
 }
Exemple #17
0
 public void onGreetPlayer(GreetPlayerEventArgs e)
 {
     try
     {
         dPlayers[e.Who] = new dPlayer(e.Who);
     }
     catch { }
 }
Exemple #18
0
        private void OnPlayerGreet(GreetPlayerEventArgs args)
        {
            TSPlayer plr  = TShock.Players[args.Who];
            int      proj = Projectile.NewProjectile(plr.TPlayer.position.X, plr.TPlayer.position.Y - 32, 0f, -8f, 170,
                                                     0, (float)0);

            Main.projectile[proj].Kill();
        }
Exemple #19
0
 public void OnGreetPlayer(GreetPlayerEventArgs e)
 {
     if (TShock.Players[e.Who].Group.HasPermission("tshock.world.modify"))
     {
         string name  = TShock.Players[e.Who].Name;
         int    count = GetUnreadEmailsByName(name);
         TShock.Players[e.Who].SendInfoMessage("You have " + count + " unread messages.");
     }
 }
        private void onGreet(GreetPlayerEventArgs e)
        {
            if (e.Handled)
            {
                return;
            }

            Task.Run(async() =>
            {
                if (Client.State == ConnectionState.Connected)
                {
                    try
                    {
                        TSPlayer p = TShock.Players[e.Who];
                        if (p != null)
                        {
                            foreach (string s in Config.TerrariaChannels)
                            {
                                Channel c = Client.CurrentServer.FindChannels(s, exactMatch: true).FirstOrDefault();
                                Message m = await c?.SendMessage($"`{p.Name}` has joined.");
                                if (m?.State == MessageState.Failed)
                                {
                                    Client.Log.Warning("OnGreet", $"Broadcasting to channel {c.Name} failed");
                                }
                            }

                            foreach (ConfigFile.ServerBot bot in Config.ServerBots.FindAll(b => b.Id > 0))
                            {
                                User botUser = Client.CurrentServer.GetUser(bot.Id);

                                if (botUser == null || !botUser.IsBot /* Apparently bots can be "Offline" while being connected?? || botUser.Status == UserStatus.Offline*/)
                                {
                                    // We only support active bots, mang
                                    Client.Log.Warning("OnGreet", $"Broadcasting to bot {bot.Id} failed (null: {botUser == null} | IsBot: {botUser?.IsBot} | Status: {botUser?.Status?.Value})");
                                    return;
                                }

                                var roleColor = Client.CurrentServer.CurrentUser.Roles.OrderBy(r => r.Position).LastOrDefault()?.Color;
                                var color     = roleColor == null ? Color.Yellow : new Color(roleColor.R, roleColor.G, roleColor.B);

                                string name = Client.CurrentServer.CurrentUser.Nickname ?? Client.CurrentServer.CurrentUser.Name;
                                Message m   = await botUser.SendMessage(
                                    $"{TShock.Utils.ColorTag($"{name}>", color)} {TShock.Utils.ColorTag($"{p.Name} has joined.", Color.Yellow)}");
                                if (m?.State == MessageState.Failed)
                                {
                                    Client.Log.Warning("OnGreet", $"Broadcasting to bot {bot.Id} failed (null: {botUser == null} | IsBot: {botUser?.IsBot} | Status: {botUser?.Status?.Value})");
                                }
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        TShock.Log.Error(ex.ToString());
                    }
                }
            });
        }
 void GreetPlayer(GreetPlayerEventArgs args)
 {
     if (TShock.Players[args.Who] != null)
     {
         JObject json = new JObject();
         json.Add("name", TShock.Players[args.Who].Name);
         json.Add("index", TShock.Players[args.Who].Index);
         socket.Emit("playerjoin", json.ToString());
     }
 }
Exemple #22
0
        internal void OnGreetPlayer(GreetPlayerEventArgs args)
        {
            lock (C3Players)
                C3Players.Add(new C3Player(args.Who));

            if (C3Config.ShowWelcomeMessage)
            {
                TShock.Players[args.Who].SendMessage("This server is running C3Mod, created by Twitchy. C3Mod is now open source.", Color.Cyan);
            }
        }
Exemple #23
0
        private void OnGreetPlayer(GreetPlayerEventArgs args)
        {
            var player = TShock.Players[args.Who];

            if (player == null || !player.Active || !player.RealPlayer)
            {
                return;
            }

            player.SetData("buildmode", false);
        }
        public void OnGreet(GreetPlayerEventArgs args)
        {
            if (TShock.Players[args.Who] == null)
            {
                return;
            }
            TSPlayer player = TShock.Players[args.Who];

            player.SendMessage(getStaff(), Color.Cyan);
            return;
        }
Exemple #25
0
        private void onGreet(GreetPlayerEventArgs args)
        {
            var plr = TShock.Players[args.Who];

            if (plr == null)
            {
                return;
            }

            plr.SetData <bool>("awaitGD", false);
        }
Exemple #26
0
 private static void OnGreetPlayer(GreetPlayerEventArgs args)
 {
     // Possible to set Medium Core with SSC?
     // such as: TSPlayer.Players[player.Index].TPlayer.difficulty?
     lock (CTGplayer)
     {
         CTGplayer.Add(new Player(args.Who));
         Tools.GetPlayerByIndex(args.Who).team = 1;
         TShock.Players[args.Who].SetTeam(1);
     }
 }
Exemple #27
0
        private void OnGreet(GreetPlayerEventArgs args)
        {
            var player = TShock.Players[args.Who];

            if (player == null || !player.Active)
            {
                return;
            }

            player.SetData("mapteleport", false);
        }
Exemple #28
0
        void OnGreet(GreetPlayerEventArgs args)
        {
            var plr = TShock.Players[args.Who];

            if (plr == null || !plr.Active)
            {
                return;
            }

            plr.SetData("buildmode", false);
        }
Exemple #29
0
        private void OnGreetPlayer(GreetPlayerEventArgs args)
        {
            var player = TShock.Players[args.Who];

            if (player == null || !player.Active || string.IsNullOrWhiteSpace(player.Name))
            {
                return;
            }

            Discord.Send($"{player.Name} has joined.");
            Discord.SendLog($"{player.Name} has joined. IP: {player.IP}");
        }
Exemple #30
0
        private void OnGreetPlayer(GreetPlayerEventArgs args)
        {
            var player = TShock.Players[args.Who];

            if (player == null)
            {
                return;
            }

            playerSessionId[player.Index] = Guid.NewGuid().ToString("N");
            playerDb.Query("INSERT INTO " + dbPrefix + "PlayerLog (SessionId, Name, UUID, Login, Logout) VALUES (@0, @1, @2, @3, null)", playerSessionId[player.Index], player.Name, player.UUID, DateTime.Now);
        }